@flamingo-stack/openframe-frontend-core 0.0.481 → 0.0.482
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-H6DFCF44.cjs → chunk-22AED5IC.cjs} +82 -82
- package/dist/{chunk-H6DFCF44.cjs.map → chunk-22AED5IC.cjs.map} +1 -1
- package/dist/{chunk-MGKCS6KS.js → chunk-3WCARCI4.js} +2 -2
- package/dist/{chunk-LNKWY74S.cjs → chunk-4HL6UENH.cjs} +5 -5
- package/dist/{chunk-LNKWY74S.cjs.map → chunk-4HL6UENH.cjs.map} +1 -1
- package/dist/{chunk-Y3Y2DLNO.js → chunk-6UGYBCEN.js} +3 -3
- package/dist/{chunk-BBUEY73L.js → chunk-7I5B5PQ4.js} +6269 -5339
- package/dist/chunk-7I5B5PQ4.js.map +1 -0
- package/dist/{chunk-PSPWT2Q5.js → chunk-7LWXWXEY.js} +4 -4
- package/dist/{chunk-M7O74OWG.cjs → chunk-ACOU5YJI.cjs} +31 -31
- package/dist/{chunk-M7O74OWG.cjs.map → chunk-ACOU5YJI.cjs.map} +1 -1
- package/dist/{chunk-INDFIVDV.cjs → chunk-AHGSN4AT.cjs} +12 -12
- package/dist/{chunk-INDFIVDV.cjs.map → chunk-AHGSN4AT.cjs.map} +1 -1
- package/dist/{chunk-VTSRDC4W.js → chunk-CKC3EAYT.js} +2 -2
- package/dist/{chunk-SASR7SK5.js → chunk-GZK7FWJJ.js} +20 -4
- package/dist/chunk-GZK7FWJJ.js.map +1 -0
- package/dist/{chunk-ZRANZNEA.js → chunk-JJE5TUZK.js} +2 -2
- package/dist/{chunk-66BNAFO6.js → chunk-JQIUBFHL.js} +4 -4
- package/dist/{chunk-MMCBQJKE.cjs → chunk-KUBJHB6I.cjs} +11 -11
- package/dist/{chunk-MMCBQJKE.cjs.map → chunk-KUBJHB6I.cjs.map} +1 -1
- package/dist/{chunk-ZV6E3U3C.cjs → chunk-MRGTMMJ3.cjs} +30 -30
- package/dist/{chunk-ZV6E3U3C.cjs.map → chunk-MRGTMMJ3.cjs.map} +1 -1
- package/dist/{chunk-OZJN54R5.cjs → chunk-NWVKG7QC.cjs} +37 -37
- package/dist/{chunk-OZJN54R5.cjs.map → chunk-NWVKG7QC.cjs.map} +1 -1
- package/dist/{chunk-AN47EIIJ.cjs → chunk-PHTSSHIQ.cjs} +59 -59
- package/dist/{chunk-AN47EIIJ.cjs.map → chunk-PHTSSHIQ.cjs.map} +1 -1
- package/dist/{chunk-N2JZ33V7.cjs → chunk-RUA3OXSJ.cjs} +26 -26
- package/dist/{chunk-N2JZ33V7.cjs.map → chunk-RUA3OXSJ.cjs.map} +1 -1
- package/dist/{chunk-LK623WCC.cjs → chunk-RZPF7MJ2.cjs} +9 -9
- package/dist/{chunk-LK623WCC.cjs.map → chunk-RZPF7MJ2.cjs.map} +1 -1
- package/dist/{chunk-G3UN2DXU.cjs → chunk-STYA77PH.cjs} +20 -4
- package/dist/chunk-STYA77PH.cjs.map +1 -0
- package/dist/{chunk-JUJY3HQS.cjs → chunk-U37UTLP7.cjs} +19 -19
- package/dist/{chunk-JUJY3HQS.cjs.map → chunk-U37UTLP7.cjs.map} +1 -1
- package/dist/{chunk-2DIOV7BR.js → chunk-UPN6EFOM.js} +4 -4
- package/dist/{chunk-OWMLWJQY.cjs → chunk-VPVOJD5X.cjs} +2432 -1502
- package/dist/chunk-VPVOJD5X.cjs.map +1 -0
- package/dist/{chunk-4SMRQ4SN.js → chunk-WBL5Y4PS.js} +3 -3
- package/dist/{chunk-FP4H6Y5O.js → chunk-WPYPSIY2.js} +3 -3
- package/dist/{chunk-R5WJJL4V.js → chunk-X5X43HFV.js} +5 -5
- package/dist/{chunk-DEHZ5CTC.js → chunk-XTWKDMCG.js} +2 -2
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/captions-url.cjs +12 -0
- package/dist/components/features/captions-url.cjs.map +1 -0
- package/dist/components/features/captions-url.js +10 -0
- package/dist/components/features/captions-url.js.map +1 -0
- package/dist/components/features/card-hit-layer.d.ts +40 -0
- package/dist/components/features/card-hit-layer.d.ts.map +1 -0
- package/dist/components/features/floating-walkthrough-video.d.ts +71 -0
- package/dist/components/features/floating-walkthrough-video.d.ts.map +1 -0
- package/dist/components/features/index.cjs +11 -3
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.d.ts +4 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +12 -4
- package/dist/components/features/use-walkthrough-video.d.ts +16 -0
- package/dist/components/features/use-walkthrough-video.d.ts.map +1 -0
- package/dist/components/features/video-bites-strip.d.ts.map +1 -1
- package/dist/components/features/video-center-badge.d.ts.map +1 -1
- package/dist/components/features/video-hover-preview.d.ts +68 -0
- package/dist/components/features/video-hover-preview.d.ts.map +1 -0
- package/dist/components/features/video.d.ts +78 -40
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/form.d.ts +0 -1
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +21 -21
- package/dist/components/help-center-pages/index.js +12 -12
- package/dist/components/index.cjs +163 -155
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +18 -10
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/related-content/index.cjs +4 -4
- package/dist/components/related-content/index.js +3 -3
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/button/button-styles.d.ts +2 -0
- package/dist/components/ui/button/button-styles.d.ts.map +1 -1
- package/dist/components/ui/button/button.d.ts +2 -2
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +50 -50
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/components/ui/page-actions.d.ts +2 -1
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/index.cjs +27 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +28 -4
- package/dist/types/supabase.d.ts +80 -0
- package/dist/types/supabase.d.ts.map +1 -1
- package/dist/types/video-processing.d.ts +1 -1
- package/dist/types/video-processing.d.ts.map +1 -1
- package/dist/utils/announcement-storage.d.ts +1 -1
- package/dist/utils/announcement-storage.d.ts.map +1 -1
- package/dist/utils/dismiss-cookie.d.ts +27 -0
- package/dist/utils/dismiss-cookie.d.ts.map +1 -0
- package/dist/utils/dismissal-storage.d.ts +19 -0
- package/dist/utils/dismissal-storage.d.ts.map +1 -0
- package/dist/utils/index.cjs +48 -10
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +41 -11
- package/dist/utils/index.js.map +1 -1
- package/package.json +8 -2
- package/src/.index.md +39 -32
- package/src/.platform-domains.md +65 -0
- package/src/assets/.fae-avatar.md +33 -0
- package/src/assets/.index.md +15 -9
- package/src/components/.agent-mark.md +31 -0
- package/src/components/.announcement-bar.md +47 -35
- package/src/components/.calendar.md +19 -15
- package/src/components/.categories-cart.md +34 -30
- package/src/components/.category-card.md +33 -33
- package/src/components/.chart.md +38 -40
- package/src/components/.command.md +47 -23
- package/src/components/.comment-card.md +31 -26
- package/src/components/.content-loading-container.md +45 -20
- package/src/components/.context-menu.md +45 -31
- package/src/components/.date-time-picker.md +36 -30
- package/src/components/.empty-state.md +31 -31
- package/src/components/.faq-accordion.md +20 -30
- package/src/components/.filter-chip.md +36 -33
- package/src/components/.footer-waitlist-button.md +27 -21
- package/src/components/.footer.md +39 -24
- package/src/components/.form.md +32 -20
- package/src/components/.hero-image-uploader.md +35 -31
- package/src/components/.icon-display.md +53 -0
- package/src/components/.image-cropper.md +34 -33
- package/src/components/.index.md +25 -29
- package/src/components/.logs-list.md +27 -23
- package/src/components/.media-carousel.md +47 -26
- package/src/components/.metric-value.md +27 -24
- package/src/components/.msp-display.md +29 -23
- package/src/components/.open-source-features.md +23 -26
- package/src/components/.pagination.md +44 -39
- package/src/components/.persistent-filter-controls.md +61 -28
- package/src/components/.pricing-display.md +34 -33
- package/src/components/.results-count.md +33 -20
- package/src/components/.smooth-accordion.md +24 -20
- package/src/components/.social-icon-row.md +33 -21
- package/src/components/.sonner.md +40 -25
- package/src/components/.steps.md +39 -25
- package/src/components/.tool-icon.md +34 -21
- package/src/components/.unified-filter-logic.md +32 -36
- package/src/components/.user-display.md +33 -28
- package/src/components/.user-summary-stub.md +40 -33
- package/src/components/.vendor-display-button.md +17 -15
- package/src/components/.vendor-icon.md +17 -25
- package/src/components/.vendor-tag.md +39 -34
- package/src/components/.why-it-matters.md +15 -11
- package/src/components/.yes-no-display.md +36 -31
- package/src/components/authors/.author-detail-view.md +50 -0
- package/src/components/case-studies/.index.md +26 -0
- package/src/components/case-studies/.share-experience-section.md +45 -0
- package/src/components/chat/.approval-batch-message.md +48 -33
- package/src/components/chat/.approval-request-message.md +37 -26
- package/src/components/chat/.chat-archive-page.md +56 -0
- package/src/components/chat/.chat-attachment-bar.md +32 -40
- package/src/components/chat/.chat-composer.md +43 -0
- package/src/components/chat/.chat-container.md +41 -25
- package/src/components/chat/.chat-context-memory-bar.md +53 -0
- package/src/components/chat/.chat-context-picker.md +89 -0
- package/src/components/chat/.chat-header-icon-button.md +43 -0
- package/src/components/chat/.chat-header-search-field.md +51 -0
- package/src/components/chat/.chat-input.md +63 -30
- package/src/components/chat/.chat-list-empty-state.md +44 -0
- package/src/components/chat/.chat-message-enhanced.md +29 -31
- package/src/components/chat/.chat-message-list.md +34 -44
- package/src/components/chat/.chat-message-row.md +56 -0
- package/src/components/chat/.chat-message-skeleton.md +32 -26
- package/src/components/chat/.chat-panel-header-mobile.md +46 -0
- package/src/components/chat/.chat-panel-header.md +80 -0
- package/src/components/chat/.chat-sidebar-skeleton.md +31 -30
- package/src/components/chat/.chat-sidebar.md +36 -29
- package/src/components/chat/.chat-ticket-list.md +38 -23
- package/src/components/chat/.chat-typing-indicator.md +37 -19
- package/src/components/chat/.context-compaction-display.md +19 -15
- package/src/components/chat/.context-items-list.md +57 -0
- package/src/components/chat/.embeddable-chat.md +57 -66
- package/src/components/chat/.error-message-display.md +40 -22
- package/src/components/chat/.guide-mode-banner.md +41 -0
- package/src/components/chat/.guide-welcome.md +43 -0
- package/src/components/chat/.index.md +26 -21
- package/src/components/chat/.mingo-chat-history.md +63 -0
- package/src/components/chat/.mingo-chat-modals.md +44 -0
- package/src/components/chat/.mingo-history-rail.md +63 -0
- package/src/components/chat/.mingo-info-card.md +59 -0
- package/src/components/chat/.mingo-onboarding-card.md +21 -27
- package/src/components/chat/.mingo-welcome.md +60 -0
- package/src/components/chat/.model-display.md +33 -25
- package/src/components/chat/.msp-organization-card-skeleton.md +44 -0
- package/src/components/chat/.msp-organization-card.md +51 -0
- package/src/components/chat/.nav-link-anchor-via-runtime.md +36 -25
- package/src/components/chat/.quick-action-chip.md +60 -0
- package/src/components/chat/.quick-action-marquee.md +53 -0
- package/src/components/chat/.quick-action-wall.md +68 -0
- package/src/components/chat/.remark-mention-chips.md +41 -0
- package/src/components/chat/.slash-command-suggestions.md +30 -36
- package/src/components/chat/.source-action-button.md +28 -25
- package/src/components/chat/.tool-call-blocks.md +18 -30
- package/src/components/chat/.tool-execution-display.md +29 -34
- package/src/components/chat/entity-cards/.admin-content-card.md +29 -22
- package/src/components/chat/entity-cards/.blog-card.md +44 -33
- package/src/components/chat/entity-cards/.blog-image-placeholder.md +20 -18
- package/src/components/chat/entity-cards/.case-study-card.md +24 -33
- package/src/components/chat/entity-cards/.chat-ticket-item.md +39 -22
- package/src/components/chat/entity-cards/.customer-interview-card.md +29 -32
- package/src/components/chat/entity-cards/.data-room-doc-card.md +21 -22
- package/src/components/chat/entity-cards/.dispatch.md +41 -24
- package/src/components/chat/entity-cards/.entity-author-card.md +36 -33
- package/src/components/chat/entity-cards/.entity-portrait-card.md +47 -0
- package/src/components/chat/entity-cards/.generic-entity-card.md +26 -25
- package/src/components/chat/entity-cards/.github-activity-card.md +35 -41
- package/src/components/chat/entity-cards/.hubspot-ticket-card.md +22 -28
- package/src/components/chat/entity-cards/.index.md +33 -44
- package/src/components/chat/entity-cards/.investor-update-card.md +36 -25
- package/src/components/chat/entity-cards/.onboarding-guide-card.md +20 -29
- package/src/components/chat/entity-cards/.product-release-card-defaults.md +26 -19
- package/src/components/chat/entity-cards/.program-card.md +30 -33
- package/src/components/chat/entity-cards/.roadmap-card.md +40 -31
- package/src/components/chat/entity-cards/.roadmap-vote-button.md +33 -36
- package/src/components/chat/entity-cards/.slack-message-card.md +31 -32
- package/src/components/chat/entity-cards/.use-cover-image-fallback.md +47 -0
- package/src/components/chat/entity-cards/.use-entity-card-link.md +51 -0
- package/src/components/chat/entity-cards/.use-entity-card-placeholder.md +47 -0
- package/src/components/chat/entity-cards/.what-i-shipped-card.md +43 -0
- package/src/components/chat/hooks/.index.md +33 -30
- package/src/components/chat/hooks/.use-chat-card-item.md +30 -17
- package/src/components/chat/hooks/.use-chat-dialog-manager.md +59 -0
- package/src/components/chat/hooks/.use-chat-identity.md +37 -25
- package/src/components/chat/hooks/.use-chunk-catchup.md +53 -36
- package/src/components/chat/hooks/.use-empty-state-config.md +39 -0
- package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +65 -30
- package/src/components/chat/hooks/.use-nats-chat-adapter.md +55 -36
- package/src/components/chat/hooks/.use-nats-dialog-subscription.md +66 -50
- package/src/components/chat/hooks/.use-realtime-chunk-processor.md +58 -31
- package/src/components/chat/hooks/.use-scripted-stream.md +46 -0
- package/src/components/chat/hooks/.use-slash-commands.md +32 -25
- package/src/components/chat/hooks/.use-sse-chat-adapter.md +32 -21
- package/src/components/chat/hooks/.use-unified-chat.md +45 -35
- package/src/components/chat/types/.api.types.md +49 -41
- package/src/components/chat/types/.chat.types.md +56 -34
- package/src/components/chat/types/.component.types.md +36 -36
- package/src/components/chat/types/.context-item.types.md +61 -0
- package/src/components/chat/types/.index.md +32 -17
- package/src/components/chat/types/.message.types.md +44 -45
- package/src/components/chat/types/.network.types.md +46 -46
- package/src/components/chat/types/.processing.types.md +49 -37
- package/src/components/chat/types/.unified-chat-state.types.md +41 -26
- package/src/components/chat/types/entities/.content-ref.md +20 -31
- package/src/components/chat/types/entities/.investor-update.md +14 -16
- package/src/components/chat/types/entities/.onboarding-guide.md +35 -34
- package/src/components/chat/types/entities/.program-types.md +55 -43
- package/src/components/chat/utils/.chip-action-class.md +17 -19
- package/src/components/chat/utils/.chip-styles.md +18 -18
- package/src/components/chat/utils/.chunk-parser.md +48 -37
- package/src/components/chat/utils/.compact-card-classes.md +33 -35
- package/src/components/chat/utils/.execute-navigation.md +49 -0
- package/src/components/chat/utils/.extract-incomplete-message-state.md +9 -12
- package/src/components/chat/utils/.history-merge.md +65 -0
- package/src/components/chat/utils/.icon-library.md +33 -31
- package/src/components/chat/utils/.icon-registry.md +44 -0
- package/src/components/chat/utils/.index.md +37 -33
- package/src/components/chat/utils/.is-cross-origin-url.md +26 -22
- package/src/components/chat/utils/.message-segment-accumulator.md +46 -25
- package/src/components/chat/utils/.nav-anchor-props.md +29 -34
- package/src/components/chat/utils/.nav-click-handler.md +29 -33
- package/src/components/chat/utils/.process-historical-messages.md +29 -33
- package/src/components/chat/utils/.scripted-stream.md +52 -0
- package/src/components/chat/utils/.source-row-cta.md +32 -31
- package/src/components/chat/utils/.tool-call-helpers.md +25 -17
- package/src/components/contact/.contact-form.md +24 -19
- package/src/components/docs/.doc-navigation-context.md +49 -0
- package/src/components/docs/.doc-viewer.md +64 -0
- package/src/components/docs/.docs-hub-page.md +49 -0
- package/src/components/docs/.index.md +51 -0
- package/src/components/docs/.skeletons.md +47 -0
- package/src/components/docs/.use-docs-resolve-link.md +61 -0
- package/src/components/docs/.use-document-tree.md +83 -0
- package/src/components/docs/.use-scroll-spy.md +58 -0
- package/src/components/embeds/.embed-container.md +45 -0
- package/src/components/embeds/.embed-iframe.md +51 -0
- package/src/components/embeds/.figma-embed.md +43 -0
- package/src/components/embeds/.file-download-card.md +47 -0
- package/src/components/embeds/.google-sheets-viewer.md +40 -0
- package/src/components/embeds/.index.md +58 -0
- package/src/components/embeds/.linkedin-embed-client.md +50 -0
- package/src/components/embeds/.markdown-image.md +40 -0
- package/src/components/embeds/.og-link-preview.md +54 -0
- package/src/components/embeds/.pdf-viewer.md +43 -0
- package/src/components/embeds/.reddit-embed-client.md +40 -0
- package/src/components/embeds/.rich-markdown-runtime.md +53 -0
- package/src/components/embeds/.twitter-embed-client.md +44 -0
- package/src/components/faq/.faq-document-page.md +68 -0
- package/src/components/faq/.faq-section.md +55 -0
- package/src/components/faq/.index.md +29 -0
- package/src/components/faq/.json-ld.md +48 -0
- package/src/components/features/.array-entry-manager.md +32 -24
- package/src/components/features/.auth-providers-list.md +33 -32
- package/src/components/features/.captions-url.md +43 -0
- package/src/components/features/.cards-strip.md +48 -0
- package/src/components/features/.changelog-manager.md +17 -20
- package/src/components/features/.command-box.md +11 -16
- package/src/components/features/.entity-summary-editor.md +20 -15
- package/src/components/features/.entity-tag-badges.md +43 -0
- package/src/components/features/.entity-video-section.md +31 -41
- package/src/components/features/.figma-prototype-viewer.md +55 -37
- package/src/components/features/.filters-dropdown.md +14 -13
- package/src/components/features/.highlight-config-section.md +19 -16
- package/src/components/features/.highlight-video-combined-section.md +28 -19
- package/src/components/features/.highlight-video-preview.md +13 -11
- package/src/components/features/.highlight-video-section.md +26 -22
- package/src/components/features/.index.md +40 -36
- package/src/components/features/.media-gallery-manager.md +37 -35
- package/src/components/features/.mux-origins.md +46 -0
- package/src/components/features/.og-editor-preview.md +29 -24
- package/src/components/features/.os-type-badge-group.md +26 -18
- package/src/components/features/.os-type-badge.md +41 -24
- package/src/components/features/.paths-display.md +42 -25
- package/src/components/features/.platform-badge.md +26 -17
- package/src/components/features/.policy-configuration-panel.md +33 -31
- package/src/components/features/.provider-button.md +29 -20
- package/src/components/features/.push-button-selector.md +39 -41
- package/src/components/features/.release-media-manager.md +41 -34
- package/src/components/features/.section-selector.md +27 -16
- package/src/components/features/.select-button.md +21 -32
- package/src/components/features/.seo-editor-preview.md +49 -36
- package/src/components/features/.social-links-manager.md +40 -18
- package/src/components/features/.start-with-openframe-button.md +30 -32
- package/src/components/features/.status-filter-component.md +29 -38
- package/src/components/features/.tags-selector.md +25 -29
- package/src/components/features/.transcript-summary-editor.md +24 -18
- package/src/components/features/.use-video-warmup.md +47 -0
- package/src/components/features/.video-bites-display.md +36 -37
- package/src/components/features/.video-bites-shared.md +44 -0
- package/src/components/features/.video-bites-strip.md +63 -0
- package/src/components/features/.video-center-badge.md +38 -0
- package/src/components/features/.video-ratio-tabs.md +38 -31
- package/src/components/features/.video-source-selector.md +24 -27
- package/src/components/features/.video.md +35 -27
- package/src/components/features/.waitlist-form.md +39 -33
- package/src/components/features/.warning-block.md +53 -0
- package/src/components/features/ai-enrich/.AIEnrichSection.md +24 -25
- package/src/components/features/ai-enrich/.AIRequiredBadge.md +22 -21
- package/src/components/features/ai-enrich/.AIStatusIndicator.md +42 -35
- package/src/components/features/ai-enrich/.AIWarningsSection.md +23 -20
- package/src/components/features/ai-enrich/.ConfidenceBadge.md +35 -20
- package/src/components/features/auth/.auth-benefits-panel.md +48 -0
- package/src/components/features/auth/.auth-branding.md +51 -0
- package/src/components/features/auth/.auth-shell.md +51 -0
- package/src/components/features/auth/.back-to-login-link.md +48 -0
- package/src/components/features/auth/.complete-account-form.md +45 -0
- package/src/components/features/auth/.create-organization-form.md +53 -0
- package/src/components/features/auth/.index.md +48 -0
- package/src/components/features/auth/.invite-link-invalid-modal.md +42 -0
- package/src/components/features/auth/.login-form.md +42 -0
- package/src/components/features/auth/.openframe-sso-login-form.md +46 -0
- package/src/components/features/auth/.openframe-sso-signup-form.md +51 -0
- package/src/components/features/auth/.password-reset-form.md +57 -0
- package/src/components/features/auth/.sso-auth-shell.md +35 -0
- package/src/components/features/auth/.sso-providers.md +42 -0
- package/src/components/features/auth/.terms-agreement-label.md +28 -0
- package/src/components/features/board/.board-column-header.md +24 -18
- package/src/components/features/board/.board-column.md +32 -32
- package/src/components/features/board/.board-ticket-approval.md +42 -0
- package/src/components/features/board/.board.md +38 -38
- package/src/components/features/board/.index.md +35 -38
- package/src/components/features/board/.ticket-card.md +33 -36
- package/src/components/features/board/.types.md +38 -31
- package/src/components/features/card-hit-layer.tsx +84 -0
- package/src/components/features/floating-walkthrough-video.tsx +891 -0
- package/src/components/features/index.ts +4 -0
- package/src/components/features/notifications/.approval-request-notification-tile.md +45 -0
- package/src/components/features/notifications/.index.md +35 -31
- package/src/components/features/notifications/.notification-drawer.md +32 -19
- package/src/components/features/notifications/.notification-popups.md +51 -0
- package/src/components/features/notifications/.notification-tile.md +43 -27
- package/src/components/features/notifications/.notifications-context.md +42 -45
- package/src/components/features/notifications/.types.md +51 -31
- package/src/components/features/ticket-status-config-list/.ticket-status-config-list.md +51 -0
- package/src/components/features/time-tracker/.index.md +48 -0
- package/src/components/features/time-tracker/.time-tracker-context.md +55 -0
- package/src/components/features/time-tracker/.time-tracker-header-button.md +51 -0
- package/src/components/features/time-tracker/.time-tracker-panel.md +58 -0
- package/src/components/features/time-tracker/.types.md +51 -0
- package/src/components/features/time-tracker/.use-tracker-clock.md +32 -0
- package/src/components/features/use-walkthrough-video.ts +70 -0
- package/src/components/features/video-bites-strip.tsx +46 -146
- package/src/components/features/video-center-badge.tsx +11 -2
- package/src/components/features/video-hover-preview.tsx +201 -0
- package/src/components/features/video.tsx +368 -73
- package/src/components/help-center-pages/.delivery-page.md +51 -0
- package/src/components/help-center-pages/.index.md +51 -0
- package/src/components/help-center-pages/.onboarding-guides-catalog-page.md +53 -0
- package/src/components/help-center-pages/.product-releases-list-page.md +51 -0
- package/src/components/help-center-pages/.roadmap-page.md +46 -0
- package/src/components/icons/.figma-icon.md +13 -7
- package/src/components/icons/.index.md +26 -22
- package/src/components/icons/.vendor-directory-icon.md +30 -18
- package/src/components/icons/.x-logo.md +26 -10
- package/src/components/icons-v2-generated/.index.md +30 -41
- package/src/components/icons-v2-generated/brand-logos/.index.md +25 -19
- package/src/components/icons-v2-generated/communication/.index.md +26 -30
- package/src/components/icons-v2-generated/logos/.flamingo-logo-icon.md +41 -0
- package/src/components/layout/.article-detail-layout.md +32 -21
- package/src/components/layout/.page-container.md +25 -23
- package/src/components/layout/.page-heading.md +48 -0
- package/src/components/layout/.page-layout.md +30 -25
- package/src/components/layout/.title-block.md +43 -24
- package/src/components/loading/.card-skeleton.md +28 -35
- package/src/components/loading/.category-card-skeleton.md +25 -23
- package/src/components/loading/.device-card-skeleton.md +22 -15
- package/src/components/loading/.margin-report-skeleton.md +30 -35
- package/src/components/loading/.openmsp-heartbeat.md +30 -32
- package/src/components/loading/.organization-card-skeleton.md +22 -25
- package/src/components/loading/.organization-icon-skeleton.md +39 -27
- package/src/components/loading/.page-layout-skeleton.md +50 -28
- package/src/components/loading/.unified-skeleton.md +37 -40
- package/src/components/loading/.users-grid-skeleton.md +19 -38
- package/src/components/navigation/.app-header.md +35 -28
- package/src/components/navigation/.app-layout-context.md +48 -0
- package/src/components/navigation/.app-layout-drawer.md +56 -0
- package/src/components/navigation/.app-layout.md +24 -23
- package/src/components/navigation/.header-mingo-button.md +46 -0
- package/src/components/navigation/.header-organization-filter.md +32 -18
- package/src/components/navigation/.header.md +24 -31
- package/src/components/navigation/.index.md +36 -50
- package/src/components/navigation/.mingo-ai-button.md +41 -0
- package/src/components/navigation/.mobile-burger-menu.md +29 -29
- package/src/components/navigation/.mobile-nav-panel.md +41 -49
- package/src/components/navigation/.multi-level-navigation.md +76 -0
- package/src/components/navigation/.navigation-sidebar-item.md +14 -14
- package/src/components/navigation/.navigation-sidebar.md +30 -23
- package/src/components/navigation/.sliding-sidebar.md +30 -25
- package/src/components/navigation/.sticky-section-nav.md +23 -21
- package/src/components/onboarding-guides/.index.md +40 -0
- package/src/components/onboarding-guides/.onboarding-guide-detail-view.md +55 -0
- package/src/components/onboarding-guides/.onboarding-guides-catalog-skeleton.md +33 -0
- package/src/components/onboarding-guides/.onboarding-guides-catalog-view.md +50 -0
- package/src/components/onboarding-guides/hooks/.use-onboarding-guides.md +54 -0
- package/src/components/platform/.CveLink.md +28 -17
- package/src/components/platform/.ScriptArguments.md +18 -23
- package/src/components/platform/.ScriptInfoSection.md +27 -21
- package/src/components/platform/.ShellTypeBadge.md +34 -18
- package/src/components/platform/.SoftwareInfo.md +23 -21
- package/src/components/platform/.ToolBadge.md +18 -16
- package/src/components/profile/.ProfileLoadingSkeleton.md +24 -23
- package/src/components/related-content/.index.md +41 -0
- package/src/components/related-content/.related-content-section.md +62 -0
- package/src/components/shared/.article-author-byline.md +56 -0
- package/src/components/shared/.detail-page-skeleton.md +32 -43
- package/src/components/shared/.media-gallery-strip.md +43 -0
- package/src/components/shared/delivery/.delivery-lists.md +20 -19
- package/src/components/shared/delivery/.delivery-row.md +24 -20
- package/src/components/shared/delivery/.delivery-table.md +20 -22
- package/src/components/shared/dev-section/.dev-card-row.md +28 -36
- package/src/components/shared/dev-section/.dev-section-page.md +36 -25
- package/src/components/shared/dev-section/.dev-section-view.md +32 -22
- package/src/components/shared/doc-search/.doc-search-bar.md +58 -0
- package/src/components/shared/doc-search/.doc-search-result-row.md +50 -0
- package/src/components/shared/doc-search/.format-relative-path.md +30 -0
- package/src/components/shared/doc-search/.index.md +46 -0
- package/src/components/shared/doc-search/.map-doc-search-results.md +44 -0
- package/src/components/shared/doc-search/.resolve-search-result-action.md +52 -0
- package/src/components/shared/doc-search/.types.md +49 -0
- package/src/components/shared/doc-search/.use-doc-search.md +66 -0
- package/src/components/shared/legal-document/.legal-document-page.md +26 -20
- package/src/components/shared/legal-document/.use-legal-docs.md +36 -30
- package/src/components/shared/onboarding/.onboarding-step-card.md +24 -16
- package/src/components/shared/onboarding/.onboarding-walkthrough.md +42 -28
- package/src/components/shared/product-release/.index.md +33 -24
- package/src/components/shared/product-release/.product-release-card-skeleton.md +22 -28
- package/src/components/shared/product-release/.product-release-card.md +28 -29
- package/src/components/shared/product-release/.product-releases-view.md +49 -0
- package/src/components/shared/product-release/.release-detail-page.md +30 -15
- package/src/components/shared/roadmap/.index.md +29 -24
- package/src/components/shared/roadmap/.roadmap-grid.md +43 -54
- package/src/components/shared/roadmap/.roadmap-view.md +41 -0
- package/src/components/shared/roadmap/.use-roadmap-voting.md +27 -17
- package/src/components/switch.tsx +1 -1
- package/src/components/tickets/.help-center-card.md +32 -28
- package/src/components/tickets/.help-center-create-form.md +34 -22
- package/src/components/tickets/.help-center-list.md +36 -25
- package/src/components/tickets/.index.md +30 -45
- package/src/components/tickets/.ticket-center.md +31 -38
- package/src/components/tickets/.ticket-detail-drawer.md +20 -30
- package/src/components/tickets/.ticket-open-form.md +24 -26
- package/src/components/tickets/.ticket-reply-composer.md +51 -0
- package/src/components/tickets/.ticket-row.md +26 -11
- package/src/components/tickets/.types.md +56 -38
- package/src/components/tickets/hooks/.use-ticket-actions.md +60 -47
- package/src/components/tickets/hooks/.use-ticket-engagements.md +27 -27
- package/src/components/tickets/hooks/.use-tickets-list.md +24 -30
- package/src/components/ui/.accordion.md +28 -21
- package/src/components/ui/.actions-menu.md +36 -54
- package/src/components/ui/.ai-generated-badge.md +25 -0
- package/src/components/ui/.alert-dialog.md +21 -16
- package/src/components/ui/.alert.md +30 -25
- package/src/components/ui/.allowed-domains-input.md +26 -15
- package/src/components/ui/.announcement-bar-view.md +46 -0
- package/src/components/ui/.autocomplete.md +40 -27
- package/src/components/ui/.badge.md +34 -31
- package/src/components/ui/.brand-association-card.md +22 -18
- package/src/components/ui/.breadcrumb.md +18 -14
- package/src/components/ui/.bullet-list.md +35 -23
- package/src/components/ui/.card.md +47 -30
- package/src/components/ui/.checkbox-block.md +34 -22
- package/src/components/ui/.checkbox-with-description.md +18 -20
- package/src/components/ui/.chevron-button.md +29 -29
- package/src/components/ui/.circular-progress.md +30 -41
- package/src/components/ui/.color-preset-select.md +54 -0
- package/src/components/ui/.color-swatch.md +37 -0
- package/src/components/ui/.content-loader.md +34 -27
- package/src/components/ui/.crossfade-panels.md +50 -0
- package/src/components/ui/.cursor-pagination.md +38 -26
- package/src/components/ui/.dashboard-info-card.md +46 -27
- package/src/components/ui/.date-picker.md +52 -36
- package/src/components/ui/.device-card-compact.md +23 -20
- package/src/components/ui/.device-card.md +39 -30
- package/src/components/ui/.dialog.md +14 -14
- package/src/components/ui/.drawer.md +45 -39
- package/src/components/ui/.dropdown-button.md +41 -33
- package/src/components/ui/.dropdown-menu.md +40 -23
- package/src/components/ui/.duration-input.md +41 -0
- package/src/components/ui/.entity-image.md +32 -28
- package/src/components/ui/.error-state.md +30 -26
- package/src/components/ui/.fade-preview.md +44 -0
- package/src/components/ui/.field-wrapper.md +34 -23
- package/src/components/ui/.file-upload.md +30 -18
- package/src/components/ui/.filter-modal.md +30 -32
- package/src/components/ui/.filter-pill-row.md +58 -0
- package/src/components/ui/.floating-tooltip.md +27 -32
- package/src/components/ui/.hidden-tags-popup.md +18 -20
- package/src/components/ui/.highlight-card.md +36 -23
- package/src/components/ui/.honeypot-field.md +41 -0
- package/src/components/ui/.hover-dropdown.md +44 -31
- package/src/components/ui/.image-gallery-modal.md +28 -30
- package/src/components/ui/.image-uploader.md +39 -22
- package/src/components/ui/.index.md +33 -31
- package/src/components/ui/.info-card-row.md +50 -0
- package/src/components/ui/.info-card.md +27 -20
- package/src/components/ui/.info-row.md +30 -24
- package/src/components/ui/.info-section.md +63 -0
- package/src/components/ui/.input.md +29 -28
- package/src/components/ui/.label.md +34 -26
- package/src/components/ui/.markdown-editor.md +26 -25
- package/src/components/ui/.marquee-wall.md +64 -0
- package/src/components/ui/.menubar.md +50 -16
- package/src/components/ui/.modal-v2.md +41 -27
- package/src/components/ui/.modal.md +22 -19
- package/src/components/ui/.more-actions-menu.md +30 -24
- package/src/components/ui/.navigation-menu.md +40 -25
- package/src/components/ui/.organization-card.md +46 -27
- package/src/components/ui/.page-actions.md +55 -41
- package/src/components/ui/.page-loader.md +40 -23
- package/src/components/ui/.password-input.md +30 -0
- package/src/components/ui/.phone-input.md +20 -22
- package/src/components/ui/.portal-container.md +43 -0
- package/src/components/ui/.progress-bar.md +40 -27
- package/src/components/ui/.release-changelog-section.md +32 -26
- package/src/components/ui/.rich-markdown-renderer.md +45 -0
- package/src/components/ui/.scroll-fade.md +56 -0
- package/src/components/ui/.search-input.md +55 -37
- package/src/components/ui/.select.md +25 -26
- package/src/components/ui/.service-card.md +25 -19
- package/src/components/ui/.sheet.md +21 -21
- package/src/components/ui/.simple-markdown-renderer.md +36 -24
- package/src/components/ui/.slack-channel-chip.md +49 -0
- package/src/components/ui/.square-avatar.md +29 -26
- package/src/components/ui/.stacked-rows-panel.md +61 -0
- package/src/components/ui/.status-badge.md +30 -24
- package/src/components/ui/.status-indicator.md +35 -21
- package/src/components/ui/.tab-content.md +34 -22
- package/src/components/ui/.tab-navigation.md +40 -50
- package/src/components/ui/.tab-selector.md +48 -31
- package/src/components/ui/.tabs.md +34 -21
- package/src/components/ui/.tag-search-input.md +20 -20
- package/src/components/ui/.tag-select-dropdown.md +59 -0
- package/src/components/ui/.tag.md +25 -43
- package/src/components/ui/.tags-input.md +31 -31
- package/src/components/ui/.textarea.md +32 -30
- package/src/components/ui/.ticket-attachments-list.md +36 -29
- package/src/components/ui/.ticket-info-section.md +37 -42
- package/src/components/ui/.ticket-status-config-row.md +66 -0
- package/src/components/ui/.ticket-status-tag.md +39 -35
- package/src/components/ui/.toaster.md +21 -15
- package/src/components/ui/.toggle.md +38 -37
- package/src/components/ui/.tooltip.md +16 -13
- package/src/components/ui/button/.button-styles.md +17 -18
- package/src/components/ui/button/.button.md +30 -37
- package/src/components/ui/button/.split-button.md +46 -23
- package/src/components/ui/button/button-styles.ts +13 -0
- package/src/components/ui/button/button.tsx +5 -0
- package/src/components/ui/data-table/.data-table-body.md +50 -35
- package/src/components/ui/data-table/.data-table-empty.md +17 -33
- package/src/components/ui/data-table/.data-table-header.md +43 -40
- package/src/components/ui/data-table/.data-table-row.md +31 -31
- package/src/components/ui/data-table/.types.md +23 -28
- package/src/components/ui/file-manager/.file-manager-breadcrumb.md +16 -24
- package/src/components/ui/file-manager/.file-manager-empty.md +23 -15
- package/src/components/ui/file-manager/.file-manager-skeleton.md +34 -36
- package/src/components/ui/file-manager/.file-manager-table-row.md +29 -29
- package/src/components/ui/file-manager/.file-manager-table.md +39 -24
- package/src/components/ui/no-data/.index.md +22 -0
- package/src/components/ui/no-data/.no-data-actions.md +29 -0
- package/src/components/ui/no-data/.no-data-message.md +37 -0
- package/src/components/ui/no-data/.no-data-styles.md +39 -0
- package/src/components/ui/no-data/.no-data.md +59 -0
- package/src/components/ui/page-actions.tsx +2 -1
- package/src/components/ui/query-report-table/.query-report-table-header.md +15 -15
- package/src/components/ui/query-report-table/.query-report-table-row.md +16 -16
- package/src/components/ui/query-report-table/.query-report-table.md +39 -24
- package/src/components/ui/table/.table-column-filter-dropdown.md +15 -9
- package/src/components/ui/table/.table-description-cell.md +13 -12
- package/src/components/ui/table/.table-empty-state.md +19 -20
- package/src/components/ui/table/.table-row.md +30 -20
- package/src/components/ui/table/.table-skeleton.md +32 -27
- package/src/components/ui/table/.table-timestamp-cell.md +24 -23
- package/src/components/ui/table/.table.md +43 -30
- package/src/components/ui/table/.types.md +49 -45
- package/src/components/ui/table/.use-table-motion.md +45 -0
- package/src/contexts/.chat-runtime-context.md +55 -26
- package/src/contexts/.endpoints-runtime-context.md +40 -44
- package/src/embed-shims/.next-navigation.md +38 -31
- package/src/hooks/.api-hooks.md +28 -21
- package/src/hooks/.index.md +30 -25
- package/src/hooks/.use-authed-image-src.md +38 -0
- package/src/hooks/.use-contact-submission.md +35 -36
- package/src/hooks/.use-humanity-signals.md +47 -0
- package/src/hooks/.use-near-viewport.md +30 -30
- package/src/hooks/.use-og-placeholder-url.md +57 -0
- package/src/hooks/.use-scroll-to-hash.md +46 -0
- package/src/hooks/.use-self-fetch.md +52 -0
- package/src/hooks/state/.flatten-schema.md +37 -29
- package/src/hooks/ui/.index.md +37 -25
- package/src/hooks/ui/.use-auto-limit-tags.md +55 -38
- package/src/hooks/ui/.use-deferred-error.md +44 -0
- package/src/hooks/ui/.use-focus-trap.md +59 -0
- package/src/hooks/ui/.use-header-height.md +37 -0
- package/src/hooks/ui/.use-horizontal-scrollbar.md +25 -34
- package/src/hooks/ui/.use-marquee-engine.md +73 -0
- package/src/hooks/ui/.use-notification-permission.md +49 -0
- package/src/hooks/ui/.use-reset-on-page-hidden.md +40 -0
- package/src/hooks/ui/.use-suppress-clone-focus.md +41 -0
- package/src/nats/.index.md +39 -0
- package/src/nats/.nats-provider.md +46 -0
- package/src/nats/.nats.md +38 -28
- package/src/nats/.shared-connection.md +56 -0
- package/src/nats/.use-nats-subscription.md +57 -0
- package/src/stories/.ActionsMenu.stories.md +57 -0
- package/src/stories/.Alert.stories.md +46 -0
- package/src/stories/.AnnouncementBar.stories.md +59 -32
- package/src/stories/.AppLayoutDrawer.stories.md +60 -0
- package/src/stories/.AppLayoutSidebar.stories.md +45 -0
- package/src/stories/.ApprovalBatchMessage.stories.md +46 -0
- package/src/stories/.ApprovalBatchMessageClient.stories.md +55 -0
- package/src/stories/.ApprovalRequestMessage.stories.md +50 -0
- package/src/stories/.ApprovalRequestMessageClient.stories.md +41 -0
- package/src/stories/.BlogCard.stories.md +52 -0
- package/src/stories/.Board.stories.md +25 -20
- package/src/stories/.Button.stories.md +35 -40
- package/src/stories/.CampaignCardAdmin.stories.md +38 -0
- package/src/stories/.CardsStrip.stories.md +39 -0
- package/src/stories/.CaseStudyCard.stories.md +41 -0
- package/src/stories/.ChatContainer.stories.md +41 -0
- package/src/stories/.ChatInlineVideoPill.stories.md +36 -0
- package/src/stories/.ChatMessageEnhanced.stories.md +51 -0
- package/src/stories/.ChatMingoInfoCards.stories.md +30 -0
- package/src/stories/.ChatTicketList.stories.md +38 -22
- package/src/stories/.ChatTypingIndicator.stories.md +47 -0
- package/src/stories/.CheckboxBlock.stories.md +34 -35
- package/src/stories/.ContextCompactionDisplay.stories.md +28 -0
- package/src/stories/.CustomerInterviewCard.stories.md +36 -0
- package/src/stories/.DashboardInfoCard.stories.md +40 -33
- package/src/stories/.DataRoomDocCard.stories.md +42 -0
- package/src/stories/.DataTable.stories.md +37 -32
- package/src/stories/.DatePicker.stories.md +34 -30
- package/src/stories/.EmbeddableChat.stories.md +45 -28
- package/src/stories/.EmptyState.stories.md +55 -0
- package/src/stories/.ErrorMessageDisplay.stories.md +45 -0
- package/src/stories/.FilterModal.stories.md +28 -22
- package/src/stories/.GenericEntityCard.stories.md +50 -0
- package/src/stories/.GitHubActivityCard.stories.md +41 -0
- package/src/stories/.GuideWelcome.stories.md +38 -0
- package/src/stories/.Header.stories.md +32 -22
- package/src/stories/.HubspotTicketCard.stories.md +41 -0
- package/src/stories/.InfoCard.stories.md +37 -26
- package/src/stories/.InfoCardRow.stories.md +48 -0
- package/src/stories/.InfoSection.stories.md +55 -0
- package/src/stories/.Input.stories.md +45 -35
- package/src/stories/.InvestorUpdateCard.stories.md +41 -0
- package/src/stories/.MarqueeWall.stories.md +53 -0
- package/src/stories/.MingoAiButton.stories.md +31 -0
- package/src/stories/.MingoChatModals.stories.md +47 -0
- package/src/stories/.MingoInfoCard.stories.md +50 -0
- package/src/stories/.MingoOnboardingCard.stories.md +19 -19
- package/src/stories/.MingoWelcome.stories.md +41 -0
- package/src/stories/.MobileNavPanel.stories.md +52 -0
- package/src/stories/.Modal.stories.md +19 -16
- package/src/stories/.MspOrganizationCard.stories.md +45 -0
- package/src/stories/.NotificationDrawer.stories.md +39 -28
- package/src/stories/.OSTypeBadge.stories.md +34 -25
- package/src/stories/.OnboardingGuideCard.stories.md +41 -0
- package/src/stories/.PageActions.stories.md +21 -21
- package/src/stories/.PageContainer.stories.md +29 -24
- package/src/stories/.PageLayout.stories.md +18 -35
- package/src/stories/.PolicyConfigurationPanel.stories.md +58 -0
- package/src/stories/.ProductReleaseCard.stories.md +39 -0
- package/src/stories/.ProgramCard.stories.md +51 -0
- package/src/stories/.QuickActionChip.stories.md +59 -0
- package/src/stories/.QuickActionMarquee.stories.md +51 -0
- package/src/stories/.QuickActionWall.stories.md +58 -0
- package/src/stories/.RoadmapCard.stories.md +41 -0
- package/src/stories/.ShellTypeBadge.stories.md +42 -22
- package/src/stories/.SlackMessageCard.stories.md +42 -0
- package/src/stories/.SlashCommandSuggestions.stories.md +21 -31
- package/src/stories/.SplitButton.stories.md +23 -25
- package/src/stories/.StackedRowsPanel.stories.md +65 -0
- package/src/stories/.TabSelector.stories.md +26 -38
- package/src/stories/.Tag.stories.md +32 -27
- package/src/stories/.ThinkingDisplay.stories.md +43 -0
- package/src/stories/.TicketCard.stories.md +60 -0
- package/src/stories/.TicketInfoSection.stories.md +28 -20
- package/src/stories/.TimeTracker.stories.md +35 -0
- package/src/stories/.Toaster.stories.md +26 -20
- package/src/stories/.ToolBadge.stories.md +34 -24
- package/src/stories/.ToolExecutionDisplay.stories.md +22 -20
- package/src/stories/.ToolExecutionDisplayClient.stories.md +33 -0
- package/src/stories/.VideoBitesStrip.stories.md +37 -0
- package/src/stories/.WarningBlock.stories.md +51 -0
- package/src/stories/__fixtures__/.chat-card-decorator.md +39 -0
- package/src/stories/__fixtures__/.chat-cards.md +57 -0
- package/src/stories/auth/.CompleteAccount.stories.md +36 -0
- package/src/stories/auth/.CreateOrganization.stories.md +52 -0
- package/src/stories/auth/.InviteLinkInvalid.stories.md +21 -0
- package/src/stories/auth/.Login.stories.md +32 -0
- package/src/stories/auth/.OpenFrameSso.stories.md +58 -0
- package/src/stories/auth/.PasswordReset.stories.md +49 -0
- package/src/styles/ods-interaction-states.css +32 -0
- package/src/types/.announcement.md +67 -35
- package/src/types/.blog.md +44 -41
- package/src/types/.case-study.md +31 -17
- package/src/types/.content-ref.md +37 -0
- package/src/types/.customer-interview.md +38 -38
- package/src/types/.doc-source.md +87 -0
- package/src/types/.entity-author.md +53 -0
- package/src/types/.entity-platform.md +40 -0
- package/src/types/.index.md +23 -17
- package/src/types/.marketing.md +32 -35
- package/src/types/.navigation.md +31 -19
- package/src/types/.os.types.md +30 -31
- package/src/types/.permissions.md +49 -35
- package/src/types/.platform.md +44 -28
- package/src/types/.product-release.md +59 -42
- package/src/types/.shell.types.md +46 -30
- package/src/types/.supabase.md +43 -29
- package/src/types/.tool.types.md +43 -23
- package/src/types/.video-processing.md +40 -31
- package/src/types/supabase.ts +80 -0
- package/src/types/video-processing.ts +1 -0
- package/src/utils/.announcement-storage.md +49 -17
- package/src/utils/.app-config.md +22 -18
- package/src/utils/.brand-marks.md +46 -0
- package/src/utils/.cn.md +40 -29
- package/src/utils/.color-analysis.md +34 -25
- package/src/utils/.common.md +43 -23
- package/src/utils/.content-href.md +64 -0
- package/src/utils/.content-ref-groups.md +51 -0
- package/src/utils/.date-utils.md +46 -35
- package/src/utils/.doc-path-utils.md +38 -0
- package/src/utils/.doc-tree-nav.md +51 -0
- package/src/utils/.embed-authed-fetch.md +48 -32
- package/src/utils/.embed-content-fetch.md +36 -0
- package/src/utils/.embed-url-converters.md +52 -0
- package/src/utils/.extract-items.md +49 -0
- package/src/utils/.faq-anchor.md +48 -0
- package/src/utils/.format.md +73 -55
- package/src/utils/.humanity-signals.md +59 -0
- package/src/utils/.index.md +73 -31
- package/src/utils/.list-url.md +43 -0
- package/src/utils/.markdown-section-extractor.md +57 -0
- package/src/utils/.markdown-to-plain.md +51 -0
- package/src/utils/.media-carousel-utils-stub.md +42 -31
- package/src/utils/.ods-color-utils.md +84 -43
- package/src/utils/.og-placeholder.md +45 -0
- package/src/utils/.page-header-constants.md +26 -0
- package/src/utils/.platform-config.md +34 -34
- package/src/utils/.release-badge.md +47 -0
- package/src/utils/.release-cover.md +45 -0
- package/src/utils/.same-page-hash-nav.md +45 -0
- package/src/utils/.scroll-into-view.md +32 -25
- package/src/utils/.seo-description.md +37 -0
- package/src/utils/.seo-title.md +25 -0
- package/src/utils/.social-embed-cache.md +37 -0
- package/src/utils/.source-icons.md +30 -34
- package/src/utils/.suggestion-url.md +46 -0
- package/src/utils/.tool-utils.md +39 -24
- package/src/utils/.tree-builder.md +64 -0
- package/src/utils/.video-bite-id.md +42 -0
- package/src/utils/announcement-storage.ts +9 -18
- package/src/utils/dev-sections/.dev-section-param-keys.md +51 -0
- package/src/utils/dev-sections/.openframe-dev-sections.md +40 -28
- package/src/utils/dismiss-cookie.ts +55 -0
- package/src/utils/dismissal-storage.ts +38 -0
- package/src/utils/index.ts +3 -0
- package/dist/chunk-BBUEY73L.js.map +0 -1
- package/dist/chunk-G3UN2DXU.cjs.map +0 -1
- package/dist/chunk-OWMLWJQY.cjs.map +0 -1
- package/dist/chunk-SASR7SK5.js.map +0 -1
- package/src/components/chat/utils/.onboarding-icons.md +0 -28
- package/src/hooks/.use-og-placeholder.md +0 -51
- /package/dist/{chunk-MGKCS6KS.js.map → chunk-3WCARCI4.js.map} +0 -0
- /package/dist/{chunk-Y3Y2DLNO.js.map → chunk-6UGYBCEN.js.map} +0 -0
- /package/dist/{chunk-PSPWT2Q5.js.map → chunk-7LWXWXEY.js.map} +0 -0
- /package/dist/{chunk-VTSRDC4W.js.map → chunk-CKC3EAYT.js.map} +0 -0
- /package/dist/{chunk-ZRANZNEA.js.map → chunk-JJE5TUZK.js.map} +0 -0
- /package/dist/{chunk-66BNAFO6.js.map → chunk-JQIUBFHL.js.map} +0 -0
- /package/dist/{chunk-2DIOV7BR.js.map → chunk-UPN6EFOM.js.map} +0 -0
- /package/dist/{chunk-4SMRQ4SN.js.map → chunk-WBL5Y4PS.js.map} +0 -0
- /package/dist/{chunk-FP4H6Y5O.js.map → chunk-WPYPSIY2.js.map} +0 -0
- /package/dist/{chunk-R5WJJL4V.js.map → chunk-X5X43HFV.js.map} +0 -0
- /package/dist/{chunk-DEHZ5CTC.js.map → chunk-XTWKDMCG.js.map} +0 -0
|
@@ -1,59 +1,58 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `CheckboxBlock` UI component, covering all interactive states, variants, and
|
|
1
|
+
<!-- source-hash: 4b530add022047c28303f0a957f8927e -->
|
|
2
|
+
Storybook stories for the `CheckboxBlock` UI component, covering all interactive states, variants, and theming options for visual testing and documentation.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
### Stories
|
|
6
|
+
### Stories
|
|
7
7
|
|
|
8
8
|
| Story | Description |
|
|
9
9
|
|---|---|
|
|
10
|
-
| `Default` | Unchecked checkbox block
|
|
11
|
-
| `
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
10
|
+
| `Default` | Unchecked checkbox block with basic label |
|
|
11
|
+
| `RepeatScriptRun` | Matches the Figma design reference label |
|
|
12
|
+
| `Checked` | Pre-checked via `defaultChecked` |
|
|
13
|
+
| `Disabled` / `DisabledChecked` | Non-interactive disabled states |
|
|
14
|
+
| `Controlled` | Fully controlled with `useState`, displays live checked value |
|
|
15
|
+
| `LongLabel` | Demonstrates text wrapping behavior |
|
|
16
|
+
| `WithDescription` | Two-line variant (`label` + `description`) |
|
|
17
|
+
| `WithTrailingAction` | Appends a `Button` via the `trailing` prop; uses `e.preventDefault()` to prevent label toggle |
|
|
18
|
+
| `Error` | Red border validation failure state |
|
|
19
|
+
| `FlamingoError` / `FlamingoChecked` | Pink accent theme via `data-app-type="flamingo"` |
|
|
20
|
+
| `AllVariants` | Side-by-side comparison of all states |
|
|
17
21
|
|
|
18
22
|
### Configured `argTypes`
|
|
19
23
|
|
|
20
|
-
- `label` — checkbox label text
|
|
24
|
+
- `label` — primary checkbox label text
|
|
21
25
|
- `checked` / `defaultChecked` — controlled vs. uncontrolled state
|
|
22
|
-
- `description` — optional secondary text
|
|
26
|
+
- `description` — optional secondary text (renders taller `h-16` variant)
|
|
23
27
|
- `disabled` — disables interaction
|
|
24
|
-
- `onCheckedChange` —
|
|
28
|
+
- `onCheckedChange` — change callback (Storybook action logged)
|
|
25
29
|
|
|
26
30
|
## Usage Example
|
|
27
31
|
|
|
28
32
|
```typescript
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// Uncontrolled
|
|
32
|
-
<CheckboxBlock label="Repeat Script Run" defaultChecked />
|
|
33
|
-
|
|
34
|
-
// With description
|
|
33
|
+
// Controlled usage with trailing action
|
|
35
34
|
<CheckboxBlock
|
|
36
|
-
label="
|
|
37
|
-
description="
|
|
38
|
-
disabled
|
|
39
|
-
/>
|
|
40
|
-
|
|
41
|
-
// Controlled
|
|
42
|
-
const [checked, setChecked] = useState(false);
|
|
43
|
-
<CheckboxBlock
|
|
44
|
-
label="Controlled Checkbox"
|
|
35
|
+
label="Use the default guardrails settings"
|
|
36
|
+
description="This customer follows guardrails defaults."
|
|
45
37
|
checked={checked}
|
|
46
38
|
onCheckedChange={setChecked}
|
|
39
|
+
trailing={
|
|
40
|
+
<Button variant="outline" onClick={e => e.preventDefault()}>
|
|
41
|
+
Edit Default Guardrails
|
|
42
|
+
</Button>
|
|
43
|
+
}
|
|
47
44
|
/>
|
|
48
45
|
|
|
49
46
|
// Error state
|
|
50
47
|
<CheckboxBlock
|
|
51
|
-
label="
|
|
52
|
-
|
|
48
|
+
label="Send me an SMS"
|
|
49
|
+
description="Msg & data rates may apply."
|
|
50
|
+
error="Please agree to SMS notifications to continue."
|
|
53
51
|
/>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
> **Note:** When using a `trailing` interactive element, always call `e.preventDefault()` on its click handler to prevent the wrapping `<label>` from toggling the checkbox — as used in the OpenFrame customer guardrails tab.
|
|
55
|
+
|
|
56
|
+
## Source
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
<div data-app-type="flamingo">
|
|
57
|
-
<CheckboxBlock label="Accept terms" defaultChecked />
|
|
58
|
-
</div>
|
|
59
|
-
```
|
|
58
|
+
[`CheckboxBlock.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/CheckboxBlock.stories.tsx)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!-- source-hash: a00c050a6f1eac8477435dd9a06e4ae0 -->
|
|
2
|
+
Storybook stories for `ContextCompactionDisplay`, a chat UI component that renders inline status pills when conversation context is compacted — showing a dots loader for the `started` state and a green check for `completed`.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `Started` | `Story` | Displays the in-progress state with a dots loader (`status: "started"`) |
|
|
9
|
+
| `Completed` | `Story` | Displays the finished state with a green check (`status: "completed"`) |
|
|
10
|
+
| `meta` | `Meta` | Storybook metadata wiring `ContextCompactionDisplay` under `Chat/ContextCompactionDisplay` |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { ContextCompactionDisplay } from "../components/chat/context-compaction-display";
|
|
16
|
+
|
|
17
|
+
// In-progress: shows "Context limit reached…" with a dots loader
|
|
18
|
+
<ContextCompactionDisplay status="started" />
|
|
19
|
+
|
|
20
|
+
// Finished: shows "Earlier context summarized." with a check
|
|
21
|
+
<ContextCompactionDisplay status="completed" />
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Notes
|
|
25
|
+
|
|
26
|
+
- Stories are tagged with `autodocs` for automatic Storybook documentation generation.
|
|
27
|
+
- The `plainDecorator` wraps each story in a `max-width: 640px` container with the `--color-bg` CSS variable applied, matching the chat surface background.
|
|
28
|
+
- The underlying component (`context-compaction-display`) lives at [`components/chat/context-compaction-display`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/components/chat/context-compaction-display.tsx).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- source-hash: fbb7728f24a18cda956623e4fa987806 -->
|
|
2
|
+
Storybook story file for the `CustomerInterviewCard` component, providing visual test stories across two display sizes (`sm` and `default`).
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `meta` | `Meta` | Storybook metadata configuration for `Chat/EntityCards/CustomerInterviewCard` |
|
|
9
|
+
| `ChatInlineSm` | `Story` | Small-size card variant, intended for inline chat usage |
|
|
10
|
+
| `Default` | `Story` | Default-size card variant |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
// Render the Default story in isolation (e.g. in a test or preview)
|
|
16
|
+
import { Default } from './CustomerInterviewCard.stories'
|
|
17
|
+
|
|
18
|
+
// Story args passed to CustomerInterviewCard:
|
|
19
|
+
// {
|
|
20
|
+
// interview: customerInterview, // fixture data for the customer_interview doc type
|
|
21
|
+
// href: '/customer-interviews/slug', // deep-link to the full interview page
|
|
22
|
+
// size: 'default', // 'sm' | 'default'
|
|
23
|
+
// target: '_blank',
|
|
24
|
+
// rel: 'noopener noreferrer',
|
|
25
|
+
// }
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Notes
|
|
29
|
+
|
|
30
|
+
- Both stories use shared fixture data from `./__fixtures__/chat-cards` (`customerInterview`).
|
|
31
|
+
- The `ChatColumnDecorator` wraps each story to simulate the chat column layout context.
|
|
32
|
+
- The component's `main_video_url` field controls whether a play-button overlay appears on the cover image.
|
|
33
|
+
- A user + MSP badge overlay renders in both size variants.
|
|
34
|
+
- Stories are registered under the `Chat/EntityCards/CustomerInterviewCard` Storybook path.
|
|
35
|
+
|
|
36
|
+
**Source:** [`CustomerInterviewCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/CustomerInterviewCard.stories.tsx)
|
|
@@ -1,41 +1,39 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `DashboardInfoCard`
|
|
1
|
+
<!-- source-hash: 93ee5247b34f46a210b1c67f6352a00a -->
|
|
2
|
+
Storybook stories file for the `DashboardInfoCard` component, providing interactive examples and documentation for all supported prop combinations and visual variants.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
+
### Stories
|
|
7
|
+
|
|
6
8
|
| Story | Description |
|
|
7
9
|
|---|---|
|
|
8
10
|
| `Default` | Basic card with title and numeric value |
|
|
9
|
-
| `
|
|
10
|
-
| `
|
|
11
|
-
| `
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
11
|
+
| `StringValue` | Card with a string value |
|
|
12
|
+
| `WithPercentage` | Value with percentage display |
|
|
13
|
+
| `WithProgress` | Circular progress indicator |
|
|
14
|
+
| `CustomProgressVariant` | Progress ring color variants (`success`, `warning`, `error`, `info`, `accent`) |
|
|
15
|
+
| `WithTooltip` | Question-mark icon tooltip |
|
|
16
|
+
| `WithHref` | Clickable card via Next.js Link |
|
|
17
|
+
| `WarningWithTag` / `ErrorWithTag` | Overflow percentage rendered as colored `Tag` |
|
|
18
|
+
| `OverflowWrap` / `OverflowComparison` | `progressOverflow="wrap"` vs `"clamp"` behavior |
|
|
19
|
+
| `PlainPercentageWithColoredRing` | Colored ring with neutral plain-text percentage |
|
|
20
|
+
| `DeviceStatusesOverview` | Four-column Figma "Devices Overview" grid |
|
|
21
|
+
| `ProgressSizeComparison` | 24px vs 56px responsive ring sizes |
|
|
22
|
+
| `WithTitleTag` / `WithTitleAndTag` | Figma "status" variant with `Tag` in title row |
|
|
23
|
+
| `WithIcon` / `WithImage` | Bordered icon/image slot (Figma "icon" variant) |
|
|
24
|
+
| `KitchenSink` | All props combined |
|
|
18
25
|
|
|
19
26
|
## Usage Example
|
|
20
27
|
|
|
21
28
|
```typescript
|
|
22
|
-
import { DashboardInfoCard } from '
|
|
29
|
+
import { DashboardInfoCard } from '../components/ui/dashboard-info-card'
|
|
30
|
+
import { Tag } from '../components/ui/tag'
|
|
31
|
+
import { MonitorIcon } from '../components/icons-v2-generated/devices/monitor-icon'
|
|
23
32
|
|
|
24
|
-
// Basic
|
|
33
|
+
// Basic card
|
|
25
34
|
<DashboardInfoCard title="Total Devices" value={1284} />
|
|
26
35
|
|
|
27
|
-
// With progress
|
|
28
|
-
<DashboardInfoCard
|
|
29
|
-
title="Compliance Score"
|
|
30
|
-
value={92}
|
|
31
|
-
percentage={92}
|
|
32
|
-
showProgress
|
|
33
|
-
progressVariant="success"
|
|
34
|
-
tooltip="Based on the latest audit results"
|
|
35
|
-
href="/compliance"
|
|
36
|
-
/>
|
|
37
|
-
|
|
38
|
-
// Overflow handling for values exceeding 100%
|
|
36
|
+
// With circular progress and overflow wrapping
|
|
39
37
|
<DashboardInfoCard
|
|
40
38
|
title="Device Usage"
|
|
41
39
|
value={520}
|
|
@@ -44,14 +42,23 @@ import { DashboardInfoCard } from '@/components/ui/dashboard-info-card'
|
|
|
44
42
|
progressVariant="warning"
|
|
45
43
|
progressOverflow="wrap"
|
|
46
44
|
/>
|
|
45
|
+
|
|
46
|
+
// Figma "icon" variant with navigation
|
|
47
|
+
<DashboardInfoCard
|
|
48
|
+
title="Endpoints"
|
|
49
|
+
value={4046}
|
|
50
|
+
icon={<MonitorIcon />}
|
|
51
|
+
href="/devices"
|
|
52
|
+
/>
|
|
53
|
+
|
|
54
|
+
// Figma "status" variant with title Tag
|
|
55
|
+
<DashboardInfoCard
|
|
56
|
+
title="Tickets"
|
|
57
|
+
value={75}
|
|
58
|
+
titleTag={<Tag variant="outline" label="Resolved" />}
|
|
59
|
+
/>
|
|
47
60
|
```
|
|
48
61
|
|
|
49
|
-
|
|
62
|
+
## Source
|
|
50
63
|
|
|
51
|
-
|
|
52
|
-
|---|---|
|
|
53
|
-
| `success` | Healthy / on-target metrics |
|
|
54
|
-
| `warning` | Approaching limits |
|
|
55
|
-
| `error` | Critical / over-limit |
|
|
56
|
-
| `info` | Neutral informational |
|
|
57
|
-
| `accent` | Brand highlight |
|
|
64
|
+
[`DashboardInfoCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/DashboardInfoCard.stories.tsx)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!-- source-hash: f7d4866713e90d4e1df564c5e131e04d -->
|
|
2
|
+
Storybook stories for `DataRoomDocCard`, demonstrating the inline chat card component used to render `data_room_doc` and `markdown` document types in the chat UI.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `meta` | `Meta<typeof DataRoomDocCard>` | Storybook metadata — mounts component inside `ChatColumnDecorator` with `fullscreen` layout |
|
|
9
|
+
| `DataRoom` | `Story` | Card variant using a `data_room_doc` item with `"Data room"` badge |
|
|
10
|
+
| `KnowledgeBaseMarkdown` | `Story` | Card variant using a `markdown` item with `"OpenFrame Docs"` badge |
|
|
11
|
+
|
|
12
|
+
## Key Concepts
|
|
13
|
+
|
|
14
|
+
- **Single component, multiple source types** — `DataRoomDocCard` renders both `data_room_doc` and `markdown` doc types; the `sourceRepo` field on the item drives the badge label.
|
|
15
|
+
- **`badgeText` is required** — callers must resolve the label before rendering (e.g. via `SOURCE_LABELS_BY_TABLE`) and pass it explicitly as a prop.
|
|
16
|
+
- **`anchorProps`** — generated via `makeAnchorProps(url)` from the shared fixture helper; wraps the card in a navigable link.
|
|
17
|
+
|
|
18
|
+
## Usage Example
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { DataRoomDocCard } from '@/components/chat/entity-cards'
|
|
22
|
+
import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
|
|
23
|
+
import { dataRoomDocItem } from './__fixtures__/chat-cards'
|
|
24
|
+
|
|
25
|
+
// Data room document
|
|
26
|
+
<DataRoomDocCard
|
|
27
|
+
item={dataRoomDocItem}
|
|
28
|
+
badgeText="Data room"
|
|
29
|
+
anchorProps={makeAnchorProps(dataRoomDocItem.url ?? '#')}
|
|
30
|
+
/>
|
|
31
|
+
|
|
32
|
+
// Markdown / OpenFrame Docs document
|
|
33
|
+
<DataRoomDocCard
|
|
34
|
+
item={openframeDocsMarkdownItem}
|
|
35
|
+
badgeText="OpenFrame Docs"
|
|
36
|
+
anchorProps={makeAnchorProps(openframeDocsMarkdownItem.url ?? '#')}
|
|
37
|
+
/>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Source
|
|
41
|
+
|
|
42
|
+
[`DataRoomDocCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/DataRoomDocCard.stories.tsx)
|
|
@@ -1,41 +1,46 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook showcase
|
|
1
|
+
<!-- source-hash: 1540bbe5e22e7deb55cf8375776c08db -->
|
|
2
|
+
Storybook showcase file demonstrating all major features of the `DataTable` component, which is a headless wrapper over TanStack Table (`@tanstack/react-table`) with a card-row UI.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
- **`
|
|
7
|
-
- **`
|
|
8
|
-
- **`
|
|
9
|
-
- **`
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- **`makeDevices(count, startId?)`** — Deterministic fake device data generator seeded by index
|
|
6
|
+
- **`DataTable`** — Root compound component accepting a TanStack `table` instance
|
|
7
|
+
- **`DataTable.Header`** — Renders column headers with optional sort indicators
|
|
8
|
+
- **`DataTable.Body`** — Renders data rows with configurable empty state
|
|
9
|
+
- **`useDataTable`** — Hook that creates and manages the TanStack table instance
|
|
10
|
+
- **`multiSelectFilterFn`** — Filter function for multi-value column filters
|
|
11
|
+
- **Story exports**: `Basic`, `WithSorting` (and implied additional stories for filtering, selection, column visibility, etc.)
|
|
13
12
|
|
|
14
13
|
## Usage Example
|
|
15
14
|
|
|
16
15
|
```typescript
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<DataTable
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
16
|
+
// Minimal setup (Basic story pattern)
|
|
17
|
+
const columns = useMemo<ColumnDef<Device>[]>(() => [
|
|
18
|
+
{ accessorKey: 'hostname', header: 'Hostname', meta: { width: 'w-[260px]' } },
|
|
19
|
+
{
|
|
20
|
+
accessorKey: 'status',
|
|
21
|
+
header: 'Status',
|
|
22
|
+
cell: ({ row }) => <StatusTag status={row.original.status} />,
|
|
23
|
+
meta: { width: 'w-[140px]' },
|
|
24
|
+
},
|
|
25
|
+
], [])
|
|
26
|
+
|
|
27
|
+
const table = useDataTable<Device>({ data, columns })
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<DataTable table={table}>
|
|
31
|
+
<DataTable.Header />
|
|
32
|
+
<DataTable.Body emptyMessage="No devices" />
|
|
33
|
+
</DataTable>
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
// Client-side sorting (WithSorting story pattern)
|
|
37
|
+
const table = useDataTable<Device>({
|
|
38
|
+
data: sortedData,
|
|
39
|
+
columns,
|
|
40
|
+
clientSideSorting: true,
|
|
41
|
+
})
|
|
39
42
|
```
|
|
40
43
|
|
|
41
|
-
> **Note:** Row actions,
|
|
44
|
+
> **Note:** `useDataTable` defaults to `manualSorting: true` / `manualFiltering: true` for server-side use. Pass `clientSideSorting: true` or `clientSideFiltering: true` for in-memory operations. Row actions, chevron links, and selection checkboxes are declared as regular `ColumnDef` entries — not special props. Interactive cells that should not bubble clicks to `onRowClick` must wrap their content in a `data-no-row-click` div.
|
|
45
|
+
|
|
46
|
+
**Source:** [`DataTable.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/DataTable.stories.tsx)
|
|
@@ -1,38 +1,31 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `DatePicker`
|
|
1
|
+
<!-- source-hash: db07b4e2e8a6c654b5b46e0057a004cc -->
|
|
2
|
+
Storybook stories file for the `DatePicker` component, showcasing all variants, modes, and sub-components with interactive state management.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
|
7
|
-
|
|
8
|
-
| `Single` | Basic single-date picker,
|
|
9
|
-
| `SingleWithValue` | Single picker pre-seeded with today's date |
|
|
10
|
-
| `Range` | Date range picker
|
|
11
|
-
| `RangeWithValue` | Range picker pre-
|
|
12
|
-
| `RangeTwoMonths` | Range picker
|
|
6
|
+
| Story | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Single` | Basic single-date picker, empty initial state |
|
|
9
|
+
| `SingleWithValue` | Single-date picker pre-seeded with today's date |
|
|
10
|
+
| `Range` | Date range picker with `from`/`to` selection |
|
|
11
|
+
| `RangeWithValue` | Range picker pre-seeded with a 7-day window |
|
|
12
|
+
| `RangeTwoMonths` | Range picker rendering two calendar months |
|
|
13
13
|
| `Disabled` | Non-interactive picker in disabled state |
|
|
14
|
-
| `WithLabel` / `WithLabelAndError` | Picker with
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `InputWithTime` | `DatePickerInput` with `showTime`, pre-seeded with today |
|
|
22
|
-
| `InputWithTime24Hour` | `DatePickerInput` with `use24HourFormat` flag |
|
|
23
|
-
| `AllVariants` | Side-by-side showcase of all major variants |
|
|
14
|
+
| `WithLabel` / `WithLabelAndError` | Picker with a field label and optional error message |
|
|
15
|
+
| `CustomFormat` | Single picker using a custom `formatDate` callback |
|
|
16
|
+
| `WithConstraints` | Single picker locked to the next 30 days via `fromDate`/`toDate` |
|
|
17
|
+
| `InputStyle` | `DatePickerInput` — calendar-icon input field variant |
|
|
18
|
+
| `InputWithTime` / `InputWithTimeEmpty` | `DatePickerInput` with 12-hour time selector |
|
|
19
|
+
| `InputWithTime24Hour` | `DatePickerInput` with 24-hour time selector |
|
|
20
|
+
| `AllVariants` | Side-by-side showcase of every picker variant |
|
|
24
21
|
|
|
25
22
|
## Usage Example
|
|
26
23
|
|
|
27
24
|
```typescript
|
|
25
|
+
import { DatePicker, DatePickerInput, type DateRange } from "../components/ui/date-picker";
|
|
28
26
|
import { useState } from "react";
|
|
29
|
-
import {
|
|
30
|
-
DatePicker,
|
|
31
|
-
DatePickerInput,
|
|
32
|
-
type DateRange,
|
|
33
|
-
} from "../components/ui/date-picker";
|
|
34
27
|
|
|
35
|
-
// Single date
|
|
28
|
+
// Single date
|
|
36
29
|
function SingleExample() {
|
|
37
30
|
const [date, setDate] = useState<Date | undefined>();
|
|
38
31
|
return (
|
|
@@ -46,22 +39,28 @@ function SingleExample() {
|
|
|
46
39
|
);
|
|
47
40
|
}
|
|
48
41
|
|
|
49
|
-
//
|
|
42
|
+
// Date range with constraints
|
|
50
43
|
function RangeExample() {
|
|
51
44
|
const [range, setRange] = useState<DateRange | undefined>();
|
|
45
|
+
const today = new Date();
|
|
46
|
+
const maxDate = new Date();
|
|
47
|
+
maxDate.setDate(today.getDate() + 30);
|
|
48
|
+
|
|
52
49
|
return (
|
|
53
50
|
<DatePicker
|
|
54
51
|
mode="range"
|
|
55
|
-
placeholder="Select
|
|
52
|
+
placeholder="Select range"
|
|
56
53
|
value={range}
|
|
57
54
|
onChange={setRange}
|
|
55
|
+
fromDate={today}
|
|
56
|
+
toDate={maxDate}
|
|
58
57
|
numberOfMonths={2}
|
|
59
58
|
/>
|
|
60
59
|
);
|
|
61
60
|
}
|
|
62
61
|
|
|
63
|
-
// Input
|
|
64
|
-
function
|
|
62
|
+
// Input style with time selector
|
|
63
|
+
function InputWithTimeExample() {
|
|
65
64
|
const [date, setDate] = useState<Date | undefined>(new Date());
|
|
66
65
|
return (
|
|
67
66
|
<DatePickerInput
|
|
@@ -69,8 +68,13 @@ function InputTimeExample() {
|
|
|
69
68
|
value={date}
|
|
70
69
|
onChange={setDate}
|
|
71
70
|
showTime
|
|
71
|
+
use24HourFormat
|
|
72
72
|
label="Event Date"
|
|
73
73
|
/>
|
|
74
74
|
);
|
|
75
75
|
}
|
|
76
|
-
```
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Source
|
|
79
|
+
|
|
80
|
+
[`DatePicker.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/DatePicker.stories.tsx)
|
|
@@ -1,41 +1,58 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `EmbeddableChat` component, covering
|
|
1
|
+
<!-- source-hash: 9e8b462d0e5c8f06f95dbf57d2bb9d98 -->
|
|
2
|
+
Storybook visual stories for the `EmbeddableChat` component, covering new-user, returning-user, loading, error, and agent-mode states using mocked runtimes and NATS chat adapters.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
| Export
|
|
7
|
-
|
|
8
|
-
| `
|
|
9
|
-
| `
|
|
10
|
-
| `
|
|
11
|
-
| `
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
6
|
+
| Export / Identifier | Purpose |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `createMockRuntime()` | Builds a minimal `ChatRuntime` with stub endpoints (no real server calls) |
|
|
9
|
+
| `createMockMingoConfig()` | Base NATS adapter config; `getNatsWsUrl` returns `null` to keep WS idle |
|
|
10
|
+
| `createMockMingoConfigWithDialogs()` | Extends base config with a paginated dialog history, rename/archive callbacks, and archived dialog support |
|
|
11
|
+
| `createMockMingoConfigChatsLoading()` | Pins `isDialogsLoading: true` via a never-settling `fetchDialogs` promise |
|
|
12
|
+
| `createMockMingoConfigChatLoading()` | Resolves the dialog list but pins message loading via a never-settling `fetchDialogMessages` |
|
|
13
|
+
| `createMockMingoConfigChatsError()` | Rejects `fetchDialogs` to exercise the load-error + retry UI path |
|
|
14
|
+
| `createMockMingoConfigArchiveEmpty()` | Resolves an empty archived dialogs page to render the archive empty state |
|
|
15
|
+
| `SAMPLE_DIALOGS` | Eight canned `DialogItem` entries representing a returning user's chat history |
|
|
16
|
+
| `SAMPLE_QUICK_ACTIONS` | Five `MingoQuickAction` chips passed to `EmbeddableChat` for the welcome view |
|
|
17
|
+
| `FAE_AGENT_CONFIG` | Mocked `/api/ai-agents/fae` response for agent-mode quick-action chip rendering |
|
|
18
|
+
| `COMMANDS_URL` / `COMMANDS_PREFIX` | Constants shared between the runtime mock and the `fetch` shim for slash-command stubs |
|
|
15
19
|
|
|
16
20
|
## Usage Example
|
|
17
21
|
|
|
18
22
|
```typescript
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
// Wrap EmbeddableChat in the required providers for a story
|
|
24
|
+
function MemoizedRuntime({ children }: { children: React.ReactNode }) {
|
|
25
|
+
const runtime = useMemo(() => createMockRuntime(), [])
|
|
26
|
+
const queryClient = useMemo(() => new QueryClient(), [])
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<QueryClientProvider client={queryClient}>
|
|
30
|
+
<ChatRuntimeContext.Provider value={runtime}>
|
|
31
|
+
{children}
|
|
32
|
+
</ChatRuntimeContext.Provider>
|
|
33
|
+
</QueryClientProvider>
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Returning-user story with dialog history
|
|
38
|
+
export const ReturningUser: StoryObj<typeof EmbeddableChat> = {
|
|
39
|
+
render: () => (
|
|
40
|
+
<MemoizedRuntime>
|
|
41
|
+
<EmbeddableChat
|
|
42
|
+
mingoConfig={createMockMingoConfigWithDialogs()}
|
|
43
|
+
quickActions={SAMPLE_QUICK_ACTIONS}
|
|
44
|
+
/>
|
|
45
|
+
</MemoizedRuntime>
|
|
32
46
|
),
|
|
33
|
-
|
|
47
|
+
play: async ({ canvasElement }) => {
|
|
48
|
+
const canvas = within(canvasElement)
|
|
49
|
+
await userEvent.click(canvas.getByRole('button', { name: /history/i }))
|
|
50
|
+
},
|
|
34
51
|
}
|
|
35
52
|
```
|
|
36
53
|
|
|
37
54
|
## Notes
|
|
38
55
|
|
|
39
|
-
- The `
|
|
40
|
-
-
|
|
41
|
-
-
|
|
56
|
+
- The `pending<T>()` helper (`new Promise<T>(() => {})`) is the idiomatic way to freeze a loading state in Storybook without fake timers.
|
|
57
|
+
- The `fetch` shim intercepts `COMMANDS_URL` and `AI_AGENT_CONFIG_PREFIX` requests so agent-mode and slash-command UI renders without a live backend.
|
|
58
|
+
- Source: [`EmbeddableChat.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/EmbeddableChat.stories.tsx)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!-- source-hash: b386b620f40c6970f6aa58f7c44bc3eb -->
|
|
2
|
+
Storybook stories for the `NoData` empty-state component, covering the full range of compositional variants from a complete layout to individual sub-components.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Default` | Full composition with icon, title, description, feature actions, and Mingo CTA button |
|
|
9
|
+
| `MessageTitleOnly` | Minimal state showing only an icon and title |
|
|
10
|
+
| `WithoutActions` | Layout without the feature actions block |
|
|
11
|
+
| `WithoutButton` | Layout without the footer CTA button |
|
|
12
|
+
| `TwoActions` / `FourActions` | Dynamic action block with 2 or 4 items |
|
|
13
|
+
| `ButtonAsLink` | CTA button rendered as an anchor (`href`) instead of a click handler |
|
|
14
|
+
| `CustomButton` | Escape-hatch story passing arbitrary JSX via the `button` prop |
|
|
15
|
+
| `StandaloneActions` | Renders `NoDataActions` + `NoDataAction` sub-components in isolation |
|
|
16
|
+
| `StandaloneMessage` | Renders the `NoDataMessage` sub-component in isolation |
|
|
17
|
+
| `Showcase` | Side-by-side gallery of the three most common configurations |
|
|
18
|
+
|
|
19
|
+
## Usage Example
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
// Full composition (mirrors the Default story)
|
|
23
|
+
<NoData
|
|
24
|
+
icon={<Inbox />}
|
|
25
|
+
title="No data available"
|
|
26
|
+
description="Start by adding an item"
|
|
27
|
+
actions={[
|
|
28
|
+
{ icon: <Zap />, label: 'Real-time sync' },
|
|
29
|
+
{ icon: <Sparkles />, label: 'Smart suggestions' },
|
|
30
|
+
{ icon: <Database />, label: 'Unlimited storage' },
|
|
31
|
+
]}
|
|
32
|
+
buttonLabel="Ask Mingo about Item"
|
|
33
|
+
buttonIcon={<MingoIcon className="size-5" />}
|
|
34
|
+
onButtonClick={() => openMingoPanel()}
|
|
35
|
+
/>
|
|
36
|
+
|
|
37
|
+
// Custom footer via escape hatch
|
|
38
|
+
<NoData
|
|
39
|
+
icon={<Settings />}
|
|
40
|
+
title="No sources configured"
|
|
41
|
+
description="Connect a source to get started"
|
|
42
|
+
button={
|
|
43
|
+
<div className="flex gap-2">
|
|
44
|
+
<Button variant="outline" leftIcon={<Plus />}>Connect source</Button>
|
|
45
|
+
<Button variant="transparent" leftIcon={<FileText />}>View docs</Button>
|
|
46
|
+
</div>
|
|
47
|
+
}
|
|
48
|
+
/>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Notes
|
|
52
|
+
|
|
53
|
+
- Stories are registered under **UI/EmptyState** in the Storybook sidebar.
|
|
54
|
+
- `icon`, `actions`, `button`, `buttonIcon`, `onButtonClick`, and `buttonProps` controls are disabled in the Storybook controls panel; `title`, `description`, and `buttonLabel` accept free-text input.
|
|
55
|
+
- The `MingoIcon` CTA uses design-token CSS variables (`--ods-flamingo-cyan-base`) for brand-consistent colouring.
|