@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
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!-- source-hash: d9d0bd3ed94737e7f33194b665ee6cf9 -->
|
|
2
|
+
Storybook stories for the `ErrorMessageDisplay` chat component, covering error, warning, and info severity variants with and without expandable details.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `WithDetails` | Error card with an expandable details section (chevron toggle visible) |
|
|
9
|
+
| `TitleOnly` | Minimal error card — title row only, no chevron, non-interactive |
|
|
10
|
+
| `Warning` | Yellow-tinted warning variant with expandable details |
|
|
11
|
+
| `Info` | Grey-tinted info variant with expandable details |
|
|
12
|
+
|
|
13
|
+
## Usage Example
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { ErrorMessageDisplay } from "../components/chat/error-message-display";
|
|
17
|
+
|
|
18
|
+
// Error with expandable details
|
|
19
|
+
<ErrorMessageDisplay
|
|
20
|
+
title="Tool execution failed"
|
|
21
|
+
details="run_script exited with code 1: brew not found on this endpoint."
|
|
22
|
+
/>
|
|
23
|
+
|
|
24
|
+
// Warning variant
|
|
25
|
+
<ErrorMessageDisplay
|
|
26
|
+
type="warning"
|
|
27
|
+
title="Approval expired"
|
|
28
|
+
details="The approval request timed out after 15 minutes."
|
|
29
|
+
/>
|
|
30
|
+
|
|
31
|
+
// Info variant — no details, title-only row
|
|
32
|
+
<ErrorMessageDisplay
|
|
33
|
+
type="info"
|
|
34
|
+
title="Session resumed"
|
|
35
|
+
/>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Notes
|
|
39
|
+
|
|
40
|
+
- **`type` prop** controls icon tint: `"error"` → red, `"warning"` → yellow, `"info"` → grey. Defaults to `"error"`.
|
|
41
|
+
- **`details` prop** is optional. When omitted the chevron is hidden and the row is non-interactive (`TitleOnly` story).
|
|
42
|
+
- The `plainDecorator` wraps each story in a `max-w-[640px]` container with the design-system background token (`--color-bg`) to approximate chat-panel rendering.
|
|
43
|
+
- Stories are tagged `autodocs` — Storybook auto-generates a prop table from the component's TypeScript types.
|
|
44
|
+
|
|
45
|
+
**Source:** [`ErrorMessageDisplay.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ErrorMessageDisplay.stories.tsx)
|
|
@@ -1,33 +1,34 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `FilterModal` component,
|
|
1
|
+
<!-- source-hash: 9509e44233b791e36e569c6416edb3ad -->
|
|
2
|
+
Storybook stories file for the `FilterModal` component, demonstrating all supported configurations including filter groups, sorting, tag key:value filtering, and interactive state management.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
**Exported Stories**
|
|
7
7
|
|
|
8
8
|
| Story | Description |
|
|
9
|
-
|
|
9
|
+
|---|---|
|
|
10
10
|
| `Default` | Basic modal with status filter group and pre-selected filters |
|
|
11
11
|
| `Interactive` | Stateful example with open/close toggle and live filter count |
|
|
12
|
-
| `MultipleGroups` |
|
|
13
|
-
| `WithoutCounts` | Filter options
|
|
14
|
-
| `WithSorting` | Combined sort columns
|
|
12
|
+
| `MultipleGroups` | Multiple filter group categories (statuses, device types, OS) |
|
|
13
|
+
| `WithoutCounts` | Filter options without item counts |
|
|
14
|
+
| `WithSorting` | Combined sort columns and filter groups |
|
|
15
15
|
| `SortingOnly` | Sort configuration with no filter groups |
|
|
16
|
-
| `InteractiveWithSorting` | Stateful sort + filter with live sort
|
|
16
|
+
| `InteractiveWithSorting` | Stateful sort + filter with live sort indicator |
|
|
17
17
|
| `EmptyFilters` | Filter groups present but nothing selected |
|
|
18
|
-
| `NoFiltersAvailable`
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
18
|
+
| `NoFiltersAvailable` | Modal open with no filter options |
|
|
19
|
+
| `FullyEmpty` | All optional props omitted |
|
|
20
|
+
| `Loading` | Skeleton loading state via `isLoading: true` |
|
|
21
|
+
| `WithTagFilter` | Tag key:value filter section alongside standard filters |
|
|
22
|
+
| `TagFilterOnly` | Tag filter without regular filter groups |
|
|
23
|
+
| `FullFeatured` | All features combined: sort + filters + tag filters |
|
|
24
|
+
| `InteractiveWithTags` | Fully stateful with tags, sort, and filters |
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
**Key Types Used**
|
|
26
27
|
|
|
27
|
-
- `FilterGroup` —
|
|
28
|
-
- `SortConfig` — column
|
|
29
|
-
- `TagKeyConfig` — tag key with
|
|
30
|
-
- `TableFilters` —
|
|
28
|
+
- `FilterGroup` — filter section with options, labels, and optional counts
|
|
29
|
+
- `SortConfig` — sort column list plus active sort key and direction
|
|
30
|
+
- `TagKeyConfig` — tag key with filterable values (e.g. `site:chicago`)
|
|
31
|
+
- `TableFilters` — active filter state as `Record<string, string[]>`
|
|
31
32
|
|
|
32
33
|
## Usage Example
|
|
33
34
|
|
|
@@ -47,7 +48,10 @@ const filterGroups: FilterGroup[] = [
|
|
|
47
48
|
]
|
|
48
49
|
|
|
49
50
|
const sortConfig: SortConfig = {
|
|
50
|
-
columns: [
|
|
51
|
+
columns: [
|
|
52
|
+
{ key: 'name', label: 'Name' },
|
|
53
|
+
{ key: 'date', label: 'Date' },
|
|
54
|
+
],
|
|
51
55
|
sortBy: 'name',
|
|
52
56
|
sortDirection: 'asc',
|
|
53
57
|
}
|
|
@@ -60,13 +64,15 @@ function MyPage() {
|
|
|
60
64
|
<FilterModal
|
|
61
65
|
isOpen={isOpen}
|
|
62
66
|
onClose={() => setIsOpen(false)}
|
|
63
|
-
title="Sort and Filter"
|
|
64
67
|
filterGroups={filterGroups}
|
|
65
68
|
currentFilters={filters}
|
|
66
69
|
onFilterChange={setFilters}
|
|
67
70
|
sortConfig={sortConfig}
|
|
68
71
|
onSort={(col, dir) => console.log(col, dir)}
|
|
72
|
+
isLoading={false}
|
|
69
73
|
/>
|
|
70
74
|
)
|
|
71
75
|
}
|
|
72
|
-
```
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Source:** [`FilterModal.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/FilterModal.stories.tsx)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!-- source-hash: b13dc32d405e2d773dba9e6f3c613739 -->
|
|
2
|
+
Storybook stories for `GenericEntityCard`, a fallback chat card renderer covering financial document types that don't require a bespoke UI. Each story demonstrates a distinct financial entity category with realistic fixture data.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `FinancialKpi` | `Story` | Renders a financial KPI summary card |
|
|
9
|
+
| `CapTable` | `Story` | Renders a capitalization table card |
|
|
10
|
+
| `ProfitLoss` | `Story` | Renders a profit & loss statement card |
|
|
11
|
+
| `BalanceSheet` | `Story` | Renders a balance sheet card |
|
|
12
|
+
| `CashFlow` | `Story` | Renders a cash flow statement card |
|
|
13
|
+
|
|
14
|
+
**Meta config:**
|
|
15
|
+
- `title`: `Chat/EntityCards/GenericEntityCard`
|
|
16
|
+
- `layout`: `fullscreen`
|
|
17
|
+
- Wrapped in `ChatColumnDecorator` to simulate the chat column context
|
|
18
|
+
|
|
19
|
+
## Usage Example
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { GenericEntityCard } from '../components/chat/entity-cards'
|
|
23
|
+
import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
|
|
24
|
+
import { financialKpiItem } from './__fixtures__/chat-cards'
|
|
25
|
+
|
|
26
|
+
// Each story passes an `item` (entity data) and `anchorProps` (link behavior)
|
|
27
|
+
<GenericEntityCard
|
|
28
|
+
item={financialKpiItem}
|
|
29
|
+
anchorProps={makeAnchorProps(financialKpiItem.url ?? '#')}
|
|
30
|
+
/>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Story Structure Pattern
|
|
34
|
+
|
|
35
|
+
All stories share the same shape — only the fixture differs:
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
export const CapTable: Story = {
|
|
39
|
+
args: {
|
|
40
|
+
item: capTableItem, // entity data with facts[] + badge
|
|
41
|
+
anchorProps: makeAnchorProps(capTableItem.url ?? '#'), // anchor link props
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
The `facts` array on each item drives the key-value strip at the card bottom; the `badge` field controls the colored chip displayed on the right.
|
|
47
|
+
|
|
48
|
+
## Source
|
|
49
|
+
|
|
50
|
+
[`GenericEntityCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/GenericEntityCard.stories.tsx)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- source-hash: ec96cdad8bd44e2cf349d694fdfcb820 -->
|
|
2
|
+
Storybook stories for the `GitHubActivityCard` component, covering the three GitHub doc types (`github_commit`, `github_pull_request`, `github_pr_review`) in both `compact` and `row` display variants.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Commit` | Story rendering a GitHub commit card in `compact` variant |
|
|
9
|
+
| `PullRequest` | Story rendering a pull request card in `compact` variant |
|
|
10
|
+
| `PullRequestReview` | Story rendering a PR review card with `[review:STATE]` badge parsing in `compact` variant |
|
|
11
|
+
| `RowVariant` | Story rendering a pull request card in `row` variant |
|
|
12
|
+
|
|
13
|
+
**Decorators & Fixtures:**
|
|
14
|
+
- `ChatColumnDecorator` — wraps each story in a chat column layout
|
|
15
|
+
- `makeAnchorProps` — generates resolved anchor props from an item URL
|
|
16
|
+
- `githubCommitItem`, `githubPullRequestItem`, `githubPrReviewItem` — pre-built fixture data for each GitHub doc type
|
|
17
|
+
|
|
18
|
+
## Usage Example
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
// Rendering GitHubActivityCard directly (as used in stories)
|
|
22
|
+
import { GitHubActivityCard } from '../components/chat/entity-cards'
|
|
23
|
+
import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
|
|
24
|
+
import { githubPullRequestItem } from './__fixtures__/chat-cards'
|
|
25
|
+
|
|
26
|
+
<GitHubActivityCard
|
|
27
|
+
item={githubPullRequestItem}
|
|
28
|
+
variant="compact" // or "row"
|
|
29
|
+
anchorProps={makeAnchorProps(githubPullRequestItem.url ?? '#')}
|
|
30
|
+
/>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
- The component is **pure presentation** — callers are responsible for passing resolved `anchorProps`
|
|
36
|
+
- `owner/repo` is derived from the item URL when `item.repo` is omitted
|
|
37
|
+
- Long commit SHAs are automatically shortened
|
|
38
|
+
- PR review titles containing `[review:STATE]` markers drive the state badge color
|
|
39
|
+
- Stories are scoped under `Chat/EntityCards/GitHubActivityCard` in the Storybook sidebar
|
|
40
|
+
|
|
41
|
+
**Source:** [`GitHubActivityCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/GitHubActivityCard.stories.tsx)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!-- source-hash: efd42b7951b9364bba2e80f38794e5df -->
|
|
2
|
+
Storybook stories for the `GuideWelcome` component, covering the guide-mode chat empty state with configurable quick actions, slash-command onboarding cards, and custom greeting copy.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `Default` | `Story` | Full guide-mode empty state with slash-command list and quick-action chips |
|
|
9
|
+
| `NoCommands` | `Story` | Greeting and quick-action chips only, no slash-command list |
|
|
10
|
+
| `NoQuickActions` | `Story` | Slash-command list only, chip row omitted entirely |
|
|
11
|
+
| `CustomCopy` | `Story` | Overrides default `title` and `subtitle` greeting text |
|
|
12
|
+
|
|
13
|
+
**Supporting fixtures:**
|
|
14
|
+
|
|
15
|
+
- `SAMPLE_QUICK_ACTIONS` — Seven action chips demonstrating inline display and `⋯` overflow menu
|
|
16
|
+
- `SAMPLE_LIST` — Three `MingoOnboardingCard` entries (Product Releases, Blog Posts, Onboarding Guides) rendered inside a shared scroll region
|
|
17
|
+
- `ACTIONS` — Reusable Recent / Search / Find handlers passed to each card
|
|
18
|
+
|
|
19
|
+
## Usage Example
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
// Render the default guide-mode empty state inside the decorator shell
|
|
23
|
+
<GuideWelcome
|
|
24
|
+
quickActions={SAMPLE_QUICK_ACTIONS}
|
|
25
|
+
onQuickAction={(action) => console.log('quick action', action.id)}
|
|
26
|
+
>
|
|
27
|
+
{SAMPLE_LIST}
|
|
28
|
+
</GuideWelcome>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The shared decorator wraps every story in a `440×760px` dark panel that mimics the narrow guide drawer, with `GuideModeBanner` pinned at the top and the story content padded below it.
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
- `quickActions` and `onQuickAction` use `control: false` in `argTypes` — configure them directly in story `args`, not the Storybook controls panel.
|
|
36
|
+
- `GuideWelcome` ships no default quick actions; the chip row is omitted entirely when none are supplied (`NoQuickActions`).
|
|
37
|
+
- Figma reference: node `7532:328214`.
|
|
38
|
+
- Source: [`GuideWelcome.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/GuideWelcome.stories.tsx)
|
|
@@ -1,48 +1,58 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `Header` navigation component, covering dropdown behavior, SEO link visibility,
|
|
1
|
+
<!-- source-hash: febe8e9eae91e12c08acbe71e368d956 -->
|
|
2
|
+
Storybook stories for the `Header` navigation component, covering dropdown behavior, SEO link visibility, auto-hide, and Mingo AI integration scenarios.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
| Export | Type | Description |
|
|
7
|
-
|
|
7
|
+
|---|---|---|
|
|
8
8
|
| `Default` | `Story` | Standard header with dropdown navigation and auto-hide enabled |
|
|
9
|
-
| `DropdownOpen` | `Story` |
|
|
10
|
-
| `SeoLinksAlwaysInDom` | `Story` | Live
|
|
11
|
-
| `FixedHeader` | `Story` | Header with `autoHide: false
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `flamingoLogo` — branded logo element using `FlamingoLogo` icon + DM Sans wordmark
|
|
15
|
-
- `baseNavigation` — three-item nav config (`OpenFrame`, `OpenMSP`, `Company`) with nested dropdown children
|
|
16
|
-
- `rightActions` — accent CTA button linking to `/signup`
|
|
9
|
+
| `DropdownOpen` | `Story` | Header with the first dropdown programmatically opened on mount |
|
|
10
|
+
| `SeoLinksAlwaysInDom` | `Story` | Live demo proving dropdown `<a>` links stay in the DOM when collapsed |
|
|
11
|
+
| `FixedHeader` | `Story` | Header with `autoHide: false`, stays fixed while scrolling |
|
|
12
|
+
| `WithMingoAi` | `Story` | Header with the Mingo AI launcher button enabled |
|
|
13
|
+
| `baseNavigation` | `HeaderConfig['navigation']` | Shared nav fixture with OpenFrame, OpenMSP, and Company items |
|
|
17
14
|
|
|
18
15
|
## Usage Example
|
|
19
16
|
|
|
20
17
|
```typescript
|
|
18
|
+
// Render the default header in a Next.js page
|
|
21
19
|
import { Header } from '../components/navigation/header';
|
|
20
|
+
import { FlamingoLogo } from '../components/icons';
|
|
21
|
+
import { Button } from '../components/ui/button';
|
|
22
22
|
import type { HeaderConfig } from '../types/navigation';
|
|
23
23
|
|
|
24
24
|
const config: HeaderConfig = {
|
|
25
|
-
logo: {
|
|
25
|
+
logo: {
|
|
26
|
+
element: (
|
|
27
|
+
<div className="flex items-center gap-2">
|
|
28
|
+
<FlamingoLogo className="h-8 w-8" />
|
|
29
|
+
<span className="font-bold text-[18px]">Flamingo</span>
|
|
30
|
+
</div>
|
|
31
|
+
),
|
|
32
|
+
href: '/',
|
|
33
|
+
},
|
|
26
34
|
navigation: {
|
|
27
35
|
position: 'center',
|
|
28
36
|
items: [
|
|
29
|
-
{
|
|
30
|
-
id: 'docs',
|
|
31
|
-
label: 'Docs',
|
|
32
|
-
children: [
|
|
33
|
-
{ id: 'getting-started', label: 'Getting Started', href: '/docs/getting-started' },
|
|
34
|
-
],
|
|
35
|
-
},
|
|
37
|
+
{ id: 'company', label: 'Company', href: '/company' },
|
|
36
38
|
],
|
|
37
39
|
},
|
|
38
40
|
actions: {
|
|
39
|
-
right: [
|
|
41
|
+
right: [
|
|
42
|
+
<Button key="cta" variant="accent" href="/signup">
|
|
43
|
+
Start Free Trial
|
|
44
|
+
</Button>,
|
|
45
|
+
],
|
|
40
46
|
},
|
|
41
47
|
autoHide: true,
|
|
42
48
|
mobile: { enabled: true, onToggle: () => {} },
|
|
43
49
|
};
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
export default function Page() {
|
|
52
|
+
return <Header config={config} />;
|
|
53
|
+
}
|
|
46
54
|
```
|
|
47
55
|
|
|
48
|
-
|
|
56
|
+
## SEO Notes
|
|
57
|
+
|
|
58
|
+
Dropdown child links are always rendered in the DOM and hidden via CSS `visibility: hidden` rather than conditional rendering. This ensures crawlers index all navigation links regardless of dropdown state. The `SeoLinksAlwaysInDom` story demonstrates this with a live link counter that remains constant whether dropdowns are open or closed.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- source-hash: 358ffdf181cff4b3e4624b75c91df29a -->
|
|
2
|
+
Storybook stories for the `HubspotTicketCard` chat entity card, covering all three doc type variants (`hubspot_ticket`, `hubspot_ticket_anon`, `hubspot_ticket_self`) and both layout modes.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Full` | Standard ticket card with all fields populated and a clickable anchor |
|
|
9
|
+
| `Anon` | Anonymous variant with `customerCompany` and `url` nulled out server-side, rendering as a non-clickable shell |
|
|
10
|
+
| `SelfTicket` | Ticket owned by the chatting user; admin URL stripped, status set to `NEW` |
|
|
11
|
+
| `ClosedTicket` | Ticket in `CLOSED`/`LOW` priority state with anchor |
|
|
12
|
+
| `RowVariant` | Same full data rendered in `row` layout instead of `compact` |
|
|
13
|
+
|
|
14
|
+
## Usage Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { HubspotTicketCard } from '../components/chat/entity-cards'
|
|
18
|
+
import { hubspotTicketItem } from './__fixtures__/chat-cards'
|
|
19
|
+
import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
|
|
20
|
+
|
|
21
|
+
// Compact (default) — full ticket with link
|
|
22
|
+
<HubspotTicketCard
|
|
23
|
+
item={hubspotTicketItem}
|
|
24
|
+
variant="compact"
|
|
25
|
+
anchorProps={makeAnchorProps(hubspotTicketItem.url ?? '#')}
|
|
26
|
+
/>
|
|
27
|
+
|
|
28
|
+
// Anon variant — server redacts sensitive fields before sending
|
|
29
|
+
<HubspotTicketCard
|
|
30
|
+
item={{ ...hubspotTicketItem, customerCompany: null, url: null }}
|
|
31
|
+
variant="compact"
|
|
32
|
+
/>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Notes
|
|
36
|
+
|
|
37
|
+
- The single `HubspotTicketCard` component handles all three doc types; field redaction (`customerCompany`, `url`) is performed server-side before the item reaches the card.
|
|
38
|
+
- Status and priority badges drive the visual treatment — stories cover `NEW`, `CLOSED`, `MEDIUM`, and `LOW` combinations.
|
|
39
|
+
- All stories are wrapped in `ChatColumnDecorator` to simulate the chat column layout.
|
|
40
|
+
|
|
41
|
+
**Source:** [`HubspotTicketCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/HubspotTicketCard.stories.tsx)
|
|
@@ -1,22 +1,27 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `InfoCard`
|
|
1
|
+
<!-- source-hash: c32546958851d971ee61fe36c097b05c -->
|
|
2
|
+
Storybook stories for the `InfoCard` component, demonstrating all supported variants including progress bars, copyable values, item icons, footers, and multi-card grid layouts.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
|
7
|
-
|
|
8
|
-
| `DiskC` |
|
|
9
|
-
| `DiskD` |
|
|
10
|
-
| `PhysicalRAM` | RAM card showing
|
|
11
|
-
| `WithCopyableValues` |
|
|
12
|
-
| `
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `DiskC` | Basic card with title, subtitle, usage items, and a progress bar |
|
|
9
|
+
| `DiskD` | Progress bar with `warningThreshold` and `criticalThreshold` thresholds configured |
|
|
10
|
+
| `PhysicalRAM` | RAM metric card showing the standard progress bar pattern |
|
|
11
|
+
| `WithCopyableValues` | Items with `copyable: true`, plus a footer with icon, logo, and external link |
|
|
12
|
+
| `WithItemIcon` | Inline icon rendered alongside individual item labels |
|
|
13
|
+
| `WithFooter` | Full footer with icon, signed-by text, logo, and a link |
|
|
14
|
+
| `WithFooterWithoutLink` | Footer without an external `link` href |
|
|
15
|
+
| `Grid` | Three `InfoCard` instances arranged in a responsive 3-column grid |
|
|
13
16
|
|
|
14
17
|
## Usage Example
|
|
15
18
|
|
|
16
19
|
```typescript
|
|
17
20
|
import { InfoCard } from '../components'
|
|
21
|
+
import { ShieldCheckIcon } from '../components/icons-v2-generated/security'
|
|
22
|
+
import { FlamingoLogo } from '../components/icons'
|
|
18
23
|
|
|
19
|
-
// Basic
|
|
24
|
+
// Basic card with progress bar
|
|
20
25
|
<InfoCard
|
|
21
26
|
data={{
|
|
22
27
|
title: 'C:',
|
|
@@ -25,30 +30,36 @@ import { InfoCard } from '../components'
|
|
|
25
30
|
{ label: 'Current Usage', value: '42.6%' },
|
|
26
31
|
{ label: 'Capacity', value: '931 GB' },
|
|
27
32
|
],
|
|
28
|
-
progress: { value: 42.6 },
|
|
33
|
+
progress: { value: 42.6, warningThreshold: 60, criticalThreshold: 85 },
|
|
29
34
|
}}
|
|
30
35
|
/>
|
|
31
36
|
|
|
32
|
-
//
|
|
33
|
-
<InfoCard
|
|
34
|
-
data={{
|
|
35
|
-
title: 'D:',
|
|
36
|
-
progress: {
|
|
37
|
-
value: 62.3,
|
|
38
|
-
warningThreshold: 60,
|
|
39
|
-
criticalThreshold: 85,
|
|
40
|
-
},
|
|
41
|
-
items: [{ label: 'Current Usage', value: '62.3%' }],
|
|
42
|
-
}}
|
|
43
|
-
/>
|
|
44
|
-
|
|
45
|
-
// With copyable values
|
|
37
|
+
// Card with copyable values and footer
|
|
46
38
|
<InfoCard
|
|
47
39
|
data={{
|
|
48
40
|
title: 'Network',
|
|
49
41
|
items: [
|
|
50
42
|
{ label: 'IPv4', value: '192.168.1.100', copyable: true },
|
|
43
|
+
{ label: 'Hostname', value: 'srv-prod-01', copyable: true },
|
|
44
|
+
{
|
|
45
|
+
label: 'toolType',
|
|
46
|
+
value: 'Fleet',
|
|
47
|
+
icon: <ShieldCheckIcon size={16} />,
|
|
48
|
+
},
|
|
51
49
|
],
|
|
50
|
+
footer: {
|
|
51
|
+
icon: <ShieldCheckIcon size={24} className="text-ods-success" />,
|
|
52
|
+
text: 'Signed by Flamingo',
|
|
53
|
+
logo: <FlamingoLogo width={24} height={24} />,
|
|
54
|
+
link: { href: 'https://github.com/flamingo-ai/fleetdm' },
|
|
55
|
+
},
|
|
52
56
|
}}
|
|
53
57
|
/>
|
|
54
|
-
```
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Notes
|
|
61
|
+
|
|
62
|
+
- All stories wrap the card in a fixed-width `div` (`w-80` or `w-96`) to simulate real layout constraints.
|
|
63
|
+
- The `progress` object accepts an optional `warningThreshold` and `criticalThreshold` to change bar color at defined percentages.
|
|
64
|
+
- The `footer.link` property is optional; omitting it renders the footer without an external link anchor.
|
|
65
|
+
- Source: [`InfoCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/InfoCard.stories.tsx)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!-- source-hash: f31b4ccb2870f56d7cfa24206432f5bf -->
|
|
2
|
+
Storybook stories for the `InfoCardRow` UI component, providing visual documentation and interactive examples with and without icons.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `Default` | `Story` | Full row with company logo avatar, title/caption lead, and two stat sections with icons |
|
|
9
|
+
| `WithoutIcons` | `Story` | Text-only variant with all icon slots omitted |
|
|
10
|
+
| `meta` | `Meta` | Storybook metadata defining layout, argTypes, and component-level docs |
|
|
11
|
+
|
|
12
|
+
## Usage Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { InfoCardRow } from '../components/ui/info-card-row'
|
|
16
|
+
import { CheckCircleIcon } from '../components/icons-v2-generated/signs-and-symbols/check-circle-icon'
|
|
17
|
+
import { TagIcon } from '../components/icons-v2-generated/shopping/tag-icon'
|
|
18
|
+
|
|
19
|
+
// Full row with icons
|
|
20
|
+
<InfoCardRow
|
|
21
|
+
lead={{
|
|
22
|
+
title: 'Precision Accounting Partners',
|
|
23
|
+
caption: '847 devices',
|
|
24
|
+
icon: <img src="/logo.png" className="size-full object-cover" />,
|
|
25
|
+
}}
|
|
26
|
+
stats={[
|
|
27
|
+
{
|
|
28
|
+
title: 'Resolved this week',
|
|
29
|
+
caption: '312',
|
|
30
|
+
icon: <CheckCircleIcon className="text-ods-success" />,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
title: 'Open tickets',
|
|
34
|
+
caption: '2',
|
|
35
|
+
icon: <TagIcon className="text-ods-text-secondary" />,
|
|
36
|
+
},
|
|
37
|
+
]}
|
|
38
|
+
/>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Story Variants
|
|
42
|
+
|
|
43
|
+
- **`Default`** — Matches the Figma spec: gradient avatar in the lead slot, `CheckCircleIcon` and `TagIcon` in the stat sections.
|
|
44
|
+
- **`WithoutIcons`** — All `icon` props omitted; validates the text-only layout path.
|
|
45
|
+
|
|
46
|
+
The decorator constrains each story to a `max-w-[1024px]` container to reflect realistic dashboard widths. The component internally uses a 50/25/25 column split, collapses stat sections to a wrapped row on mobile, and shares inner borders between neighbouring sections.
|
|
47
|
+
|
|
48
|
+
> View the full source on GitHub: [`InfoCardRow.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/InfoCardRow.stories.tsx)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!-- source-hash: 17cedfbecac10b0f21e310ac541210e2 -->
|
|
2
|
+
Storybook stories for the `InfoSection` component, demonstrating a labelled info card used in ticket detail views within the OpenFrame MSP platform.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `TicketDetails` | `Story` | Static story showing all row value types: plain text, text-with-avatar, assignee picker, and status dropdown |
|
|
9
|
+
| `Interactive` | `Story` | Live stateful story where assigning a user or changing status updates the card in place |
|
|
10
|
+
|
|
11
|
+
## Usage Example
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { InfoSection, type InfoSectionRow } from '../components/ui/info-section';
|
|
15
|
+
|
|
16
|
+
const rows: InfoSectionRow[] = [
|
|
17
|
+
// Plain text
|
|
18
|
+
{ id: 'customer', label: 'Customer', value: { text: 'Acme Corp', imageFallback: 'Acme Corp' } },
|
|
19
|
+
|
|
20
|
+
// Clickable text
|
|
21
|
+
{ id: 'device', label: 'Device', value: { text: 'TB-156-SEA', onClick: () => navigate('/devices/TB-156-SEA') } },
|
|
22
|
+
|
|
23
|
+
// Inline assignee autocomplete
|
|
24
|
+
{
|
|
25
|
+
id: 'assigned',
|
|
26
|
+
label: 'Assigned',
|
|
27
|
+
value: { type: 'assignee', options: assigneeOptions, onAssign: (id) => handleAssign(id) },
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
// Inline status dropdown
|
|
31
|
+
{
|
|
32
|
+
id: 'status',
|
|
33
|
+
label: 'Status',
|
|
34
|
+
value: { type: 'status', status: 'AI_ASSISTANCE', options: statusOptions, onSelect: (id) => handleStatus(id) },
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
// Arbitrary node
|
|
38
|
+
{ id: 'priority', label: 'Priority', value: { type: 'custom', content: <Badge>High</Badge> } },
|
|
39
|
+
];
|
|
40
|
+
|
|
41
|
+
<InfoSection title="Ticket Details" rows={rows} />
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Row Value Types
|
|
45
|
+
|
|
46
|
+
| Type | Description |
|
|
47
|
+
|---|---|
|
|
48
|
+
| `text` | Plain string, optional `imageFallback` avatar, optional `onClick` |
|
|
49
|
+
| `assignee` | Autocomplete picker with `options`, `currentAssignee`, and `onAssign` callback |
|
|
50
|
+
| `status` | Dropdown with color-coded options, `status` key, and `onSelect` callback |
|
|
51
|
+
| `custom` | Any React node via `content` prop |
|
|
52
|
+
|
|
53
|
+
## Source
|
|
54
|
+
|
|
55
|
+
[`InfoSection.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/InfoSection.stories.tsx)
|