{"name":"shoogle","homepage":"https://shoogle.dev","query":"file-attachment-bubble","pagination":{"hasMore":false,"limit":100,"offset":0,"total":100},"items":[{"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":"@uiable/attachment","description":"Attachment component.","name":"uiable/attachment","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@hugeicons-animated/attachment","description":"Animated attachment icon","name":"hugeicons-animated/attachment","registry":"@hugeicons-animated","type":"registry:ui"},{"addCommandArgument":"@assistant-ui/attachment","name":"assistant-ui/attachment","registry":"@assistant-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":"@retab/attachment-sidebar","description":"File attachment navigator built from SidebarList primitives and FileThumbnail.","name":"retab/attachment-sidebar","registry":"@retab","type":"registry:ui"},{"addCommandArgument":"@hugeicons-animated/document-attachment","description":"Animated document attachment icon","name":"hugeicons-animated/document-attachment","registry":"@hugeicons-animated","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-message-attachment","description":"Message Attachment variant for component.","name":"uiable/uiable-message-attachment","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-attachment-vertical","description":"Attachment Vertical variant for component.","name":"uiable/uiable-attachment-vertical","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-attachment-triggers","description":"Attachment Triggers variant for component.","name":"uiable/uiable-attachment-triggers","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-attachment-states","description":"Attachment States variant for component.","name":"uiable/uiable-attachment-states","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-attachment-sizes","description":"Attachment Sizes variant for component.","name":"uiable/uiable-attachment-sizes","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@uiable/uiable-attachment-group","description":"Attachment Group variant for component.","name":"uiable/uiable-attachment-group","registry":"@uiable","type":"registry:ui"},{"addCommandArgument":"@remocn/message-bubble","description":"A chat message bubble whose hidden/visible state is a pure function of the timeline. The renderer is a pure function of a MessageBubbleStyle (opacity, translateY, scale); useMessageBubbleTransition eases the rise-in enter. The incoming/outgoing variant resolves bubble color and alignment from the theme, and an optional reaction badge pops in on its own channel.","name":"remocn/message-bubble","registry":"@remocn","type":"registry:component"},{"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/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":"@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":"@assistant-ui/file","name":"assistant-ui/file","registry":"@assistant-ui","type":"registry:component"},{"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/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":"@fluid/file-thumbnail","description":"Read-only square preview of a File. Images render via object-cover; PDFs render their first page via pdfjs; a spinner shows while either resolves. Adapts its corner radius to the global shape setting.","name":"fluid/file-thumbnail","registry":"@fluid","type":"registry:ui"},{"addCommandArgument":"@flowui/file-select","description":"A customized file selection component.","name":"flowui/file-select","registry":"@flowui","type":"registry:component"},{"addCommandArgument":"@ai2/file-input","description":"Styled file picker: hidden native input under a custom surface with a leading icon (lucide or remixicon), placeholder or selected file name, multiple-file count and an optional clear button. Follows the Input contract: 3 variants (outline, soft, ghost), 3 sizes (sm, md, lg), 3 tones (neutral, success, danger). States: empty, selected, disabled, invalid via aria-invalid.","name":"ai2/file-input","registry":"@ai2","type":"registry:ui"},{"addCommandArgument":"@hirael/file-dropzone","description":"Drag-drop + click upload zone with previews, accept and max-size validation. Compound and single-prop APIs.","name":"hirael/file-dropzone","registry":"@hirael","type":"registry:ui"},{"addCommandArgument":"@moduix-react/file-upload","description":"moduix React FileUpload component.","name":"moduix-react/file-upload","registry":"@moduix-react","type":"registry:item"},{"addCommandArgument":"@seamui/input-file","name":"seamui/input-file","registry":"@seamui","type":"registry:example"},{"addCommandArgument":"@lucide-animated/file-text","name":"lucide-animated/file-text","registry":"@lucide-animated","type":"registry:ui"},{"addCommandArgument":"@lucide-animated/file-stack","name":"lucide-animated/file-stack","registry":"@lucide-animated","type":"registry:ui"},{"addCommandArgument":"@lucide-animated/file-cog","name":"lucide-animated/file-cog","registry":"@lucide-animated","type":"registry:ui"},{"addCommandArgument":"@lucide-animated/file-check","name":"lucide-animated/file-check","registry":"@lucide-animated","type":"registry:ui"},{"addCommandArgument":"@lucide-animated/attach-file","name":"lucide-animated/attach-file","registry":"@lucide-animated","type":"registry:ui"},{"addCommandArgument":"@retab/file-thumbnail","description":"Render complete file thumbnails from browser files, URLs, blobs, text sources, external images, or custom preview content.","name":"retab/file-thumbnail","registry":"@retab","type":"registry:ui"},{"addCommandArgument":"@retab/file-system","description":"A document workspace over a flat object-store manifest with list, grid, columns, lazy folders, generated thumbnails, and FileViewer previews.","name":"retab/file-system","registry":"@retab","type":"registry:ui"},{"addCommandArgument":"@retab/file-viewer","description":"One viewer for any file: detects the type and lazy-loads the matching renderer (PDF, DOCX, XLSX, PPTX, CSV, images) plus inline, virtualized text/code/JSON, Markdown (sandboxed), and HTML (sandboxed). Only the needed parser is ever downloaded.","name":"retab/file-viewer","registry":"@retab","type":"registry:ui"},{"addCommandArgument":"@retab/file-uploader","description":"A polished Retab document upload area built from the headless Dropzone primitive and File Thumbnail.","name":"retab/file-uploader","registry":"@retab","type":"registry:ui"},{"addCommandArgument":"@hugeicons-animated/file-upload","description":"Animated file upload icon","name":"hugeicons-animated/file-upload","registry":"@hugeicons-animated","type":"registry:ui"},{"addCommandArgument":"@hugeicons-animated/file-download","description":"Animated file download icon","name":"hugeicons-animated/file-download","registry":"@hugeicons-animated","type":"registry:ui"},{"addCommandArgument":"@hugeicons-animated/file-add","description":"Animated file add icon","name":"hugeicons-animated/file-add","registry":"@hugeicons-animated","type":"registry:ui"},{"addCommandArgument":"@hugeicons-animated/file-01","description":"Animated file icon","name":"hugeicons-animated/file-01","registry":"@hugeicons-animated","type":"registry:ui"},{"addCommandArgument":"@tailark/file-upload","description":"Tailark file-upload illustration","name":"tailark/file-upload","registry":"@tailark","type":"registry:component"},{"addCommandArgument":"@beui/file-upload","description":"Drag-and-drop upload queue with progress rows, retry/remove actions and reduced-motion-safe state changes.","name":"beui/file-upload","registry":"@beui","type":"registry:block"},{"addCommandArgument":"@kokonutui/file-upload","description":"File upload with special uploading animation. Make sure to try the drag and drop.","name":"kokonutui/file-upload","registry":"@kokonutui","type":"registry:component"},{"addCommandArgument":"@ui-layouts/file-upload","name":"ui-layouts/file-upload","registry":"@ui-layouts","type":"registry:component"},{"addCommandArgument":"@termcn/file-picker","description":"Interactive file browser and picker","name":"termcn/file-picker","registry":"@termcn","type":"registry:ui"},{"addCommandArgument":"@termcn/file-change","description":"Interactive file-change review list with diff expansion, per-file accept/reject actions, and accept-all shortcut","name":"termcn/file-change","registry":"@termcn","type":"registry:ui"},{"addCommandArgument":"@extend/file-thumbnail","description":"A compact file preview thumbnail shell for externally generated images, loading states, and fallback states.","name":"extend/file-thumbnail","registry":"@extend","type":"registry:ui"},{"addCommandArgument":"@extend/file-upload","description":"A drag-and-drop file upload surface with accepted file type icons and a compact file list.","name":"extend/file-upload","registry":"@extend","type":"registry:ui"},{"addCommandArgument":"@formcn/file-upload","description":"File upload component","name":"formcn/file-upload","registry":"@formcn","type":"registry:component"},{"addCommandArgument":"@magicui/file-tree","description":"A component used to showcase the folder and file structure of a directory.","name":"magicui/file-tree","registry":"@magicui","type":"registry:ui"},{"addCommandArgument":"@jolyui/file-tree","name":"jolyui/file-tree","registry":"@jolyui","type":"registry:ui"},{"addCommandArgument":"@intentui/file-trigger","description":"file-trigger","name":"intentui/file-trigger","registry":"@intentui","type":"registry:ui"},{"addCommandArgument":"@aceternity/file-upload","name":"aceternity/file-upload","registry":"@aceternity","type":"registry:ui"},{"addCommandArgument":"@diceui/file-upload","name":"diceui/file-upload","registry":"@diceui","type":"registry:ui"},{"addCommandArgument":"@prompt-kit/file-upload","description":"A component for creating drag-and-drop file upload interfaces with support for single or multiple files, custom triggers, and visual feedback during file dragging operations.","name":"prompt-kit/file-upload","registry":"@prompt-kit","type":"registry:ui"},{"addCommandArgument":"@unlumen-ui/file-tree","description":"Animated file-tree component with animated hover highlight, spring folder expand/collapse, and automatic file-type icons.","name":"unlumen-ui/file-tree","registry":"@unlumen-ui","type":"registry:component"},{"addCommandArgument":"@ai-elements/file-tree","description":"AI-powered file tree component.","name":"ai-elements/file-tree","registry":"@ai-elements","type":"registry:component"},{"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":"@shadcn-ui-blocks/application-pro-inbox-email-attachment-gallery","description":"A mailbox files view with type filter chips, month grouped cards showing a file icon, sender, and size, plus a storage usage footer.","name":"shadcn-ui-blocks/application-pro-inbox-email-attachment-gallery","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-file-manager-file-version-history","description":"A version history card with the current revision highlighted and earlier versions as ruled rows showing editor, note, size, restore, and download.","name":"shadcn-ui-blocks/application-pro-file-manager-file-version-history","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-file-manager-file-search-results","description":"A file search panel with a query field, removable filter chips, a result count, and rows with highlighted matches, paths, size, and dates.","name":"shadcn-ui-blocks/application-pro-file-manager-file-search-results","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-file-manager-file-request-panel","description":"A two column file request workspace pairing a create form with title, folder, deadline, and notify switch beside an open requests list with progress.","name":"shadcn-ui-blocks/application-pro-file-manager-file-request-panel","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-file-manager-file-grid-gallery","description":"Media grid of eight thumbnail tiles with type badges, filename captions, one selected tile, and a view toggle.","name":"shadcn-ui-blocks/application-pro-file-manager-file-grid-gallery","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-file-manager-file-detail-panel","description":"File inspector with a preview, ruled metadata rows, a shareable link chip, version count, and action buttons.","name":"shadcn-ui-blocks/application-pro-file-manager-file-detail-panel","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-file-manager-file-conflict-resolver","description":"A sync conflict resolver with one card per file comparing the device copy against the cloud copy by radio choice, plus an apply summary bar.","name":"shadcn-ui-blocks/application-pro-file-manager-file-conflict-resolver","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-file-manager-file-browser-table","description":"Folder contents table with file-type icons, owner avatars, tabular sizes, modified times, and per-row actions.","name":"shadcn-ui-blocks/application-pro-file-manager-file-browser-table","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@shadcn-ui-blocks/application-pro-file-manager-file-activity-feed","description":"A folder activity timeline grouping events by day on a vertical rail, each with an action icon, actor avatar, action sentence, and folder path.","name":"shadcn-ui-blocks/application-pro-file-manager-file-activity-feed","registry":"@shadcn-ui-blocks","type":"registry:block"},{"addCommandArgument":"@remocn/icon-file-text","description":"Animated Lucide file-text icon — the page draws on, then the text lines type themselves in, top to bottom.","name":"remocn/icon-file-text","registry":"@remocn","type":"registry:component"}],"totalResults":100,"timestamp":"2026-08-15T06:50:57.456Z"}