@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,55 +1,65 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `Input` UI component,
|
|
1
|
+
<!-- source-hash: 7985287071ae710bfda62ca359ff5865 -->
|
|
2
|
+
Storybook stories for the `Input` UI component, covering all supported props, states, and adornment combinations for visual testing and documentation.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
|
7
|
-
|
|
6
|
+
| Story | Description |
|
|
7
|
+
|---|---|
|
|
8
8
|
| `Default` | Basic input with placeholder text |
|
|
9
9
|
| `WithEndAdornmentText` | Input with trailing text label (e.g., "Seconds") |
|
|
10
|
-
| `WithStartAdornmentIcon` | Input with leading icon
|
|
11
|
-
| `WithBothAdornments` |
|
|
10
|
+
| `WithStartAdornmentIcon` | Input with leading icon or emoji |
|
|
11
|
+
| `WithBothAdornments` | Combined start and end adornments (e.g., currency `$` / `USD`) |
|
|
12
12
|
| `DisabledWithAdornments` | Disabled state with adornments |
|
|
13
|
-
| `InvalidWithAdornments` | Error
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
13
|
+
| `InvalidWithAdornments` | Error state with adornments |
|
|
14
|
+
| `NumberWithUnit` | Numeric input with unit suffix |
|
|
15
|
+
| `WithLabel` | Input with an accessible label |
|
|
16
|
+
| `WithLabelAndError` | Label + inline error message |
|
|
17
|
+
| `SearchInput` | Controlled search input with `SearchIcon` start adornment |
|
|
18
|
+
| `Loading` | Input showing a loading spinner |
|
|
18
19
|
| `WithButton` | Input paired with a submit `Button` |
|
|
19
|
-
| `AllVariants` | Side-by-side
|
|
20
|
+
| `AllVariants` | Side-by-side comparison of all visual states |
|
|
21
|
+
| `ErrorState` | Full matrix of error/status variants: short, long-wrapping, success, and muted |
|
|
20
22
|
|
|
21
23
|
## Usage Example
|
|
22
24
|
|
|
23
25
|
```typescript
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
+
// Controlled search input with icon adornment
|
|
27
|
+
import { useState } from 'react';
|
|
28
|
+
import { Input } from '../components/ui/input';
|
|
29
|
+
import { SearchIcon } from '../components/icons-v2-generated/interface/search-icon';
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
function SearchField() {
|
|
32
|
+
const [value, setValue] = useState('');
|
|
33
|
+
return (
|
|
34
|
+
<Input
|
|
35
|
+
value={value}
|
|
36
|
+
onChange={(e) => setValue(e.target.value)}
|
|
37
|
+
placeholder="Search..."
|
|
38
|
+
startAdornment={<SearchIcon size={20} />}
|
|
39
|
+
loading={false}
|
|
40
|
+
/>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
33
43
|
|
|
34
|
-
//
|
|
44
|
+
// Input with label, error, and end adornment
|
|
35
45
|
<Input
|
|
36
|
-
label="
|
|
37
|
-
|
|
38
|
-
|
|
46
|
+
label="Timeout"
|
|
47
|
+
defaultValue="90"
|
|
48
|
+
endAdornment="Seconds"
|
|
49
|
+
error="Value must be between 1 and 300"
|
|
39
50
|
/>
|
|
40
51
|
|
|
41
|
-
//
|
|
42
|
-
const [value, setValue] = useState('');
|
|
52
|
+
// Error status variants
|
|
43
53
|
<Input
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
54
|
+
label="Email"
|
|
55
|
+
defaultValue="ada@example.com"
|
|
56
|
+
error="Email is available"
|
|
57
|
+
errorVariant="success"
|
|
48
58
|
/>
|
|
59
|
+
```
|
|
49
60
|
|
|
50
|
-
|
|
51
|
-
<Input placeholder="90" endAdornment="Seconds" disabled />
|
|
61
|
+
## Notes
|
|
52
62
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
63
|
+
- `errorVariant` accepts `"success"` and `"muted"` in addition to the default error styling.
|
|
64
|
+
- Long error messages wrap up to two lines before truncating with ellipsis.
|
|
65
|
+
- Stories using stateful interactions (e.g., `SearchInput`, `WithButton`) use the `render` function pattern with `useState`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- source-hash: 8a28e7f09b42f9392270067eafb565cd -->
|
|
2
|
+
Storybook stories for the `InvestorUpdateCard` component, covering both compact chat-inline (`sm`) and full-size (`default`) display variants.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `meta` | `Meta<typeof InvestorUpdateCard>` | Storybook metadata; registers stories under `Chat/EntityCards/InvestorUpdateCard` |
|
|
9
|
+
| `ChatInlineSm` | `Story` | Compact `sm` size variant for inline chat display |
|
|
10
|
+
| `Default` | `Story` | Standard `default` size variant |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { ChatInlineSm, Default } from './InvestorUpdateCard.stories'
|
|
16
|
+
|
|
17
|
+
// Render the sm (chat-inline) variant
|
|
18
|
+
<InvestorUpdateCard
|
|
19
|
+
update={investorUpdate}
|
|
20
|
+
href={`/investor-updates/${investorUpdate.slug}`}
|
|
21
|
+
size="sm"
|
|
22
|
+
target="_blank"
|
|
23
|
+
rel="noopener noreferrer"
|
|
24
|
+
/>
|
|
25
|
+
|
|
26
|
+
// Render the default (full-size) variant
|
|
27
|
+
<InvestorUpdateCard
|
|
28
|
+
update={investorUpdate}
|
|
29
|
+
href={`/investor-updates/${investorUpdate.slug}`}
|
|
30
|
+
size="default"
|
|
31
|
+
target="_blank"
|
|
32
|
+
rel="noopener noreferrer"
|
|
33
|
+
/>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Notes
|
|
37
|
+
|
|
38
|
+
- All stories are wrapped in `ChatColumnDecorator` to simulate a realistic chat column layout context.
|
|
39
|
+
- The period badge (e.g. `"Mar 2025 - May 2025"`) is composed internally via `formatInvestorUpdatePeriod`.
|
|
40
|
+
- Fixture data is sourced from [`__fixtures__/chat-cards`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/stories/__fixtures__/chat-cards.ts).
|
|
41
|
+
- The `size` prop is the primary differentiator between stories: `sm` for compact chat use, `default` for full presentation.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<!-- source-hash: 349081fc6c3741b461a3b5d973f96c1d -->
|
|
2
|
+
Storybook stories for the `MarqueeWall` component, demonstrating its scrolling wall variants including horizontal/vertical loops, synced pairs, plain mode, and reversed travel.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `Horizontal` | `Story` | Default horizontal marquee with right-edge fade |
|
|
9
|
+
| `Vertical` | `Story` | Vertical scrolling marquee with bottom fade inside a height-capped container |
|
|
10
|
+
| `SyncedPair` | `Story` | Two walls sharing a single position driver via `useMarqueeSync` |
|
|
11
|
+
| `Plain` | `Story` | Static layout opt-out — no motion, no fades |
|
|
12
|
+
| `Reversed` | `Story` | Right-traveling marquee with dual-edge fades and custom fade sizing |
|
|
13
|
+
| `Tile` | Component | Internal demo tile rendering an MSP tool label |
|
|
14
|
+
| `TILES` | `string[]` | Sample content labels (MSP tool names) used across all stories |
|
|
15
|
+
|
|
16
|
+
## Usage Example
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { MarqueeWall, useMarqueeSync } from '../components/ui/marquee-wall'
|
|
20
|
+
|
|
21
|
+
// Basic horizontal marquee
|
|
22
|
+
<MarqueeWall
|
|
23
|
+
fade="right"
|
|
24
|
+
copyGap="var(--spacing-system-mf)"
|
|
25
|
+
className="w-full"
|
|
26
|
+
contentClassName="flex items-center gap-[var(--spacing-system-mf)]"
|
|
27
|
+
>
|
|
28
|
+
<MyTile label="ConnectWise" />
|
|
29
|
+
<MyTile label="HaloPSA" />
|
|
30
|
+
</MarqueeWall>
|
|
31
|
+
|
|
32
|
+
// Pixel-locked sync across multiple walls
|
|
33
|
+
function SyncedWalls() {
|
|
34
|
+
const sync = useMarqueeSync()
|
|
35
|
+
return (
|
|
36
|
+
<>
|
|
37
|
+
<MarqueeWall sync={sync} axis="x" className="w-full" contentClassName="flex items-center gap-4">
|
|
38
|
+
<MyTile label="Row A" />
|
|
39
|
+
</MarqueeWall>
|
|
40
|
+
<MarqueeWall sync={sync} axis="x" className="w-full" contentClassName="flex items-center gap-4">
|
|
41
|
+
<MyTile label="Row B" />
|
|
42
|
+
</MarqueeWall>
|
|
43
|
+
</>
|
|
44
|
+
)
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Notes
|
|
49
|
+
|
|
50
|
+
- Stories use ODS design tokens (`--spacing-system-mf`, `--color-bg-card`) for spacing and color — ensure the token stylesheet is loaded in Storybook.
|
|
51
|
+
- `MarqueeWall` auto-statics when content fits the container or when `prefers-reduced-motion` is active.
|
|
52
|
+
- `useMarqueeSync` is used in the `FreeTrialCTA` resolve-strip; `SyncedPair` reproduces that exact pattern.
|
|
53
|
+
- Source: [`MarqueeWall.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MarqueeWall.stories.tsx)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- source-hash: f5a16b4e2ffb17c391572edd22291edb -->
|
|
2
|
+
Storybook stories for the `MingoAiButton` component, documenting the marketing-header AI launcher button in its realistic 72px unified header context.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `meta` | `Meta<typeof MingoAiButton>` | Story configuration with decorator simulating the `Header` (`config.mingo`) layout context |
|
|
9
|
+
| `Default` | `Story` | Full button with "Mingo AI" wordmark visible, sourced from `'flamingo'` |
|
|
10
|
+
| `IconOnly` | `Story` | Mobile viewport variant showing icon-only display when wordmark hides below `md` breakpoint |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { MingoAiButton } from '../components/navigation/mingo-ai-button'
|
|
16
|
+
|
|
17
|
+
// Render the button inside a 72px header (as seen in Header config.mingo)
|
|
18
|
+
<div className="flex h-[72px] items-center justify-end border-b border-ods-border bg-ods-card">
|
|
19
|
+
<MingoAiButton source="flamingo" />
|
|
20
|
+
</div>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Notes
|
|
24
|
+
|
|
25
|
+
- The decorator wraps every story in a `360px × 72px` header shell to accurately reproduce the left border divider and traveling accent edge light seen in the real `Header` component.
|
|
26
|
+
- `source` controls the analytics/tracking origin passed to the launcher; accepts any string value via the `text` control in Storybook.
|
|
27
|
+
- The `IconOnly` story uses `mobile1` viewport to demonstrate responsive hiding of the "Mingo AI" label below the `md` breakpoint — no code change required, purely viewport-driven via Tailwind responsive classes.
|
|
28
|
+
|
|
29
|
+
## Source
|
|
30
|
+
|
|
31
|
+
[`MingoAiButton.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoAiButton.stories.tsx)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!-- source-hash: eeac5fa6d99d16a54c9e7e71931d0495 -->
|
|
2
|
+
Storybook stories for the `RenameChatModal` and `ArchiveChatModal` chat management dialogs, providing interactive previews of both modal variants used in the Mingo chat interface.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `meta` | `Meta` | Storybook metadata under `Chat/MingoChatModals`; maps to Figma frames `7592:225962` (Rename) and `7592:226181` (Archive) |
|
|
9
|
+
| `Rename` | `Story` | Interactive story for `RenameChatModal` — pre-seeded input, Cancel + Save actions |
|
|
10
|
+
| `Archive` | `Story` | Interactive story for `ArchiveChatModal` — destructive confirmation dialog |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
// Simulate the Rename story in isolation
|
|
16
|
+
import { RenameChatModal } from '../components/chat/mingo-chat-modals'
|
|
17
|
+
|
|
18
|
+
<RenameChatModal
|
|
19
|
+
isOpen={open}
|
|
20
|
+
initialName="Troubleshooting Exchange Online connection issues"
|
|
21
|
+
onClose={() => setOpen(false)}
|
|
22
|
+
onSave={(name) => {
|
|
23
|
+
console.log('save', name)
|
|
24
|
+
setOpen(false)
|
|
25
|
+
}}
|
|
26
|
+
/>
|
|
27
|
+
|
|
28
|
+
// Simulate the Archive story in isolation
|
|
29
|
+
import { ArchiveChatModal } from '../components/chat/mingo-chat-modals'
|
|
30
|
+
|
|
31
|
+
<ArchiveChatModal
|
|
32
|
+
isOpen={open}
|
|
33
|
+
onClose={() => setOpen(false)}
|
|
34
|
+
onConfirm={() => {
|
|
35
|
+
console.log('archive confirmed')
|
|
36
|
+
setOpen(false)
|
|
37
|
+
}}
|
|
38
|
+
/>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Both stories open with `isOpen={true}` by default and include a toggle button to re-open the modal after dismissal. The decorator wraps each story in a full-viewport `bg-ods-bg` container. Modals are built on `ModalV2` with an Azeret Mono title, `p-40`/`gap-24` spacing, and an in-house overlay.
|
|
42
|
+
|
|
43
|
+
## Notes
|
|
44
|
+
|
|
45
|
+
- Triggered from the chat header `⋯` menu and dialog-history row menus in production
|
|
46
|
+
- `Archive` uses a destructive red action button; use with care in UI testing
|
|
47
|
+
- Source: [`MingoChatModals.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoChatModals.stories.tsx)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!-- source-hash: 3ba205c8b3aec59e3fa2ed5249902509 -->
|
|
2
|
+
Storybook stories file for `MingoInfoCard`, a horizontal info-row card component used in chat interfaces. Covers Figma-spec variants and optional-element permutations.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
**Exported Stories**
|
|
7
|
+
|
|
8
|
+
| Story | Description |
|
|
9
|
+
|---|---|
|
|
10
|
+
| `WithImage` | Card with a 40px avatar image as the leading media element |
|
|
11
|
+
| `WithIcon` | Card with a boxed glyph (`MonitorIcon`) as the leading media element |
|
|
12
|
+
| `WithoutStatus` | Icon variant with the status pill omitted |
|
|
13
|
+
| `WithoutDescription` | Image variant with the description line omitted |
|
|
14
|
+
| `WithoutMenu` | Card with the trailing overflow menu omitted |
|
|
15
|
+
| `Clickable` | Full card with an `onClick` handler wired to the entire row |
|
|
16
|
+
| `StatusVariants` | Side-by-side showcase of all four `Tag` palette variants: `success`, `warning`, `error`, `grey` |
|
|
17
|
+
| `LongContentTruncates` | Validates text truncation on overflow for both title and description |
|
|
18
|
+
|
|
19
|
+
**Supporting Fixtures**
|
|
20
|
+
|
|
21
|
+
- `AVATAR_SRC` — Pravatar placeholder image URL used across image-based stories
|
|
22
|
+
- `SAMPLE_MENU` — Two-item menu group (`Copy link`, `Remove`) reused across stories
|
|
23
|
+
|
|
24
|
+
## Usage Example
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import { MingoInfoCard } from '../components/chat/mingo-info-card'
|
|
28
|
+
import { MonitorIcon } from '../components/icons-v2-generated/devices/monitor-icon'
|
|
29
|
+
|
|
30
|
+
// Basic card with icon and status
|
|
31
|
+
<MingoInfoCard
|
|
32
|
+
title="Production Host"
|
|
33
|
+
description="All systems operational"
|
|
34
|
+
icon={<MonitorIcon size={24} />}
|
|
35
|
+
status={{ label: 'Online', variant: 'success' }}
|
|
36
|
+
menuGroups={[{
|
|
37
|
+
items: [
|
|
38
|
+
{ id: 'copy', label: 'Copy link', icon: <Copy01Icon size={16} />, onClick: () => {} },
|
|
39
|
+
{ id: 'remove', label: 'Remove', icon: <TrashIcon size={16} />, danger: true, onClick: () => {} },
|
|
40
|
+
],
|
|
41
|
+
}]}
|
|
42
|
+
onClick={() => console.log('card clicked')}
|
|
43
|
+
/>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
> **Layout note:** `MingoInfoCard` is `w-full` and must be placed inside a block-level container. The Storybook canvas uses `layout: 'fullscreen'` rather than `centered` to allow the card to reflow correctly when the viewport is resized.
|
|
47
|
+
|
|
48
|
+
## Source
|
|
49
|
+
|
|
50
|
+
[`MingoInfoCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoInfoCard.stories.tsx)
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for `MingoOnboardingCard`,
|
|
1
|
+
<!-- source-hash: d66fd15df5fb4fcaec69fc58ba1c8b1a -->
|
|
2
|
+
Storybook stories for `MingoOnboardingCard`, a single-row chat empty-state card component. Covers isolated prop variants and a full stacked list mirroring the Figma empty-state design (`7363:205938`).
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
| Export | Description |
|
|
7
|
-
|
|
7
|
+
|---|---|
|
|
8
8
|
| `Default` | Base card with icon, title, slash command, and description |
|
|
9
9
|
| `WithoutDescription` | Card omitting the description field |
|
|
10
10
|
| `WithoutSlashCommand` | Card omitting the slash command badge |
|
|
11
|
-
| `LongTitleTruncates` | Validates truncation behavior for
|
|
11
|
+
| `LongTitleTruncates` | Validates truncation behavior for overflowing text |
|
|
12
12
|
| `Clickable` | Card with an `onClick` handler wired to console output |
|
|
13
|
-
| `WithActions` | Card with
|
|
14
|
-
| `ChipCommands` | Full stacked list of 13 cards
|
|
13
|
+
| `WithActions` | Card with a row of outline-chip action buttons (Recent / Search / Find) |
|
|
14
|
+
| `ChipCommands` | Full stacked list of 13 cards sourced from `SAMPLE_CHIP_COMMANDS`, mirroring the runtime empty-state |
|
|
15
|
+
|
|
16
|
+
**`SAMPLE_CHIP_COMMANDS`** — internal fixture array defining icon names (resolved via `resolveIcon`), labels, slash commands, descriptions, and action chip labels for the `ChipCommands` story.
|
|
15
17
|
|
|
16
18
|
## Usage Example
|
|
17
19
|
|
|
18
20
|
```typescript
|
|
19
|
-
//
|
|
21
|
+
// Minimal card
|
|
20
22
|
<MingoOnboardingCard
|
|
21
23
|
icon={<CompassIcon size={16} />}
|
|
22
24
|
title="ClickUp Roadmap"
|
|
23
25
|
slashCommand="/roadmap"
|
|
24
26
|
description="Public product roadmap with upcoming features and releases"
|
|
25
|
-
actions={[
|
|
26
|
-
{ id: 'recent', label: 'Recent', onClick: () => {} },
|
|
27
|
-
{ id: 'search', label: 'Search', onClick: () => {} },
|
|
28
|
-
]}
|
|
29
27
|
/>
|
|
30
28
|
|
|
31
|
-
//
|
|
32
|
-
const Icon = resolveOnboardingIcon('rocket-02')
|
|
29
|
+
// Card with action chips
|
|
33
30
|
<MingoOnboardingCard
|
|
34
|
-
icon={<
|
|
35
|
-
title="
|
|
36
|
-
slashCommand="/
|
|
37
|
-
description="
|
|
38
|
-
actions={[
|
|
31
|
+
icon={<CompassIcon size={16} />}
|
|
32
|
+
title="ClickUp Roadmap"
|
|
33
|
+
slashCommand="/roadmap"
|
|
34
|
+
description="Public product roadmap with upcoming features and releases"
|
|
35
|
+
actions={[
|
|
36
|
+
{ id: 'recent', label: 'Recent', onClick: () => console.log('recent') },
|
|
37
|
+
{ id: 'search', label: 'Search', onClick: () => console.log('search') },
|
|
38
|
+
]}
|
|
39
39
|
/>
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Icons are sourced directly from `icons-v2-generated` for static stories, or resolved dynamically via `resolveIcon(iconName)` in the `ChipCommands` story to stay in sync with the chat runtime mapping. The decorator wraps each story in a `520px` container replicating the `rounded-md` / `border-ods-border` shell used in production.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- source-hash: 240d97a568a9d22b85f350a706e05276 -->
|
|
2
|
+
Storybook stories for the `MingoWelcome` component, covering the chat empty-state UI across its key display variants.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Default` | Full welcome state with Guide CTA promo card and yellow chip wired to `onStartGuideChat` |
|
|
9
|
+
| `WithoutGuide` | Guide mode omitted — promo card and "Start Guide Chat" chip are suppressed |
|
|
10
|
+
| `WithQuickActions` | Extends Default with additional quick-action chips appended after the built-in Guide chip |
|
|
11
|
+
| `ReturningUser` | Returning user view — hides "New to OpenFrame?" notification, mutes Guide chip style, renders `MingoChatHistory` |
|
|
12
|
+
| `Wide` | Desktop/wide-panel layout variant at 960px width |
|
|
13
|
+
|
|
14
|
+
## Usage Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { MingoWelcome } from '../components/chat/mingo-welcome'
|
|
18
|
+
|
|
19
|
+
// New user — full onboarding state
|
|
20
|
+
<MingoWelcome
|
|
21
|
+
onStartGuideChat={() => switchToGuideMode()}
|
|
22
|
+
/>
|
|
23
|
+
|
|
24
|
+
// Returning user with existing chat history
|
|
25
|
+
<MingoWelcome
|
|
26
|
+
onStartGuideChat={() => switchToGuideMode()}
|
|
27
|
+
hasExistingChats={true}
|
|
28
|
+
dialogHistory={<MingoChatHistory dialogs={dialogs} ... />}
|
|
29
|
+
quickActions={[
|
|
30
|
+
{ id: 'weekly', label: 'Weekly Log Summary' },
|
|
31
|
+
]}
|
|
32
|
+
/>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Notes
|
|
36
|
+
|
|
37
|
+
- All stories render inside a decorator that mimics the narrow drawer panel (`440×760px`) to validate `flex-1` centering and pinned chip row behavior.
|
|
38
|
+
- `title`, `subtitle`, `promo`, `quickActions`, and `onStartGuideChat` controls are disabled in Storybook — only `hasExistingChats` is toggle-controllable via the controls panel.
|
|
39
|
+
- Corresponds to Figma node `113:69208`.
|
|
40
|
+
|
|
41
|
+
**Source:** [`MingoWelcome.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoWelcome.stories.tsx)
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!-- source-hash: 58d9af4560f1028379a158cfe6c749c5 -->
|
|
2
|
+
Storybook stories for the `MobileNavPanel` component, covering default chrome, custom styling, disabled footer states, and a short-viewport scrolling regression test.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Default` | Standard panel with auth footer (`Sign Up` button) using `bg-ods-card` chrome |
|
|
9
|
+
| `CustomChrome` | Flamingo-style panel with custom `className` override via `config.className` |
|
|
10
|
+
| `DisabledFooter` | TMCG-style panel with a disabled footer button and a `StatusBadge` "Coming Soon" indicator |
|
|
11
|
+
| `ShortViewportLongList` | Regression story validating scroll + pinned footer behavior on short viewports (~660px tall) with 30 items |
|
|
12
|
+
| `PanelHarness` | Internal render helper managing `isOpen` state with a toggle button |
|
|
13
|
+
|
|
14
|
+
## Usage Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { MobileNavPanel } from '../components/navigation/mobile-nav-panel'
|
|
18
|
+
import type { MobileNavConfig } from '../types/navigation'
|
|
19
|
+
|
|
20
|
+
const sections: MobileNavConfig['sections'] = [
|
|
21
|
+
{
|
|
22
|
+
title: 'Product',
|
|
23
|
+
items: [
|
|
24
|
+
{ id: 'home', label: 'Home', href: '/', isActive: true },
|
|
25
|
+
{ id: 'pricing', label: 'Pricing', href: '/pricing' },
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
function MyNav() {
|
|
31
|
+
const [open, setOpen] = useState(false)
|
|
32
|
+
return (
|
|
33
|
+
<MobileNavPanel
|
|
34
|
+
isOpen={open}
|
|
35
|
+
config={{
|
|
36
|
+
sections,
|
|
37
|
+
onClose: () => setOpen(false),
|
|
38
|
+
footer: <Button className="w-full">Sign Up</Button>,
|
|
39
|
+
}}
|
|
40
|
+
/>
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Notes
|
|
46
|
+
|
|
47
|
+
- All stories use `layout: 'fullscreen'` for realistic viewport simulation.
|
|
48
|
+
- `PanelHarness` wraps each story to provide controlled open/close state without boilerplate.
|
|
49
|
+
- `ShortViewportLongList` exists specifically to guard against regressions where the footer scrolls off-screen; test it at ~660px viewport height.
|
|
50
|
+
- `config.className` accepts Tailwind classes to override default panel chrome per-product (OpenMSP vs Flamingo vs TMCG).
|
|
51
|
+
|
|
52
|
+
**Source:** [`MobileNavPanel.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MobileNavPanel.stories.tsx)
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `Modal` UI component, demonstrating
|
|
1
|
+
<!-- source-hash: f30f001db374caa2804f9c6e873f3b59 -->
|
|
2
|
+
Storybook stories for the `Modal` UI component, demonstrating default usage and a modal containing an `Autocomplete` dropdown.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
| Export | Description |
|
|
7
|
-
|
|
8
|
-
| `Default` | Basic modal
|
|
9
|
-
| `WithAutocomplete` |
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `Default` | `Story` | Basic modal with header, content, and footer sections |
|
|
9
|
+
| `WithAutocomplete` | `Story` | Modal containing a multi-select `Autocomplete`, using `portalContainer` to avoid z-index conflicts |
|
|
10
10
|
|
|
11
11
|
## Usage Example
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
// Default modal
|
|
14
|
+
// Default modal
|
|
15
15
|
<Modal isOpen={isOpen} onClose={() => setIsOpen(false)}>
|
|
16
16
|
<ModalHeader>
|
|
17
17
|
<ModalTitle>Modal Title</ModalTitle>
|
|
18
18
|
</ModalHeader>
|
|
19
19
|
<ModalContent className="px-6 py-4">
|
|
20
|
-
<p>Modal body content
|
|
20
|
+
<p>Modal body content.</p>
|
|
21
21
|
</ModalContent>
|
|
22
22
|
<ModalFooter>
|
|
23
23
|
<Button variant="outline" onClick={() => setIsOpen(false)}>Cancel</Button>
|
|
@@ -25,19 +25,19 @@ Storybook stories for the `Modal` UI component, demonstrating two interaction pa
|
|
|
25
25
|
</ModalFooter>
|
|
26
26
|
</Modal>
|
|
27
27
|
|
|
28
|
-
//
|
|
28
|
+
// Modal with Autocomplete — attach a ref to keep the dropdown in the modal's DOM tree
|
|
29
29
|
const [modalElement, setModalElement] = useState<HTMLDivElement | null>(null)
|
|
30
|
-
const modalRef = useCallback((node: HTMLDivElement | null) =>
|
|
31
|
-
setModalElement(node)
|
|
32
|
-
}, [])
|
|
30
|
+
const modalRef = useCallback((node: HTMLDivElement | null) => setModalElement(node), [])
|
|
33
31
|
|
|
34
|
-
<Modal ref={modalRef} isOpen={isOpen} onClose={
|
|
32
|
+
<Modal ref={modalRef} isOpen={isOpen} onClose={() => setIsOpen(false)} className="max-w-lg overflow-visible">
|
|
35
33
|
<ModalContent className="px-6 py-4">
|
|
36
34
|
<Autocomplete
|
|
35
|
+
multiple
|
|
37
36
|
options={options}
|
|
38
37
|
value={selected}
|
|
39
38
|
onChange={setSelected}
|
|
40
|
-
|
|
39
|
+
label="Industries"
|
|
40
|
+
placeholder="Search industries..."
|
|
41
41
|
/>
|
|
42
42
|
</ModalContent>
|
|
43
43
|
</Modal>
|
|
@@ -45,5 +45,8 @@ const modalRef = useCallback((node: HTMLDivElement | null) => {
|
|
|
45
45
|
|
|
46
46
|
## Notes
|
|
47
47
|
|
|
48
|
-
-
|
|
49
|
-
-
|
|
48
|
+
- Both stories manage open/close state locally via `useState`, keeping each story self-contained with a trigger `Button`.
|
|
49
|
+
- The `WithAutocomplete` story captures the modal's DOM node via a `useCallback` ref. Pass `modalElement` as `portalContainer` to the `Autocomplete` if your implementation renders the dropdown in a portal, preventing z-index stacking issues.
|
|
50
|
+
- The `isOpen` and `className` args are exposed as Storybook controls (`boolean` and `text` respectively).
|
|
51
|
+
|
|
52
|
+
**Source:** [`Modal.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/Modal.stories.tsx)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!-- source-hash: 66b7b4649ed15eb53a24145addff0a43 -->
|
|
2
|
+
Storybook stories for the `MspOrganizationCard` component, covering the AI Assistant welcome screen card that identifies the managing MSP organization.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `meta` | `Meta` | Storybook metadata — mounts under `Chat/AI Assistant Welcome Screen/MSP Organization`, centered in a 600px wrapper mirroring the Figma container |
|
|
9
|
+
| `Default` | `Story` | Card with a square logo image, website label, and external-link anchor (new tab) |
|
|
10
|
+
| `NoLogo` | `Story` | Fallback state — renders initials derived from `name` when no `logoUrl` is provided |
|
|
11
|
+
| `WithCallback` | `Story` | Button fires `onOpenWebsite` callback instead of navigating via `href` |
|
|
12
|
+
| `WithoutAction` | `Story` | Trailing button hidden when both `href` and `onOpenWebsite` are omitted |
|
|
13
|
+
| `LongValues` | `Story` | Truncation behavior — long `name` and `website` values clamp to a single line |
|
|
14
|
+
| `Loading` | `Story` | Renders `MspOrganizationCardSkeleton` as the placeholder shown while tenant data loads |
|
|
15
|
+
|
|
16
|
+
## Usage Example
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { MspOrganizationCard } from '../components/chat/msp-organization-card'
|
|
20
|
+
import { MspOrganizationCardSkeleton } from '../components/chat/msp-organization-card-skeleton'
|
|
21
|
+
|
|
22
|
+
// Anchor variant — opens organization website in a new tab
|
|
23
|
+
<MspOrganizationCard
|
|
24
|
+
name="TechFlow Solutions"
|
|
25
|
+
website="www.techflow.com"
|
|
26
|
+
href="https://www.techflow.com"
|
|
27
|
+
logoUrl="https://cdn.example.com/techflow-logo.png"
|
|
28
|
+
/>
|
|
29
|
+
|
|
30
|
+
// Callback variant — handle navigation in-app
|
|
31
|
+
<MspOrganizationCard
|
|
32
|
+
name="TechFlow Solutions"
|
|
33
|
+
website="www.techflow.com"
|
|
34
|
+
onOpenWebsite={() => openOrgPanel()}
|
|
35
|
+
/>
|
|
36
|
+
|
|
37
|
+
// Loading state while tenant info resolves
|
|
38
|
+
<MspOrganizationCardSkeleton />
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Notes
|
|
42
|
+
|
|
43
|
+
- The card is width-unconstrained and fills its parent; wrap it in a container to control width (Figma reference: node `1:5540`, `600×80px`).
|
|
44
|
+
- The trailing external-link button renders **only** when either `href` or `onOpenWebsite` is provided.
|
|
45
|
+
- Source: [`MspOrganizationCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MspOrganizationCard.stories.tsx)
|