{"name":"shoogle","homepage":"https://shoogle.dev","query":"image-bubble","pagination":{"hasMore":false,"limit":100,"offset":0,"total":100},"items":[{"addCommandArgument":"@shadcncraft/image-zoom","description":"Image zoom is a component that allows you to zoom in on an image.","name":"shadcncraft/image-zoom","registry":"@shadcncraft","type":"registry:ui"},{"addCommandArgument":"@cult-ui/dither-image","description":"Compound Next.js image figure with CSS Bayer dither via dither-plugin, partial reveal overlays, and typed tuning props","name":"cult-ui/dither-image","registry":"@cult-ui","type":"registry:ui"},{"addCommandArgument":"@wa-ui/image-bubble","description":"WhatsApp-style image bubble supporting single image, multi-image grid (2x2 with +N overflow), loading skeleton, and captions.","name":"wa-ui/image-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@uiable/bubble","description":"Bubble component.","name":"uiable/bubble","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@neon-ui/bubble","description":"Chat bubble primitive with grouping and reactions.","name":"neon-ui/bubble","registry":"@neon-ui","type":"registry:ui"},{"addCommandArgument":"@wa-ui/sticker-bubble","description":"WhatsApp-style sticker message — 160×160px, no bubble background, animated badge support.","name":"wa-ui/sticker-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/contact-bubble","description":"WhatsApp-style contact card — single or multiple contacts with name, phone, avatar, and action buttons.","name":"wa-ui/contact-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/location-bubble","description":"WhatsApp-style location message with map preview, name/address, and Open in Maps CTA.","name":"wa-ui/location-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/template-bubble","description":"WhatsApp Business template message bubble supporting text/image/video/document/location headers and url/phone/quick_reply/copy_code/flow/call_permission buttons.","name":"wa-ui/template-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/video-bubble","description":"WhatsApp-style video message bubble with play/pause, duration badge, caption, and read receipts.","name":"wa-ui/video-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/chat-bubble","description":"WhatsApp-style message bubble with incoming/outgoing variants, timestamps, read receipts, group chat sender, and animated tail.","name":"wa-ui/chat-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@canvas-ui/bubble-vanilla","description":"A glassy droplet that trails the cursor as blending metaballs and refracts the live page beneath it, with dispersion, frost, and an iridescent sheen. The HTML stays interactive. No dependencies.","name":"canvas-ui/bubble-vanilla","registry":"@canvas-ui","type":"registry:component"},{"addCommandArgument":"@canvas-ui/bubble-solid","description":"A glassy droplet that trails the cursor as blending metaballs and refracts the live page beneath it, with dispersion, frost, and an iridescent sheen. The HTML stays interactive. No dependencies.","name":"canvas-ui/bubble-solid","registry":"@canvas-ui","type":"registry:component"},{"addCommandArgument":"@canvas-ui/bubble-svelte","description":"A glassy droplet that trails the cursor as blending metaballs and refracts the live page beneath it, with dispersion, frost, and an iridescent sheen. The HTML stays interactive. No dependencies.","name":"canvas-ui/bubble-svelte","registry":"@canvas-ui","type":"registry:component"},{"addCommandArgument":"@canvas-ui/bubble-vue","description":"A glassy droplet that trails the cursor as blending metaballs and refracts the live page beneath it, with dispersion, frost, and an iridescent sheen. The HTML stays interactive. No dependencies.","name":"canvas-ui/bubble-vue","registry":"@canvas-ui","type":"registry:component"},{"addCommandArgument":"@canvas-ui/bubble-react","description":"A glassy droplet that trails the cursor as blending metaballs and refracts the live page beneath it, with dispersion, frost, and an iridescent sheen. The HTML stays interactive. No dependencies.","name":"canvas-ui/bubble-react","registry":"@canvas-ui","type":"registry:component"},{"addCommandArgument":"@svelte-bits/bubble-menu","description":"Pill-style overlay nav with staggered GSAP bubble entrance animation.","name":"svelte-bits/bubble-menu","registry":"@svelte-bits","type":"registry:component"},{"addCommandArgument":"@manifest/message-bubble","description":"Chat message bubbles with text, image, voice, and reaction variants.","name":"manifest/message-bubble","registry":"@manifest","type":"registry:block"},{"addCommandArgument":"@elements/message-bubble","description":"Chat message component with user/assistant variants and copy functionality","name":"elements/message-bubble","registry":"@elements","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-bubble-variants","description":"Bubble Variants variant for component.","name":"uiable/uiable-bubble-variants","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-bubble-tooltip","description":"Bubble Tooltip variant for component.","name":"uiable/uiable-bubble-tooltip","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-bubble-reactions","description":"Bubble Reactions variant for component.","name":"uiable/uiable-bubble-reactions","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-bubble-popover","description":"Bubble Popover variant for component.","name":"uiable/uiable-bubble-popover","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-bubble-link","description":"Bubble Link variant for component.","name":"uiable/uiable-bubble-link","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-bubble-group","description":"Bubble Group variant for component.","name":"uiable/uiable-bubble-group","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-bubble-collapsible","description":"Bubble Collapsible variant for component.","name":"uiable/uiable-bubble-collapsible","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-bubble-alignment","description":"Bubble Alignment variant for component.","name":"uiable/uiable-bubble-alignment","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@wa-ui/interactive-reply-bubble","description":"WhatsApp-style interactive reply bubble — shows received button, list, or flow replies with icon and subtype label.","name":"wa-ui/interactive-reply-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/list-message-bubble","description":"WhatsApp interactive list message — CTA opens a bottom sheet with selectable sections and rows.","name":"wa-ui/list-message-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/cta-url-bubble","description":"WhatsApp interactive CTA URL message — single external link button with body/footer.","name":"wa-ui/cta-url-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/interactive-button-bubble","description":"WhatsApp interactive button message — up to 3 reply buttons with header/body/footer.","name":"wa-ui/interactive-button-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/unsupported-message-bubble","description":"Fallback bubble for unknown or unsupported WhatsApp message types.","name":"wa-ui/unsupported-message-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/system-message-bubble","description":"Centered system notice pill — encryption notices, number changes, and other system events.","name":"wa-ui/system-message-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/file-attachment-bubble","description":"WhatsApp-style file bubble with type-based color icon badge, file name/size, download progress via @base-ui/react Progress, and read receipts.","name":"wa-ui/file-attachment-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@wa-ui/voice-message-bubble","description":"WhatsApp-style voice message with play/pause, waveform, playback progress, duration, and read receipts.","name":"wa-ui/voice-message-bubble","registry":"@wa-ui","type":"registry:component"},{"addCommandArgument":"@animate-ui/components-backgrounds-bubble","description":"An interactive background featuring smoothly animated gradient bubbles, creating a playful, dynamic, and visually engaging backdrop.","name":"animate-ui/components-backgrounds-bubble","registry":"@animate-ui","type":"registry:ui"},{"addCommandArgument":"@moduix-react/image","description":"moduix React Image component.","name":"moduix-react/image","registry":"@moduix-react","type":"registry:item"},{"addCommandArgument":"@zippystarter/image","description":"An image element you can use with any framework","name":"zippystarter/image","registry":"@zippystarter","type":"registry:component"},{"addCommandArgument":"@assistant-ui/image","name":"assistant-ui/image","registry":"@assistant-ui","type":"registry:component"},{"addCommandArgument":"@termcn/image","description":"Image renderer with iTerm2/Kitty protocol and ASCII fallback","name":"termcn/image","registry":"@termcn","type":"registry:ui"},{"addCommandArgument":"@tool-ui/image","description":"Display images with metadata and attribution.","name":"tool-ui/image","registry":"@tool-ui","type":"registry:block"},{"addCommandArgument":"@prompt-kit/image","description":"A component for displaying images from base64 or Uint8Array data, with full accessibility and responsive styling. Perfect for AI-generated or user-uploaded images.","name":"prompt-kit/image","registry":"@prompt-kit","type":"registry:ui"},{"addCommandArgument":"@ai-elements/image","description":"AI-powered image component.","name":"ai-elements/image","registry":"@ai-elements","type":"registry:component"},{"addCommandArgument":"@shadcnblocks/editor-editor-bubble-1","description":"Format selected text with a floating bubble menu.","name":"shadcnblocks/editor-editor-bubble-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@animate-ui/demo-components-backgrounds-bubble","description":"Demo showing a bubble background.","name":"animate-ui/demo-components-backgrounds-bubble","registry":"@animate-ui","type":"registry:ui"},{"addCommandArgument":"@uitripled/context-menu-bubble-shadcnui","description":"Right-click reveals circular expanding radial menu with icons","name":"uitripled/context-menu-bubble-shadcnui","registry":"@uitripled","type":"registry:component"},{"addCommandArgument":"@vue-bits/BubbleMenu","description":"Floating circular expanding menu with staggered item reveal.","name":"vue-bits/BubbleMenu","registry":"@vue-bits","type":"registry:component"},{"addCommandArgument":"@shadcnuikit/chat-bubble4","description":"Chat bubble built with shadcn/ui.","name":"shadcnuikit/chat-bubble4","registry":"@shadcnuikit","type":"registry:block"},{"addCommandArgument":"@shadcnuikit/chat-bubble3","description":"Conversation-style message bubbles for support widgets and chat UIs. Includes sender alignment, avatars, timestamps, and input areas—all using shadcn/ui for consistent styling.","name":"shadcnuikit/chat-bubble3","registry":"@shadcnuikit","type":"registry:block"},{"addCommandArgument":"@shadcnuikit/chat-bubble2","description":"Conversation-style message bubbles for support widgets and chat UIs. Includes sender alignment, avatars, timestamps, and input areas—all using shadcn/ui for consistent styling.","name":"shadcnuikit/chat-bubble2","registry":"@shadcnuikit","type":"registry:block"},{"addCommandArgument":"@shadcnuikit/chat-bubble1","description":"Conversation-style message bubbles for support widgets and chat UIs. Includes sender alignment, avatars, timestamps, and input areas—all using shadcn/ui for consistent styling.","name":"shadcnuikit/chat-bubble1","registry":"@shadcnuikit","type":"registry:block"},{"addCommandArgument":"@nexus-labs/image-trail","description":"A cursor trail that cycles through a configurable image array as you move, with fade-blur transitions and an optional magnetic repulsion effect.","name":"nexus-labs/image-trail","registry":"@nexus-labs","type":"registry:component"},{"addCommandArgument":"@grootstudio/image-trail","description":"A very smooth and interactive trail of images that follows your mouse cursor with discrete step interpolation.","name":"grootstudio/image-trail","registry":"@grootstudio","type":"registry:block"},{"addCommandArgument":"@channel3/image-gallery","description":"Product image carousel with a synced thumbnail strip.","name":"channel3/image-gallery","registry":"@channel3","type":"registry:component"},{"addCommandArgument":"@atelier/image-bloom","description":"Images that pop up along the cursor's path and fade out behind it.","name":"atelier/image-bloom","registry":"@atelier","type":"registry:component"},{"addCommandArgument":"@atelier/webgl-image","description":"A WebGL plane that mirrors an image.","name":"atelier/webgl-image","registry":"@atelier","type":"registry:component"},{"addCommandArgument":"@atelier/image-trail","description":"A trail of images that follows the cursor.","name":"atelier/image-trail","registry":"@atelier","type":"registry:component"},{"addCommandArgument":"@hirael/image-compare","description":"Before/after comparison slider with a draggable, keyboard-accessible divider, horizontal or vertical orientation and hover-follow mode.","name":"hirael/image-compare","registry":"@hirael","type":"registry:ui"},{"addCommandArgument":"@hirael/image-cropper","description":"Pan-and-zoom image cropper with rect or round mask, fixed aspect frame, pinch / wheel / keyboard control and canvas export via ref.","name":"hirael/image-cropper","registry":"@hirael","type":"registry:ui"},{"addCommandArgument":"@moduix-react/image-cropper","description":"moduix React ImageCropper component.","name":"moduix-react/image-cropper","registry":"@moduix-react","type":"registry:item"},{"addCommandArgument":"@retab/image-source","description":"Bridges the document-source model to the image viewer: imageAnchorToTarget, rotateImageArea, and renderImageSourceOverlay for image_bbox anchors.","name":"retab/image-source","registry":"@retab","type":"registry:ui"},{"addCommandArgument":"@retab/image-viewer","description":"A performant image viewer with native off-thread decode (createImageBitmap), continuous scroll, zoom, rotate, fit-to-width, download, and a per-frame overlay slot. Renders multi-page TIFF scans efficiently: frames decode lazily near the viewport and decoded bitmaps are capped. No useEffect.","name":"retab/image-viewer","registry":"@retab","type":"registry:ui"},{"addCommandArgument":"@hugeicons-animated/image-01","description":"Animated image icon","name":"hugeicons-animated/image-01","registry":"@hugeicons-animated","type":"registry:ui"},{"addCommandArgument":"@componentry/image-trail","name":"componentry/image-trail","registry":"@componentry","type":"registry:ui"},{"addCommandArgument":"@svelte-bits/image-trail","description":"Mouse trail of images with 8 visually distinct GSAP variants.","name":"svelte-bits/image-trail","registry":"@svelte-bits","type":"registry:component"},{"addCommandArgument":"@spectrumui/image-preview","description":"component for the Image Preview Dependencies","name":"spectrumui/image-preview","registry":"@spectrumui","type":"registry:component"},{"addCommandArgument":"@ui-layouts/image-reveal2","name":"ui-layouts/image-reveal2","registry":"@ui-layouts","type":"registry:component"},{"addCommandArgument":"@ui-layouts/image-reveal","name":"ui-layouts/image-reveal","registry":"@ui-layouts","type":"registry:component"},{"addCommandArgument":"@ui-layouts/image-tab2","name":"ui-layouts/image-tab2","registry":"@ui-layouts","type":"registry:component"},{"addCommandArgument":"@ui-layouts/image-tab1","name":"ui-layouts/image-tab1","registry":"@ui-layouts","type":"registry:component"},{"addCommandArgument":"@termcn/opentui-image","description":"Image renderer with iTerm2/Kitty protocol and ASCII fallback","name":"termcn/opentui-image","registry":"@termcn","type":"registry:ui"},{"addCommandArgument":"@magicui/pixel-image","description":"A component that displays an image with a pixelated effect, creating a retro aesthetic.","name":"magicui/pixel-image","registry":"@magicui","type":"registry:ui"},{"addCommandArgument":"@jolyui/image-sphere","name":"jolyui/image-sphere","registry":"@jolyui","type":"registry:ui"},{"addCommandArgument":"@jolyui/image-comparison","name":"jolyui/image-comparison","registry":"@jolyui","type":"registry:ui"},{"addCommandArgument":"@loading-ui/analyzing-image","name":"loading-ui/analyzing-image","registry":"@loading-ui","type":"registry:component"},{"addCommandArgument":"@tool-ui/image-gallery","description":"Grid layout for browsing image collections.","name":"tool-ui/image-gallery","registry":"@tool-ui","type":"registry:block"},{"addCommandArgument":"@delta/cambio-image","name":"delta/cambio-image","registry":"@delta","type":"registry:ui"},{"addCommandArgument":"@unlumen-ui/matrix-image","description":"An animated image component that simulates the iconic Matrix digital rain effect.","name":"unlumen-ui/matrix-image","registry":"@unlumen-ui","type":"registry:ui"},{"addCommandArgument":"@ai-elements/example-image","description":"Example implementation of image.","name":"ai-elements/example-image","registry":"@ai-elements","type":"registry:block"},{"addCommandArgument":"@efferd/lazy-image","description":"Lazy image component.","name":"efferd/lazy-image","registry":"@efferd","type":"registry:component"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-charts-bubble-chart","description":"ScatterChart plotting accounts by usage score, monthly revenue, and seat count encoded as bubble size.","name":"shadcn-ui-blocks/application-pro-charts-bubble-chart","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-zoom-image-zoom-standard-1","description":"Image wrapped in ImageZoom for click-to-zoom lightbox behavior.","name":"shadcnblocks/image-zoom-image-zoom-standard-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-zoom-image-zoom-gallery-1","description":"Image zoom inside a bordered gallery card with caption.","name":"shadcnblocks/image-zoom-image-zoom-gallery-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-zoom-image-zoom-controlled-1","description":"Image zoom with controlled isZoomed state and a toggle button.","name":"shadcnblocks/image-zoom-image-zoom-controlled-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-zoom-image-zoom-backdrop-1","description":"Image zoom with a blurred backdrop class on the overlay.","name":"shadcnblocks/image-zoom-image-zoom-backdrop-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-crop-image-crop-standard-1","description":"Image cropper with square aspect ratio, apply, and reset controls.","name":"shadcnblocks/image-crop-image-crop-standard-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-crop-image-crop-preview-1","description":"Applies the crop and shows a circular avatar-style preview.","name":"shadcnblocks/image-crop-image-crop-preview-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-crop-image-crop-icons-1","description":"Image crop using the default ghost icon apply and reset buttons.","name":"shadcnblocks/image-crop-image-crop-icons-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-crop-image-crop-free-1","description":"Image crop without a locked aspect ratio for arbitrary selections.","name":"shadcnblocks/image-crop-image-crop-free-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-crop-image-crop-file-1","description":"Image cropper that accepts a user-selected file from an input.","name":"shadcnblocks/image-crop-image-crop-file-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-crop-image-crop-circular-1","description":"Image crop with circularCrop enabled for round avatar framing.","name":"shadcnblocks/image-crop-image-crop-circular-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-crop-image-crop-aspect-2","description":"Image crop locked to a 3:4 aspect ratio for portrait framing.","name":"shadcnblocks/image-crop-image-crop-aspect-2","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@shadcnblocks/image-crop-image-crop-aspect-1","description":"Image crop locked to a 16:9 aspect ratio for cover images.","name":"shadcnblocks/image-crop-image-crop-aspect-1","registry":"@shadcnblocks","type":"registry:block"},{"addCommandArgument":"@interior/blur-up-image","description":"Placeholder resolves into the photo.","name":"interior/blur-up-image","registry":"@interior","type":"registry:ui"},{"addCommandArgument":"@payload-components/content-image-frame","description":"Payload content block: a centered intro above a layered, framed screenshot.","name":"payload-components/content-image-frame","registry":"@payload-components","type":"registry:block"},{"addCommandArgument":"@payload-components/content-image-lead","description":"Payload content block led by a full-width image above a heading, body, and CTA.","name":"payload-components/content-image-lead","registry":"@payload-components","type":"registry:block"},{"addCommandArgument":"@ai2/radio-group-image","description":"Styled radio: the Group-image set. 5 decorative radio variations (SwatchRadio, ThumbRadio, ColorRadio, AvatarRadio, TileRadio) on the ai2 token system, powered by framer-motion, reduced-motion aware and sized sm to xl. Part of the free styled layer.","name":"ai2/radio-group-image","registry":"@ai2","type":"registry:component"},{"addCommandArgument":"@hirael/image-gallery-01","description":"Studio-style masonry gallery with Tabs-driven category filter, real photo tiles via next/image, varied aspect ratios, hover zoom + arrow chip and an Empty fallback for empty filters.","name":"hirael/image-gallery-01","registry":"@hirael","type":"registry:block"},{"addCommandArgument":"@uiable/uiable-item-image","description":"Item Image variant for component.","name":"uiable/uiable-item-image","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-card-image","description":"Card Image variant for component.","name":"uiable/uiable-card-image","registry":"@uiable","type":"registry:ui"}],"totalResults":100,"timestamp":"2026-08-05T11:13:26.539Z"}