@flamingo-stack/openframe-frontend-core 0.0.213 → 0.0.214-snapshot.20260528192313
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-35XIT2CF.cjs → chunk-2G3NXF6J.cjs} +17 -17
- package/dist/{chunk-35XIT2CF.cjs.map → chunk-2G3NXF6J.cjs.map} +1 -1
- package/dist/{chunk-IK2X5YJU.js → chunk-7PCP7YQR.js} +2 -2
- package/dist/{chunk-ZDF6F7ED.cjs → chunk-D4MNFY67.cjs} +4 -3
- package/dist/chunk-D4MNFY67.cjs.map +1 -0
- package/dist/{chunk-OTKJASSX.cjs → chunk-NGFP4RVL.cjs} +24 -24
- package/dist/{chunk-OTKJASSX.cjs.map → chunk-NGFP4RVL.cjs.map} +1 -1
- package/dist/{chunk-3JWIJJ44.js → chunk-R6MLPU4A.js} +2 -2
- package/dist/{chunk-ZTJVRSN5.js → chunk-WQZP3JIZ.js} +4 -3
- package/dist/chunk-WQZP3JIZ.js.map +1 -0
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/index.cjs +49 -49
- package/dist/components/index.js +2 -2
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/tickets/index.cjs +61 -61
- package/dist/components/tickets/index.js +3 -3
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/.index.md +36 -34
- package/src/components/.alert-dialog.md +27 -23
- package/src/components/.announcement-bar.md +26 -21
- package/src/components/.breadcrumb.md +19 -15
- package/src/components/.calendar.md +24 -19
- package/src/components/.categories-cart.md +29 -24
- package/src/components/.checkbox.md +23 -25
- package/src/components/.chevron-button.md +37 -32
- package/src/components/.comment-card.md +32 -62
- package/src/components/.dialog.md +26 -26
- package/src/components/.dynamic-skeleton.md +54 -57
- package/src/components/.empty-state.md +42 -51
- package/src/components/.faq-accordion.md +27 -21
- package/src/components/.filter-chip.md +41 -24
- package/src/components/.flamingo-logo.md +20 -23
- package/src/components/.footer-waitlist-button.md +29 -22
- package/src/components/.footer.md +32 -32
- package/src/components/.icons-block.md +27 -17
- package/src/components/.image-cropper.md +41 -32
- package/src/components/.index.md +33 -39
- package/src/components/.input.md +31 -35
- package/src/components/.logs-list.md +31 -20
- package/src/components/.media-carousel.md +35 -36
- package/src/components/.open-source-features.md +33 -16
- package/src/components/.pagination.md +52 -51
- package/src/components/.provider-button.md +21 -23
- package/src/components/.select.md +31 -20
- package/src/components/.sidebar.md +34 -24
- package/src/components/.smooth-accordion.md +29 -24
- package/src/components/.social-icon-row.md +36 -32
- package/src/components/.textarea.md +25 -31
- package/src/components/.tool-icon.md +24 -26
- package/src/components/.unified-filter-logic.md +37 -30
- package/src/components/.unified-pagination.md +23 -22
- package/src/components/.user-summary-stub.md +38 -22
- package/src/components/.vendor-display-button.md +25 -25
- package/src/components/.vendor-icon.md +33 -25
- package/src/components/.why-it-matters.md +28 -25
- package/src/components/chat/.approval-batch-message.md +51 -0
- package/src/components/chat/.approval-request-message.md +35 -34
- package/src/components/chat/.chat-attachment-bar.md +64 -0
- package/src/components/chat/.chat-container.md +36 -18
- package/src/components/chat/.chat-input.md +37 -20
- package/src/components/chat/.chat-message-enhanced.md +30 -49
- package/src/components/chat/.chat-message-list.md +45 -32
- package/src/components/chat/.chat-message-skeleton.md +26 -22
- package/src/components/chat/.chat-panel-context.md +52 -0
- package/src/components/chat/.chat-ref.types.md +42 -0
- package/src/components/chat/.chat-sidebar-skeleton.md +34 -25
- package/src/components/chat/.chat-sidebar.md +31 -26
- package/src/components/chat/.chat-ticket-list.md +39 -0
- package/src/components/chat/.context-compaction-display.md +36 -0
- package/src/components/chat/.cycling-phrase.md +52 -0
- package/src/components/chat/.embeddable-chat.md +48 -0
- package/src/components/chat/.expand-chevron.md +24 -0
- package/src/components/chat/.index.md +31 -35
- package/src/components/chat/.mingo-onboarding-card-skeleton.md +44 -0
- package/src/components/chat/.mingo-onboarding-card.md +62 -0
- package/src/components/chat/.model-display.md +32 -30
- package/src/components/chat/.nav-link-anchor-via-runtime.md +40 -0
- package/src/components/chat/.remark-card-links.md +38 -0
- package/src/components/chat/.slash-command-suggestions.md +47 -0
- package/src/components/chat/.source-action-button.md +48 -0
- package/src/components/chat/.thinking-display.md +42 -0
- package/src/components/chat/.tool-call-blocks.md +45 -0
- package/src/components/chat/.tool-execution-display.md +44 -36
- package/src/components/chat/chat-container.tsx +1 -1
- package/src/components/chat/entity-cards/.admin-content-card.md +43 -0
- package/src/components/chat/entity-cards/.block-card.md +47 -0
- package/src/components/chat/entity-cards/.blog-card.md +52 -0
- package/src/components/chat/entity-cards/.blog-image-placeholder.md +39 -0
- package/src/components/chat/entity-cards/.campaign-card-admin.md +47 -0
- package/src/components/chat/entity-cards/.case-study-card.md +58 -0
- package/src/components/chat/entity-cards/.chat-ticket-item.md +40 -0
- package/src/components/chat/entity-cards/.chat-video-entity-card.md +43 -0
- package/src/components/chat/entity-cards/.customer-interview-card.md +53 -0
- package/src/components/chat/entity-cards/.data-room-doc-card.md +47 -0
- package/src/components/chat/entity-cards/.dispatch.md +39 -0
- package/src/components/chat/entity-cards/.entity-author-card.md +51 -0
- package/src/components/chat/entity-cards/.generic-entity-card.md +62 -0
- package/src/components/chat/entity-cards/.github-activity-card.md +61 -0
- package/src/components/chat/entity-cards/.hubspot-ticket-card.md +53 -0
- package/src/components/chat/entity-cards/.index.md +66 -0
- package/src/components/chat/entity-cards/.investor-update-card.md +47 -0
- package/src/components/chat/entity-cards/.onboarding-guide-card.md +58 -0
- package/src/components/chat/entity-cards/.product-release-card-defaults.md +31 -0
- package/src/components/chat/entity-cards/.product-release-card.md +29 -0
- package/src/components/chat/entity-cards/.program-card-defaults.md +41 -0
- package/src/components/chat/entity-cards/.program-card.md +59 -0
- package/src/components/chat/entity-cards/.roadmap-card.md +46 -0
- package/src/components/chat/entity-cards/.roadmap-vote-button.md +52 -0
- package/src/components/chat/entity-cards/.slack-message-card.md +48 -0
- package/src/components/chat/entity-cards/.task-type-icon.md +47 -0
- package/src/components/chat/hooks/.index.md +36 -21
- package/src/components/chat/hooks/.use-chat-attachment-image-gallery.md +51 -0
- package/src/components/chat/hooks/.use-chat-attachments.md +48 -0
- package/src/components/chat/hooks/.use-chat-card-item.md +39 -0
- package/src/components/chat/hooks/.use-chat-identity.md +45 -0
- package/src/components/chat/hooks/.use-chat.md +58 -0
- package/src/components/chat/hooks/.use-chunk-catchup.md +46 -48
- package/src/components/chat/hooks/.use-close-on-navigation.md +44 -0
- package/src/components/chat/hooks/.use-collapsible.md +48 -0
- package/src/components/chat/hooks/.use-embedded-chat.md +32 -0
- package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +40 -0
- package/src/components/chat/hooks/.use-nats-chat-adapter.md +52 -0
- package/src/components/chat/hooks/.use-nats-dialog-subscription.md +49 -30
- package/src/components/chat/hooks/.use-proxied-image-url.md +40 -0
- package/src/components/chat/hooks/.use-realtime-chunk-processor.md +43 -40
- package/src/components/chat/hooks/.use-slash-commands.md +46 -0
- package/src/components/chat/hooks/.use-sse-chat-adapter.md +34 -0
- package/src/components/chat/hooks/.use-sse.md +60 -0
- package/src/components/chat/hooks/.use-unified-chat.md +57 -0
- package/src/components/chat/types/.api.types.md +52 -38
- package/src/components/chat/types/.chat.types.md +43 -34
- package/src/components/chat/types/.component.types.md +47 -48
- package/src/components/chat/types/.index.md +20 -27
- package/src/components/chat/types/.message.types.md +58 -48
- package/src/components/chat/types/.network.types.md +57 -31
- package/src/components/chat/types/.processing.types.md +49 -31
- package/src/components/chat/types/.unified-chat-state.types.md +41 -0
- package/src/components/chat/types/entities/.blog.md +43 -0
- package/src/components/chat/types/entities/.case-study.md +26 -0
- package/src/components/chat/types/entities/.content-ref.md +41 -0
- package/src/components/chat/types/entities/.customer-interview.md +28 -0
- package/src/components/chat/types/entities/.data-room-doc.md +36 -0
- package/src/components/chat/types/entities/.github-activity.md +43 -0
- package/src/components/chat/types/entities/.hubspot-ticket.md +53 -0
- package/src/components/chat/types/entities/.index.md +42 -0
- package/src/components/chat/types/entities/.investor-update.md +45 -0
- package/src/components/chat/types/entities/.onboarding-guide.md +50 -0
- package/src/components/chat/types/entities/.program-types.md +57 -0
- package/src/components/chat/types/entities/.roadmap-item.md +58 -0
- package/src/components/chat/types/entities/.slack-message.md +35 -0
- package/src/components/chat/utils/.agent-status-message.md +45 -0
- package/src/components/chat/utils/.auto-continuation-directive.md +58 -0
- package/src/components/chat/utils/.chat-attachment-markdown.md +54 -0
- package/src/components/chat/utils/.chat-authed-fetch.md +25 -0
- package/src/components/chat/utils/.chat-nav-resolution.md +46 -0
- package/src/components/chat/utils/.chat-proxy-auth-storage.md +38 -0
- package/src/components/chat/utils/.chip-action-class.md +34 -0
- package/src/components/chat/utils/.chip-styles.md +46 -0
- package/src/components/chat/utils/.chunk-parser.md +38 -28
- package/src/components/chat/utils/.clickup-task-type-utils.md +48 -0
- package/src/components/chat/utils/.compact-card-classes.md +62 -0
- package/src/components/chat/utils/.decide-new-tab.md +51 -0
- package/src/components/chat/utils/.external-app-urls.md +29 -0
- package/src/components/chat/utils/.extract-incomplete-message-state.md +25 -29
- package/src/components/chat/utils/.flatten-assistant-content.md +34 -0
- package/src/components/chat/utils/.icon-registry.md +46 -0
- package/src/components/chat/utils/.index.md +37 -32
- package/src/components/chat/utils/.is-cross-origin-url.md +35 -0
- package/src/components/chat/utils/.message-segment-accumulator.md +25 -34
- package/src/components/chat/utils/.nav-anchor-props.md +44 -0
- package/src/components/chat/utils/.nav-click-handler.md +47 -0
- package/src/components/chat/utils/.onboarding-icons.md +28 -0
- package/src/components/chat/utils/.process-historical-messages.md +46 -35
- package/src/components/chat/utils/.scroll-anchor.md +40 -0
- package/src/components/chat/utils/.slash-dispatch-utils.md +44 -0
- package/src/components/chat/utils/.source-icons.md +35 -0
- package/src/components/chat/utils/.source-row-cta.md +54 -0
- package/src/components/chat/utils/.tool-call-helpers.md +42 -0
- package/src/components/contact/.contact-form.md +43 -0
- package/src/components/contact/.index.md +27 -0
- package/src/components/features/.array-entry-manager.md +36 -45
- package/src/components/features/.changelog-manager.md +47 -21
- package/src/components/features/.changelog-sections-manager.md +21 -26
- package/src/components/features/.command-box.md +31 -28
- package/src/components/features/.entity-summary-editor.md +46 -0
- package/src/components/features/.entity-video-section.md +51 -0
- package/src/components/features/.figma-prototype-viewer.md +48 -29
- package/src/components/features/.filters-dropdown.md +33 -46
- package/src/components/features/.highlight-config-section.md +42 -0
- package/src/components/features/.highlight-generation-section.md +46 -0
- package/src/components/features/.highlight-video-combined-section.md +47 -0
- package/src/components/features/.highlight-video-preview.md +44 -0
- package/src/components/features/.highlight-video-section.md +47 -0
- package/src/components/features/.index.md +40 -66
- package/src/components/features/.media-gallery-manager.md +48 -38
- package/src/components/features/.more-about-button.md +22 -19
- package/src/components/features/.og-editor-preview.md +40 -36
- package/src/components/features/.parallax-image-showcase.md +33 -26
- package/src/components/features/.paths-display.md +42 -43
- package/src/components/features/.platform-badge.md +37 -36
- package/src/components/features/.platform-filter.md +23 -16
- package/src/components/features/.policy-configuration-panel.md +48 -56
- package/src/components/features/.provider-button.md +33 -36
- package/src/components/features/.push-button-selector.md +40 -29
- package/src/components/features/.release-media-manager.md +46 -31
- package/src/components/features/.section-selector.md +26 -31
- package/src/components/features/.select-button.md +35 -25
- package/src/components/features/.seo-editor-preview.md +41 -44
- package/src/components/features/.social-links-manager.md +25 -19
- package/src/components/features/.start-with-openframe-button.md +37 -29
- package/src/components/features/.status-filter-component.md +36 -20
- package/src/components/features/.tags-selector.md +40 -24
- package/src/components/features/.transcribe-and-summarize-combined-section.md +45 -0
- package/src/components/features/.transcribe-summarize-section.md +48 -0
- package/src/components/features/.transcript-summary-editor.md +53 -0
- package/src/components/features/.video-bites-display.md +46 -0
- package/src/components/features/.video-clips-section.md +41 -0
- package/src/components/features/.video-ratio-tabs.md +56 -0
- package/src/components/features/.video-source-selector.md +60 -0
- package/src/components/features/.video.md +44 -0
- package/src/components/features/.waitlist-form.md +60 -0
- package/src/components/features/ai-enrich/.AIEnrichButton.md +30 -27
- package/src/components/features/ai-enrich/.AIEnrichSection.md +46 -42
- package/src/components/features/board/.board-column-header.md +38 -0
- package/src/components/features/board/.board-column.md +43 -0
- package/src/components/features/board/.board.md +51 -0
- package/src/components/features/board/.color-utils.md +26 -0
- package/src/components/features/board/.index.md +56 -0
- package/src/components/features/board/.ticket-card-skeleton.md +38 -0
- package/src/components/features/board/.ticket-card.md +47 -0
- package/src/components/features/board/.types.md +45 -0
- package/src/components/features/board/.use-board-collapse.md +34 -0
- package/src/components/features/notifications/.index.md +57 -0
- package/src/components/features/notifications/.notification-drawer.md +34 -0
- package/src/components/features/notifications/.notification-tile.md +39 -0
- package/src/components/features/notifications/.notifications-context.md +73 -0
- package/src/components/features/notifications/.types.md +45 -0
- package/src/components/icons/.about-icon.md +20 -28
- package/src/components/icons/.ai-robot-icon.md +15 -17
- package/src/components/icons/.bash-icon.md +16 -23
- package/src/components/icons/.buildings-icon.md +10 -24
- package/src/components/icons/.capterra-icon.md +30 -26
- package/src/components/icons/.carta-icon.md +29 -0
- package/src/components/icons/.clickup-icon.md +26 -0
- package/src/components/icons/.cmd-icon.md +15 -22
- package/src/components/icons/.coins-icon.md +17 -25
- package/src/components/icons/.community-hub-icon.md +19 -25
- package/src/components/icons/.community-icon.md +24 -21
- package/src/components/icons/.compare-icon.md +32 -19
- package/src/components/icons/.copy-icon.md +29 -15
- package/src/components/icons/.custom-external-link-icon.md +19 -17
- package/src/components/icons/.custom-fork-icon.md +32 -21
- package/src/components/icons/.custom-license-icon.md +29 -25
- package/src/components/icons/.custom-star-icon.md +20 -28
- package/src/components/icons/.custom-time-icon.md +21 -22
- package/src/components/icons/.cut-vendor-costs-icon.md +6 -19
- package/src/components/icons/.dashboard-icon.md +13 -18
- package/src/components/icons/.deno-icon.md +16 -23
- package/src/components/icons/.donut-icon.md +12 -23
- package/src/components/icons/.double-chevron-icon.md +28 -36
- package/src/components/icons/.elestio-logo.md +13 -23
- package/src/components/icons/.empty-vendor-icon.md +16 -18
- package/src/components/icons/.explore-categories-icon.md +18 -29
- package/src/components/icons/.eye-icon.md +16 -26
- package/src/components/icons/.facebook-icon.md +9 -20
- package/src/components/icons/.figma-icon.md +8 -17
- package/src/components/icons/.filter-icon.md +15 -17
- package/src/components/icons/.flamingo-logo.md +28 -27
- package/src/components/icons/.folder-shield-icon.md +28 -19
- package/src/components/icons/.g2-icon.md +22 -21
- package/src/components/icons/.getapp-icon.md +25 -21
- package/src/components/icons/.github-icon.md +13 -25
- package/src/components/icons/.globe-icon.md +14 -19
- package/src/components/icons/.google-gemini-icon.md +16 -19
- package/src/components/icons/.google-logo.md +15 -21
- package/src/components/icons/.grid-view-icon.md +30 -19
- package/src/components/icons/.hamburger-icon.md +22 -20
- package/src/components/icons/.hand-dollar-icon.md +24 -34
- package/src/components/icons/.hotel-icon.md +27 -21
- package/src/components/icons/.icon-utils.md +28 -29
- package/src/components/icons/.image-icon.md +15 -22
- package/src/components/icons/.index.md +25 -28
- package/src/components/icons/.info-circle-icon.md +29 -30
- package/src/components/icons/.instagram-icon.md +10 -24
- package/src/components/icons/.jump-in-icon.md +18 -18
- package/src/components/icons/.linux-icon.md +18 -18
- package/src/components/icons/.log-out-icon.md +15 -23
- package/src/components/icons/.logs-icon.md +14 -23
- package/src/components/icons/.margin-crisis-icon.md +21 -20
- package/src/components/icons/.menu-icon.md +18 -19
- package/src/components/icons/.miami-cyber-gang-logo-face-only.md +18 -21
- package/src/components/icons/.miami-cyber-gang-logo.md +22 -14
- package/src/components/icons/.mlg-logo.md +18 -16
- package/src/components/icons/.moon-icon.md +32 -22
- package/src/components/icons/.ms-icon.md +30 -19
- package/src/components/icons/.nushell-icon.md +7 -21
- package/src/components/icons/.open-source-icon.md +19 -23
- package/src/components/icons/.openai-icon.md +9 -24
- package/src/components/icons/.openframe-ai-icons.md +25 -26
- package/src/components/icons/.openframe-logo.md +28 -22
- package/src/components/icons/.openframe-text.md +24 -27
- package/src/components/icons/.openmsp-logo.md +26 -23
- package/src/components/icons/.pilot-icon.md +23 -0
- package/src/components/icons/.powershell-icon.md +17 -22
- package/src/components/icons/.python-icon.md +16 -23
- package/src/components/icons/.queries-icon.md +13 -21
- package/src/components/icons/.reddit-icon.md +28 -24
- package/src/components/icons/.remote-control-icon.md +13 -17
- package/src/components/icons/.script-icon.md +27 -19
- package/src/components/icons/.search-icon.md +21 -21
- package/src/components/icons/.send-icon.md +14 -16
- package/src/components/icons/.settings-icon.md +30 -19
- package/src/components/icons/.shape-circle-dash-icon.md +16 -21
- package/src/components/icons/.shell-icon.md +15 -19
- package/src/components/icons/.shield-check-icon.md +18 -31
- package/src/components/icons/.shield-key-icon.md +25 -25
- package/src/components/icons/.shield-lock-icon.md +8 -18
- package/src/components/icons/.slack-icon.md +28 -32
- package/src/components/icons/.sparkles-icon.md +18 -23
- package/src/components/icons/.sso-configuration-icon.md +29 -16
- package/src/components/icons/.sun-icon.md +20 -18
- package/src/components/icons/.table-view-icon.md +17 -19
- package/src/components/icons/.telegram-icon.md +8 -22
- package/src/components/icons/.thumbs-down-icon.md +10 -19
- package/src/components/icons/.thumbs-up-icon.md +8 -17
- package/src/components/icons/.tool-directory-icons.md +24 -28
- package/src/components/icons/.trustpilot-icon.md +25 -22
- package/src/components/icons/.user-icon.md +26 -28
- package/src/components/icons/.users-group-icon.md +28 -24
- package/src/components/icons/.vendor-showcase-icons.md +21 -29
- package/src/components/icons/.vendors-icon.md +18 -22
- package/src/components/icons/.whatsapp-icon.md +30 -14
- package/src/components/icons/.x-icon.md +18 -23
- package/src/components/icons/.x-logo.md +13 -38
- package/src/components/icons/.youtube-icon.md +8 -19
- package/src/components/icons/device-type-icons/.get-device-type-icon.md +26 -34
- package/src/components/icons-v2-generated/.index.md +52 -0
- package/src/components/icons-v2-generated/alphabet/.index.md +33 -0
- package/src/components/icons-v2-generated/arrows/.index.md +39 -0
- package/src/components/icons-v2-generated/audio-and-visual/.index.md +40 -0
- package/src/components/icons-v2-generated/brand-logos/.elestio-logo-icon.md +40 -0
- package/src/components/icons-v2-generated/brand-logos/.gemini-logo-icon.md +37 -0
- package/src/components/icons-v2-generated/brand-logos/.google-gemini-logo-icon.md +33 -0
- package/src/components/icons-v2-generated/brand-logos/.index.md +38 -0
- package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-grey-icon.md +35 -0
- package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-icon.md +36 -0
- package/src/components/icons-v2-generated/buildings/.index.md +48 -0
- package/src/components/icons-v2-generated/charts/.index.md +40 -0
- package/src/components/icons-v2-generated/clothes/.index.md +48 -0
- package/src/components/icons-v2-generated/coding/.index.md +42 -0
- package/src/components/icons-v2-generated/communication/.index.md +39 -0
- package/src/components/icons-v2-generated/date-and-time/.index.md +29 -0
- package/src/components/icons-v2-generated/design/.index.md +39 -0
- package/src/components/icons-v2-generated/devices/.index.md +38 -0
- package/src/components/icons-v2-generated/documents/.index.md +38 -0
- package/src/components/icons-v2-generated/finance/.index.md +34 -0
- package/src/components/icons-v2-generated/food-and-drinks/.index.md +34 -0
- package/src/components/icons-v2-generated/food-and-drinks/.leafy-green-icon.md +36 -0
- package/src/components/icons-v2-generated/food-and-drinks/.strawberry-icon.md +39 -0
- package/src/components/icons-v2-generated/health/.index.md +40 -0
- package/src/components/icons-v2-generated/household/.index.md +45 -0
- package/src/components/icons-v2-generated/interface/.index.md +36 -0
- package/src/components/icons-v2-generated/map-and-travel/.index.md +41 -0
- package/src/components/icons-v2-generated/media-playback/.index.md +51 -0
- package/src/components/icons-v2-generated/number/.index.md +41 -0
- package/src/components/icons-v2-generated/school/.index.md +37 -0
- package/src/components/icons-v2-generated/security/.fingerprint-icon.md +38 -0
- package/src/components/icons-v2-generated/security/.index.md +39 -0
- package/src/components/icons-v2-generated/shopping/.index.md +42 -0
- package/src/components/icons-v2-generated/signs-and-symbols/.index.md +32 -0
- package/src/components/icons-v2-generated/sort-and-filter/.index.md +35 -0
- package/src/components/icons-v2-generated/sport/.index.md +41 -0
- package/src/components/icons-v2-generated/text-editor/.index.md +44 -0
- package/src/components/icons-v2-generated/users/.index.md +45 -0
- package/src/components/icons-v2-generated/vehicles-and-delivery/.index.md +36 -0
- package/src/components/icons-v2-generated/weather-and-nature/.flower-sakura-icon.md +36 -0
- package/src/components/icons-v2-generated/weather-and-nature/.index.md +34 -0
- package/src/components/layout/.article-detail-layout.md +43 -0
- package/src/components/layout/.back-button.md +40 -0
- package/src/components/layout/.list-page-layout.md +35 -26
- package/src/components/layout/.page-container.md +27 -38
- package/src/components/layout/.page-layout.md +50 -0
- package/src/components/layout/.title-block.md +42 -0
- package/src/components/loading/.card-skeleton.md +38 -29
- package/src/components/loading/.device-card-skeleton.md +29 -25
- package/src/components/loading/.index.md +39 -46
- package/src/components/loading/.margin-report-skeleton.md +45 -34
- package/src/components/loading/.organization-card-skeleton.md +39 -44
- package/src/components/loading/.page-layout-skeleton.md +34 -45
- package/src/components/loading/.unified-skeleton.md +62 -36
- package/src/components/navigation/.app-header.md +40 -29
- package/src/components/navigation/.app-layout.md +25 -26
- package/src/components/navigation/.header-global-search.md +34 -37
- package/src/components/navigation/.header-organization-filter.md +23 -22
- package/src/components/navigation/.header.md +31 -35
- package/src/components/navigation/.mobile-burger-menu.md +39 -47
- package/src/components/navigation/.mobile-nav-panel.md +51 -32
- package/src/components/navigation/.navigation-sidebar-header.md +36 -0
- package/src/components/navigation/.navigation-sidebar-item.md +45 -0
- package/src/components/navigation/.navigation-sidebar-toggle.md +38 -0
- package/src/components/navigation/.navigation-sidebar.md +33 -34
- package/src/components/navigation/.sliding-sidebar.md +52 -41
- package/src/components/navigation/.sticky-section-nav.md +56 -48
- package/src/components/platform/.ScriptArguments.md +39 -25
- package/src/components/platform/.ScriptInfoSection.md +30 -26
- package/src/components/platform/.ShellTypeBadge.md +18 -13
- package/src/components/platform/.SoftwareInfo.md +23 -27
- package/src/components/platform/.SoftwareSourceBadge.md +28 -19
- package/src/components/platform/.ToolBadge.md +25 -26
- package/src/components/platform/ShellTypeBadge.tsx +2 -2
- package/src/components/providers/.theme-provider.md +52 -0
- package/src/components/shared/delivery/.delivery-lists.md +39 -0
- package/src/components/shared/delivery/.delivery-row.md +41 -0
- package/src/components/shared/delivery/.delivery-table.md +41 -0
- package/src/components/shared/delivery/.index.md +38 -0
- package/src/components/shared/dev-section/.dev-card-row.md +60 -0
- package/src/components/shared/dev-section/.dev-section-page.md +48 -0
- package/src/components/shared/dev-section/.dev-section-view.md +43 -0
- package/src/components/shared/dev-section/.index.md +38 -0
- package/src/components/shared/legal-document/.index.md +40 -0
- package/src/components/shared/legal-document/.legal-document-page.md +50 -0
- package/src/components/shared/legal-document/.use-legal-docs.md +42 -0
- package/src/components/shared/onboarding/.onboarding-step-card.md +32 -31
- package/src/components/shared/onboarding/.onboarding-walkthrough.md +39 -43
- package/src/components/shared/product-release/.index.md +28 -30
- package/src/components/shared/product-release/.product-release-card-skeleton.md +28 -28
- package/src/components/shared/product-release/.product-release-card.md +45 -27
- package/src/components/shared/product-release/.release-detail-page.md +23 -24
- package/src/components/shared/roadmap/.index.md +37 -0
- package/src/components/shared/roadmap/.roadmap-grid-skeleton.md +39 -0
- package/src/components/shared/roadmap/.roadmap-grid.md +66 -0
- package/src/components/shared/roadmap/.use-roadmap-voting.md +68 -0
- package/src/components/tickets/.help-center-card.md +51 -0
- package/src/components/tickets/.help-center-create-form.md +38 -0
- package/src/components/tickets/.help-center-list.md +40 -0
- package/src/components/tickets/.index.md +65 -0
- package/src/components/tickets/.ticket-center.md +51 -0
- package/src/components/tickets/.ticket-detail-drawer.md +48 -0
- package/src/components/tickets/.ticket-linked-delivery-card.md +36 -0
- package/src/components/tickets/.ticket-open-form.md +50 -0
- package/src/components/tickets/.ticket-row.md +30 -0
- package/src/components/tickets/.types.md +57 -0
- package/src/components/tickets/hooks/.use-ticket-actions.md +77 -0
- package/src/components/tickets/hooks/.use-ticket-engagements.md +42 -0
- package/src/components/tickets/hooks/.use-tickets-list.md +54 -0
- package/src/components/ui/.actions-menu.md +66 -41
- package/src/components/ui/.alert-dialog.md +29 -26
- package/src/components/ui/.allowed-domains-input.md +29 -21
- package/src/components/ui/.assignee-dropdown.md +45 -0
- package/src/components/ui/.autocomplete.md +47 -41
- package/src/components/ui/.benefit-card.md +51 -36
- package/src/components/ui/.brand-association-card.md +30 -27
- package/src/components/ui/.breadcrumb.md +17 -15
- package/src/components/ui/.checkbox-block.md +39 -35
- package/src/components/ui/.checkbox-with-description.md +23 -16
- package/src/components/ui/.checkbox.md +31 -23
- package/src/components/ui/.circular-progress.md +49 -19
- package/src/components/ui/.content-loader.md +32 -20
- package/src/components/ui/.cursor-pagination.md +41 -52
- package/src/components/ui/.dashboard-info-card.md +33 -26
- package/src/components/ui/.date-picker.md +27 -25
- package/src/components/ui/.device-card-compact.md +28 -29
- package/src/components/ui/.device-card.md +27 -27
- package/src/components/ui/.dialog.md +25 -16
- package/src/components/ui/.drawer.md +86 -0
- package/src/components/ui/.dropdown-button.md +45 -0
- package/src/components/ui/.entity-image.md +46 -0
- package/src/components/ui/.error-state.md +41 -28
- package/src/components/ui/.feature-card.md +35 -31
- package/src/components/ui/.feature-list.md +48 -0
- package/src/components/ui/.field-wrapper.md +47 -0
- package/src/components/ui/.file-upload.md +42 -0
- package/src/components/ui/.filter-checkbox-item.md +43 -0
- package/src/components/ui/.filter-list.md +57 -0
- package/src/components/ui/.filter-modal.md +59 -0
- package/src/components/ui/.floating-tooltip.md +43 -26
- package/src/components/ui/.hidden-tags-popup.md +49 -0
- package/src/components/ui/.hover-dropdown.md +54 -0
- package/src/components/ui/.image-gallery-modal.md +41 -34
- package/src/components/ui/.image-uploader.md +53 -0
- package/src/components/ui/.index.md +40 -34
- package/src/components/ui/.info-card.md +31 -31
- package/src/components/ui/.info-row.md +31 -27
- package/src/components/ui/.input-trigger.md +44 -0
- package/src/components/ui/.input.md +37 -31
- package/src/components/ui/.markdown-editor.md +57 -0
- package/src/components/ui/.modal-v2.md +51 -0
- package/src/components/ui/.modal.md +32 -31
- package/src/components/ui/.more-actions-menu.md +45 -38
- package/src/components/ui/.organization-card.md +31 -37
- package/src/components/ui/.page-actions.md +44 -54
- package/src/components/ui/.phone-input.md +54 -0
- package/src/components/ui/.progress-bar.md +35 -27
- package/src/components/ui/.radio-group.md +39 -27
- package/src/components/ui/.release-changelog-section.md +34 -34
- package/src/components/ui/.search-input.md +48 -0
- package/src/components/ui/.select.md +54 -34
- package/src/components/ui/.service-card.md +42 -40
- package/src/components/ui/.sheet.md +27 -18
- package/src/components/ui/.simple-markdown-renderer.md +29 -31
- package/src/components/ui/.sort-column-item.md +42 -0
- package/src/components/ui/.square-avatar.md +34 -24
- package/src/components/ui/.status-badge.md +26 -38
- package/src/components/ui/.switch.md +22 -35
- package/src/components/ui/.tab-navigation.md +56 -53
- package/src/components/ui/.tab-selector.md +40 -0
- package/src/components/ui/.tag-key-value-filter.md +56 -0
- package/src/components/ui/.tag-search-input.md +53 -0
- package/src/components/ui/.tag.md +49 -31
- package/src/components/ui/.tags-manager.md +60 -0
- package/src/components/ui/.textarea.md +44 -34
- package/src/components/ui/.ticket-attachments-list.md +45 -0
- package/src/components/ui/.ticket-detail-section.md +29 -0
- package/src/components/ui/.ticket-info-section.md +56 -0
- package/src/components/ui/.ticket-note-card.md +53 -0
- package/src/components/ui/.ticket-notes-section.md +54 -0
- package/src/components/ui/.ticket-status-tag.md +49 -0
- package/src/components/ui/.title-content-block.md +25 -26
- package/src/components/ui/.toaster.md +40 -28
- package/src/components/ui/.tooltip.md +22 -11
- package/src/components/ui/.truncate-text.md +39 -0
- package/src/components/ui/button/.button-styles.md +35 -0
- package/src/components/ui/button/.button.md +53 -0
- package/src/components/ui/button/.split-button.md +48 -0
- package/src/components/ui/data-table/.data-table-body.md +48 -0
- package/src/components/ui/data-table/.data-table-column-filter.md +45 -0
- package/src/components/ui/data-table/.data-table-cursor-footer.md +45 -0
- package/src/components/ui/data-table/.data-table-empty.md +43 -0
- package/src/components/ui/data-table/.data-table-header.md +55 -0
- package/src/components/ui/data-table/.data-table-infinite-footer.md +44 -0
- package/src/components/ui/data-table/.data-table-row-count.md +43 -0
- package/src/components/ui/data-table/.data-table-row.md +47 -0
- package/src/components/ui/data-table/.data-table-skeleton.md +42 -0
- package/src/components/ui/data-table/.data-table.md +47 -0
- package/src/components/ui/data-table/.index.md +55 -0
- package/src/components/ui/data-table/.types.md +54 -0
- package/src/components/ui/data-table/.use-data-table.md +45 -0
- package/src/components/ui/data-table/.utils.md +38 -0
- package/src/components/ui/file-manager/.file-manager-action-bar.md +39 -30
- package/src/components/ui/file-manager/.file-manager-breadcrumb.md +29 -27
- package/src/components/ui/file-manager/.file-manager-context-menu.md +38 -42
- package/src/components/ui/file-manager/.file-manager-empty.md +26 -39
- package/src/components/ui/file-manager/.file-manager-table-row.md +33 -41
- package/src/components/ui/file-manager/.file-manager.md +35 -31
- package/src/components/ui/query-report-table/.index.md +43 -0
- package/src/components/ui/query-report-table/.query-report-table-header.md +36 -0
- package/src/components/ui/query-report-table/.query-report-table-row.md +40 -0
- package/src/components/ui/query-report-table/.query-report-table-skeleton.md +44 -0
- package/src/components/ui/query-report-table/.query-report-table.md +47 -0
- package/src/components/ui/query-report-table/.types.md +41 -0
- package/src/components/ui/query-report-table/.utils.md +35 -0
- package/src/components/ui/table/.index.md +27 -48
- package/src/components/ui/table/.table-cell.md +18 -27
- package/src/components/ui/table/.table-column-filter-dropdown.md +40 -0
- package/src/components/ui/table/.table-description-cell.md +24 -14
- package/src/components/ui/table/.table-empty-state.md +21 -22
- package/src/components/ui/table/.table-header.md +25 -40
- package/src/components/ui/table/.table-row.md +22 -40
- package/src/components/ui/table/.table-skeleton.md +33 -26
- package/src/components/ui/table/.table-timestamp-cell.md +26 -16
- package/src/components/ui/table/.table.md +39 -59
- package/src/components/ui/table/.types.md +44 -36
- package/src/components/ui/table/.utils.md +18 -20
- package/src/contexts/.chat-runtime-context.md +54 -0
- package/src/contexts/.endpoints-runtime-context.md +58 -0
- package/src/contexts/.index.md +53 -0
- package/src/contexts/.use-outer-or-default.md +36 -0
- package/src/embed-shims/.index.md +45 -0
- package/src/embed-shims/.next-dynamic.md +43 -0
- package/src/embed-shims/.next-image.md +45 -0
- package/src/embed-shims/.next-link.md +59 -0
- package/src/embed-shims/.next-navigation.md +59 -0
- package/src/hooks/.index.md +34 -29
- package/src/hooks/.use-access-code-integration.md +49 -0
- package/src/hooks/.use-contact-submission.md +37 -26
- package/src/hooks/.use-copy-to-clipboard.md +42 -0
- package/src/hooks/.use-near-viewport.md +44 -0
- package/src/hooks/.use-og-placeholder.md +51 -0
- package/src/hooks/.use-toast.md +36 -35
- package/src/hooks/state/.use-api-params.md +29 -46
- package/src/hooks/state/.use-query-params.md +37 -33
- package/src/hooks/ui/.index.md +33 -32
- package/src/hooks/ui/.use-auto-limit-tags.md +54 -0
- package/src/hooks/ui/.use-horizontal-scrollbar.md +74 -0
- package/src/hooks/ui/.use-image-edge-color.md +42 -0
- package/src/hooks/ui/.use-media-query.md +33 -25
- package/src/hooks/ui/.use-search.md +51 -0
- package/src/nats/.nats.md +49 -28
- package/src/schemas/.contact-schema.md +45 -0
- package/src/stories/.AnnouncementBar.stories.md +45 -0
- package/src/stories/.AppLayout.stories.md +20 -21
- package/src/stories/.Autocomplete.stories.md +48 -34
- package/src/stories/.Board.stories.md +35 -0
- package/src/stories/.Button.stories.md +36 -33
- package/src/stories/.ChatTicketList.stories.md +33 -0
- package/src/stories/.CheckboxBlock.stories.md +40 -28
- package/src/stories/.ContentLoader.stories.md +47 -0
- package/src/stories/.DashboardInfoCard.stories.md +57 -0
- package/src/stories/.DataTable.stories.md +41 -0
- package/src/stories/.DatePicker.stories.md +66 -52
- package/src/stories/.DeviceCard.stories.md +41 -40
- package/src/stories/.DeviceCardCompact.stories.md +41 -0
- package/src/stories/.DotsLoaderIcon.stories.md +36 -0
- package/src/stories/.Drawer.stories.md +58 -0
- package/src/stories/.EmbeddableChat.stories.md +41 -0
- package/src/stories/.FileManager.stories.md +41 -0
- package/src/stories/.FileManagerActionBar.stories.md +38 -0
- package/src/stories/.FileUpload.stories.md +53 -0
- package/src/stories/.FilterList.stories.md +54 -0
- package/src/stories/.FilterModal.stories.md +72 -0
- package/src/stories/.FiltersDropdown.stories.md +57 -0
- package/src/stories/.Header.stories.md +48 -0
- package/src/stories/.ImageUploader.stories.md +49 -0
- package/src/stories/.InfoCard.stories.md +54 -0
- package/src/stories/.Input.stories.md +48 -30
- package/src/stories/.ListPageLayout.stories.md +56 -43
- package/src/stories/.MingoOnboardingCard.stories.md +42 -0
- package/src/stories/.MingoOnboardingCardSkeleton.stories.md +35 -0
- package/src/stories/.Modal.stories.md +40 -31
- package/src/stories/.NotificationDrawer.stories.md +55 -0
- package/src/stories/.OnboardingStepCard.stories.md +41 -0
- package/src/stories/.OrganizationCard.stories.md +61 -0
- package/src/stories/.PageActions.stories.md +52 -49
- package/src/stories/.PageContainer.stories.md +41 -35
- package/src/stories/.PageLayout.stories.md +60 -0
- package/src/stories/.ParallaxImageShowcase.stories.md +49 -0
- package/src/stories/.PhoneInput.stories.md +53 -0
- package/src/stories/.QueryReportTable.stories.md +44 -0
- package/src/stories/.RadioGroup.stories.md +46 -0
- package/src/stories/.RadioGroupBlock.stories.md +45 -0
- package/src/stories/.Select.stories.md +29 -15
- package/src/stories/.SlashCommandSuggestions.stories.md +41 -0
- package/src/stories/.SplitButton.stories.md +62 -0
- package/src/stories/.TabNavigation.stories.md +47 -38
- package/src/stories/.TabSelector.stories.md +65 -0
- package/src/stories/.Table.stories.md +38 -46
- package/src/stories/.TableColumnFilterDropdown.stories.md +46 -0
- package/src/stories/.Tag.stories.md +43 -32
- package/src/stories/.TagKeyValueFilter.stories.md +44 -0
- package/src/stories/.TagSearchInput.stories.md +61 -0
- package/src/stories/.Textarea.stories.md +49 -26
- package/src/stories/.Theme.stories.md +41 -0
- package/src/stories/.TicketAttachmentsList.stories.md +39 -0
- package/src/stories/.TicketDescriptionViewer.stories.md +39 -0
- package/src/stories/.TicketInfoSection.stories.md +40 -0
- package/src/stories/.TicketKnowledgeBaseList.stories.md +36 -0
- package/src/stories/.TicketNotesSection.stories.md +50 -0
- package/src/stories/.Toaster.stories.md +40 -0
- package/src/stories/.ToolExecutionDisplay.stories.md +41 -0
- package/src/stories/.Tooltip.stories.md +41 -0
- package/src/stories/.UserSummary.stories.md +41 -0
- package/src/stories/.WaitlistForm.stories.md +42 -0
- package/src/stories/BlogCard.stories.tsx +61 -0
- package/src/stories/CampaignCardAdmin.stories.tsx +52 -0
- package/src/stories/CaseStudyCard.stories.tsx +42 -0
- package/src/stories/ChatContainer.stories.tsx +186 -0
- package/src/stories/ChatInlineVideoPill.stories.tsx +63 -0
- package/src/stories/CustomerInterviewCard.stories.tsx +42 -0
- package/src/stories/DataRoomDocCard.stories.tsx +52 -0
- package/src/stories/GenericEntityCard.stories.tsx +66 -0
- package/src/stories/GitHubActivityCard.stories.tsx +61 -0
- package/src/stories/HubspotTicketCard.stories.tsx +98 -0
- package/src/stories/InvestorUpdateCard.stories.tsx +42 -0
- package/src/stories/OnboardingGuideCard.stories.tsx +52 -0
- package/src/stories/ProductReleaseCard.stories.tsx +61 -0
- package/src/stories/ProgramCard.stories.tsx +79 -0
- package/src/stories/RoadmapCard.stories.tsx +75 -0
- package/src/stories/SlackMessageCard.stories.tsx +41 -0
- package/src/stories/__fixtures__/chat-cards.ts +604 -0
- package/src/types/.blog.md +53 -29
- package/src/types/.case-study.md +44 -27
- package/src/types/.customer-interview.md +66 -44
- package/src/types/.delivery.md +40 -0
- package/src/types/.employee.md +24 -30
- package/src/types/.index.md +33 -47
- package/src/types/.marketing.md +49 -44
- package/src/types/.navigation.md +33 -25
- package/src/types/.os.types.md +32 -27
- package/src/types/.platform.md +31 -28
- package/src/types/.product-release.md +65 -38
- package/src/types/.supabase.md +37 -29
- package/src/types/.team.md +41 -33
- package/src/types/.video-processing.md +54 -0
- package/src/types/.waitlist.md +40 -36
- package/src/utils/.access-code-client.md +37 -36
- package/src/utils/.cn.md +31 -23
- package/src/utils/.color-analysis.md +35 -0
- package/src/utils/.country-phone-utils.md +39 -0
- package/src/utils/.date-formatters.md +19 -18
- package/src/utils/.embed-authed-fetch.md +39 -0
- package/src/utils/.embed-proxy-auth-storage.md +38 -0
- package/src/utils/.fetch-priority.md +41 -0
- package/src/utils/.format.md +74 -25
- package/src/utils/.generic-domain-utils.md +42 -0
- package/src/utils/.image-proxy.md +59 -23
- package/src/utils/.index.md +42 -49
- package/src/utils/.local-storage-adapter.md +50 -0
- package/src/utils/.ods-color-utils.md +55 -38
- package/src/utils/.platform-config.md +45 -25
- package/src/utils/.scroll-into-view.md +40 -0
- package/src/utils/.source-icons.md +53 -0
- package/src/utils/.sse-decision-frame.md +46 -0
- package/src/utils/dev-sections/.index.md +34 -0
- package/src/utils/dev-sections/.openframe-dev-sections.md +49 -0
- package/dist/chunk-ZDF6F7ED.cjs.map +0 -1
- package/dist/chunk-ZTJVRSN5.js.map +0 -1
- package/src/components/.card.md +0 -42
- package/src/components/.contact-button.md +0 -30
- package/src/components/.drawer.md +0 -46
- package/src/components/.fixed-layout-container.md +0 -47
- package/src/components/.footer-waitlist-card.md +0 -29
- package/src/components/.join-waitlist-cta.md +0 -29
- package/src/components/.sheet.md +0 -47
- package/src/components/.sliding-panel.md +0 -48
- package/src/components/.tooltip.md +0 -48
- package/src/components/.use-mobile.md +0 -42
- package/src/components/.vendor-compact-card.md +0 -66
- package/src/components/.x-button.md +0 -42
- package/src/components/features/.github-repo-button.md +0 -40
- package/src/components/features/.organization-icon.md +0 -47
- package/src/components/features/.organization-selector.md +0 -45
- package/src/components/icons/.fleet-icon.md +0 -39
- package/src/components/icons/.meshcentral-icon.md +0 -35
- package/src/components/icons/.refresh-icon.md +0 -34
- package/src/components/icons/.tactical-icon.md +0 -35
- package/src/components/ui/.button.md +0 -69
- package/src/components/ui/.log-table-row.md +0 -47
- package/src/components/ui/.selectable-device-card.md +0 -46
- package/src/hooks/.api-hooks-stub.md +0 -45
- package/src/hooks/api/.use-product-releases.md +0 -53
- package/src/stories/.OrganizationSelector.stories.md +0 -42
- package/src/stories/.SelectableDeviceCard.stories.md +0 -30
- package/src/utils/.lite-youtube-embed-stub.md +0 -37
- package/src/utils/.lite-youtube-embed.md +0 -33
- /package/dist/{chunk-IK2X5YJU.js.map → chunk-7PCP7YQR.js.map} +0 -0
- /package/dist/{chunk-3JWIJJ44.js.map → chunk-R6MLPU4A.js.map} +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!-- source-hash: 94508ea38910387838290c33043421e4 -->
|
|
2
|
+
Barrel export file for the `QueryReportTable` component module, re-exporting all public components, utilities, and TypeScript types.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `QueryReportTable` | Component | Main table component for displaying query report results |
|
|
9
|
+
| `QueryReportTableHeader` | Component | Header row component for the query report table |
|
|
10
|
+
| `QueryReportTableRow` | Component | Individual data row component |
|
|
11
|
+
| `QueryReportTableSkeleton` | Component | Loading skeleton placeholder for the table |
|
|
12
|
+
| `deriveColumns` | Utility | Derives column definitions from query result data |
|
|
13
|
+
| `exportToCSV` | Utility | Exports table data to a CSV file |
|
|
14
|
+
|
|
15
|
+
## Types
|
|
16
|
+
|
|
17
|
+
- `QueryReportTableProps`
|
|
18
|
+
- `QueryReportTableHeaderProps`
|
|
19
|
+
- `QueryReportTableRowProps`
|
|
20
|
+
- `QueryReportTableSkeletonProps`
|
|
21
|
+
- `QueryResultRow`
|
|
22
|
+
|
|
23
|
+
## Usage Example
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import {
|
|
27
|
+
QueryReportTable,
|
|
28
|
+
QueryReportTableSkeleton,
|
|
29
|
+
deriveColumns,
|
|
30
|
+
exportToCSV,
|
|
31
|
+
type QueryResultRow,
|
|
32
|
+
type QueryReportTableProps
|
|
33
|
+
} from './index'
|
|
34
|
+
|
|
35
|
+
const rows: QueryResultRow[] = await fetchQueryResults()
|
|
36
|
+
const columns = deriveColumns(rows)
|
|
37
|
+
|
|
38
|
+
// Render table
|
|
39
|
+
<QueryReportTable columns={columns} rows={rows} />
|
|
40
|
+
|
|
41
|
+
// Export results
|
|
42
|
+
exportToCSV(rows, 'report.csv')
|
|
43
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- source-hash: 51f59ce973c05b3bf63e194d662e8fdd -->
|
|
2
|
+
Renders the header row for a query report table, displaying column names with overflow-aware tooltips for truncated labels.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
- **`QueryReportTableHeader`** — Main exported component that renders a row of column header cells, supporting `default` and `compact` layout variants
|
|
7
|
+
- **`TruncatedHeaderCell`** — Internal component that detects text overflow on hover and conditionally shows a tooltip with the full column name
|
|
8
|
+
|
|
9
|
+
## Props (`QueryReportTableHeaderProps`)
|
|
10
|
+
|
|
11
|
+
| Prop | Type | Description |
|
|
12
|
+
|------|------|-------------|
|
|
13
|
+
| `columns` | `string[]` | List of column names to render |
|
|
14
|
+
| `columnWidth` | `number` | Fixed pixel width applied to each header cell |
|
|
15
|
+
| `variant` | `'default' \| 'compact'` | Layout variant; `compact` adds vertical padding and a bottom border |
|
|
16
|
+
| `className` | `string` | Optional additional CSS classes |
|
|
17
|
+
|
|
18
|
+
## Usage Example
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { QueryReportTableHeader } from './query-report-table-header'
|
|
22
|
+
|
|
23
|
+
<QueryReportTableHeader
|
|
24
|
+
columns={['hostname', 'ip_address', 'os_version', 'last_seen']}
|
|
25
|
+
columnWidth={160}
|
|
26
|
+
variant="compact"
|
|
27
|
+
className="bg-ods-surface"
|
|
28
|
+
/>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Behavior Notes
|
|
32
|
+
|
|
33
|
+
- Column widths are fixed (`shrink-0`) to align with table body cells
|
|
34
|
+
- Truncation is detected lazily on `mouseEnter` by comparing `scrollWidth` vs `clientWidth`, avoiding unnecessary DOM reads on render
|
|
35
|
+
- Tooltips are suppressed (`open={false}`) when the text is not truncated, preventing empty tooltip flashes
|
|
36
|
+
- Column labels are styled in uppercase monospace with secondary text color (`text-ods-text-secondary`)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!-- source-hash: 18d5b9d31dbc725bcee2ec71984e3fd7 -->
|
|
2
|
+
Renders a single data row in a query report table, supporting `default` and `compact` visual variants with automatic tooltip display for truncated cell content.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
- **`QueryReportTableRow`** — Main row component that maps over `columns` to render each cell with consistent width, spacing, and typography based on the active `variant`.
|
|
7
|
+
- **`TruncatedCell`** — Internal component that detects text overflow on mouse enter and conditionally shows a tooltip with the full value when the content is truncated.
|
|
8
|
+
|
|
9
|
+
## Usage Example
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
import { QueryReportTableRow } from './query-report-table-row'
|
|
13
|
+
|
|
14
|
+
const columns = ['name', 'status', 'ticket']
|
|
15
|
+
const row = { name: 'Workstation backup failed', status: 'Open', ticket: 'TKT-4821' }
|
|
16
|
+
|
|
17
|
+
// Default (card-style) variant
|
|
18
|
+
<QueryReportTableRow
|
|
19
|
+
row={row}
|
|
20
|
+
columns={columns}
|
|
21
|
+
columnWidth="200px"
|
|
22
|
+
variant="default"
|
|
23
|
+
/>
|
|
24
|
+
|
|
25
|
+
// Compact (table-row-style) variant
|
|
26
|
+
<QueryReportTableRow
|
|
27
|
+
row={row}
|
|
28
|
+
columns={columns}
|
|
29
|
+
columnWidth="200px"
|
|
30
|
+
variant="compact"
|
|
31
|
+
className="my-custom-class"
|
|
32
|
+
/>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Behavior Notes
|
|
36
|
+
|
|
37
|
+
- `null` or `undefined` cell values render as `"-"`.
|
|
38
|
+
- Truncation detection is lazy — checked only on `mouseEnter` to avoid unnecessary DOM reads on render.
|
|
39
|
+
- Tooltip is suppressed entirely when text fits within its container (`open={false}`), preventing empty tooltip flashes.
|
|
40
|
+
- Column widths are applied via inline `style` to support dynamic values from parent layout logic.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!-- source-hash: 65227a48925322cc0e025749aac5c49b -->
|
|
2
|
+
A loading skeleton component for the `QueryReportTable`, rendering animated placeholder rows and columns while data is being fetched.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
**`QueryReportTableSkeleton`** — Main export. Renders a configurable grid of pulsing skeleton cells mimicking the table's header and row structure.
|
|
7
|
+
|
|
8
|
+
**Props (`QueryReportTableSkeletonProps`):**
|
|
9
|
+
|
|
10
|
+
| Prop | Type | Description |
|
|
11
|
+
|------|------|-------------|
|
|
12
|
+
| `rows` | `number` | Number of skeleton rows to render |
|
|
13
|
+
| `columns` | `number` | Number of skeleton columns per row |
|
|
14
|
+
| `columnWidth` | `number \| string` | Fixed width applied to each column cell |
|
|
15
|
+
| `variant` | `'default' \| 'compact'` | Controls row height, spacing, and border style |
|
|
16
|
+
| `className` | `string` | Optional additional CSS classes |
|
|
17
|
+
|
|
18
|
+
**Variants:**
|
|
19
|
+
- **`default`** — Taller rows (`80px`), card-style bordered containers with rounded corners
|
|
20
|
+
- **`compact`** — Shorter rows (`56px`), flat bottom-border separators with tighter spacing
|
|
21
|
+
|
|
22
|
+
## Usage Example
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { QueryReportTableSkeleton } from './query-report-table-skeleton'
|
|
26
|
+
|
|
27
|
+
// Default variant — card-style table loading state
|
|
28
|
+
<QueryReportTableSkeleton
|
|
29
|
+
rows={5}
|
|
30
|
+
columns={4}
|
|
31
|
+
columnWidth={180}
|
|
32
|
+
/>
|
|
33
|
+
|
|
34
|
+
// Compact variant — dense list loading state
|
|
35
|
+
<QueryReportTableSkeleton
|
|
36
|
+
rows={10}
|
|
37
|
+
columns={3}
|
|
38
|
+
columnWidth={150}
|
|
39
|
+
variant="compact"
|
|
40
|
+
className="mt-4"
|
|
41
|
+
/>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
> **Note:** Cell placeholder widths vary pseudo-randomly per row/column using `(rowIndex * colIndex * 7) % 35` to produce a more natural-looking skeleton rather than uniform bars.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!-- source-hash: bedf0eba103ca6d913d9e320399c3706 -->
|
|
2
|
+
A data table component for displaying query results with horizontal scrolling, CSV export, loading skeletons, and empty states.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
- **`QueryReportTable`** — Main export. Renders a full-featured data table driven by an array of row objects, with automatic column derivation from data keys.
|
|
7
|
+
- **`deriveColumns`** — Utility that infers column definitions from data and an optional `columnOrder` array.
|
|
8
|
+
- **`exportToCSV`** — Utility that serializes table data to a downloadable CSV file.
|
|
9
|
+
- **`useHorizontalScrollbar`** — Hook providing custom scrollbar state and event handlers (thumb drag, track click, edge fades).
|
|
10
|
+
- **`QueryReportTableHeader`** / **`QueryReportTableRow`** / **`QueryReportTableSkeleton`** — Sub-components for the header, data rows, and loading state respectively.
|
|
11
|
+
|
|
12
|
+
## Props Overview
|
|
13
|
+
|
|
14
|
+
| Prop | Default | Description |
|
|
15
|
+
|------|---------|-------------|
|
|
16
|
+
| `data` | — | Array of row objects to display |
|
|
17
|
+
| `loading` | `false` | Shows skeleton rows when `true` |
|
|
18
|
+
| `variant` | `'default'` | `'default'` or `'compact'` — hides title bar, scrollbar, and edge fades in compact mode |
|
|
19
|
+
| `columnOrder` | — | Optional array to control column ordering |
|
|
20
|
+
| `showExport` | `true` | Renders an "Export CSV" button |
|
|
21
|
+
| `columnWidth` | `160` | Per-column width in pixels |
|
|
22
|
+
| `headerActions` | — | Slot for additional header controls |
|
|
23
|
+
|
|
24
|
+
## Usage Example
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import { QueryReportTable } from './query-report-table'
|
|
28
|
+
|
|
29
|
+
const rows = [
|
|
30
|
+
{ device: 'DESKTOP-01', os: 'Windows 11', status: 'Online' },
|
|
31
|
+
{ device: 'LAPTOP-22', os: 'macOS 14', status: 'Offline' },
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
export function ReportPage() {
|
|
35
|
+
return (
|
|
36
|
+
<QueryReportTable
|
|
37
|
+
title="Device Report"
|
|
38
|
+
data={rows}
|
|
39
|
+
columnOrder={['device', 'os', 'status']}
|
|
40
|
+
exportFilename="device-report"
|
|
41
|
+
onExport={() => console.log('exported')}
|
|
42
|
+
/>
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
In `compact` mode the title bar, custom scrollbar, and edge-fade overlays are suppressed — useful for embedding the table inside a card or modal without extra chrome.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- source-hash: 5a6b383ae7cf5e7be578872567e8a3e2 -->
|
|
2
|
+
Defines the TypeScript types and interfaces for the `QueryReportTable` component family, covering data shapes, display configuration, and sub-component props.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Kind | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `QueryResultRow` | Type | A single result row — a record mapping column keys to `string`, `number`, or `null` values |
|
|
9
|
+
| `QueryReportTableVariant` | Type | Visual style toggle: `'default'` (card rows) or `'compact'` (flat rows with border separators) |
|
|
10
|
+
| `QueryReportTableProps` | Interface | Full prop surface for the root table component, including data, loading state, export behavior, and layout options |
|
|
11
|
+
| `QueryReportTableHeaderProps` | Interface | Props for the header row sub-component |
|
|
12
|
+
| `QueryReportTableRowProps` | Interface | Props for individual data row rendering |
|
|
13
|
+
| `QueryReportTableSkeletonProps` | Interface | Props for the skeleton loading state sub-component |
|
|
14
|
+
|
|
15
|
+
## Usage Example
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import type {
|
|
19
|
+
QueryResultRow,
|
|
20
|
+
QueryReportTableProps,
|
|
21
|
+
} from './types'
|
|
22
|
+
|
|
23
|
+
const rows: QueryResultRow[] = [
|
|
24
|
+
{ id: 1, name: 'Workstation-01', status: 'online' },
|
|
25
|
+
{ id: 2, name: 'Workstation-02', status: null },
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
const tableProps: QueryReportTableProps = {
|
|
29
|
+
title: 'Device Inventory',
|
|
30
|
+
data: rows,
|
|
31
|
+
loading: false,
|
|
32
|
+
columnOrder: ['id', 'name', 'status'],
|
|
33
|
+
columnWidth: 200,
|
|
34
|
+
variant: 'compact',
|
|
35
|
+
showExport: true,
|
|
36
|
+
exportFilename: 'device-inventory',
|
|
37
|
+
onExport: () => console.log('CSV exported'),
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
> **Note:** Column ordering is controlled via `columnOrder` — any keys not listed are automatically appended at the end, so you only need to specify the columns you want prioritized.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<!-- source-hash: 77a4199750d9e00b871e516902027707 -->
|
|
2
|
+
Utility functions for deriving column order from query results and exporting tabular data to CSV files in the browser.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|--------|-------------|
|
|
8
|
+
| `deriveColumns(data, columnOrder?)` | Returns an ordered column list from query rows, respecting an optional explicit order while appending any unlisted keys |
|
|
9
|
+
| `exportToCSV(data, columns, filename)` | Serializes rows to a CSV blob and triggers a browser download |
|
|
10
|
+
| `escapeCSVCell` *(internal)* | Wraps cell values in double-quotes and escapes embedded quotes when the value contains commas, quotes, or newlines |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { deriveColumns, exportToCSV } from './utils'
|
|
16
|
+
|
|
17
|
+
const rows = [
|
|
18
|
+
{ id: 1, name: 'Alice', role: 'admin' },
|
|
19
|
+
{ id: 2, name: 'Bob', role: 'viewer' },
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
// Derive columns with a preferred order
|
|
23
|
+
const columns = deriveColumns(rows, ['name', 'role'])
|
|
24
|
+
// → ['name', 'role', 'id']
|
|
25
|
+
|
|
26
|
+
// Trigger a browser CSV download
|
|
27
|
+
exportToCSV(rows, columns, 'users-export')
|
|
28
|
+
// Downloads: users-export.csv
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Notes
|
|
32
|
+
|
|
33
|
+
- `deriveColumns` gracefully handles unknown keys in `columnOrder` — only keys present in the data are included.
|
|
34
|
+
- `exportToCSV` is browser-only; it relies on `document`, `Blob`, and `URL.createObjectURL`.
|
|
35
|
+
- The DOM `<a>` element used for the download is removed and the object URL revoked immediately after the click to prevent memory leaks.
|
|
@@ -1,65 +1,44 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 852e7bdd625dee12d4fe54111326d8bf -->
|
|
2
|
+
Barrel export file for the **deprecated `table` module**, re-exporting all table-related components, utilities, and TypeScript types. Use `data-table` instead.
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
**Core Table Components:**
|
|
7
|
-
- `Table` - Main table container component
|
|
8
|
-
- `TableRow` - Individual table row component
|
|
9
|
-
- `TableCell` - Basic table cell component
|
|
10
|
-
- `TableHeader` - Table header with sorting/filtering capabilities
|
|
4
|
+
> ⚠️ **Deprecated:** This module is deprecated. Migrate to the `data-table` module.
|
|
11
5
|
|
|
12
|
-
|
|
13
|
-
- `TableDescriptionCell` - Cell for displaying descriptive content
|
|
14
|
-
- `TableTimestampCell` - Cell for formatted timestamp display
|
|
6
|
+
## Key Components
|
|
15
7
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
| Export | Type | Description |
|
|
9
|
+
|--------|------|-------------|
|
|
10
|
+
| `Table` | Component | Root table container |
|
|
11
|
+
| `TableCell` | Component | Individual cell renderer |
|
|
12
|
+
| `TableRow` | Component | Table row wrapper |
|
|
13
|
+
| `TableHeader` | Component | Column header row |
|
|
14
|
+
| `TableDescriptionCell` | Component | Cell with descriptive text layout |
|
|
15
|
+
| `TableTimestampCell` | Component | Cell formatted for timestamps |
|
|
16
|
+
| `TableEmptyState` | Component | Empty state placeholder |
|
|
17
|
+
| `TableColumnFilterDropdown` | Component | Column filter dropdown UI |
|
|
18
|
+
| `TableCardSkeleton` | Component | Loading skeleton for table cards |
|
|
19
|
+
| `ROW_HEIGHT_DESKTOP` / `ROW_HEIGHT_MOBILE` | Constant | Row height tokens per breakpoint |
|
|
20
|
+
| `getHideClasses` / `isHiddenOnMobile` | Utility | Tailwind responsive visibility helpers |
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
- `getHideClasses` - Generates responsive visibility classes
|
|
23
|
-
- `isHiddenOnMobile` - Checks if element should be hidden on mobile
|
|
22
|
+
## Key Types
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
- Table configuration types (`TableProps`, `TableColumn`)
|
|
27
|
-
- Action types (`BulkAction`, `RowAction`)
|
|
28
|
-
- Pagination types (`CursorPagination`, `PagePagination`)
|
|
29
|
-
- Filter types (`FilterOption`, `FilterSection`, `TableFilters`)
|
|
24
|
+
`TableProps`, `TableColumn`, `TableCellProps`, `TableRowProps`, `TableHeaderProps`, `BulkAction`, `RowAction`, `FilterOption`, `FilterSection`, `TableFilters`, `CursorPagination`, `PagePagination`, `InfiniteScrollConfig`, `TableEmptyStateProps`, `TableCardSkeletonProps`, `TailwindBreakpoint`
|
|
30
25
|
|
|
31
26
|
## Usage Example
|
|
32
27
|
|
|
33
28
|
```typescript
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
// ⚠️ Deprecated — prefer `data-table`
|
|
30
|
+
import {
|
|
31
|
+
Table,
|
|
32
|
+
TableRow,
|
|
33
|
+
TableCell,
|
|
34
|
+
TableHeader,
|
|
39
35
|
TableEmptyState,
|
|
40
36
|
type TableProps,
|
|
41
|
-
type TableColumn
|
|
37
|
+
type TableColumn,
|
|
42
38
|
} from './table'
|
|
43
39
|
|
|
44
40
|
const columns: TableColumn[] = [
|
|
45
41
|
{ key: 'name', label: 'Name' },
|
|
46
|
-
{ key: '
|
|
42
|
+
{ key: 'status', label: 'Status' },
|
|
47
43
|
]
|
|
48
|
-
|
|
49
|
-
function DataTable({ data }: { data: any[] }) {
|
|
50
|
-
return (
|
|
51
|
-
<Table columns={columns}>
|
|
52
|
-
{data.length === 0 ? (
|
|
53
|
-
<TableEmptyState message="No data available" />
|
|
54
|
-
) : (
|
|
55
|
-
data.map(item => (
|
|
56
|
-
<TableRow key={item.id}>
|
|
57
|
-
<TableCell>{item.name}</TableCell>
|
|
58
|
-
<TableTimestampCell timestamp={item.created} />
|
|
59
|
-
</TableRow>
|
|
60
|
-
))
|
|
61
|
-
)}
|
|
62
|
-
</Table>
|
|
63
|
-
)
|
|
64
|
-
}
|
|
65
44
|
```
|
|
@@ -1,41 +1,32 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 9a8bcbead08417ce1e15c4b4f2518997 -->
|
|
2
|
+
Renders an individual cell within a deprecated table row component, handling text alignment, width constraints, and automatic text styling for primitive values.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
- **`TableCell`**
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
- **`TableCell`** *(deprecated)* — A `div`-based cell component that wraps content with configurable alignment and overflow handling. Primitive `string`/`number` children are automatically wrapped in a styled `<span>` with truncation; React node children render as-is.
|
|
7
|
+
|
|
8
|
+
## Props
|
|
9
|
+
|
|
10
|
+
| Prop | Type | Default | Description |
|
|
11
|
+
|------|------|---------|-------------|
|
|
12
|
+
| `children` | `ReactNode` | — | Cell content |
|
|
13
|
+
| `align` | `'left' \| 'center' \| 'right'` | `'left'` | Text and flex alignment |
|
|
14
|
+
| `className` | `string` | — | Additional CSS classes |
|
|
15
|
+
| `width` | `string` | — | Tailwind width class; falls back to `flex-1 min-w-0` |
|
|
9
16
|
|
|
10
17
|
## Usage Example
|
|
11
18
|
|
|
12
19
|
```typescript
|
|
20
|
+
// ⚠️ Deprecated — use DataTable from data-table instead
|
|
13
21
|
import { TableCell } from './table-cell'
|
|
14
22
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
User Name
|
|
18
|
-
</TableCell>
|
|
19
|
-
|
|
20
|
-
// Right-aligned cell with custom width
|
|
21
|
-
<TableCell align="right" width="w-32">
|
|
22
|
-
$1,234.56
|
|
23
|
-
</TableCell>
|
|
24
|
-
|
|
25
|
-
// Center-aligned cell with custom styling
|
|
26
|
-
<TableCell
|
|
27
|
-
align="center"
|
|
28
|
-
className="bg-blue-100"
|
|
29
|
-
>
|
|
30
|
-
Active
|
|
23
|
+
<TableCell align="right" width="w-24">
|
|
24
|
+
42
|
|
31
25
|
</TableCell>
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
<
|
|
35
|
-
<button className="text-blue-500">
|
|
36
|
-
Edit User
|
|
37
|
-
</button>
|
|
27
|
+
<TableCell align="left">
|
|
28
|
+
<Badge variant="success">Active</Badge>
|
|
38
29
|
</TableCell>
|
|
39
30
|
```
|
|
40
31
|
|
|
41
|
-
|
|
32
|
+
> ⚠️ **Deprecated** — This component is no longer recommended. Use `DataTable` from the `data-table` module for new implementations.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!-- source-hash: 24edd509d1d4422049647e46332e05ae -->
|
|
2
|
+
A deprecated column-level filter dropdown component that renders a clickable label with a filter icon, wiring a `FiltersDropdown` to manage checkbox-based filter state for a single table column.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
### `TableColumnFilterDropdownProps`
|
|
7
|
+
| Prop | Type | Description |
|
|
8
|
+
|------|------|-------------|
|
|
9
|
+
| `columnKey` | `string` | Key used to read/write filter state |
|
|
10
|
+
| `columnLabel` | `string` | Display label and accessibility text |
|
|
11
|
+
| `filterOptions` | `FilterOption[]` | Available checkbox options |
|
|
12
|
+
| `filters` | `TableFilters` | Current filter state across all columns |
|
|
13
|
+
| `onFilterChange` | `(filters: TableFilters) => void` | Callback fired on apply or reset |
|
|
14
|
+
| `placement` | `'bottom-start' \| 'bottom-end' \| 'bottom'` | Dropdown anchor position |
|
|
15
|
+
| `dropdownClassName` | `string` | Extra class on the dropdown panel |
|
|
16
|
+
|
|
17
|
+
### `TableColumnFilterDropdown`
|
|
18
|
+
Renders a trigger button (label + `Filter02Icon`) that turns accent-colored when filters are active (`activeCount > 0`). Delegates to `FiltersDropdown` with a single `checkbox` section, forwarding `onApply` and `onReset` handlers that merge or remove the column's filter entries from the shared `TableFilters` state.
|
|
19
|
+
|
|
20
|
+
## Usage Example
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { TableColumnFilterDropdown } from './table-column-filter-dropdown'
|
|
24
|
+
|
|
25
|
+
const [filters, setFilters] = useState<TableFilters>({})
|
|
26
|
+
|
|
27
|
+
<TableColumnFilterDropdown
|
|
28
|
+
columnKey="status"
|
|
29
|
+
columnLabel="Status"
|
|
30
|
+
filterOptions={[
|
|
31
|
+
{ label: 'Active', value: 'active' },
|
|
32
|
+
{ label: 'Inactive', value: 'inactive' },
|
|
33
|
+
]}
|
|
34
|
+
filters={filters}
|
|
35
|
+
onFilterChange={setFilters}
|
|
36
|
+
placement="bottom-start"
|
|
37
|
+
/>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
> **Deprecated:** Use `DataTableColumnFilter` from `data-table` instead.
|
|
@@ -1,31 +1,41 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
A
|
|
1
|
+
<!-- source-hash: 3f4c3ea11c22967d350372a28c7b33d3 -->
|
|
2
|
+
A deprecated table cell component for displaying truncated description text with configurable line clamping. Use `data-table` instead.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
### `TableDescriptionCell` *(deprecated)*
|
|
7
|
+
A React component that renders description text within a table cell, supporting multi-line truncation via CSS `line-clamp` utilities.
|
|
8
|
+
|
|
9
|
+
### `TableDescriptionCellProps` *(deprecated)*
|
|
10
|
+
|
|
11
|
+
| Prop | Type | Default | Description |
|
|
12
|
+
|------|------|---------|-------------|
|
|
13
|
+
| `text` | `string` | — | The description text to display |
|
|
14
|
+
| `className` | `string` | — | Optional additional CSS classes |
|
|
15
|
+
| `maxLines` | `1-6` | `3` | Maximum lines before truncating |
|
|
8
16
|
|
|
9
17
|
## Usage Example
|
|
10
18
|
|
|
11
19
|
```typescript
|
|
12
20
|
import { TableDescriptionCell } from './table-description-cell'
|
|
13
21
|
|
|
14
|
-
//
|
|
15
|
-
<TableDescriptionCell
|
|
22
|
+
// Default 3-line clamp
|
|
23
|
+
<TableDescriptionCell
|
|
24
|
+
text="This is a long description that may span multiple lines in the table cell."
|
|
25
|
+
/>
|
|
16
26
|
|
|
17
|
-
//
|
|
18
|
-
<TableDescriptionCell
|
|
19
|
-
text="Short description"
|
|
20
|
-
maxLines={1}
|
|
27
|
+
// Single-line truncation
|
|
28
|
+
<TableDescriptionCell
|
|
29
|
+
text="Short truncated description"
|
|
30
|
+
maxLines={1}
|
|
21
31
|
/>
|
|
22
32
|
|
|
23
|
-
//
|
|
24
|
-
<TableDescriptionCell
|
|
33
|
+
// Custom styling with 2-line clamp
|
|
34
|
+
<TableDescriptionCell
|
|
25
35
|
text="Custom styled description text"
|
|
26
36
|
maxLines={2}
|
|
27
|
-
className="text-
|
|
37
|
+
className="text-red-500"
|
|
28
38
|
/>
|
|
29
39
|
```
|
|
30
40
|
|
|
31
|
-
|
|
41
|
+
> **⚠️ Deprecated:** This component is deprecated. Migrate to `data-table` for new implementations.
|
|
@@ -1,38 +1,37 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 646e60a86ac75ae22a638fb221c00ad2 -->
|
|
2
|
+
Renders a centered empty state UI within a table or data container, displaying an icon, message, and optional action button when no data is available.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
- **`TableEmptyState`** *(deprecated)* — Main exported component. Use `DataTableEmpty` from `data-table` instead.
|
|
7
|
+
|
|
8
|
+
## Props (`TableEmptyStateProps`)
|
|
9
|
+
|
|
10
|
+
| Prop | Type | Default | Description |
|
|
11
|
+
|------|------|---------|-------------|
|
|
12
|
+
| `message` | `string` | `'No data available'` | Text displayed below the icon |
|
|
13
|
+
| `icon` | `ReactNode` | `<FileX2 />` | Custom icon override |
|
|
14
|
+
| `action` | `{ label: string; onClick: () => void }` | `undefined` | Optional action button |
|
|
15
|
+
| `className` | `string` | `undefined` | Additional CSS classes |
|
|
10
16
|
|
|
11
17
|
## Usage Example
|
|
12
18
|
|
|
13
19
|
```typescript
|
|
20
|
+
// ⚠️ Deprecated — prefer DataTableEmpty from data-table
|
|
14
21
|
import { TableEmptyState } from './table-empty-state'
|
|
15
|
-
import { Plus, Database } from 'lucide-react'
|
|
16
22
|
|
|
17
|
-
// Basic usage
|
|
18
|
-
<TableEmptyState />
|
|
19
|
-
|
|
20
|
-
// Custom message and icon
|
|
21
|
-
<TableEmptyState
|
|
22
|
-
message="No users found"
|
|
23
|
-
icon={<Database className="w-12 h-12" />}
|
|
24
|
-
/>
|
|
23
|
+
// Basic usage
|
|
24
|
+
<TableEmptyState message="No records found" />
|
|
25
25
|
|
|
26
|
-
// With action
|
|
26
|
+
// With custom icon and action
|
|
27
27
|
<TableEmptyState
|
|
28
|
-
message="No
|
|
29
|
-
icon={<
|
|
28
|
+
message="No devices available"
|
|
29
|
+
icon={<ServerOff className="w-12 h-12" />}
|
|
30
30
|
action={{
|
|
31
|
-
label: "
|
|
32
|
-
onClick: () =>
|
|
31
|
+
label: "Add Device",
|
|
32
|
+
onClick: () => router.push('/devices/new')
|
|
33
33
|
}}
|
|
34
|
-
className="min-h-[300px]"
|
|
35
34
|
/>
|
|
36
35
|
```
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
> **Deprecated:** This component is superseded by `DataTableEmpty` from the `data-table` package, which provides enhanced features and consistent data table integration. Migrate existing usages when possible.
|