@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,59 @@
|
|
|
1
|
+
<!-- source-hash: e558dffab5bdef3a664d2fa964007300 -->
|
|
2
|
+
Storybook stories for `QuickActionChipButton`, covering all visual variants, icon formats, and interaction states used across chat empty states, marketing marquee strips, and ROI table task cells.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Default` | Bordered `outline` chip with a config glyph tinted flamingo-pink |
|
|
9
|
+
| `Primary` | Accent (yellow) `primary` variant chip |
|
|
10
|
+
| `AccentTints` | Config glyphs using `pink`, `cyan`, and arbitrary CSS color `accent` values |
|
|
11
|
+
| `AgentMarks` | Agent-format icons (`fae`, `mingo`) that carry their own colors |
|
|
12
|
+
| `NoIcon` | Label-only chip with no icon |
|
|
13
|
+
| `NonInteractive` | Decorative `<Tag>` (non-focusable) for marquee strips and ROI table cells |
|
|
14
|
+
| `HoverCallbacks` | Demonstrates `onHoverStart`/`onHoverEnd` for prompt preview/restore behavior |
|
|
15
|
+
| `Gallery` | All variants rendered side by side |
|
|
16
|
+
|
|
17
|
+
## Usage Example
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { QuickActionChipButton, type QuickActionIconSpec } from '../components/chat/quick-action-chip'
|
|
21
|
+
|
|
22
|
+
// Config-format icon: name resolved by <EntityIcon>, tinted via accent
|
|
23
|
+
const icon: QuickActionIconSpec = { name: 'search', accent: 'pink' }
|
|
24
|
+
|
|
25
|
+
// Interactive chip (button, focusable, hover callbacks)
|
|
26
|
+
<QuickActionChipButton
|
|
27
|
+
label="How to start"
|
|
28
|
+
icon={icon}
|
|
29
|
+
variant="outline"
|
|
30
|
+
onSelect={() => console.log('selected')}
|
|
31
|
+
onHoverStart={() => console.log('preview prompt')}
|
|
32
|
+
onHoverEnd={() => console.log('restore composer')}
|
|
33
|
+
/>
|
|
34
|
+
|
|
35
|
+
// Agent-format icon (self-colored, accent ignored)
|
|
36
|
+
<QuickActionChipButton
|
|
37
|
+
label="Ask fae"
|
|
38
|
+
icon={{ name: 'fae' }}
|
|
39
|
+
onSelect={() => {}}
|
|
40
|
+
/>
|
|
41
|
+
|
|
42
|
+
// Decorative (non-interactive Tag, no button or focus ring)
|
|
43
|
+
<QuickActionChipButton
|
|
44
|
+
label="Decorative"
|
|
45
|
+
icon={{ name: 'bug', accent: 'cyan' }}
|
|
46
|
+
interactive={false}
|
|
47
|
+
/>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Icon Format Reference
|
|
51
|
+
|
|
52
|
+
| Format | Example | Behavior |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| Agent | `{ name: 'fae' \| 'mingo' }` | Renders packaged agent mark; `accent` ignored |
|
|
55
|
+
| Config | `{ name, accent: 'pink' \| 'cyan' }` | Glyph tinted with brand token |
|
|
56
|
+
| Config | `{ name, accent: '#8b5cf6' }` | Glyph tinted with arbitrary CSS color |
|
|
57
|
+
| Config | `{ name, props: { color } }` | Explicit `props.color` wins over `accent` |
|
|
58
|
+
|
|
59
|
+
**Source:** [`QuickActionChip.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/QuickActionChip.stories.tsx)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!-- source-hash: a7d0aad0e28fe0e0c7562287e434d1b0 -->
|
|
2
|
+
Storybook stories for the `QuickActionMarquee` component, showcasing horizontally-scrolling quick-action chip strips used in the OpenFrame chat interface — covering layout variants, scroll directions, interactivity modes, and edge cases.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Default` | Single fae-row marquee scrolling left with interactive chips |
|
|
9
|
+
| `TwoRows` | Stacked fae (left) + mingo (right) rows mirroring the Figma design |
|
|
10
|
+
| `ScrollRight` | Mingo-row marquee with reversed scroll direction |
|
|
11
|
+
| `Decorative` | Non-interactive, non-focusable chip strip for marketing/display use |
|
|
12
|
+
| `FewItems` | Edge case with fewer than 12 items — validates `minChips` auto-padding |
|
|
13
|
+
| `FastNoPause` | High-speed (`120px/s`) marquee with hover-pause disabled |
|
|
14
|
+
|
|
15
|
+
**Item Fixtures:**
|
|
16
|
+
|
|
17
|
+
- `FAE_ITEMS` — 6 chips with `pink`-accented icons, mirrors the Figma fae row
|
|
18
|
+
- `MINGO_ITEMS` — 6 chips with `cyan`-accented icons, mirrors the Figma mingo row
|
|
19
|
+
|
|
20
|
+
## Usage Example
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { QuickActionMarquee } from '../components/chat/quick-action-marquee'
|
|
24
|
+
|
|
25
|
+
// Interactive strip
|
|
26
|
+
<QuickActionMarquee
|
|
27
|
+
items={FAE_ITEMS}
|
|
28
|
+
direction="left"
|
|
29
|
+
speed={60}
|
|
30
|
+
pauseOnHover
|
|
31
|
+
onSelect={(item) => console.log(item.id)}
|
|
32
|
+
/>
|
|
33
|
+
|
|
34
|
+
// Decorative-only (no onSelect → non-focusable)
|
|
35
|
+
<QuickActionMarquee items={MINGO_ITEMS} direction="right" />
|
|
36
|
+
|
|
37
|
+
// Stacked two-row layout
|
|
38
|
+
<div className="flex flex-col gap-[var(--spacing-system-mf)]">
|
|
39
|
+
<QuickActionMarquee items={FAE_ITEMS} direction="left" onSelect={handler} />
|
|
40
|
+
<QuickActionMarquee items={MINGO_ITEMS} direction="right" onSelect={handler} />
|
|
41
|
+
</div>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Notes
|
|
45
|
+
|
|
46
|
+
- Scroll speed is constant in `px/s` regardless of item count
|
|
47
|
+
- Strips automatically pause under `prefers-reduced-motion`
|
|
48
|
+
- Omitting `onSelect` renders chips as plain decorative tags (not focusable)
|
|
49
|
+
- Cloned track copies are `aria-hidden` for accessibility
|
|
50
|
+
|
|
51
|
+
**Source:** [`QuickActionMarquee.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/QuickActionMarquee.stories.tsx)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<!-- source-hash: 1db7402ef79fc5e4ab16d7c9c2568bfa -->
|
|
2
|
+
Storybook stories for `QuickActionWall`, demonstrating all rendering modes of the chat quick-action chip wall component across vertical, horizontal, brick-layout, and edge-case configurations.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
- **`VerticalMixedStream`** — Vertical wall with bottom-fade marquee, interleaved IT/SEC chips with category lozenges
|
|
7
|
+
- **`HorizontalInteractive`** — Horizontal wall with right-fade marquee, interactive Fae chips that pause on hover
|
|
8
|
+
- **`Plain`** — Static layout with no marquee or blur effects (consumer opt-out mode)
|
|
9
|
+
- **`Loading`** — Skeleton state with reserved lozenge slots, no chip content
|
|
10
|
+
- **`BrickAgentCapped`** — Brick layout capped at 2 rows for `agentSlug="mingo"`, chips split evenly across rows
|
|
11
|
+
- **`BrickFewActions`** — Brick layout collapse to single row when chip count is below one course
|
|
12
|
+
- **`BrickNarrowComposer`** — Brick layout adapted to a ~420px container, reduced duplication
|
|
13
|
+
- **`BrickSingleShortChip`** — Single narrow chip padded to overflow and scroll correctly
|
|
14
|
+
- **`BrickNonAgent`** — Brick layout without `agentSlug`, keeps exact `rows` count
|
|
15
|
+
|
|
16
|
+
## Usage Example
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { QuickActionWall, interleave } from './components/chat/quick-action-wall'
|
|
20
|
+
import type { QuickActionChip, QuickActionThemeSpec } from './components/chat/quick-action-chip'
|
|
21
|
+
|
|
22
|
+
const MY_THEME: QuickActionThemeSpec = {
|
|
23
|
+
accent: 'var(--color-warning)',
|
|
24
|
+
lozenge: { label: 'IT', className: 'text-ods-warning' },
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const chips: QuickActionChip[] = [
|
|
28
|
+
{ id: 'reset-password', label: 'Reset a password', icon: { name: 'key' }, theme: MY_THEME },
|
|
29
|
+
{ id: 'vpn', label: 'VPN will not connect', icon: { name: 'globe' }, theme: MY_THEME },
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
// Vertical scrolling wall with fade
|
|
33
|
+
<QuickActionWall
|
|
34
|
+
chips={chips}
|
|
35
|
+
lozenges
|
|
36
|
+
fade="bottom"
|
|
37
|
+
fadeColor="var(--color-bg-card)"
|
|
38
|
+
className="max-h-[180px]"
|
|
39
|
+
/>
|
|
40
|
+
|
|
41
|
+
// Brick mode with drag-scroll and hover-pause
|
|
42
|
+
<QuickActionWall
|
|
43
|
+
chips={chips}
|
|
44
|
+
agentSlug="mingo"
|
|
45
|
+
rows={4}
|
|
46
|
+
pauseOnHover
|
|
47
|
+
dragScroll
|
|
48
|
+
fade={['left', 'right']}
|
|
49
|
+
fadeColor="var(--color-bg)"
|
|
50
|
+
className="max-h-44"
|
|
51
|
+
/>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
> **Note:** Theme specs (`accent`, `lozenge`) are caller-supplied per chip — the library ships no theme registry or defaults.
|
|
55
|
+
|
|
56
|
+
## Source
|
|
57
|
+
|
|
58
|
+
[`QuickActionWall.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/QuickActionWall.stories.tsx)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- source-hash: 72d41aa10f4798e2928e546b0358d618 -->
|
|
2
|
+
Storybook stories for the `RoadmapCard` component, covering all three roadmap doc types (`roadmap_item`, `delivery_item`, `internal_task`) across both `sm` (chat-inline) and `default` (full rich card) size variants.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Size | Card Type | Description |
|
|
7
|
+
|---|---|---|---|
|
|
8
|
+
| `RoadmapItemSm` | `sm` | `roadmap_item` | Feature item in chat-inline variant |
|
|
9
|
+
| `DeliveryItemSm` | `sm` | `delivery_item` | Delivery item in chat-inline variant |
|
|
10
|
+
| `InternalTaskSm` | `sm` | `internal_task` | Internal task in chat-inline variant |
|
|
11
|
+
| `RoadmapItemDefault` | `default` | `roadmap_item` | Full rich card with vote buttons and screenshot gallery |
|
|
12
|
+
|
|
13
|
+
## Usage Example
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { RoadmapCard } from '../components/chat/entity-cards'
|
|
17
|
+
|
|
18
|
+
// Chat-inline (sm) — feature roadmap item
|
|
19
|
+
<RoadmapCard
|
|
20
|
+
item={roadmapFeatureItem}
|
|
21
|
+
href={`/roadmap/${roadmapFeatureItem.id}`}
|
|
22
|
+
size="sm"
|
|
23
|
+
cardType="roadmap_item"
|
|
24
|
+
target="_blank"
|
|
25
|
+
rel="noopener noreferrer"
|
|
26
|
+
/>
|
|
27
|
+
|
|
28
|
+
// Full rich card (default) — public roadmap page
|
|
29
|
+
<RoadmapCard
|
|
30
|
+
item={roadmapFeatureItem}
|
|
31
|
+
size="default"
|
|
32
|
+
cardType="roadmap_item"
|
|
33
|
+
/>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Notes
|
|
37
|
+
|
|
38
|
+
- All stories are wrapped in `ChatColumnDecorator` to simulate the chat column layout context.
|
|
39
|
+
- The `cardType` prop drives the icon shape in `sm` variant (Feature / Delivery / Bug-shaped task).
|
|
40
|
+
- `default` size renders vote buttons and a screenshot gallery; vote handlers are stubbed in chat context.
|
|
41
|
+
- Fixture data is sourced from [`./__fixtures__/chat-cards`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/stories/__fixtures__/chat-cards.ts).
|
|
@@ -1,31 +1,51 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook
|
|
1
|
+
<!-- source-hash: 9148d72b6db0cfd294a2461f5793d1ce -->
|
|
2
|
+
Storybook stories for the `ShellTypeBadge` component, providing interactive documentation and visual testing for all supported OpenFrame RMM shell/script type badges.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `meta` | `Meta<ShellTypeBadge>` | Storybook metadata with `select` control for `shellType` and autodocs enabled |
|
|
9
|
+
| `Default` | `Story` | Default story using `POWERSHELL` |
|
|
10
|
+
| `PowerShell` | `Story` | PowerShell badge variant |
|
|
11
|
+
| `Cmd` | `Story` | CMD/Batch badge variant |
|
|
12
|
+
| `Bash` | `Story` | Bash badge variant |
|
|
13
|
+
| `Python` | `Story` | Python badge variant |
|
|
14
|
+
| `Nushell` | `Story` | Nushell badge variant |
|
|
15
|
+
| `Deno` | `Story` | Deno badge variant |
|
|
16
|
+
| `Shell` | `Story` | Generic shell badge variant |
|
|
17
|
+
| `AllShellTypes` | `Story` | Composite story rendering all seven variants stacked for side-by-side comparison |
|
|
10
18
|
|
|
11
19
|
## Usage Example
|
|
12
20
|
|
|
13
21
|
```typescript
|
|
14
|
-
//
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
// Render a single badge in your component
|
|
23
|
+
import { ShellTypeBadge } from '../components/platform/ShellTypeBadge';
|
|
24
|
+
|
|
25
|
+
<ShellTypeBadge shellType="PYTHON" />
|
|
26
|
+
|
|
27
|
+
// Supported shellType values
|
|
28
|
+
const shellTypes = [
|
|
29
|
+
'POWERSHELL',
|
|
30
|
+
'CMD',
|
|
31
|
+
'BASH',
|
|
32
|
+
'PYTHON',
|
|
33
|
+
'NUSHELL',
|
|
34
|
+
'DENO',
|
|
35
|
+
'SHELL',
|
|
36
|
+
] as const;
|
|
29
37
|
```
|
|
30
38
|
|
|
31
|
-
|
|
39
|
+
## Supported Shell Types
|
|
40
|
+
|
|
41
|
+
| `shellType` | Description |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `POWERSHELL` | Windows PowerShell / PowerShell Core |
|
|
44
|
+
| `CMD` | Windows CMD / Batch scripts |
|
|
45
|
+
| `BASH` | Unix/Linux Bash shell |
|
|
46
|
+
| `PYTHON` | Python scripts |
|
|
47
|
+
| `NUSHELL` | Nushell modern shell |
|
|
48
|
+
| `DENO` | Deno TypeScript runtime |
|
|
49
|
+
| `SHELL` | Generic shell fallback |
|
|
50
|
+
|
|
51
|
+
**Source:** [`ShellTypeBadge.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ShellTypeBadge.stories.tsx)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!-- source-hash: c2739c86036e406bd419b03f561d1e70 -->
|
|
2
|
+
Storybook stories for `SlackMessageCard`, a chat entity card component that renders inline previews of Slack messages (`slack_message` doc type) in two layout variants.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `Compact` | `Story` | Card rendered inline within a chat message bubble |
|
|
9
|
+
| `RowVariant` | `Story` | Card rendered in list/row contexts |
|
|
10
|
+
|
|
11
|
+
## Usage Example
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { SlackMessageCard } from '../components/chat/entity-cards'
|
|
15
|
+
import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
|
|
16
|
+
import { slackMessageItem } from './__fixtures__/chat-cards'
|
|
17
|
+
|
|
18
|
+
// Compact — inline chat usage
|
|
19
|
+
<SlackMessageCard
|
|
20
|
+
item={slackMessageItem}
|
|
21
|
+
variant="compact"
|
|
22
|
+
anchorProps={makeAnchorProps(slackMessageItem.url ?? '#')}
|
|
23
|
+
/>
|
|
24
|
+
|
|
25
|
+
// Row — list context usage
|
|
26
|
+
<SlackMessageCard
|
|
27
|
+
item={slackMessageItem}
|
|
28
|
+
variant="row"
|
|
29
|
+
anchorProps={makeAnchorProps(slackMessageItem.url ?? '#')}
|
|
30
|
+
/>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
- Previews are **PII-sanitized server-side** before reaching this component — it is purely presentational.
|
|
36
|
+
- Both stories are wrapped in `ChatColumnDecorator` to simulate the chat column layout context.
|
|
37
|
+
- `anchorProps` is generated via `makeAnchorProps`, which derives link behavior from the item's URL.
|
|
38
|
+
- Stories are grouped under `Chat/EntityCards/SlackMessageCard` in the Storybook sidebar.
|
|
39
|
+
|
|
40
|
+
## Source
|
|
41
|
+
|
|
42
|
+
[`SlackMessageCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/SlackMessageCard.stories.tsx)
|
|
@@ -1,41 +1,31 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `SlashCommandSuggestions` chat autocomplete
|
|
1
|
+
<!-- source-hash: 1a5069303b8ed13eb9814a0faafa1f13 -->
|
|
2
|
+
Storybook stories for the `SlashCommandSuggestions` chat autocomplete dropdown, covering static, interactive, filtered, and no-action variants.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
| `Interactive` | Live hover-driven highlight via `useState`, mimics keyboard navigation |
|
|
12
|
-
| `FilteredSingle` | Single result row, simulates typing `/road` to filter |
|
|
13
|
-
| `NoActions` | Hides action chips when `onAction` is `undefined`, row becomes click-only |
|
|
14
|
-
|
|
15
|
-
### Sample Data (`SAMPLE_COMMANDS`)
|
|
16
|
-
|
|
17
|
-
14 `SlashCommandSummary` entries covering all production `/api/docs/commands` sources: ClickUp (`roadmap`, `delivery`), GitHub (`commits`, `pull-requests`, `pr-reviews`), Slack (`slack`), and OpenFrame content types (`docs`, `blogs`, `releases`, `case-studies`, `getting-started`, `webinars`, `events`, `podcasts`). Each entry includes `iconName` keys wired to the `resolveOnboardingIcon` registry.
|
|
6
|
+
- **`Default`** — Full command list rendered with the first row highlighted; logs `select` and `action` events to the console.
|
|
7
|
+
- **`Interactive`** — Stateful story using `useState` to track `highlightedIdx`; hover over rows to drive keyboard-style highlight changes.
|
|
8
|
+
- **`FilteredSingle`** — Renders only the first command, simulating a typed filter such as `/road`.
|
|
9
|
+
- **`NoActions`** — Omits the `onAction` handler, causing each row's chip rail to collapse to click-only behavior.
|
|
10
|
+
- **`SAMPLE_COMMANDS`** — Fixture array of 14 `SlashCommandSummary` objects using live icon keys (`clickup`, `github`, `slack`, `openframe`, `rocket`, `briefcase`, `graduation-cap`, `video`, `headphones`, `calendar`, `newspaper`) that match the production `/api/docs/commands` contract.
|
|
18
11
|
|
|
19
12
|
## Usage Example
|
|
20
13
|
|
|
21
14
|
```typescript
|
|
22
|
-
// Render the interactive story manually outside Storybook
|
|
23
15
|
import { SlashCommandSuggestions } from '../components/chat/slash-command-suggestions'
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
onAction={(cmd, actionId) => console.log('action:', cmd.id, actionId)}
|
|
36
|
-
/>
|
|
37
|
-
)
|
|
38
|
-
}
|
|
16
|
+
|
|
17
|
+
// Minimal controlled usage matching the story pattern
|
|
18
|
+
const [highlightedIdx, setHighlightedIdx] = useState(0)
|
|
19
|
+
|
|
20
|
+
<SlashCommandSuggestions
|
|
21
|
+
commands={filteredCommands}
|
|
22
|
+
highlightedIdx={highlightedIdx}
|
|
23
|
+
onHover={setHighlightedIdx}
|
|
24
|
+
onSelect={(cmd) => handleSelect(cmd)}
|
|
25
|
+
onAction={(cmd, actionId) => handleAction(cmd, actionId)}
|
|
26
|
+
/>
|
|
39
27
|
```
|
|
40
28
|
|
|
41
|
-
The decorator wraps every story in a `640px` container with a mock chat input row
|
|
29
|
+
The decorator wraps every story in a `640px` container with a mock chat input row (`/`) so the dropdown's `absolute bottom-full` positioning anchors correctly, replicating the in-app `ChatInput` context.
|
|
30
|
+
|
|
31
|
+
**Source:** [`SlashCommandSuggestions.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/SlashCommandSuggestions.stories.tsx)
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `SplitButton` component,
|
|
1
|
+
<!-- source-hash: 454a0a0b449298a9b90b4299b2cca4e2 -->
|
|
2
|
+
Storybook stories for the `SplitButton` component, covering all visual variants, sizes, states, and interaction patterns available in the UI library.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
| Export | Description |
|
|
7
|
-
|
|
8
|
-
| `Accent` | Default accent
|
|
9
|
-
| `Outline` | Outline
|
|
10
|
-
| `Transparent` |
|
|
11
|
-
| `Destructive` |
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Accent` | Default accent-colored split button with external link icon action |
|
|
9
|
+
| `Outline` | Outline-styled split button with new-tab action |
|
|
10
|
+
| `Transparent` | Ghost-style split button |
|
|
11
|
+
| `Destructive` | Red destructive variant with trash icon and overflow menu |
|
|
12
|
+
| `Warning` | Warning variant for cautious actions |
|
|
13
|
+
| `SizeSmall` | Compact `small` size variant |
|
|
14
|
+
| `AsLink` | Main button rendered as an anchor (`href`) |
|
|
15
|
+
| `WithLeftIcon` | Split button with a leading icon on the primary label |
|
|
16
|
+
| `Disabled` | Fully disabled state |
|
|
16
17
|
| `IconActionDisabled` | Only the secondary icon action is disabled |
|
|
17
|
-
| `AllVariants` | Grid
|
|
18
|
-
| `TwoActions` |
|
|
18
|
+
| `AllVariants` | Grid rendering all 5 variants × 2 sizes × enabled/disabled |
|
|
19
|
+
| `TwoActions` | Side-by-side real-world usage examples |
|
|
20
|
+
|
|
21
|
+
**Shared action presets:**
|
|
22
|
+
- `newTabAction` — icon action that navigates to an external URL in a new tab
|
|
23
|
+
- `dropdownAction` — icon action that triggers a dropdown menu callback
|
|
19
24
|
|
|
20
25
|
## Usage Example
|
|
21
26
|
|
|
@@ -23,21 +28,21 @@ Storybook stories for the `SplitButton` component, showcasing all supported vari
|
|
|
23
28
|
import { SplitButton } from '../components/ui/button'
|
|
24
29
|
import { FloppyDiscIcon as Save, Chevron01DownIcon as ChevronDown } from '../components/icons-v2-generated'
|
|
25
30
|
|
|
26
|
-
//
|
|
31
|
+
// Primary action + secondary dropdown toggle
|
|
27
32
|
<SplitButton
|
|
28
33
|
variant="accent"
|
|
29
34
|
leftIcon={<Save />}
|
|
30
35
|
onClick={() => handleSave()}
|
|
31
36
|
iconAction={{
|
|
32
37
|
icon: <ChevronDown />,
|
|
33
|
-
'aria-label': '
|
|
34
|
-
onClick: () =>
|
|
38
|
+
'aria-label': 'Save options',
|
|
39
|
+
onClick: () => openSaveMenu(),
|
|
35
40
|
}}
|
|
36
41
|
>
|
|
37
42
|
Save
|
|
38
43
|
</SplitButton>
|
|
39
44
|
|
|
40
|
-
//
|
|
45
|
+
// Link-based split button opening a new tab
|
|
41
46
|
<SplitButton
|
|
42
47
|
variant="outline"
|
|
43
48
|
href="/docs"
|
|
@@ -52,11 +57,4 @@ import { FloppyDiscIcon as Save, Chevron01DownIcon as ChevronDown } from '../com
|
|
|
52
57
|
</SplitButton>
|
|
53
58
|
```
|
|
54
59
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
| Prop | Type | Options |
|
|
58
|
-
|------|------|---------|
|
|
59
|
-
| `variant` | select | `accent`, `outline`, `transparent`, `destructive` |
|
|
60
|
-
| `size` | select | `default`, `small` |
|
|
61
|
-
| `fullWidth` | boolean | — |
|
|
62
|
-
| `disabled` | boolean | — |
|
|
60
|
+
**Source:** [`SplitButton.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/SplitButton.stories.tsx)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<!-- source-hash: be32aae0da53559f0ef6e07a329fe02d -->
|
|
2
|
+
Storybook stories for the `StackedRowsPanel` component, demonstrating its key layout variants including header cards, standard tables, single rows, info banners, and panels with nested data tables.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `HeaderCard` | Full-width title/description row paired with a multi-column metadata row |
|
|
9
|
+
| `StandardTable` | Uniform multi-column rows with avatar, name/email, role, and status tag |
|
|
10
|
+
| `SingleRow` | Single row that rounds all four corners |
|
|
11
|
+
| `InfoBanner` | Row with a leading icon aligned against two text lines |
|
|
12
|
+
| `WithNestedTable` | Panel row hosting an arbitrary node — in this case a nested `DataTable` |
|
|
13
|
+
| `NestedDevicesTable` | Internal helper rendering a `DataTable` with device name and compliance status |
|
|
14
|
+
|
|
15
|
+
## Usage Example
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { StackedRowsPanel } from '../components/ui/stacked-rows-panel'
|
|
19
|
+
import { Tag } from '../components/ui/tag'
|
|
20
|
+
|
|
21
|
+
// Simple header card
|
|
22
|
+
<StackedRowsPanel
|
|
23
|
+
rows={[
|
|
24
|
+
{
|
|
25
|
+
id: 'title',
|
|
26
|
+
columns: [
|
|
27
|
+
{
|
|
28
|
+
key: 'description',
|
|
29
|
+
value: 'Monitors sustained high CPU utilization',
|
|
30
|
+
label: 'Description',
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'meta',
|
|
36
|
+
columns: [
|
|
37
|
+
{ key: 'severity', value: 'Critical', label: 'Severity' },
|
|
38
|
+
{
|
|
39
|
+
key: 'status',
|
|
40
|
+
value: <Tag label="Failing" variant="error" />,
|
|
41
|
+
label: 'Status',
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
]}
|
|
46
|
+
/>
|
|
47
|
+
|
|
48
|
+
// Single row — all four corners rounded
|
|
49
|
+
<StackedRowsPanel
|
|
50
|
+
rows={[
|
|
51
|
+
{ id: 'only', columns: [{ key: 'policy', value: 'High CPU Usage >85%', label: 'Policy' }] },
|
|
52
|
+
]}
|
|
53
|
+
/>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Notes
|
|
57
|
+
|
|
58
|
+
- **Corner rounding** is automatic: a single row rounds all corners; multiple rows round only the first row's top and last row's bottom corners.
|
|
59
|
+
- **Column slots** accept either `value`/`label` text pairs or an arbitrary `content` node.
|
|
60
|
+
- The `hideAt` prop on a column controls responsive visibility (e.g., `hideAt: 'md'`).
|
|
61
|
+
- The `leadingIcon` prop centers a glyph vertically against both value and label lines.
|
|
62
|
+
|
|
63
|
+
## Source
|
|
64
|
+
|
|
65
|
+
[`StackedRowsPanel.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/StackedRowsPanel.stories.tsx)
|
|
@@ -1,35 +1,21 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Storybook stories for the `TabSelector` UI component,
|
|
1
|
+
<!-- source-hash: 60b03abb76c9523e1bee39c6f559e738 -->
|
|
2
|
+
Storybook stories for the `TabSelector` UI component, covering all visual variants, states, and real-world usage patterns.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
|
9
|
-
|
|
10
|
-
| `
|
|
11
|
-
| `
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `WithLabel` | Optional label rendered above the selector |
|
|
15
|
-
| `WithDisabled` | Single tab disabled via `disabled` item property |
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Primary` | Active tab with accent background (primary variant) |
|
|
9
|
+
| `Secondary` | Active tab with soft grey background (secondary variant) |
|
|
10
|
+
| `FiveTabs` | Full five-tab layout matching Figma design spec |
|
|
11
|
+
| `WithIcons` | Tabs rendered with Lucide icon elements |
|
|
12
|
+
| `WithLabel` | Selector with an optional label rendered above |
|
|
13
|
+
| `WithDisabled` | Single tab item marked as `disabled: true` |
|
|
16
14
|
| `Disabled` | Entire selector disabled via top-level `disabled` prop |
|
|
17
15
|
| `TwoTabs` | Minimal two-tab configuration |
|
|
18
|
-
| `PlatformExample` | Real-world OS
|
|
19
|
-
| `VariantComparison` | Side-by-side `
|
|
20
|
-
| `WithBadges` | Tabs with badge
|
|
21
|
-
|
|
22
|
-
### `TabSelectorItem` Shape
|
|
23
|
-
|
|
24
|
-
```typescript
|
|
25
|
-
interface TabSelectorItem {
|
|
26
|
-
id: string;
|
|
27
|
-
label: string;
|
|
28
|
-
icon?: React.ReactNode;
|
|
29
|
-
disabled?: boolean;
|
|
30
|
-
badge?: React.ReactNode;
|
|
31
|
-
}
|
|
32
|
-
```
|
|
16
|
+
| `PlatformExample` | Real-world OS picker with icons and a label |
|
|
17
|
+
| `VariantComparison` | Side-by-side `primary` and `secondary` variant display |
|
|
18
|
+
| `WithBadges` | Tabs with inline badge elements (e.g. "Soon" label on a disabled tab) |
|
|
33
19
|
|
|
34
20
|
## Usage Example
|
|
35
21
|
|
|
@@ -37,22 +23,22 @@ interface TabSelectorItem {
|
|
|
37
23
|
import { TabSelector, type TabSelectorItem } from '../components/ui/tab-selector';
|
|
38
24
|
import { useState } from 'react';
|
|
39
25
|
|
|
40
|
-
const
|
|
41
|
-
{ id: 'windows', label: 'Windows'
|
|
42
|
-
{ id: 'macos', label: 'macOS'
|
|
43
|
-
{ id: 'linux', label: 'Linux',
|
|
26
|
+
const items: TabSelectorItem[] = [
|
|
27
|
+
{ id: 'windows', label: 'Windows' },
|
|
28
|
+
{ id: 'macos', label: 'macOS' },
|
|
29
|
+
{ id: 'linux', label: 'Linux', disabled: true },
|
|
44
30
|
];
|
|
45
31
|
|
|
46
32
|
export function PlatformPicker() {
|
|
47
|
-
const [platform, setPlatform] = useState('
|
|
33
|
+
const [platform, setPlatform] = useState('windows');
|
|
48
34
|
|
|
49
35
|
return (
|
|
50
36
|
<TabSelector
|
|
51
|
-
label="Select Platform"
|
|
52
|
-
variant="primary" // 'primary' | 'secondary'
|
|
53
37
|
value={platform}
|
|
54
38
|
onValueChange={setPlatform}
|
|
55
|
-
items={
|
|
39
|
+
items={items}
|
|
40
|
+
variant="primary"
|
|
41
|
+
label="Select Platform"
|
|
56
42
|
/>
|
|
57
43
|
);
|
|
58
44
|
}
|
|
@@ -60,6 +46,8 @@ export function PlatformPicker() {
|
|
|
60
46
|
|
|
61
47
|
## Notes
|
|
62
48
|
|
|
63
|
-
- All stories use a
|
|
64
|
-
- The
|
|
65
|
-
-
|
|
49
|
+
- All stories use a stateful `Render` wrapper so tab selection is interactive inside Storybook.
|
|
50
|
+
- The `WithBadges` story demonstrates the `badge` prop on `TabSelectorItem`, which accepts any React node and is suitable for status indicators.
|
|
51
|
+
- The decorator wraps every story in a `600px` container to match typical usage widths.
|
|
52
|
+
|
|
53
|
+
**Source:** [`TabSelector.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/TabSelector.stories.tsx)
|