@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,22 +1,23 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `Tag` UI component, covering all
|
|
1
|
+
<!-- source-hash: f18130ebfbca951caf39d3dd0646a0a4 -->
|
|
2
|
+
Storybook stories for the `Tag` UI component, covering all variants, icon/close button combinations, disabled states, and composite showcase renders.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
| Export | Description |
|
|
7
|
-
|
|
8
|
-
| `Primary` |
|
|
9
|
-
| `Outline` |
|
|
10
|
-
| `Success` / `Warning` / `Error` / `Critical` / `Grey` | Semantic
|
|
11
|
-
| `WithIcon` | Tag with a leading icon |
|
|
12
|
-
| `WithCloseButton` | Tag with
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Primary` | Tag with `primary` variant |
|
|
9
|
+
| `Outline` | Tag with `outline` variant |
|
|
10
|
+
| `Success` / `Warning` / `Error` / `Critical` / `Grey` | Semantic variant stories |
|
|
11
|
+
| `WithIcon` | Tag with a leading lucide icon |
|
|
12
|
+
| `WithCloseButton` | Tag with an `onClose` dismiss handler |
|
|
13
13
|
| `WithIconAndClose` | Tag combining icon and close button |
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
14
|
+
| `AllVariants` | Side-by-side showcase of all 7 variants |
|
|
15
|
+
| `AllWithIcons` | All variants rendered with icons |
|
|
16
|
+
| `AllWithClose` | All variants rendered with close buttons |
|
|
17
|
+
| `Disabled` | Single disabled tag |
|
|
18
|
+
| `DisabledWithIconAndClose` | Disabled tag with icon and close |
|
|
19
|
+
| `AllDisabled` | All variants in disabled state |
|
|
18
20
|
| `AllWithIconAndClose` | All variants with both icon and close |
|
|
19
|
-
| `DisabledWithIconAndClose` | Disabled state with full feature set |
|
|
20
21
|
|
|
21
22
|
## Usage Example
|
|
22
23
|
|
|
@@ -27,26 +28,30 @@ import { Smile } from 'lucide-react';
|
|
|
27
28
|
// Basic variant
|
|
28
29
|
<Tag variant="success" label="Active" />
|
|
29
30
|
|
|
30
|
-
// With icon
|
|
31
|
-
<Tag variant="primary" label="Category" icon={<Smile className="size-5" />} />
|
|
32
|
-
|
|
33
|
-
// Dismissible
|
|
34
|
-
<Tag variant="warning" label="Pending" onClose={() => handleRemove()} />
|
|
35
|
-
|
|
36
|
-
// Full featured
|
|
31
|
+
// With icon and dismissible close button
|
|
37
32
|
<Tag
|
|
38
|
-
variant="
|
|
39
|
-
label="
|
|
33
|
+
variant="primary"
|
|
34
|
+
label="Assigned"
|
|
40
35
|
icon={<Smile className="size-5" />}
|
|
41
36
|
onClose={() => handleRemove()}
|
|
42
|
-
disabled={false}
|
|
43
37
|
/>
|
|
38
|
+
|
|
39
|
+
// Disabled state
|
|
40
|
+
<Tag variant="warning" label="Pending" disabled />
|
|
44
41
|
```
|
|
45
42
|
|
|
46
43
|
## Variants
|
|
47
44
|
|
|
48
|
-
|
|
45
|
+
| Variant | Typical Use |
|
|
46
|
+
|---|---|
|
|
47
|
+
| `primary` | Default / general purpose |
|
|
48
|
+
| `outline` | Subtle / secondary |
|
|
49
|
+
| `success` | Positive status |
|
|
50
|
+
| `warning` | Cautionary status |
|
|
51
|
+
| `error` | Failure / invalid |
|
|
52
|
+
| `critical` | High-severity alert |
|
|
53
|
+
| `grey` | Neutral / inactive |
|
|
54
|
+
|
|
55
|
+
## Source
|
|
49
56
|
|
|
50
|
-
|
|
51
|
-
primary | outline | success | warning | error | critical | grey
|
|
52
|
-
```
|
|
57
|
+
[`Tag.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/Tag.stories.tsx)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!-- source-hash: ac60f93004b9e402b8bae16130a1e2c8 -->
|
|
2
|
+
Storybook stories for `ThinkingDisplay`, a collapsible reasoning block that surfaces AI "thinking" segments in the chat interface.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `Thought` | `Story` | Finished thought — collapsed to a single line, expandable via chevron |
|
|
9
|
+
| `Streaming` | `Story` | Active streaming state — shows "Thinking" label with dots loader, collapse disabled |
|
|
10
|
+
| `LongMarkdown` | `Story` | Multi-paragraph markdown thought with headings, lists, and inline code |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { ThinkingDisplay } from "../components/chat/thinking-display";
|
|
16
|
+
|
|
17
|
+
// Completed thought (collapsed by default)
|
|
18
|
+
<ThinkingDisplay text="Homebrew is present, so `brew install --cask slack` is the cleanest path." />
|
|
19
|
+
|
|
20
|
+
// Actively streaming
|
|
21
|
+
<ThinkingDisplay
|
|
22
|
+
text="Evaluating install options..."
|
|
23
|
+
isStreaming={true}
|
|
24
|
+
/>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Story Variants
|
|
28
|
+
|
|
29
|
+
| Story | `isStreaming` | Content |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| `Thought` | `false` | Short single-line reasoning |
|
|
32
|
+
| `Streaming` | `true` | Same short text, streaming UI active |
|
|
33
|
+
| `LongMarkdown` | `false` | Multi-section markdown with bold, numbered list, inline code |
|
|
34
|
+
|
|
35
|
+
## Notes
|
|
36
|
+
|
|
37
|
+
- All stories are wrapped in a `640px` max-width container using `--color-bg` to match the chat canvas
|
|
38
|
+
- `autodocs` is enabled — Storybook auto-generates API docs from prop types
|
|
39
|
+
- The decorator (`plainDecorator`) provides consistent padding and background without additional story boilerplate
|
|
40
|
+
|
|
41
|
+
## Source
|
|
42
|
+
|
|
43
|
+
[`ThinkingDisplay.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ThinkingDisplay.stories.tsx)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<!-- source-hash: 683edd8a6fb103f7ce880f7847fc90e2 -->
|
|
2
|
+
Storybook stories for the `TicketCard` board component, covering drag-and-drop context setup and all visual/behavioral variants.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `Default` | `Story` | Full card with all fields: title, device/org, priority, assignee, tags, timestamp |
|
|
9
|
+
| `Minimal` | `Story` | Only required fields — all optional rows absent |
|
|
10
|
+
| `LongContent` | `Story` | Truncation behavior for long titles and device/org rows |
|
|
11
|
+
| `ManyAssigneesAndTags` | `Story` | Overflow badges (`+N`) for assignees and tag pills |
|
|
12
|
+
| `WithNewMessage` | `Story` | Colored "New Message" tag and tinted card border via `columnColor` |
|
|
13
|
+
| `PendingClientApproval` | `Story` | Collapsed client approval row with approve/reject handlers |
|
|
14
|
+
| `PendingTechApproval` | `Story` | Yellow shield admin approval header variant |
|
|
15
|
+
| `Approved` | `Story` | Green checkmark resolved state |
|
|
16
|
+
| `AsLink` | `Story` | Full-card anchor overlay via `href` |
|
|
17
|
+
| `DragDisabled` | `Story` | Pinned card — no grab cursor, sortable listeners off |
|
|
18
|
+
| `DragOverlay` | `Story` | Drag-overlay presentation (tilted + elevated shadow) |
|
|
19
|
+
| `Priorities` | `Story` | All four priority colors (`low`, `medium`, `high`, `urgent`) side by side |
|
|
20
|
+
| `Harness` | Helper | Wraps `TicketCard` in the minimal `DndContext` + `SortableContext` required by `useSortable` |
|
|
21
|
+
|
|
22
|
+
## Usage Example
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
// Render the card in a DnD harness (as stories do)
|
|
26
|
+
import { DndContext } from '@dnd-kit/core'
|
|
27
|
+
import { SortableContext } from '@dnd-kit/sortable'
|
|
28
|
+
import { TicketCard } from '../components/features/board'
|
|
29
|
+
|
|
30
|
+
const ticket = {
|
|
31
|
+
id: 'ticket-1',
|
|
32
|
+
title: 'VPN drops every few minutes',
|
|
33
|
+
ticketNumber: '#1042',
|
|
34
|
+
status: 'TECH_REQUIRED',
|
|
35
|
+
priority: 'high',
|
|
36
|
+
assignees: [{ id: 'u1', initials: 'RS', name: 'Rachel Santos' }],
|
|
37
|
+
tags: ['network', 'vpn'],
|
|
38
|
+
createdAt: new Date().toISOString(),
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function Example() {
|
|
42
|
+
return (
|
|
43
|
+
<DndContext>
|
|
44
|
+
<SortableContext items={[ticket.id]}>
|
|
45
|
+
<TicketCard
|
|
46
|
+
ticket={ticket}
|
|
47
|
+
columnId="TECH_REQUIRED"
|
|
48
|
+
columnColor="#2890fa"
|
|
49
|
+
onApprove={(ticketId, requestId) => console.log('approve', ticketId, requestId)}
|
|
50
|
+
onReject={(ticketId, requestId) => console.log('reject', ticketId, requestId)}
|
|
51
|
+
/>
|
|
52
|
+
</SortableContext>
|
|
53
|
+
</DndContext>
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
> **Note:** `TicketCard` internally calls `useSortable`, which requires both `DndContext` and `SortableContext` ancestors with the card's own `id` registered. In the app the Board provides these; in isolation (tests, stories) you must supply the `Harness` wrapper shown above.
|
|
59
|
+
|
|
60
|
+
**Source:** [`TicketCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/TicketCard.stories.tsx)
|
|
@@ -1,40 +1,48 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
1
|
+
<!-- source-hash: 9c86c7c558b8e84471d042872e05ba8a -->
|
|
2
2
|
Storybook stories for the `TicketInfoSection` component, covering collapsed, expanded, interactive, and minimal display states of the collapsible ticket info bar.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Collapsed` | Default collapsed header row showing org, user, device, and status |
|
|
9
|
+
| `Expanded` | Fully populated expanded state with description, attachments, tags, notes, and assignee |
|
|
10
|
+
| `Interactive` | Stateful story demonstrating live expand/collapse toggling with `useState` |
|
|
11
|
+
| `Minimal` | Expanded state with no optional data beyond required fields and assignee options |
|
|
10
12
|
|
|
11
13
|
## Usage Example
|
|
12
14
|
|
|
13
15
|
```typescript
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
// Basic collapsed header
|
|
16
|
+
// Collapsed header row
|
|
17
17
|
<TicketInfoSection
|
|
18
18
|
organization={{ name: 'Acme Corp' }}
|
|
19
|
-
user="
|
|
19
|
+
user="Unassigned"
|
|
20
20
|
device={{ name: 'WIN-SERVER-01', icon: <Monitor className="size-4" /> }}
|
|
21
21
|
status="TECH_REQUIRED"
|
|
22
22
|
expanded={false}
|
|
23
23
|
/>
|
|
24
24
|
|
|
25
|
-
// Expanded with
|
|
25
|
+
// Expanded with full detail sections
|
|
26
26
|
<TicketInfoSection
|
|
27
27
|
organization={{ name: 'Acme Corp' }}
|
|
28
|
-
user="
|
|
29
|
-
device={{ name: 'WIN-SERVER-01' }}
|
|
30
|
-
status="
|
|
28
|
+
user="Unassigned"
|
|
29
|
+
device={{ name: 'WIN-SERVER-01', icon: <Monitor className="size-4" /> }}
|
|
30
|
+
status="TECH_REQUIRED"
|
|
31
31
|
expanded={true}
|
|
32
|
-
|
|
32
|
+
assigned={{
|
|
33
|
+
currentAssignee: { id: 'u1', name: 'Roman Smith' },
|
|
34
|
+
options: [{ value: 'u1', label: 'Roman Smith' }],
|
|
35
|
+
onAssign={(userId) => console.log('Assigned:', userId)}
|
|
36
|
+
}}
|
|
37
|
+
createdAt="2025/07/12, 22:27"
|
|
38
|
+
description="Ticket description with **markdown** support."
|
|
33
39
|
attachments={mockAttachments}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
onAddNote={(text) => console.log('
|
|
37
|
-
onEditNote={(id) => console.log('
|
|
38
|
-
onDeleteNote={(id) => console.log('
|
|
40
|
+
tags={['Client-onboarding', 'Process-management']}
|
|
41
|
+
notes={mockNotes}
|
|
42
|
+
onAddNote={(text) => console.log('Note added:', text)}
|
|
43
|
+
onEditNote={(id) => console.log('Note edited:', id)}
|
|
44
|
+
onDeleteNote={(id) => console.log('Note deleted:', id)}
|
|
39
45
|
/>
|
|
40
|
-
```
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Source:** [`TicketInfoSection.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/TicketInfoSection.stories.tsx)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<!-- source-hash: f40f70a6039dee228c17777e9753c266 -->
|
|
2
|
+
Storybook stories for the `TimeTracker` feature, providing interactive demos of the time tracker panel and header button across all status states, along with a full playground with simulated server-side ticket search.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
- **`useTimeTrackerHost`** — Custom React hook that simulates the OpenFrame frontend backend: manages timer state transitions (`ready` → `tracking` → `paused`), ticket search (sync or async with 350ms debounce), and entry persistence
|
|
7
|
+
- **`HeaderBar`** — Mock app header strip used to correctly anchor the `TimeTrackerHeaderButton` popover
|
|
8
|
+
- **Panel Stories** — `PanelReady`, `PanelTracking`, `PanelPaused`, `PanelFinishGate`, `PanelNoEntries`
|
|
9
|
+
- **Header Button Stories** — `HeaderButtonIdle`, `HeaderButtonTracking`, `HeaderButtonPaused`
|
|
10
|
+
- **`Playground`** — Fully interactive story combining provider, header button, and async ticket search
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
// Minimal host setup for a custom story
|
|
16
|
+
function MyStory() {
|
|
17
|
+
const host = useTimeTrackerHost({
|
|
18
|
+
status: 'tracking',
|
|
19
|
+
runningSince: Date.now() - 30_000,
|
|
20
|
+
selectedTicketId: 'TICK-102',
|
|
21
|
+
serverSearch: true, // enables async ticket filtering
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<TimeTrackerProvider {...host}>
|
|
26
|
+
<HeaderBar />
|
|
27
|
+
<TimeTrackerPanel {...host} onClose={() => {}} />
|
|
28
|
+
</TimeTrackerProvider>
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The `HostInit` interface accepts `status`, `runningSince`, `accumulatedMs`, `selectedTicketId`, `notes`, `lastEntries`, and `serverSearch` to seed each story's initial state. `formatDuration` and `formatDate` are used internally to format submitted entries.
|
|
34
|
+
|
|
35
|
+
**Source:** [`TimeTracker.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/TimeTracker.stories.tsx)
|
|
@@ -1,40 +1,46 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `Toaster`
|
|
1
|
+
<!-- source-hash: a4b281a933e60702674f5785f8ad266a -->
|
|
2
|
+
Storybook stories for the `Toaster` component system, providing static previews and interactive demos for toast notifications built on Sonner with ODS-styled cards.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
| Export | Type | Description |
|
|
7
|
-
|
|
8
|
-
| `AllVariants` | Story | Static grid
|
|
9
|
-
| `Playground` | Story |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `AllVariants` | Story | Static grid showing all five toast variants plus edge cases (title-only, description-only, non-dismissible, persistent) |
|
|
9
|
+
| `Playground` | Story | Interactive arg-driven story for tweaking `ToastCard` props via Storybook controls |
|
|
10
10
|
| `CommandApprovalCollapsed` | Story | `CommandApprovalToast` in its default collapsed state |
|
|
11
|
-
| `CommandApprovalExpanded` | Story | `CommandApprovalToast`
|
|
12
|
-
| `CommandApprovalPerTool` | Story |
|
|
13
|
-
| `CommandApprovalLive` | Story | Fires real Sonner toasts via `showCommandApprovalToast()` with
|
|
14
|
-
| `LiveTriggers` | Story | Button
|
|
11
|
+
| `CommandApprovalExpanded` | Story | `CommandApprovalToast` pre-expanded to show command preview and Approve/Reject actions |
|
|
12
|
+
| `CommandApprovalPerTool` | Story | Renders one approval toast per supported tool type to verify icon mapping |
|
|
13
|
+
| `CommandApprovalLive` | Story | Fires real Sonner toasts via `showCommandApprovalToast()` with approve/reject callbacks |
|
|
14
|
+
| `LiveTriggers` | Story | Button grid for firing all five variants plus edge cases using the live `toast()` and `showToast()` APIs |
|
|
15
15
|
|
|
16
16
|
## Usage Example
|
|
17
17
|
|
|
18
18
|
```typescript
|
|
19
|
-
//
|
|
20
|
-
import {
|
|
21
|
-
<Toaster />
|
|
19
|
+
// Fire a warning toast from anywhere in the app
|
|
20
|
+
import { showToast } from '../components/ui/toaster';
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
showToast({
|
|
23
|
+
variant: 'warning',
|
|
24
|
+
title: 'Device Package limit',
|
|
25
|
+
description: 'Extra devices will be billed at pay-as-you-go rates.',
|
|
26
|
+
duration: 4000,
|
|
27
|
+
dismissible: true,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Fire a command approval toast with action callbacks
|
|
31
|
+
import { showCommandApprovalToast } from '../components/ui/toaster';
|
|
32
|
+
import { toast } from '../hooks/use-toast';
|
|
33
|
+
import { ToolTypeValues } from '../types/tool.types';
|
|
26
34
|
|
|
27
|
-
// Fire a command-approval toast requiring tech sign-off
|
|
28
|
-
import { showCommandApprovalToast } from '@/components/ui/toaster';
|
|
29
35
|
showCommandApprovalToast({
|
|
30
36
|
title: 'Tech Required',
|
|
31
37
|
description: 'Approval is required to execute the command.',
|
|
32
38
|
command: 'fleetctl query --hosts mac-* "SELECT * FROM system_info"',
|
|
33
39
|
toolType: ToolTypeValues.FLEET_MDM,
|
|
34
|
-
approvalDescription: 'Queries system info across all macOS
|
|
40
|
+
approvalDescription: 'Queries system info across all macOS hosts.',
|
|
35
41
|
onApprove: () => toast({ variant: 'success', title: 'Command approved' }),
|
|
36
|
-
onReject:
|
|
42
|
+
onReject: () => toast({ variant: 'error', title: 'Command rejected' }),
|
|
37
43
|
});
|
|
38
44
|
```
|
|
39
45
|
|
|
40
|
-
|
|
46
|
+
Place `<Toaster />` once near your app root to render the Sonner portal. Supported variants: `default`, `success`, `warning`, `error`, `info`.
|
|
@@ -1,33 +1,43 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook
|
|
1
|
+
<!-- source-hash: 8a4662b67f2730f64ed12f36116fd1a5 -->
|
|
2
|
+
Storybook stories for the `ToolBadge` component, covering all supported OpenFrame tool type variants with individual and combined display stories.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `Default` | `Story` | `OPENFRAME_RMM` badge |
|
|
9
|
+
| `Fleet` | `Story` | `FLEET_MDM` badge |
|
|
10
|
+
| `MeshCentral` | `Story` | `MESHCENTRAL` badge |
|
|
11
|
+
| `Authentik` | `Story` | `AUTHENTIK` badge |
|
|
12
|
+
| `OpenFrame` | `Story` | `OPENFRAME` badge |
|
|
13
|
+
| `OpenFrameChat` | `Story` | `OPENFRAME_CHAT` badge |
|
|
14
|
+
| `OpenFrameClient` | `Story` | `OPENFRAME_CLIENT` badge |
|
|
15
|
+
| `System` | `Story` | `SYSTEM` badge |
|
|
16
|
+
| `AllTools` | `Story` | Side-by-side comparison of all badges |
|
|
17
|
+
|
|
18
|
+
**Supported `toolType` values:** `OPENFRAME_RMM` · `FLEET_MDM` · `MESHCENTRAL` · `AUTHENTIK` · `OPENFRAME` · `OPENFRAME_CHAT` · `OPENFRAME_CLIENT` · `SYSTEM`
|
|
10
19
|
|
|
11
20
|
## Usage Example
|
|
12
21
|
|
|
13
22
|
```typescript
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</div>
|
|
29
|
-
),
|
|
30
|
-
};
|
|
23
|
+
import { ToolBadge } from '../components/platform/ToolBadge';
|
|
24
|
+
|
|
25
|
+
// Single badge
|
|
26
|
+
<ToolBadge toolType="OPENFRAME_RMM" />
|
|
27
|
+
|
|
28
|
+
// With optional class override
|
|
29
|
+
<ToolBadge toolType="FLEET_MDM" className="my-custom-class" />
|
|
30
|
+
|
|
31
|
+
// Inline comparison (mirrors AllTools story)
|
|
32
|
+
<div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
|
|
33
|
+
<ToolBadge toolType="OPENFRAME" />
|
|
34
|
+
<ToolBadge toolType="OPENFRAME_CHAT" />
|
|
35
|
+
<ToolBadge toolType="OPENFRAME_CLIENT" />
|
|
36
|
+
</div>
|
|
31
37
|
```
|
|
32
38
|
|
|
33
|
-
|
|
39
|
+
## Notes
|
|
40
|
+
|
|
41
|
+
- Stories live under the **Platform/ToolBadge** Storybook path with `autodocs` enabled.
|
|
42
|
+
- The `toolType` arg is exposed as a `select` control in the Storybook UI, making it easy to cycle through all tool types interactively.
|
|
43
|
+
- See [`ToolBadge`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/components/platform/ToolBadge.tsx) and [`ToolType`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/types/tool.types.ts) for implementation details.
|
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `ToolExecutionDisplay` chat component, covering executing, success, and failure states in
|
|
1
|
+
<!-- source-hash: 533347f65ca290eed5d328bc474e10fa -->
|
|
2
|
+
Storybook stories for the `ToolExecutionDisplay` chat component, covering executing, success, and failure states in both collapsed and expanded views.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
| Export | Description |
|
|
7
|
-
|
|
8
|
-
| `CollapsedExecuting` |
|
|
9
|
-
| `CollapsedSuccess` |
|
|
10
|
-
| `CollapsedFailure` |
|
|
11
|
-
| `constrainedDecorator` | Helper
|
|
7
|
+
|---|---|
|
|
8
|
+
| `CollapsedExecuting` | Story showing spinner state while a tool is actively running |
|
|
9
|
+
| `CollapsedSuccess` | Story showing green check after successful RMM script execution |
|
|
10
|
+
| `CollapsedFailure` | Story showing red error icon after a failed MDM profile deployment |
|
|
11
|
+
| `constrainedDecorator` | Helper that wraps stories in a max-width container (default 400px) to simulate chat bubble constraints |
|
|
12
|
+
|
|
13
|
+
### Fixture Data
|
|
14
|
+
|
|
15
|
+
| Variable | Type | Description |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `executingMessage` | `ToolExecutionData` | In-progress RMM `run_script` call |
|
|
18
|
+
| `executedSuccessMessage` | `ToolExecutionData` | Completed RMM `run_script` with process list output |
|
|
19
|
+
| `executedFailureMessage` | `ToolExecutionData` | Failed Fleet MDM `deploy_profile` with error string |
|
|
12
20
|
|
|
13
21
|
## Usage Example
|
|
14
22
|
|
|
@@ -17,25 +25,19 @@ import { ToolExecutionDisplay } from "../components/chat/tool-execution-display"
|
|
|
17
25
|
import type { ToolExecutionData } from "../components/chat/types";
|
|
18
26
|
|
|
19
27
|
const message: ToolExecutionData = {
|
|
20
|
-
type: "
|
|
28
|
+
type: "EXECUTING_TOOL",
|
|
21
29
|
integratedToolType: "OPENFRAME_RMM",
|
|
22
30
|
toolFunction: "run_script",
|
|
23
31
|
parameters: { RunAsUser: "False", timeoutSeconds: 60 },
|
|
24
|
-
result: "Script output here...",
|
|
25
|
-
success: true,
|
|
26
32
|
};
|
|
27
33
|
|
|
34
|
+
// Render the component directly in your chat UI
|
|
28
35
|
<ToolExecutionDisplay message={message} />
|
|
29
36
|
```
|
|
30
37
|
|
|
31
|
-
##
|
|
32
|
-
|
|
33
|
-
Three fixture payloads cover the core display states:
|
|
34
|
-
|
|
35
|
-
| Fixture | `type` | `integratedToolType` | `success` |
|
|
36
|
-
|---------|--------|----------------------|-----------|
|
|
37
|
-
| `executingMessage` | `EXECUTING_TOOL` | `OPENFRAME_RMM` | — |
|
|
38
|
-
| `executedSuccessMessage` | `EXECUTED_TOOL` | `OPENFRAME_RMM` | `true` |
|
|
39
|
-
| `executedFailureMessage` | `EXECUTED_TOOL` | `FLEET_MDM` | `false` |
|
|
38
|
+
## Notes
|
|
40
39
|
|
|
41
|
-
|
|
40
|
+
- Stories are registered under `Chat/Admin/ToolExecutionDisplay` in Storybook.
|
|
41
|
+
- The `constrainedDecorator` accepts an optional `width` argument (default `400`) to test layout at narrow chat widths.
|
|
42
|
+
- The success fixture includes a realistic suspicious process output to validate result rendering.
|
|
43
|
+
- Source: [`ToolExecutionDisplay.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ToolExecutionDisplay.stories.tsx)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!-- source-hash: 31d09281389b3132fd1d2113059efe86 -->
|
|
2
|
+
Storybook stories for the **client (Fae) variant** of `ToolExecutionDisplay`, demonstrating the component rendered with `assistantType="fae"` — which hides the tool icon compared to the Admin variant.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `CollapsedExecuting` | `Story` | Card in executing state — spinner, 2-line parameter preview, no tool icon |
|
|
9
|
+
| `CollapsedSuccess` | `Story` | Card in success state — green check indicator, no tool icon |
|
|
10
|
+
| `meta` | `Meta` | Storybook metadata registering under `Chat/Client/ToolExecutionDisplay` with `assistantType: "fae"` default arg |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
// Render the Fae (client) tool-execution card directly in tests or other stories
|
|
16
|
+
import { ToolExecutionDisplay } from "../components/chat/tool-execution-display";
|
|
17
|
+
import type { ToolExecutionData } from "../components/chat/types";
|
|
18
|
+
|
|
19
|
+
const message: ToolExecutionData = {
|
|
20
|
+
type: "EXECUTING_TOOL",
|
|
21
|
+
integratedToolType: "OPENFRAME_RMM",
|
|
22
|
+
toolFunction: "run_script",
|
|
23
|
+
parameters: { RunAsUser: "False", timeoutSeconds: 60 },
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
<ToolExecutionDisplay assistantType="fae" message={message} />;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Notes
|
|
30
|
+
|
|
31
|
+
- `assistantType="fae"` is the only prop that differentiates this from the Admin card — no other props or component logic differs.
|
|
32
|
+
- The `constrainedDecorator` wraps each story in a `400px` max-width container with the design-system background token (`--color-bg`) to approximate the chat panel context.
|
|
33
|
+
- Source: [`ToolExecutionDisplayClient.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ToolExecutionDisplayClient.stories.tsx)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- source-hash: 382f5135f62cf6f535679afcc02e0379 -->
|
|
2
|
+
Storybook stories for the `VideoBitesStrip` feature component, covering mixed aspect ratios, marquee behavior, thumbnail fallbacks, auto-scroll toggling, and unpublished filtering.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `MixedRatiosMarquee` | `Story` | Seven bites with mixed aspect ratios; marquee activates on overflow |
|
|
9
|
+
| `TwoBitesNoMarquee` | `Story` | Two bites — no overflow, no marquee, no clone rows, no chevrons |
|
|
10
|
+
| `NoThumbnails` | `Story` | All thumbnails stripped; verifies `PlayIcon` fallback and hover-mount preview |
|
|
11
|
+
| `AutoScrollDisabled` | `Story` | `autoScroll=false` — plain scrollable row with chevrons only |
|
|
12
|
+
| `AllUnpublishedRendersNull` | `Story` | All bites unpublished; asserts component returns `null` |
|
|
13
|
+
|
|
14
|
+
**Helpers**
|
|
15
|
+
|
|
16
|
+
- `bite(over)` — factory that merges partial `VideoBiteStripItem` overrides onto a base fixture, using public-domain Google CDN MP4s for realistic hover-preview testing
|
|
17
|
+
- `PROFILE` — shared presenter profile fixture (`name`, `avatarUrl`, `subtitle`)
|
|
18
|
+
- `MANY_MIXED` — seven-item array covering portrait, landscape, square, and no-thumbnail variants
|
|
19
|
+
|
|
20
|
+
## Usage Example
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { MixedRatiosMarquee } from './VideoBitesStrip.stories'
|
|
24
|
+
|
|
25
|
+
// Render the story directly in a test or composition
|
|
26
|
+
<MixedRatiosMarquee.args.bites /> // not typical — use via Storybook or play() functions
|
|
27
|
+
|
|
28
|
+
// Or compose your own fixture with the bite() pattern:
|
|
29
|
+
const items: VideoBiteStripItem[] = [
|
|
30
|
+
bite({ title: 'Custom Clip', aspect_ratio: '16:9' }),
|
|
31
|
+
bite({ title: 'No Thumb', thumbnail_url: undefined }),
|
|
32
|
+
]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Source
|
|
36
|
+
|
|
37
|
+
[`VideoBitesStrip.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/VideoBitesStrip.stories.tsx)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!-- source-hash: 71794302d8c9acc340a02fd7550a5df2 -->
|
|
2
|
+
Storybook stories for the `WarningBlock` component, demonstrating all usage variants from minimal banners to the full New Device onboarding warning stack.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Default` | Minimal story — banner title with a single description paragraph |
|
|
9
|
+
| `AntivirusWarning` | Warning with a `PathsDisplay` exclusion folder list and closing text |
|
|
10
|
+
| `DoctorMode` | Warning with a descriptive paragraph and a single copyable doctor command |
|
|
11
|
+
| `AdministratorPrivileges` | Warning with a platform icon row (no copy button) framed by paragraphs |
|
|
12
|
+
| `NewDeviceBlocks` | All three New Device warnings stacked, matching the Figma layout |
|
|
13
|
+
|
|
14
|
+
## Usage Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
// Minimal warning block
|
|
18
|
+
<WarningBlock title="Administrator privileges are required.">
|
|
19
|
+
<p className="text-h4 text-ods-text-primary">
|
|
20
|
+
Run the command with appropriate permissions for your platform.
|
|
21
|
+
</p>
|
|
22
|
+
</WarningBlock>
|
|
23
|
+
|
|
24
|
+
// With PathsDisplay — antivirus exclusion paths
|
|
25
|
+
<WarningBlock title="Your antivirus may block OpenFrame installation.">
|
|
26
|
+
<PathsDisplay
|
|
27
|
+
title="Add these folders to your antivirus exclusions list:"
|
|
28
|
+
paths={[
|
|
29
|
+
'C:\\Program Files\\OpenFrame\\',
|
|
30
|
+
'C:\\Users\\[Username]\\AppData\\Local\\OpenFrame\\',
|
|
31
|
+
]}
|
|
32
|
+
onCopyPath={(path) => navigator.clipboard.writeText(path)}
|
|
33
|
+
/>
|
|
34
|
+
</WarningBlock>
|
|
35
|
+
|
|
36
|
+
// With OSTypeIcon — no copy button, platform-specific instruction
|
|
37
|
+
<WarningBlock title="Administrator privileges are required.">
|
|
38
|
+
<PathsDisplay
|
|
39
|
+
paths={['Run PowerShell as Local Administrator']}
|
|
40
|
+
showCopyButtons={false}
|
|
41
|
+
leadingIcon={<OSTypeIcon osType="windows" size="w-6 h-6" />}
|
|
42
|
+
/>
|
|
43
|
+
</WarningBlock>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Notes
|
|
47
|
+
|
|
48
|
+
- Body content is fully composable via `children` — mix paragraphs and multiple `PathsDisplay` lists freely.
|
|
49
|
+
- Typography scales via ODS tokens: `14px` on mobile, `18px` from `md` breakpoint up.
|
|
50
|
+
- The `OPENFRAME_DOCTOR_COMMANDS` constant from `PathsDisplay` provides the canonical doctor command strings per platform.
|
|
51
|
+
- Source: [`WarningBlock.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/WarningBlock.stories.tsx)
|