@flamingo-stack/openframe-frontend-core 0.0.481 → 0.0.482
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-H6DFCF44.cjs → chunk-22AED5IC.cjs} +82 -82
- package/dist/{chunk-H6DFCF44.cjs.map → chunk-22AED5IC.cjs.map} +1 -1
- package/dist/{chunk-MGKCS6KS.js → chunk-3WCARCI4.js} +2 -2
- package/dist/{chunk-LNKWY74S.cjs → chunk-4HL6UENH.cjs} +5 -5
- package/dist/{chunk-LNKWY74S.cjs.map → chunk-4HL6UENH.cjs.map} +1 -1
- package/dist/{chunk-Y3Y2DLNO.js → chunk-6UGYBCEN.js} +3 -3
- package/dist/{chunk-BBUEY73L.js → chunk-7I5B5PQ4.js} +6269 -5339
- package/dist/chunk-7I5B5PQ4.js.map +1 -0
- package/dist/{chunk-PSPWT2Q5.js → chunk-7LWXWXEY.js} +4 -4
- package/dist/{chunk-M7O74OWG.cjs → chunk-ACOU5YJI.cjs} +31 -31
- package/dist/{chunk-M7O74OWG.cjs.map → chunk-ACOU5YJI.cjs.map} +1 -1
- package/dist/{chunk-INDFIVDV.cjs → chunk-AHGSN4AT.cjs} +12 -12
- package/dist/{chunk-INDFIVDV.cjs.map → chunk-AHGSN4AT.cjs.map} +1 -1
- package/dist/{chunk-VTSRDC4W.js → chunk-CKC3EAYT.js} +2 -2
- package/dist/{chunk-SASR7SK5.js → chunk-GZK7FWJJ.js} +20 -4
- package/dist/chunk-GZK7FWJJ.js.map +1 -0
- package/dist/{chunk-ZRANZNEA.js → chunk-JJE5TUZK.js} +2 -2
- package/dist/{chunk-66BNAFO6.js → chunk-JQIUBFHL.js} +4 -4
- package/dist/{chunk-MMCBQJKE.cjs → chunk-KUBJHB6I.cjs} +11 -11
- package/dist/{chunk-MMCBQJKE.cjs.map → chunk-KUBJHB6I.cjs.map} +1 -1
- package/dist/{chunk-ZV6E3U3C.cjs → chunk-MRGTMMJ3.cjs} +30 -30
- package/dist/{chunk-ZV6E3U3C.cjs.map → chunk-MRGTMMJ3.cjs.map} +1 -1
- package/dist/{chunk-OZJN54R5.cjs → chunk-NWVKG7QC.cjs} +37 -37
- package/dist/{chunk-OZJN54R5.cjs.map → chunk-NWVKG7QC.cjs.map} +1 -1
- package/dist/{chunk-AN47EIIJ.cjs → chunk-PHTSSHIQ.cjs} +59 -59
- package/dist/{chunk-AN47EIIJ.cjs.map → chunk-PHTSSHIQ.cjs.map} +1 -1
- package/dist/{chunk-N2JZ33V7.cjs → chunk-RUA3OXSJ.cjs} +26 -26
- package/dist/{chunk-N2JZ33V7.cjs.map → chunk-RUA3OXSJ.cjs.map} +1 -1
- package/dist/{chunk-LK623WCC.cjs → chunk-RZPF7MJ2.cjs} +9 -9
- package/dist/{chunk-LK623WCC.cjs.map → chunk-RZPF7MJ2.cjs.map} +1 -1
- package/dist/{chunk-G3UN2DXU.cjs → chunk-STYA77PH.cjs} +20 -4
- package/dist/chunk-STYA77PH.cjs.map +1 -0
- package/dist/{chunk-JUJY3HQS.cjs → chunk-U37UTLP7.cjs} +19 -19
- package/dist/{chunk-JUJY3HQS.cjs.map → chunk-U37UTLP7.cjs.map} +1 -1
- package/dist/{chunk-2DIOV7BR.js → chunk-UPN6EFOM.js} +4 -4
- package/dist/{chunk-OWMLWJQY.cjs → chunk-VPVOJD5X.cjs} +2432 -1502
- package/dist/chunk-VPVOJD5X.cjs.map +1 -0
- package/dist/{chunk-4SMRQ4SN.js → chunk-WBL5Y4PS.js} +3 -3
- package/dist/{chunk-FP4H6Y5O.js → chunk-WPYPSIY2.js} +3 -3
- package/dist/{chunk-R5WJJL4V.js → chunk-X5X43HFV.js} +5 -5
- package/dist/{chunk-DEHZ5CTC.js → chunk-XTWKDMCG.js} +2 -2
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/captions-url.cjs +12 -0
- package/dist/components/features/captions-url.cjs.map +1 -0
- package/dist/components/features/captions-url.js +10 -0
- package/dist/components/features/captions-url.js.map +1 -0
- package/dist/components/features/card-hit-layer.d.ts +40 -0
- package/dist/components/features/card-hit-layer.d.ts.map +1 -0
- package/dist/components/features/floating-walkthrough-video.d.ts +71 -0
- package/dist/components/features/floating-walkthrough-video.d.ts.map +1 -0
- package/dist/components/features/index.cjs +11 -3
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.d.ts +4 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +12 -4
- package/dist/components/features/use-walkthrough-video.d.ts +16 -0
- package/dist/components/features/use-walkthrough-video.d.ts.map +1 -0
- package/dist/components/features/video-bites-strip.d.ts.map +1 -1
- package/dist/components/features/video-center-badge.d.ts.map +1 -1
- package/dist/components/features/video-hover-preview.d.ts +68 -0
- package/dist/components/features/video-hover-preview.d.ts.map +1 -0
- package/dist/components/features/video.d.ts +78 -40
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/form.d.ts +0 -1
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +21 -21
- package/dist/components/help-center-pages/index.js +12 -12
- package/dist/components/index.cjs +163 -155
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +18 -10
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/related-content/index.cjs +4 -4
- package/dist/components/related-content/index.js +3 -3
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/button/button-styles.d.ts +2 -0
- package/dist/components/ui/button/button-styles.d.ts.map +1 -1
- package/dist/components/ui/button/button.d.ts +2 -2
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +50 -50
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/components/ui/page-actions.d.ts +2 -1
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/index.cjs +27 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +28 -4
- package/dist/types/supabase.d.ts +80 -0
- package/dist/types/supabase.d.ts.map +1 -1
- package/dist/types/video-processing.d.ts +1 -1
- package/dist/types/video-processing.d.ts.map +1 -1
- package/dist/utils/announcement-storage.d.ts +1 -1
- package/dist/utils/announcement-storage.d.ts.map +1 -1
- package/dist/utils/dismiss-cookie.d.ts +27 -0
- package/dist/utils/dismiss-cookie.d.ts.map +1 -0
- package/dist/utils/dismissal-storage.d.ts +19 -0
- package/dist/utils/dismissal-storage.d.ts.map +1 -0
- package/dist/utils/index.cjs +48 -10
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +41 -11
- package/dist/utils/index.js.map +1 -1
- package/package.json +8 -2
- package/src/.index.md +39 -32
- package/src/.platform-domains.md +65 -0
- package/src/assets/.fae-avatar.md +33 -0
- package/src/assets/.index.md +15 -9
- package/src/components/.agent-mark.md +31 -0
- package/src/components/.announcement-bar.md +47 -35
- package/src/components/.calendar.md +19 -15
- package/src/components/.categories-cart.md +34 -30
- package/src/components/.category-card.md +33 -33
- package/src/components/.chart.md +38 -40
- package/src/components/.command.md +47 -23
- package/src/components/.comment-card.md +31 -26
- package/src/components/.content-loading-container.md +45 -20
- package/src/components/.context-menu.md +45 -31
- package/src/components/.date-time-picker.md +36 -30
- package/src/components/.empty-state.md +31 -31
- package/src/components/.faq-accordion.md +20 -30
- package/src/components/.filter-chip.md +36 -33
- package/src/components/.footer-waitlist-button.md +27 -21
- package/src/components/.footer.md +39 -24
- package/src/components/.form.md +32 -20
- package/src/components/.hero-image-uploader.md +35 -31
- package/src/components/.icon-display.md +53 -0
- package/src/components/.image-cropper.md +34 -33
- package/src/components/.index.md +25 -29
- package/src/components/.logs-list.md +27 -23
- package/src/components/.media-carousel.md +47 -26
- package/src/components/.metric-value.md +27 -24
- package/src/components/.msp-display.md +29 -23
- package/src/components/.open-source-features.md +23 -26
- package/src/components/.pagination.md +44 -39
- package/src/components/.persistent-filter-controls.md +61 -28
- package/src/components/.pricing-display.md +34 -33
- package/src/components/.results-count.md +33 -20
- package/src/components/.smooth-accordion.md +24 -20
- package/src/components/.social-icon-row.md +33 -21
- package/src/components/.sonner.md +40 -25
- package/src/components/.steps.md +39 -25
- package/src/components/.tool-icon.md +34 -21
- package/src/components/.unified-filter-logic.md +32 -36
- package/src/components/.user-display.md +33 -28
- package/src/components/.user-summary-stub.md +40 -33
- package/src/components/.vendor-display-button.md +17 -15
- package/src/components/.vendor-icon.md +17 -25
- package/src/components/.vendor-tag.md +39 -34
- package/src/components/.why-it-matters.md +15 -11
- package/src/components/.yes-no-display.md +36 -31
- package/src/components/authors/.author-detail-view.md +50 -0
- package/src/components/case-studies/.index.md +26 -0
- package/src/components/case-studies/.share-experience-section.md +45 -0
- package/src/components/chat/.approval-batch-message.md +48 -33
- package/src/components/chat/.approval-request-message.md +37 -26
- package/src/components/chat/.chat-archive-page.md +56 -0
- package/src/components/chat/.chat-attachment-bar.md +32 -40
- package/src/components/chat/.chat-composer.md +43 -0
- package/src/components/chat/.chat-container.md +41 -25
- package/src/components/chat/.chat-context-memory-bar.md +53 -0
- package/src/components/chat/.chat-context-picker.md +89 -0
- package/src/components/chat/.chat-header-icon-button.md +43 -0
- package/src/components/chat/.chat-header-search-field.md +51 -0
- package/src/components/chat/.chat-input.md +63 -30
- package/src/components/chat/.chat-list-empty-state.md +44 -0
- package/src/components/chat/.chat-message-enhanced.md +29 -31
- package/src/components/chat/.chat-message-list.md +34 -44
- package/src/components/chat/.chat-message-row.md +56 -0
- package/src/components/chat/.chat-message-skeleton.md +32 -26
- package/src/components/chat/.chat-panel-header-mobile.md +46 -0
- package/src/components/chat/.chat-panel-header.md +80 -0
- package/src/components/chat/.chat-sidebar-skeleton.md +31 -30
- package/src/components/chat/.chat-sidebar.md +36 -29
- package/src/components/chat/.chat-ticket-list.md +38 -23
- package/src/components/chat/.chat-typing-indicator.md +37 -19
- package/src/components/chat/.context-compaction-display.md +19 -15
- package/src/components/chat/.context-items-list.md +57 -0
- package/src/components/chat/.embeddable-chat.md +57 -66
- package/src/components/chat/.error-message-display.md +40 -22
- package/src/components/chat/.guide-mode-banner.md +41 -0
- package/src/components/chat/.guide-welcome.md +43 -0
- package/src/components/chat/.index.md +26 -21
- package/src/components/chat/.mingo-chat-history.md +63 -0
- package/src/components/chat/.mingo-chat-modals.md +44 -0
- package/src/components/chat/.mingo-history-rail.md +63 -0
- package/src/components/chat/.mingo-info-card.md +59 -0
- package/src/components/chat/.mingo-onboarding-card.md +21 -27
- package/src/components/chat/.mingo-welcome.md +60 -0
- package/src/components/chat/.model-display.md +33 -25
- package/src/components/chat/.msp-organization-card-skeleton.md +44 -0
- package/src/components/chat/.msp-organization-card.md +51 -0
- package/src/components/chat/.nav-link-anchor-via-runtime.md +36 -25
- package/src/components/chat/.quick-action-chip.md +60 -0
- package/src/components/chat/.quick-action-marquee.md +53 -0
- package/src/components/chat/.quick-action-wall.md +68 -0
- package/src/components/chat/.remark-mention-chips.md +41 -0
- package/src/components/chat/.slash-command-suggestions.md +30 -36
- package/src/components/chat/.source-action-button.md +28 -25
- package/src/components/chat/.tool-call-blocks.md +18 -30
- package/src/components/chat/.tool-execution-display.md +29 -34
- package/src/components/chat/entity-cards/.admin-content-card.md +29 -22
- package/src/components/chat/entity-cards/.blog-card.md +44 -33
- package/src/components/chat/entity-cards/.blog-image-placeholder.md +20 -18
- package/src/components/chat/entity-cards/.case-study-card.md +24 -33
- package/src/components/chat/entity-cards/.chat-ticket-item.md +39 -22
- package/src/components/chat/entity-cards/.customer-interview-card.md +29 -32
- package/src/components/chat/entity-cards/.data-room-doc-card.md +21 -22
- package/src/components/chat/entity-cards/.dispatch.md +41 -24
- package/src/components/chat/entity-cards/.entity-author-card.md +36 -33
- package/src/components/chat/entity-cards/.entity-portrait-card.md +47 -0
- package/src/components/chat/entity-cards/.generic-entity-card.md +26 -25
- package/src/components/chat/entity-cards/.github-activity-card.md +35 -41
- package/src/components/chat/entity-cards/.hubspot-ticket-card.md +22 -28
- package/src/components/chat/entity-cards/.index.md +33 -44
- package/src/components/chat/entity-cards/.investor-update-card.md +36 -25
- package/src/components/chat/entity-cards/.onboarding-guide-card.md +20 -29
- package/src/components/chat/entity-cards/.product-release-card-defaults.md +26 -19
- package/src/components/chat/entity-cards/.program-card.md +30 -33
- package/src/components/chat/entity-cards/.roadmap-card.md +40 -31
- package/src/components/chat/entity-cards/.roadmap-vote-button.md +33 -36
- package/src/components/chat/entity-cards/.slack-message-card.md +31 -32
- package/src/components/chat/entity-cards/.use-cover-image-fallback.md +47 -0
- package/src/components/chat/entity-cards/.use-entity-card-link.md +51 -0
- package/src/components/chat/entity-cards/.use-entity-card-placeholder.md +47 -0
- package/src/components/chat/entity-cards/.what-i-shipped-card.md +43 -0
- package/src/components/chat/hooks/.index.md +33 -30
- package/src/components/chat/hooks/.use-chat-card-item.md +30 -17
- package/src/components/chat/hooks/.use-chat-dialog-manager.md +59 -0
- package/src/components/chat/hooks/.use-chat-identity.md +37 -25
- package/src/components/chat/hooks/.use-chunk-catchup.md +53 -36
- package/src/components/chat/hooks/.use-empty-state-config.md +39 -0
- package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +65 -30
- package/src/components/chat/hooks/.use-nats-chat-adapter.md +55 -36
- package/src/components/chat/hooks/.use-nats-dialog-subscription.md +66 -50
- package/src/components/chat/hooks/.use-realtime-chunk-processor.md +58 -31
- package/src/components/chat/hooks/.use-scripted-stream.md +46 -0
- package/src/components/chat/hooks/.use-slash-commands.md +32 -25
- package/src/components/chat/hooks/.use-sse-chat-adapter.md +32 -21
- package/src/components/chat/hooks/.use-unified-chat.md +45 -35
- package/src/components/chat/types/.api.types.md +49 -41
- package/src/components/chat/types/.chat.types.md +56 -34
- package/src/components/chat/types/.component.types.md +36 -36
- package/src/components/chat/types/.context-item.types.md +61 -0
- package/src/components/chat/types/.index.md +32 -17
- package/src/components/chat/types/.message.types.md +44 -45
- package/src/components/chat/types/.network.types.md +46 -46
- package/src/components/chat/types/.processing.types.md +49 -37
- package/src/components/chat/types/.unified-chat-state.types.md +41 -26
- package/src/components/chat/types/entities/.content-ref.md +20 -31
- package/src/components/chat/types/entities/.investor-update.md +14 -16
- package/src/components/chat/types/entities/.onboarding-guide.md +35 -34
- package/src/components/chat/types/entities/.program-types.md +55 -43
- package/src/components/chat/utils/.chip-action-class.md +17 -19
- package/src/components/chat/utils/.chip-styles.md +18 -18
- package/src/components/chat/utils/.chunk-parser.md +48 -37
- package/src/components/chat/utils/.compact-card-classes.md +33 -35
- package/src/components/chat/utils/.execute-navigation.md +49 -0
- package/src/components/chat/utils/.extract-incomplete-message-state.md +9 -12
- package/src/components/chat/utils/.history-merge.md +65 -0
- package/src/components/chat/utils/.icon-library.md +33 -31
- package/src/components/chat/utils/.icon-registry.md +44 -0
- package/src/components/chat/utils/.index.md +37 -33
- package/src/components/chat/utils/.is-cross-origin-url.md +26 -22
- package/src/components/chat/utils/.message-segment-accumulator.md +46 -25
- package/src/components/chat/utils/.nav-anchor-props.md +29 -34
- package/src/components/chat/utils/.nav-click-handler.md +29 -33
- package/src/components/chat/utils/.process-historical-messages.md +29 -33
- package/src/components/chat/utils/.scripted-stream.md +52 -0
- package/src/components/chat/utils/.source-row-cta.md +32 -31
- package/src/components/chat/utils/.tool-call-helpers.md +25 -17
- package/src/components/contact/.contact-form.md +24 -19
- package/src/components/docs/.doc-navigation-context.md +49 -0
- package/src/components/docs/.doc-viewer.md +64 -0
- package/src/components/docs/.docs-hub-page.md +49 -0
- package/src/components/docs/.index.md +51 -0
- package/src/components/docs/.skeletons.md +47 -0
- package/src/components/docs/.use-docs-resolve-link.md +61 -0
- package/src/components/docs/.use-document-tree.md +83 -0
- package/src/components/docs/.use-scroll-spy.md +58 -0
- package/src/components/embeds/.embed-container.md +45 -0
- package/src/components/embeds/.embed-iframe.md +51 -0
- package/src/components/embeds/.figma-embed.md +43 -0
- package/src/components/embeds/.file-download-card.md +47 -0
- package/src/components/embeds/.google-sheets-viewer.md +40 -0
- package/src/components/embeds/.index.md +58 -0
- package/src/components/embeds/.linkedin-embed-client.md +50 -0
- package/src/components/embeds/.markdown-image.md +40 -0
- package/src/components/embeds/.og-link-preview.md +54 -0
- package/src/components/embeds/.pdf-viewer.md +43 -0
- package/src/components/embeds/.reddit-embed-client.md +40 -0
- package/src/components/embeds/.rich-markdown-runtime.md +53 -0
- package/src/components/embeds/.twitter-embed-client.md +44 -0
- package/src/components/faq/.faq-document-page.md +68 -0
- package/src/components/faq/.faq-section.md +55 -0
- package/src/components/faq/.index.md +29 -0
- package/src/components/faq/.json-ld.md +48 -0
- package/src/components/features/.array-entry-manager.md +32 -24
- package/src/components/features/.auth-providers-list.md +33 -32
- package/src/components/features/.captions-url.md +43 -0
- package/src/components/features/.cards-strip.md +48 -0
- package/src/components/features/.changelog-manager.md +17 -20
- package/src/components/features/.command-box.md +11 -16
- package/src/components/features/.entity-summary-editor.md +20 -15
- package/src/components/features/.entity-tag-badges.md +43 -0
- package/src/components/features/.entity-video-section.md +31 -41
- package/src/components/features/.figma-prototype-viewer.md +55 -37
- package/src/components/features/.filters-dropdown.md +14 -13
- package/src/components/features/.highlight-config-section.md +19 -16
- package/src/components/features/.highlight-video-combined-section.md +28 -19
- package/src/components/features/.highlight-video-preview.md +13 -11
- package/src/components/features/.highlight-video-section.md +26 -22
- package/src/components/features/.index.md +40 -36
- package/src/components/features/.media-gallery-manager.md +37 -35
- package/src/components/features/.mux-origins.md +46 -0
- package/src/components/features/.og-editor-preview.md +29 -24
- package/src/components/features/.os-type-badge-group.md +26 -18
- package/src/components/features/.os-type-badge.md +41 -24
- package/src/components/features/.paths-display.md +42 -25
- package/src/components/features/.platform-badge.md +26 -17
- package/src/components/features/.policy-configuration-panel.md +33 -31
- package/src/components/features/.provider-button.md +29 -20
- package/src/components/features/.push-button-selector.md +39 -41
- package/src/components/features/.release-media-manager.md +41 -34
- package/src/components/features/.section-selector.md +27 -16
- package/src/components/features/.select-button.md +21 -32
- package/src/components/features/.seo-editor-preview.md +49 -36
- package/src/components/features/.social-links-manager.md +40 -18
- package/src/components/features/.start-with-openframe-button.md +30 -32
- package/src/components/features/.status-filter-component.md +29 -38
- package/src/components/features/.tags-selector.md +25 -29
- package/src/components/features/.transcript-summary-editor.md +24 -18
- package/src/components/features/.use-video-warmup.md +47 -0
- package/src/components/features/.video-bites-display.md +36 -37
- package/src/components/features/.video-bites-shared.md +44 -0
- package/src/components/features/.video-bites-strip.md +63 -0
- package/src/components/features/.video-center-badge.md +38 -0
- package/src/components/features/.video-ratio-tabs.md +38 -31
- package/src/components/features/.video-source-selector.md +24 -27
- package/src/components/features/.video.md +35 -27
- package/src/components/features/.waitlist-form.md +39 -33
- package/src/components/features/.warning-block.md +53 -0
- package/src/components/features/ai-enrich/.AIEnrichSection.md +24 -25
- package/src/components/features/ai-enrich/.AIRequiredBadge.md +22 -21
- package/src/components/features/ai-enrich/.AIStatusIndicator.md +42 -35
- package/src/components/features/ai-enrich/.AIWarningsSection.md +23 -20
- package/src/components/features/ai-enrich/.ConfidenceBadge.md +35 -20
- package/src/components/features/auth/.auth-benefits-panel.md +48 -0
- package/src/components/features/auth/.auth-branding.md +51 -0
- package/src/components/features/auth/.auth-shell.md +51 -0
- package/src/components/features/auth/.back-to-login-link.md +48 -0
- package/src/components/features/auth/.complete-account-form.md +45 -0
- package/src/components/features/auth/.create-organization-form.md +53 -0
- package/src/components/features/auth/.index.md +48 -0
- package/src/components/features/auth/.invite-link-invalid-modal.md +42 -0
- package/src/components/features/auth/.login-form.md +42 -0
- package/src/components/features/auth/.openframe-sso-login-form.md +46 -0
- package/src/components/features/auth/.openframe-sso-signup-form.md +51 -0
- package/src/components/features/auth/.password-reset-form.md +57 -0
- package/src/components/features/auth/.sso-auth-shell.md +35 -0
- package/src/components/features/auth/.sso-providers.md +42 -0
- package/src/components/features/auth/.terms-agreement-label.md +28 -0
- package/src/components/features/board/.board-column-header.md +24 -18
- package/src/components/features/board/.board-column.md +32 -32
- package/src/components/features/board/.board-ticket-approval.md +42 -0
- package/src/components/features/board/.board.md +38 -38
- package/src/components/features/board/.index.md +35 -38
- package/src/components/features/board/.ticket-card.md +33 -36
- package/src/components/features/board/.types.md +38 -31
- package/src/components/features/card-hit-layer.tsx +84 -0
- package/src/components/features/floating-walkthrough-video.tsx +891 -0
- package/src/components/features/index.ts +4 -0
- package/src/components/features/notifications/.approval-request-notification-tile.md +45 -0
- package/src/components/features/notifications/.index.md +35 -31
- package/src/components/features/notifications/.notification-drawer.md +32 -19
- package/src/components/features/notifications/.notification-popups.md +51 -0
- package/src/components/features/notifications/.notification-tile.md +43 -27
- package/src/components/features/notifications/.notifications-context.md +42 -45
- package/src/components/features/notifications/.types.md +51 -31
- package/src/components/features/ticket-status-config-list/.ticket-status-config-list.md +51 -0
- package/src/components/features/time-tracker/.index.md +48 -0
- package/src/components/features/time-tracker/.time-tracker-context.md +55 -0
- package/src/components/features/time-tracker/.time-tracker-header-button.md +51 -0
- package/src/components/features/time-tracker/.time-tracker-panel.md +58 -0
- package/src/components/features/time-tracker/.types.md +51 -0
- package/src/components/features/time-tracker/.use-tracker-clock.md +32 -0
- package/src/components/features/use-walkthrough-video.ts +70 -0
- package/src/components/features/video-bites-strip.tsx +46 -146
- package/src/components/features/video-center-badge.tsx +11 -2
- package/src/components/features/video-hover-preview.tsx +201 -0
- package/src/components/features/video.tsx +368 -73
- package/src/components/help-center-pages/.delivery-page.md +51 -0
- package/src/components/help-center-pages/.index.md +51 -0
- package/src/components/help-center-pages/.onboarding-guides-catalog-page.md +53 -0
- package/src/components/help-center-pages/.product-releases-list-page.md +51 -0
- package/src/components/help-center-pages/.roadmap-page.md +46 -0
- package/src/components/icons/.figma-icon.md +13 -7
- package/src/components/icons/.index.md +26 -22
- package/src/components/icons/.vendor-directory-icon.md +30 -18
- package/src/components/icons/.x-logo.md +26 -10
- package/src/components/icons-v2-generated/.index.md +30 -41
- package/src/components/icons-v2-generated/brand-logos/.index.md +25 -19
- package/src/components/icons-v2-generated/communication/.index.md +26 -30
- package/src/components/icons-v2-generated/logos/.flamingo-logo-icon.md +41 -0
- package/src/components/layout/.article-detail-layout.md +32 -21
- package/src/components/layout/.page-container.md +25 -23
- package/src/components/layout/.page-heading.md +48 -0
- package/src/components/layout/.page-layout.md +30 -25
- package/src/components/layout/.title-block.md +43 -24
- package/src/components/loading/.card-skeleton.md +28 -35
- package/src/components/loading/.category-card-skeleton.md +25 -23
- package/src/components/loading/.device-card-skeleton.md +22 -15
- package/src/components/loading/.margin-report-skeleton.md +30 -35
- package/src/components/loading/.openmsp-heartbeat.md +30 -32
- package/src/components/loading/.organization-card-skeleton.md +22 -25
- package/src/components/loading/.organization-icon-skeleton.md +39 -27
- package/src/components/loading/.page-layout-skeleton.md +50 -28
- package/src/components/loading/.unified-skeleton.md +37 -40
- package/src/components/loading/.users-grid-skeleton.md +19 -38
- package/src/components/navigation/.app-header.md +35 -28
- package/src/components/navigation/.app-layout-context.md +48 -0
- package/src/components/navigation/.app-layout-drawer.md +56 -0
- package/src/components/navigation/.app-layout.md +24 -23
- package/src/components/navigation/.header-mingo-button.md +46 -0
- package/src/components/navigation/.header-organization-filter.md +32 -18
- package/src/components/navigation/.header.md +24 -31
- package/src/components/navigation/.index.md +36 -50
- package/src/components/navigation/.mingo-ai-button.md +41 -0
- package/src/components/navigation/.mobile-burger-menu.md +29 -29
- package/src/components/navigation/.mobile-nav-panel.md +41 -49
- package/src/components/navigation/.multi-level-navigation.md +76 -0
- package/src/components/navigation/.navigation-sidebar-item.md +14 -14
- package/src/components/navigation/.navigation-sidebar.md +30 -23
- package/src/components/navigation/.sliding-sidebar.md +30 -25
- package/src/components/navigation/.sticky-section-nav.md +23 -21
- package/src/components/onboarding-guides/.index.md +40 -0
- package/src/components/onboarding-guides/.onboarding-guide-detail-view.md +55 -0
- package/src/components/onboarding-guides/.onboarding-guides-catalog-skeleton.md +33 -0
- package/src/components/onboarding-guides/.onboarding-guides-catalog-view.md +50 -0
- package/src/components/onboarding-guides/hooks/.use-onboarding-guides.md +54 -0
- package/src/components/platform/.CveLink.md +28 -17
- package/src/components/platform/.ScriptArguments.md +18 -23
- package/src/components/platform/.ScriptInfoSection.md +27 -21
- package/src/components/platform/.ShellTypeBadge.md +34 -18
- package/src/components/platform/.SoftwareInfo.md +23 -21
- package/src/components/platform/.ToolBadge.md +18 -16
- package/src/components/profile/.ProfileLoadingSkeleton.md +24 -23
- package/src/components/related-content/.index.md +41 -0
- package/src/components/related-content/.related-content-section.md +62 -0
- package/src/components/shared/.article-author-byline.md +56 -0
- package/src/components/shared/.detail-page-skeleton.md +32 -43
- package/src/components/shared/.media-gallery-strip.md +43 -0
- package/src/components/shared/delivery/.delivery-lists.md +20 -19
- package/src/components/shared/delivery/.delivery-row.md +24 -20
- package/src/components/shared/delivery/.delivery-table.md +20 -22
- package/src/components/shared/dev-section/.dev-card-row.md +28 -36
- package/src/components/shared/dev-section/.dev-section-page.md +36 -25
- package/src/components/shared/dev-section/.dev-section-view.md +32 -22
- package/src/components/shared/doc-search/.doc-search-bar.md +58 -0
- package/src/components/shared/doc-search/.doc-search-result-row.md +50 -0
- package/src/components/shared/doc-search/.format-relative-path.md +30 -0
- package/src/components/shared/doc-search/.index.md +46 -0
- package/src/components/shared/doc-search/.map-doc-search-results.md +44 -0
- package/src/components/shared/doc-search/.resolve-search-result-action.md +52 -0
- package/src/components/shared/doc-search/.types.md +49 -0
- package/src/components/shared/doc-search/.use-doc-search.md +66 -0
- package/src/components/shared/legal-document/.legal-document-page.md +26 -20
- package/src/components/shared/legal-document/.use-legal-docs.md +36 -30
- package/src/components/shared/onboarding/.onboarding-step-card.md +24 -16
- package/src/components/shared/onboarding/.onboarding-walkthrough.md +42 -28
- package/src/components/shared/product-release/.index.md +33 -24
- package/src/components/shared/product-release/.product-release-card-skeleton.md +22 -28
- package/src/components/shared/product-release/.product-release-card.md +28 -29
- package/src/components/shared/product-release/.product-releases-view.md +49 -0
- package/src/components/shared/product-release/.release-detail-page.md +30 -15
- package/src/components/shared/roadmap/.index.md +29 -24
- package/src/components/shared/roadmap/.roadmap-grid.md +43 -54
- package/src/components/shared/roadmap/.roadmap-view.md +41 -0
- package/src/components/shared/roadmap/.use-roadmap-voting.md +27 -17
- package/src/components/switch.tsx +1 -1
- package/src/components/tickets/.help-center-card.md +32 -28
- package/src/components/tickets/.help-center-create-form.md +34 -22
- package/src/components/tickets/.help-center-list.md +36 -25
- package/src/components/tickets/.index.md +30 -45
- package/src/components/tickets/.ticket-center.md +31 -38
- package/src/components/tickets/.ticket-detail-drawer.md +20 -30
- package/src/components/tickets/.ticket-open-form.md +24 -26
- package/src/components/tickets/.ticket-reply-composer.md +51 -0
- package/src/components/tickets/.ticket-row.md +26 -11
- package/src/components/tickets/.types.md +56 -38
- package/src/components/tickets/hooks/.use-ticket-actions.md +60 -47
- package/src/components/tickets/hooks/.use-ticket-engagements.md +27 -27
- package/src/components/tickets/hooks/.use-tickets-list.md +24 -30
- package/src/components/ui/.accordion.md +28 -21
- package/src/components/ui/.actions-menu.md +36 -54
- package/src/components/ui/.ai-generated-badge.md +25 -0
- package/src/components/ui/.alert-dialog.md +21 -16
- package/src/components/ui/.alert.md +30 -25
- package/src/components/ui/.allowed-domains-input.md +26 -15
- package/src/components/ui/.announcement-bar-view.md +46 -0
- package/src/components/ui/.autocomplete.md +40 -27
- package/src/components/ui/.badge.md +34 -31
- package/src/components/ui/.brand-association-card.md +22 -18
- package/src/components/ui/.breadcrumb.md +18 -14
- package/src/components/ui/.bullet-list.md +35 -23
- package/src/components/ui/.card.md +47 -30
- package/src/components/ui/.checkbox-block.md +34 -22
- package/src/components/ui/.checkbox-with-description.md +18 -20
- package/src/components/ui/.chevron-button.md +29 -29
- package/src/components/ui/.circular-progress.md +30 -41
- package/src/components/ui/.color-preset-select.md +54 -0
- package/src/components/ui/.color-swatch.md +37 -0
- package/src/components/ui/.content-loader.md +34 -27
- package/src/components/ui/.crossfade-panels.md +50 -0
- package/src/components/ui/.cursor-pagination.md +38 -26
- package/src/components/ui/.dashboard-info-card.md +46 -27
- package/src/components/ui/.date-picker.md +52 -36
- package/src/components/ui/.device-card-compact.md +23 -20
- package/src/components/ui/.device-card.md +39 -30
- package/src/components/ui/.dialog.md +14 -14
- package/src/components/ui/.drawer.md +45 -39
- package/src/components/ui/.dropdown-button.md +41 -33
- package/src/components/ui/.dropdown-menu.md +40 -23
- package/src/components/ui/.duration-input.md +41 -0
- package/src/components/ui/.entity-image.md +32 -28
- package/src/components/ui/.error-state.md +30 -26
- package/src/components/ui/.fade-preview.md +44 -0
- package/src/components/ui/.field-wrapper.md +34 -23
- package/src/components/ui/.file-upload.md +30 -18
- package/src/components/ui/.filter-modal.md +30 -32
- package/src/components/ui/.filter-pill-row.md +58 -0
- package/src/components/ui/.floating-tooltip.md +27 -32
- package/src/components/ui/.hidden-tags-popup.md +18 -20
- package/src/components/ui/.highlight-card.md +36 -23
- package/src/components/ui/.honeypot-field.md +41 -0
- package/src/components/ui/.hover-dropdown.md +44 -31
- package/src/components/ui/.image-gallery-modal.md +28 -30
- package/src/components/ui/.image-uploader.md +39 -22
- package/src/components/ui/.index.md +33 -31
- package/src/components/ui/.info-card-row.md +50 -0
- package/src/components/ui/.info-card.md +27 -20
- package/src/components/ui/.info-row.md +30 -24
- package/src/components/ui/.info-section.md +63 -0
- package/src/components/ui/.input.md +29 -28
- package/src/components/ui/.label.md +34 -26
- package/src/components/ui/.markdown-editor.md +26 -25
- package/src/components/ui/.marquee-wall.md +64 -0
- package/src/components/ui/.menubar.md +50 -16
- package/src/components/ui/.modal-v2.md +41 -27
- package/src/components/ui/.modal.md +22 -19
- package/src/components/ui/.more-actions-menu.md +30 -24
- package/src/components/ui/.navigation-menu.md +40 -25
- package/src/components/ui/.organization-card.md +46 -27
- package/src/components/ui/.page-actions.md +55 -41
- package/src/components/ui/.page-loader.md +40 -23
- package/src/components/ui/.password-input.md +30 -0
- package/src/components/ui/.phone-input.md +20 -22
- package/src/components/ui/.portal-container.md +43 -0
- package/src/components/ui/.progress-bar.md +40 -27
- package/src/components/ui/.release-changelog-section.md +32 -26
- package/src/components/ui/.rich-markdown-renderer.md +45 -0
- package/src/components/ui/.scroll-fade.md +56 -0
- package/src/components/ui/.search-input.md +55 -37
- package/src/components/ui/.select.md +25 -26
- package/src/components/ui/.service-card.md +25 -19
- package/src/components/ui/.sheet.md +21 -21
- package/src/components/ui/.simple-markdown-renderer.md +36 -24
- package/src/components/ui/.slack-channel-chip.md +49 -0
- package/src/components/ui/.square-avatar.md +29 -26
- package/src/components/ui/.stacked-rows-panel.md +61 -0
- package/src/components/ui/.status-badge.md +30 -24
- package/src/components/ui/.status-indicator.md +35 -21
- package/src/components/ui/.tab-content.md +34 -22
- package/src/components/ui/.tab-navigation.md +40 -50
- package/src/components/ui/.tab-selector.md +48 -31
- package/src/components/ui/.tabs.md +34 -21
- package/src/components/ui/.tag-search-input.md +20 -20
- package/src/components/ui/.tag-select-dropdown.md +59 -0
- package/src/components/ui/.tag.md +25 -43
- package/src/components/ui/.tags-input.md +31 -31
- package/src/components/ui/.textarea.md +32 -30
- package/src/components/ui/.ticket-attachments-list.md +36 -29
- package/src/components/ui/.ticket-info-section.md +37 -42
- package/src/components/ui/.ticket-status-config-row.md +66 -0
- package/src/components/ui/.ticket-status-tag.md +39 -35
- package/src/components/ui/.toaster.md +21 -15
- package/src/components/ui/.toggle.md +38 -37
- package/src/components/ui/.tooltip.md +16 -13
- package/src/components/ui/button/.button-styles.md +17 -18
- package/src/components/ui/button/.button.md +30 -37
- package/src/components/ui/button/.split-button.md +46 -23
- package/src/components/ui/button/button-styles.ts +13 -0
- package/src/components/ui/button/button.tsx +5 -0
- package/src/components/ui/data-table/.data-table-body.md +50 -35
- package/src/components/ui/data-table/.data-table-empty.md +17 -33
- package/src/components/ui/data-table/.data-table-header.md +43 -40
- package/src/components/ui/data-table/.data-table-row.md +31 -31
- package/src/components/ui/data-table/.types.md +23 -28
- package/src/components/ui/file-manager/.file-manager-breadcrumb.md +16 -24
- package/src/components/ui/file-manager/.file-manager-empty.md +23 -15
- package/src/components/ui/file-manager/.file-manager-skeleton.md +34 -36
- package/src/components/ui/file-manager/.file-manager-table-row.md +29 -29
- package/src/components/ui/file-manager/.file-manager-table.md +39 -24
- package/src/components/ui/no-data/.index.md +22 -0
- package/src/components/ui/no-data/.no-data-actions.md +29 -0
- package/src/components/ui/no-data/.no-data-message.md +37 -0
- package/src/components/ui/no-data/.no-data-styles.md +39 -0
- package/src/components/ui/no-data/.no-data.md +59 -0
- package/src/components/ui/page-actions.tsx +2 -1
- package/src/components/ui/query-report-table/.query-report-table-header.md +15 -15
- package/src/components/ui/query-report-table/.query-report-table-row.md +16 -16
- package/src/components/ui/query-report-table/.query-report-table.md +39 -24
- package/src/components/ui/table/.table-column-filter-dropdown.md +15 -9
- package/src/components/ui/table/.table-description-cell.md +13 -12
- package/src/components/ui/table/.table-empty-state.md +19 -20
- package/src/components/ui/table/.table-row.md +30 -20
- package/src/components/ui/table/.table-skeleton.md +32 -27
- package/src/components/ui/table/.table-timestamp-cell.md +24 -23
- package/src/components/ui/table/.table.md +43 -30
- package/src/components/ui/table/.types.md +49 -45
- package/src/components/ui/table/.use-table-motion.md +45 -0
- package/src/contexts/.chat-runtime-context.md +55 -26
- package/src/contexts/.endpoints-runtime-context.md +40 -44
- package/src/embed-shims/.next-navigation.md +38 -31
- package/src/hooks/.api-hooks.md +28 -21
- package/src/hooks/.index.md +30 -25
- package/src/hooks/.use-authed-image-src.md +38 -0
- package/src/hooks/.use-contact-submission.md +35 -36
- package/src/hooks/.use-humanity-signals.md +47 -0
- package/src/hooks/.use-near-viewport.md +30 -30
- package/src/hooks/.use-og-placeholder-url.md +57 -0
- package/src/hooks/.use-scroll-to-hash.md +46 -0
- package/src/hooks/.use-self-fetch.md +52 -0
- package/src/hooks/state/.flatten-schema.md +37 -29
- package/src/hooks/ui/.index.md +37 -25
- package/src/hooks/ui/.use-auto-limit-tags.md +55 -38
- package/src/hooks/ui/.use-deferred-error.md +44 -0
- package/src/hooks/ui/.use-focus-trap.md +59 -0
- package/src/hooks/ui/.use-header-height.md +37 -0
- package/src/hooks/ui/.use-horizontal-scrollbar.md +25 -34
- package/src/hooks/ui/.use-marquee-engine.md +73 -0
- package/src/hooks/ui/.use-notification-permission.md +49 -0
- package/src/hooks/ui/.use-reset-on-page-hidden.md +40 -0
- package/src/hooks/ui/.use-suppress-clone-focus.md +41 -0
- package/src/nats/.index.md +39 -0
- package/src/nats/.nats-provider.md +46 -0
- package/src/nats/.nats.md +38 -28
- package/src/nats/.shared-connection.md +56 -0
- package/src/nats/.use-nats-subscription.md +57 -0
- package/src/stories/.ActionsMenu.stories.md +57 -0
- package/src/stories/.Alert.stories.md +46 -0
- package/src/stories/.AnnouncementBar.stories.md +59 -32
- package/src/stories/.AppLayoutDrawer.stories.md +60 -0
- package/src/stories/.AppLayoutSidebar.stories.md +45 -0
- package/src/stories/.ApprovalBatchMessage.stories.md +46 -0
- package/src/stories/.ApprovalBatchMessageClient.stories.md +55 -0
- package/src/stories/.ApprovalRequestMessage.stories.md +50 -0
- package/src/stories/.ApprovalRequestMessageClient.stories.md +41 -0
- package/src/stories/.BlogCard.stories.md +52 -0
- package/src/stories/.Board.stories.md +25 -20
- package/src/stories/.Button.stories.md +35 -40
- package/src/stories/.CampaignCardAdmin.stories.md +38 -0
- package/src/stories/.CardsStrip.stories.md +39 -0
- package/src/stories/.CaseStudyCard.stories.md +41 -0
- package/src/stories/.ChatContainer.stories.md +41 -0
- package/src/stories/.ChatInlineVideoPill.stories.md +36 -0
- package/src/stories/.ChatMessageEnhanced.stories.md +51 -0
- package/src/stories/.ChatMingoInfoCards.stories.md +30 -0
- package/src/stories/.ChatTicketList.stories.md +38 -22
- package/src/stories/.ChatTypingIndicator.stories.md +47 -0
- package/src/stories/.CheckboxBlock.stories.md +34 -35
- package/src/stories/.ContextCompactionDisplay.stories.md +28 -0
- package/src/stories/.CustomerInterviewCard.stories.md +36 -0
- package/src/stories/.DashboardInfoCard.stories.md +40 -33
- package/src/stories/.DataRoomDocCard.stories.md +42 -0
- package/src/stories/.DataTable.stories.md +37 -32
- package/src/stories/.DatePicker.stories.md +34 -30
- package/src/stories/.EmbeddableChat.stories.md +45 -28
- package/src/stories/.EmptyState.stories.md +55 -0
- package/src/stories/.ErrorMessageDisplay.stories.md +45 -0
- package/src/stories/.FilterModal.stories.md +28 -22
- package/src/stories/.GenericEntityCard.stories.md +50 -0
- package/src/stories/.GitHubActivityCard.stories.md +41 -0
- package/src/stories/.GuideWelcome.stories.md +38 -0
- package/src/stories/.Header.stories.md +32 -22
- package/src/stories/.HubspotTicketCard.stories.md +41 -0
- package/src/stories/.InfoCard.stories.md +37 -26
- package/src/stories/.InfoCardRow.stories.md +48 -0
- package/src/stories/.InfoSection.stories.md +55 -0
- package/src/stories/.Input.stories.md +45 -35
- package/src/stories/.InvestorUpdateCard.stories.md +41 -0
- package/src/stories/.MarqueeWall.stories.md +53 -0
- package/src/stories/.MingoAiButton.stories.md +31 -0
- package/src/stories/.MingoChatModals.stories.md +47 -0
- package/src/stories/.MingoInfoCard.stories.md +50 -0
- package/src/stories/.MingoOnboardingCard.stories.md +19 -19
- package/src/stories/.MingoWelcome.stories.md +41 -0
- package/src/stories/.MobileNavPanel.stories.md +52 -0
- package/src/stories/.Modal.stories.md +19 -16
- package/src/stories/.MspOrganizationCard.stories.md +45 -0
- package/src/stories/.NotificationDrawer.stories.md +39 -28
- package/src/stories/.OSTypeBadge.stories.md +34 -25
- package/src/stories/.OnboardingGuideCard.stories.md +41 -0
- package/src/stories/.PageActions.stories.md +21 -21
- package/src/stories/.PageContainer.stories.md +29 -24
- package/src/stories/.PageLayout.stories.md +18 -35
- package/src/stories/.PolicyConfigurationPanel.stories.md +58 -0
- package/src/stories/.ProductReleaseCard.stories.md +39 -0
- package/src/stories/.ProgramCard.stories.md +51 -0
- package/src/stories/.QuickActionChip.stories.md +59 -0
- package/src/stories/.QuickActionMarquee.stories.md +51 -0
- package/src/stories/.QuickActionWall.stories.md +58 -0
- package/src/stories/.RoadmapCard.stories.md +41 -0
- package/src/stories/.ShellTypeBadge.stories.md +42 -22
- package/src/stories/.SlackMessageCard.stories.md +42 -0
- package/src/stories/.SlashCommandSuggestions.stories.md +21 -31
- package/src/stories/.SplitButton.stories.md +23 -25
- package/src/stories/.StackedRowsPanel.stories.md +65 -0
- package/src/stories/.TabSelector.stories.md +26 -38
- package/src/stories/.Tag.stories.md +32 -27
- package/src/stories/.ThinkingDisplay.stories.md +43 -0
- package/src/stories/.TicketCard.stories.md +60 -0
- package/src/stories/.TicketInfoSection.stories.md +28 -20
- package/src/stories/.TimeTracker.stories.md +35 -0
- package/src/stories/.Toaster.stories.md +26 -20
- package/src/stories/.ToolBadge.stories.md +34 -24
- package/src/stories/.ToolExecutionDisplay.stories.md +22 -20
- package/src/stories/.ToolExecutionDisplayClient.stories.md +33 -0
- package/src/stories/.VideoBitesStrip.stories.md +37 -0
- package/src/stories/.WarningBlock.stories.md +51 -0
- package/src/stories/__fixtures__/.chat-card-decorator.md +39 -0
- package/src/stories/__fixtures__/.chat-cards.md +57 -0
- package/src/stories/auth/.CompleteAccount.stories.md +36 -0
- package/src/stories/auth/.CreateOrganization.stories.md +52 -0
- package/src/stories/auth/.InviteLinkInvalid.stories.md +21 -0
- package/src/stories/auth/.Login.stories.md +32 -0
- package/src/stories/auth/.OpenFrameSso.stories.md +58 -0
- package/src/stories/auth/.PasswordReset.stories.md +49 -0
- package/src/styles/ods-interaction-states.css +32 -0
- package/src/types/.announcement.md +67 -35
- package/src/types/.blog.md +44 -41
- package/src/types/.case-study.md +31 -17
- package/src/types/.content-ref.md +37 -0
- package/src/types/.customer-interview.md +38 -38
- package/src/types/.doc-source.md +87 -0
- package/src/types/.entity-author.md +53 -0
- package/src/types/.entity-platform.md +40 -0
- package/src/types/.index.md +23 -17
- package/src/types/.marketing.md +32 -35
- package/src/types/.navigation.md +31 -19
- package/src/types/.os.types.md +30 -31
- package/src/types/.permissions.md +49 -35
- package/src/types/.platform.md +44 -28
- package/src/types/.product-release.md +59 -42
- package/src/types/.shell.types.md +46 -30
- package/src/types/.supabase.md +43 -29
- package/src/types/.tool.types.md +43 -23
- package/src/types/.video-processing.md +40 -31
- package/src/types/supabase.ts +80 -0
- package/src/types/video-processing.ts +1 -0
- package/src/utils/.announcement-storage.md +49 -17
- package/src/utils/.app-config.md +22 -18
- package/src/utils/.brand-marks.md +46 -0
- package/src/utils/.cn.md +40 -29
- package/src/utils/.color-analysis.md +34 -25
- package/src/utils/.common.md +43 -23
- package/src/utils/.content-href.md +64 -0
- package/src/utils/.content-ref-groups.md +51 -0
- package/src/utils/.date-utils.md +46 -35
- package/src/utils/.doc-path-utils.md +38 -0
- package/src/utils/.doc-tree-nav.md +51 -0
- package/src/utils/.embed-authed-fetch.md +48 -32
- package/src/utils/.embed-content-fetch.md +36 -0
- package/src/utils/.embed-url-converters.md +52 -0
- package/src/utils/.extract-items.md +49 -0
- package/src/utils/.faq-anchor.md +48 -0
- package/src/utils/.format.md +73 -55
- package/src/utils/.humanity-signals.md +59 -0
- package/src/utils/.index.md +73 -31
- package/src/utils/.list-url.md +43 -0
- package/src/utils/.markdown-section-extractor.md +57 -0
- package/src/utils/.markdown-to-plain.md +51 -0
- package/src/utils/.media-carousel-utils-stub.md +42 -31
- package/src/utils/.ods-color-utils.md +84 -43
- package/src/utils/.og-placeholder.md +45 -0
- package/src/utils/.page-header-constants.md +26 -0
- package/src/utils/.platform-config.md +34 -34
- package/src/utils/.release-badge.md +47 -0
- package/src/utils/.release-cover.md +45 -0
- package/src/utils/.same-page-hash-nav.md +45 -0
- package/src/utils/.scroll-into-view.md +32 -25
- package/src/utils/.seo-description.md +37 -0
- package/src/utils/.seo-title.md +25 -0
- package/src/utils/.social-embed-cache.md +37 -0
- package/src/utils/.source-icons.md +30 -34
- package/src/utils/.suggestion-url.md +46 -0
- package/src/utils/.tool-utils.md +39 -24
- package/src/utils/.tree-builder.md +64 -0
- package/src/utils/.video-bite-id.md +42 -0
- package/src/utils/announcement-storage.ts +9 -18
- package/src/utils/dev-sections/.dev-section-param-keys.md +51 -0
- package/src/utils/dev-sections/.openframe-dev-sections.md +40 -28
- package/src/utils/dismiss-cookie.ts +55 -0
- package/src/utils/dismissal-storage.ts +38 -0
- package/src/utils/index.ts +3 -0
- package/dist/chunk-BBUEY73L.js.map +0 -1
- package/dist/chunk-G3UN2DXU.cjs.map +0 -1
- package/dist/chunk-OWMLWJQY.cjs.map +0 -1
- package/dist/chunk-SASR7SK5.js.map +0 -1
- package/src/components/chat/utils/.onboarding-icons.md +0 -28
- package/src/hooks/.use-og-placeholder.md +0 -51
- /package/dist/{chunk-MGKCS6KS.js.map → chunk-3WCARCI4.js.map} +0 -0
- /package/dist/{chunk-Y3Y2DLNO.js.map → chunk-6UGYBCEN.js.map} +0 -0
- /package/dist/{chunk-PSPWT2Q5.js.map → chunk-7LWXWXEY.js.map} +0 -0
- /package/dist/{chunk-VTSRDC4W.js.map → chunk-CKC3EAYT.js.map} +0 -0
- /package/dist/{chunk-ZRANZNEA.js.map → chunk-JJE5TUZK.js.map} +0 -0
- /package/dist/{chunk-66BNAFO6.js.map → chunk-JQIUBFHL.js.map} +0 -0
- /package/dist/{chunk-2DIOV7BR.js.map → chunk-UPN6EFOM.js.map} +0 -0
- /package/dist/{chunk-4SMRQ4SN.js.map → chunk-WBL5Y4PS.js.map} +0 -0
- /package/dist/{chunk-FP4H6Y5O.js.map → chunk-WPYPSIY2.js.map} +0 -0
- /package/dist/{chunk-R5WJJL4V.js.map → chunk-X5X43HFV.js.map} +0 -0
- /package/dist/{chunk-DEHZ5CTC.js.map → chunk-XTWKDMCG.js.map} +0 -0
|
@@ -1,57 +1,58 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
A full-featured
|
|
1
|
+
<!-- source-hash: a618d405d5548462a096475c39936f2e -->
|
|
2
|
+
A full-featured Markdown editor component built on top of `@uiw/react-md-editor`, providing theme-aware styling, file/image upload support, paste handling, and auto-scroll during resize drag.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
### `MarkdownEditor` (default export)
|
|
7
|
-
The primary editor component.
|
|
7
|
+
The primary editor component. Lazily loads `@uiw/react-md-editor` (SSR-safe) and injects scoped CSS overrides that map to ODS design tokens.
|
|
8
8
|
|
|
9
9
|
### `MarkdownEditorStyles`
|
|
10
|
-
Internal component that injects
|
|
10
|
+
Internal component that injects `mdEditorCSS` into `<head>` as a `<style>` tag on mount (idempotent — uses a stable element ID to avoid duplicates).
|
|
11
11
|
|
|
12
12
|
### `MarkdownEditorProps`
|
|
13
13
|
| Prop | Type | Description |
|
|
14
|
-
|
|
14
|
+
|---|---|---|
|
|
15
15
|
| `value` | `string` | Controlled markdown content |
|
|
16
|
-
| `onChange` | `(markdown: string) => void` |
|
|
17
|
-
| `placeholder` | `string` |
|
|
18
|
-
| `disabled` | `boolean` | Disables
|
|
19
|
-
| `height` | `number` | Initial height in px (default
|
|
20
|
-
| `minHeight` | `number` | Minimum height in px (default
|
|
21
|
-
| `onUploadFile` | `(file: File) => Promise<string>` | Upload handler;
|
|
16
|
+
| `onChange` | `(markdown: string) => void` | Called on every edit |
|
|
17
|
+
| `placeholder` | `string` | Empty-state hint text |
|
|
18
|
+
| `disabled` | `boolean` | Disables the editor |
|
|
19
|
+
| `height` | `number` | Initial height in px (default `600`) |
|
|
20
|
+
| `minHeight` | `number` | Minimum height in px (default `100`) |
|
|
21
|
+
| `onUploadFile` | `(file: File) => Promise<string>` | Upload handler; reveals upload button when provided |
|
|
22
22
|
| `onFileUploaded` | `(url, filename) => void` | Post-upload callback |
|
|
23
|
-
| `renderPreview` | `(source: string) => ReactNode` | Custom preview renderer |
|
|
23
|
+
| `renderPreview` | `(source: string) => React.ReactNode` | Custom preview renderer |
|
|
24
24
|
|
|
25
25
|
## Usage Example
|
|
26
26
|
|
|
27
27
|
```typescript
|
|
28
|
-
import { MarkdownEditor } from "
|
|
28
|
+
import { MarkdownEditor } from "@/components/markdown-editor"
|
|
29
29
|
|
|
30
30
|
function MyForm() {
|
|
31
|
-
const [
|
|
31
|
+
const [body, setBody] = useState("# Hello\n\nStart writing...")
|
|
32
32
|
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
const res = await fetch("/api/upload", { method: "POST", body:
|
|
33
|
+
const uploadFile = async (file: File): Promise<string> => {
|
|
34
|
+
const form = new FormData()
|
|
35
|
+
form.append("file", file)
|
|
36
|
+
const res = await fetch("/api/upload", { method: "POST", body: form })
|
|
37
37
|
const { url } = await res.json()
|
|
38
38
|
return url
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
return (
|
|
42
42
|
<MarkdownEditor
|
|
43
|
-
value={
|
|
44
|
-
onChange={
|
|
43
|
+
value={body}
|
|
44
|
+
onChange={setBody}
|
|
45
45
|
placeholder="Write something..."
|
|
46
46
|
height={400}
|
|
47
|
-
onUploadFile={
|
|
47
|
+
onUploadFile={uploadFile}
|
|
48
48
|
onFileUploaded={(url, name) => console.log("Uploaded:", name, url)}
|
|
49
49
|
/>
|
|
50
50
|
)
|
|
51
51
|
}
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
54
|
+
## Notable Behaviors
|
|
55
|
+
|
|
56
|
+
- **Paste-to-upload**: Pasting an image from the clipboard triggers `onUploadFile` automatically and inserts the resulting Markdown image link at the cursor.
|
|
57
|
+
- **Auto-scroll on resize**: A `requestAnimationFrame` loop detects when the user drags the resize bar near the viewport bottom and scrolls the nearest scrollable ancestor, preventing the handle from going offscreen.
|
|
58
|
+
- **Theme tokens**: All CSS overrides use `var(--color-*)` and `var(--ods-*)` CSS custom properties so the editor adapts to light/dark themes without re-mounting.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<!-- source-hash: 0af4a3ae2ab53f633bb817451c42700d -->
|
|
2
|
+
Infinite-scroll marquee wall component with sync coordination, FLIP morph support, and composable edge fades for animated or static chip/card walls.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `MarqueeWall` | Component | Main infinite-scroll wall (implied by hooks/props wiring) |
|
|
9
|
+
| `MarqueeWallFades` | Component | Standalone edge-fade overlays for composite/stacked walls |
|
|
10
|
+
| `useMarqueeSync` | Hook | Creates a shared position controller to pixel-lock multiple wall instances |
|
|
11
|
+
| `getMarqueeTrackOffset` | Function | Returns the last known translation + wrap of a named wall (survives unmount) |
|
|
12
|
+
| `getMarqueeAppliedOffset` | Function | Reads the live DOM transform of a wall's track container |
|
|
13
|
+
| `getMarqueeCloneTwin` | Function | Locates the loop-clone twin of an element inside a wall's primary copy |
|
|
14
|
+
| `MarqueeSyncController` | Interface | Shared driver registry for synced walls |
|
|
15
|
+
| `MarqueeTrackOffset` | Interface | Per-frame position record published to the global offset map |
|
|
16
|
+
| `MarqueeWallProps` | Interface | Full prop surface for the wall component |
|
|
17
|
+
|
|
18
|
+
## Usage Example
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
// Basic animated chip wall
|
|
22
|
+
<MarqueeWall
|
|
23
|
+
mode="animated"
|
|
24
|
+
axis="x"
|
|
25
|
+
speed={40}
|
|
26
|
+
fade={['left', 'right']}
|
|
27
|
+
fadeColor="var(--color-bg)"
|
|
28
|
+
copyGap="var(--chip-gap)"
|
|
29
|
+
className="h-32 w-full"
|
|
30
|
+
contentClassName="flex gap-2"
|
|
31
|
+
>
|
|
32
|
+
{chips.map(chip => <Chip key={chip.id} {...chip} />)}
|
|
33
|
+
</MarqueeWall>
|
|
34
|
+
|
|
35
|
+
// Pixel-locked pair (e.g. pending vs. resolved overlay)
|
|
36
|
+
const sync = useMarqueeSync()
|
|
37
|
+
|
|
38
|
+
<MarqueeWall sync={sync} trackId="cta-wall" ...>{chips}</MarqueeWall>
|
|
39
|
+
<MarqueeWall sync={sync} trackId="cta-wall" ...>{chips}</MarqueeWall>
|
|
40
|
+
|
|
41
|
+
// Standalone fades over a stacked row layout
|
|
42
|
+
<div className="relative">
|
|
43
|
+
<StackedRows />
|
|
44
|
+
<MarqueeWallFades
|
|
45
|
+
fade={['top', 'bottom']}
|
|
46
|
+
fadeColor="var(--color-surface)"
|
|
47
|
+
fadeSize={{ top: 40, bottom: 40 }}
|
|
48
|
+
/>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
// FLIP drift correction — read offset before morph capture
|
|
52
|
+
const offset = getMarqueeTrackOffset('cta-wall')
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Notes
|
|
56
|
+
|
|
57
|
+
- `MarqueeWallFades` renders at `z-[1]`, above FLIP flight ghosts (`z-0`), so in-flight chips dissolve under the blur naturally.
|
|
58
|
+
- The global `MARQUEE_TRACK_OFFSETS` map intentionally survives unmount to support cross-remount FLIP morphs.
|
|
59
|
+
- Clone copy is `aria-hidden` with focusable descendants suppressed via `useSuppressCloneFocus`, but remains clickable.
|
|
60
|
+
- Auto-disables under `prefers-reduced-motion` regardless of the `animate` prop.
|
|
61
|
+
|
|
62
|
+
## Source
|
|
63
|
+
|
|
64
|
+
[`marquee-wall.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/marquee-wall.tsx)
|
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 787375e2a94d48292a1025b78d2a5ead -->
|
|
2
|
+
Accessible menubar component built on Radix UI's `@radix-ui/react-menubar` primitive, styled with Tailwind CSS and integrated with the OpenFrame design system.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
| Export | Description |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Menubar` | Root container — horizontal bar with border, rounded corners, and background styling |
|
|
9
|
+
| `MenubarMenu` | Groups a trigger with its associated content (re-export of Radix `Menu`) |
|
|
10
|
+
| `MenubarTrigger` | Clickable menu label in the bar; highlights on focus and open state |
|
|
11
|
+
| `MenubarContent` | Dropdown panel rendered via portal with entrance/exit animations |
|
|
12
|
+
| `MenubarItem` | Standard clickable menu entry; supports `inset` prop for left-padding alignment |
|
|
13
|
+
| `MenubarCheckboxItem` | Menu item with a `Check` icon indicator for boolean toggles |
|
|
14
|
+
| `MenubarRadioGroup` | Wrapper for mutually exclusive `MenubarRadioItem` entries |
|
|
15
|
+
| `MenubarRadioItem` | Menu item with a `Circle` fill indicator for single-selection groups |
|
|
16
|
+
| `MenubarSubTrigger` | Nested menu trigger with a `ChevronRight` icon; supports `inset` prop |
|
|
17
|
+
| `MenubarSubContent` | Flyout panel for nested submenus |
|
|
18
|
+
| `MenubarLabel` | Non-interactive section header; supports `inset` prop |
|
|
19
|
+
| `MenubarSeparator` | Horizontal divider between menu sections |
|
|
20
|
+
| `MenubarShortcut` | Right-aligned muted span for displaying keyboard shortcut hints |
|
|
21
|
+
| `MenubarGroup` / `MenubarPortal` / `MenubarSub` | Radix UI structural primitives re-exported directly |
|
|
16
22
|
|
|
17
23
|
## Usage Example
|
|
18
24
|
|
|
@@ -25,9 +31,16 @@ import {
|
|
|
25
31
|
MenubarSeparator,
|
|
26
32
|
MenubarShortcut,
|
|
27
33
|
MenubarTrigger,
|
|
28
|
-
|
|
34
|
+
MenubarCheckboxItem,
|
|
35
|
+
MenubarRadioGroup,
|
|
36
|
+
MenubarRadioItem,
|
|
37
|
+
MenubarLabel,
|
|
38
|
+
MenubarSub,
|
|
39
|
+
MenubarSubTrigger,
|
|
40
|
+
MenubarSubContent,
|
|
41
|
+
} from "@/components/ui/menubar"
|
|
29
42
|
|
|
30
|
-
function AppMenubar() {
|
|
43
|
+
export function AppMenubar() {
|
|
31
44
|
return (
|
|
32
45
|
<Menubar>
|
|
33
46
|
<MenubarMenu>
|
|
@@ -40,10 +53,31 @@ function AppMenubar() {
|
|
|
40
53
|
New Window <MenubarShortcut>⌘N</MenubarShortcut>
|
|
41
54
|
</MenubarItem>
|
|
42
55
|
<MenubarSeparator />
|
|
43
|
-
<
|
|
56
|
+
<MenubarSub>
|
|
57
|
+
<MenubarSubTrigger>Share</MenubarSubTrigger>
|
|
58
|
+
<MenubarSubContent>
|
|
59
|
+
<MenubarItem>Email</MenubarItem>
|
|
60
|
+
<MenubarItem>Slack</MenubarItem>
|
|
61
|
+
</MenubarSubContent>
|
|
62
|
+
</MenubarSub>
|
|
63
|
+
</MenubarContent>
|
|
64
|
+
</MenubarMenu>
|
|
65
|
+
|
|
66
|
+
<MenubarMenu>
|
|
67
|
+
<MenubarTrigger>View</MenubarTrigger>
|
|
68
|
+
<MenubarContent>
|
|
69
|
+
<MenubarLabel>Appearance</MenubarLabel>
|
|
70
|
+
<MenubarCheckboxItem checked>Show Sidebar</MenubarCheckboxItem>
|
|
71
|
+
<MenubarSeparator />
|
|
72
|
+
<MenubarRadioGroup value="compact">
|
|
73
|
+
<MenubarRadioItem value="compact">Compact</MenubarRadioItem>
|
|
74
|
+
<MenubarRadioItem value="comfortable">Comfortable</MenubarRadioItem>
|
|
75
|
+
</MenubarRadioGroup>
|
|
44
76
|
</MenubarContent>
|
|
45
77
|
</MenubarMenu>
|
|
46
78
|
</Menubar>
|
|
47
79
|
)
|
|
48
80
|
}
|
|
49
|
-
```
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Source:** [`https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/ui/menubar.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/ui/menubar.tsx)
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Accessible modal dialog component with
|
|
1
|
+
<!-- source-hash: c07730f37a88d985ee9a4914a711ec71 -->
|
|
2
|
+
Accessible, animated modal dialog component with compound sub-components for building structured dialogs with backdrop, scroll-lock, and keyboard dismiss support.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
| Export | Description |
|
|
7
|
-
|
|
8
|
-
| `ModalV2` | Root modal container
|
|
9
|
-
| `ModalV2Header` | Header row with close button (desktop only)
|
|
10
|
-
| `ModalV2Title` |
|
|
11
|
-
| `ModalV2Content` | Scrollable
|
|
12
|
-
| `ModalV2Footer` |
|
|
7
|
+
|---|---|
|
|
8
|
+
| `ModalV2` | Root modal container managing open/close state, backdrop, animations, scroll lock, and Escape key handling |
|
|
9
|
+
| `ModalV2Header` | Header row with auto-injected close button (desktop only) via `ModalContext` |
|
|
10
|
+
| `ModalV2Title` | Semantic `<h2>` styled with design system text tokens |
|
|
11
|
+
| `ModalV2Content` | Scrollable body area with `overflow-y-auto` and flex-grow |
|
|
12
|
+
| `ModalV2Footer` | Horizontal action row for buttons or other controls |
|
|
13
|
+
|
|
14
|
+
**Internal:**
|
|
15
|
+
- `ModalContext` — React context passing `onClose` to descendants (used by `ModalV2Header`)
|
|
16
|
+
- `ANIMATION_DURATION` — `200ms` constant kept in sync with Tailwind `duration-200` utilities; controls unmount delay so exit animations complete before DOM removal
|
|
13
17
|
|
|
14
18
|
## Usage Example
|
|
15
19
|
|
|
@@ -22,30 +26,40 @@ import {
|
|
|
22
26
|
ModalV2Footer,
|
|
23
27
|
} from "@/components/modal-v2"
|
|
24
28
|
|
|
25
|
-
function
|
|
26
|
-
const [
|
|
29
|
+
function MyDialog() {
|
|
30
|
+
const [open, setOpen] = React.useState(false)
|
|
27
31
|
|
|
28
32
|
return (
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
<>
|
|
34
|
+
<button onClick={() => setOpen(true)}>Open</button>
|
|
35
|
+
|
|
36
|
+
<ModalV2 isOpen={open} onClose={() => setOpen(false)}>
|
|
37
|
+
<ModalV2Header>
|
|
38
|
+
<ModalV2Title>Confirm Action</ModalV2Title>
|
|
39
|
+
</ModalV2Header>
|
|
40
|
+
|
|
41
|
+
<ModalV2Content>
|
|
42
|
+
<p>Are you sure you want to proceed?</p>
|
|
43
|
+
</ModalV2Content>
|
|
44
|
+
|
|
45
|
+
<ModalV2Footer>
|
|
46
|
+
<button onClick={() => setOpen(false)}>Cancel</button>
|
|
47
|
+
<button onClick={handleConfirm}>Confirm</button>
|
|
48
|
+
</ModalV2Footer>
|
|
49
|
+
</ModalV2>
|
|
50
|
+
</>
|
|
41
51
|
)
|
|
42
52
|
}
|
|
43
53
|
```
|
|
44
54
|
|
|
45
55
|
## Behavior Notes
|
|
46
56
|
|
|
47
|
-
- **
|
|
48
|
-
- **
|
|
49
|
-
- **
|
|
50
|
-
- **
|
|
51
|
-
-
|
|
57
|
+
- **Scroll lock** — uses `@react-aria/overlays` `usePreventScroll` (ref-counted, restores prior `overflow` styles)
|
|
58
|
+
- **Escape key** — document-level listener active only while `isOpen` is `true`
|
|
59
|
+
- **Backdrop click** — calls `onClose`
|
|
60
|
+
- **Animations** — slide-up on mobile, zoom on desktop; `fill-mode-forwards` prevents opacity flash between animation end and unmount
|
|
61
|
+
- **Close button** — rendered inside `ModalV2Header`, visible on `md:` breakpoint and above only
|
|
62
|
+
|
|
63
|
+
## Source
|
|
64
|
+
|
|
65
|
+
[`modal-v2.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/modal-v2.tsx)
|
|
@@ -1,37 +1,39 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
A
|
|
3
|
-
|
|
4
|
-
> ⚠️ **Deprecated** — Migrate to `ModalV2` and its sub-components from `./modal-v2`.
|
|
1
|
+
<!-- source-hash: ed95b565acc4157d608a7b7a22ff8139 -->
|
|
2
|
+
A deprecated modal component system providing an accessible, composable modal dialog with scroll locking, keyboard handling, and overlay dismissal. All exports are superseded by `ModalV2` from `./modal-v2`.
|
|
5
3
|
|
|
6
4
|
## Key Components
|
|
7
5
|
|
|
8
6
|
| Export | Description |
|
|
9
|
-
|
|
10
|
-
| `Modal` | Root
|
|
7
|
+
|---|---|
|
|
8
|
+
| `Modal` | Root container — handles overlay, Escape key, scroll lock, and `role="dialog"` |
|
|
9
|
+
| `ModalHeader` | Top section with bottom border, meant to hold a title |
|
|
10
|
+
| `ModalTitle` | Styled `<h2>` for the dialog heading |
|
|
11
11
|
| `ModalContent` | Scrollable body area (`overflow-y-auto`) |
|
|
12
|
-
| `
|
|
13
|
-
| `ModalTitle` | Styled `<h2>` heading within the header |
|
|
14
|
-
| `ModalFooter` | Bottom action bar, right-aligned with gap |
|
|
12
|
+
| `ModalFooter` | Bottom action row, right-aligned with gap |
|
|
15
13
|
|
|
16
|
-
All components use `React.forwardRef` and accept an optional `className` for Tailwind overrides
|
|
14
|
+
All components use `React.forwardRef` and accept an optional `className` for Tailwind overrides.
|
|
17
15
|
|
|
18
16
|
## Usage Example
|
|
19
17
|
|
|
18
|
+
> ⚠️ **Deprecated.** Use [`ModalV2`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/modal-v2.tsx) instead.
|
|
19
|
+
|
|
20
20
|
```typescript
|
|
21
|
-
import { Modal,
|
|
21
|
+
import { Modal, ModalHeader, ModalTitle, ModalContent, ModalFooter } from "./modal"
|
|
22
|
+
|
|
23
|
+
function Example() {
|
|
24
|
+
const [open, setOpen] = React.useState(false)
|
|
22
25
|
|
|
23
|
-
function ExampleDialog({ open, onClose }: { open: boolean; onClose: () => void }) {
|
|
24
26
|
return (
|
|
25
|
-
<Modal isOpen={open} onClose={
|
|
27
|
+
<Modal isOpen={open} onClose={() => setOpen(false)}>
|
|
26
28
|
<ModalHeader>
|
|
27
29
|
<ModalTitle>Confirm Action</ModalTitle>
|
|
28
30
|
</ModalHeader>
|
|
29
31
|
<ModalContent className="px-6 py-4">
|
|
30
|
-
|
|
32
|
+
Are you sure you want to proceed?
|
|
31
33
|
</ModalContent>
|
|
32
34
|
<ModalFooter>
|
|
33
|
-
<button onClick={
|
|
34
|
-
<button onClick={
|
|
35
|
+
<button onClick={() => setOpen(false)}>Cancel</button>
|
|
36
|
+
<button onClick={handleConfirm}>Confirm</button>
|
|
35
37
|
</ModalFooter>
|
|
36
38
|
</Modal>
|
|
37
39
|
)
|
|
@@ -40,6 +42,7 @@ function ExampleDialog({ open, onClose }: { open: boolean; onClose: () => void }
|
|
|
40
42
|
|
|
41
43
|
## Behavior Notes
|
|
42
44
|
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
45
|
+
- **Scroll lock** — uses `usePreventScroll` from `@react-aria/overlays`; ref-counted, safely restores prior body styles on close
|
|
46
|
+
- **Escape key** — document-level listener added only while open; cleaned up on close or unmount
|
|
47
|
+
- **Overlay click** — clicking the backdrop calls `onClose`; the dialog itself is `z-10` above the `bg-ods-overlay` backdrop
|
|
48
|
+
- **Max dimensions** — constrained to `max-w-md` width and `max-h-[90vh]` height; `ModalContent` scrolls independently
|
|
@@ -1,54 +1,60 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 27013ecbc14f532020d75fe1ab709dd3 -->
|
|
2
|
+
Compact ellipsis-triggered dropdown menu component built on Radix `DropdownMenu`, supporting both button and link item variants.
|
|
3
|
+
|
|
4
|
+
> **Deprecated:** Use `ActionsMenuDropdown` from `./actions-menu` instead. This component will be removed in a future release.
|
|
3
5
|
|
|
4
6
|
## Key Components
|
|
5
7
|
|
|
6
8
|
### `MoreActionsItem`
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
Defines a single menu entry with the following options:
|
|
10
|
+
|
|
11
|
+
| Property | Type | Description |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| `label` | `string` | Display text |
|
|
14
|
+
| `onClick` | `() => void` | Click handler (optional when `href` is set) |
|
|
15
|
+
| `href` | `string` | Renders item as a Next.js `<Link>` |
|
|
16
|
+
| `openInNewTab` | `boolean` | Opens `href` in a new tab |
|
|
17
|
+
| `icon` | `ReactNode` | Leading icon |
|
|
18
|
+
| `disabled` | `boolean` | Disables interaction |
|
|
19
|
+
| `danger` | `boolean` | Applies error color to icon |
|
|
15
20
|
|
|
16
21
|
### `MoreActionsMenuProps`
|
|
17
|
-
Configuration
|
|
18
|
-
- `items` — array of `MoreActionsItem`
|
|
19
|
-
- `align`, `side`, `sideOffset` — Radix positioning controls
|
|
20
|
-
- `trigger` — optional custom trigger element (replaces default ellipsis button)
|
|
21
|
-
- `open` / `onOpenChange` — controlled open state support
|
|
22
|
+
Configuration for the menu container, including controlled `open`/`onOpenChange`, positioning (`align`, `side`, `sideOffset`), and a custom `trigger` override.
|
|
22
23
|
|
|
23
24
|
### `MoreActionsMenu`
|
|
24
|
-
The
|
|
25
|
+
The rendered component. Defaults to an ellipsis icon button trigger. Items render as `<a href>` (link variant) or a `DropdownMenuItem` button based on whether `href` is present.
|
|
25
26
|
|
|
26
27
|
## Usage Example
|
|
27
28
|
|
|
28
29
|
```typescript
|
|
29
30
|
import { MoreActionsMenu } from './more-actions-menu'
|
|
30
|
-
import {
|
|
31
|
+
import { Trash01Icon, Edit01Icon } from '../icons-v2-generated'
|
|
31
32
|
|
|
32
33
|
<MoreActionsMenu
|
|
33
34
|
items={[
|
|
34
35
|
{
|
|
35
36
|
label: 'Edit',
|
|
36
|
-
icon: <
|
|
37
|
-
onClick: () =>
|
|
37
|
+
icon: <Edit01Icon />,
|
|
38
|
+
onClick: () => handleEdit(),
|
|
38
39
|
},
|
|
39
40
|
{
|
|
40
|
-
label: '
|
|
41
|
-
|
|
41
|
+
label: 'Open in docs',
|
|
42
|
+
icon: <Edit01Icon />,
|
|
43
|
+
href: '/docs/item',
|
|
42
44
|
openInNewTab: true,
|
|
43
45
|
},
|
|
44
46
|
{
|
|
45
47
|
label: 'Delete',
|
|
46
|
-
icon: <
|
|
48
|
+
icon: <Trash01Icon />,
|
|
47
49
|
danger: true,
|
|
48
|
-
onClick: () =>
|
|
50
|
+
onClick: () => handleDelete(),
|
|
49
51
|
},
|
|
50
52
|
]}
|
|
51
53
|
align="end"
|
|
52
54
|
side="bottom"
|
|
53
55
|
/>
|
|
54
|
-
```
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Migration
|
|
59
|
+
|
|
60
|
+
Replace with [`ActionsMenuDropdown`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/actions-menu.tsx) which supports the same API plus grouped items, checkboxes, and submenus.
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: d23bf0b4932c8f403db0c50d4da2788b -->
|
|
2
|
+
Accessible navigation menu component built on Radix UI primitives, providing animated dropdown menus with keyboard navigation support and smooth enter/exit transitions.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `NavigationMenu` | Component | Root wrapper with viewport auto-included |
|
|
9
|
+
| `NavigationMenuList` | Component | Horizontal list container for menu items |
|
|
10
|
+
| `NavigationMenuItem` | Component | Individual menu item wrapper (Radix primitive) |
|
|
11
|
+
| `NavigationMenuTrigger` | Component | Clickable trigger with animated `ChevronDown` icon |
|
|
12
|
+
| `NavigationMenuContent` | Component | Animated dropdown content panel with slide transitions |
|
|
13
|
+
| `NavigationMenuLink` | Component | Accessible link element (Radix primitive) |
|
|
14
|
+
| `NavigationMenuViewport` | Component | Floating viewport that renders active content |
|
|
15
|
+
| `NavigationMenuIndicator` | Component | Animated arrow indicator pointing to active item |
|
|
16
|
+
| `navigationMenuTriggerStyle` | `cva` function | Reusable CVA style for standalone trigger-styled links |
|
|
15
17
|
|
|
16
18
|
## Usage Example
|
|
17
19
|
|
|
@@ -20,31 +22,42 @@ import {
|
|
|
20
22
|
NavigationMenu,
|
|
21
23
|
NavigationMenuContent,
|
|
22
24
|
NavigationMenuItem,
|
|
25
|
+
NavigationMenuLink,
|
|
23
26
|
NavigationMenuList,
|
|
24
27
|
NavigationMenuTrigger,
|
|
25
|
-
|
|
28
|
+
navigationMenuTriggerStyle,
|
|
29
|
+
} from "@/components/ui/navigation-menu"
|
|
26
30
|
|
|
27
|
-
function
|
|
31
|
+
export function SiteNav() {
|
|
28
32
|
return (
|
|
29
33
|
<NavigationMenu>
|
|
30
34
|
<NavigationMenuList>
|
|
31
35
|
<NavigationMenuItem>
|
|
32
36
|
<NavigationMenuTrigger>Products</NavigationMenuTrigger>
|
|
33
37
|
<NavigationMenuContent>
|
|
34
|
-
<
|
|
35
|
-
<
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
<ul className="grid gap-3 p-4 w-[400px]">
|
|
39
|
+
<li>
|
|
40
|
+
<NavigationMenuLink href="/openframe">
|
|
41
|
+
OpenFrame
|
|
42
|
+
</NavigationMenuLink>
|
|
43
|
+
</li>
|
|
44
|
+
<li>
|
|
45
|
+
<NavigationMenuLink href="/mingo-ai">
|
|
46
|
+
Mingo AI
|
|
47
|
+
</NavigationMenuLink>
|
|
48
|
+
</li>
|
|
49
|
+
</ul>
|
|
38
50
|
</NavigationMenuContent>
|
|
39
51
|
</NavigationMenuItem>
|
|
40
|
-
|
|
52
|
+
|
|
53
|
+
{/* Standalone link using trigger styling */}
|
|
41
54
|
<NavigationMenuItem>
|
|
42
|
-
<
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
</
|
|
55
|
+
<NavigationMenuLink
|
|
56
|
+
href="/docs"
|
|
57
|
+
className={navigationMenuTriggerStyle()}
|
|
58
|
+
>
|
|
59
|
+
Docs
|
|
60
|
+
</NavigationMenuLink>
|
|
48
61
|
</NavigationMenuItem>
|
|
49
62
|
</NavigationMenuList>
|
|
50
63
|
</NavigationMenu>
|
|
@@ -52,4 +65,6 @@ function MainNav() {
|
|
|
52
65
|
}
|
|
53
66
|
```
|
|
54
67
|
|
|
55
|
-
|
|
68
|
+
> **Note:** `NavigationMenuViewport` is automatically rendered inside `NavigationMenu` — no need to add it manually. Use `navigationMenuTriggerStyle()` to style plain links with the same appearance as trigger buttons.
|
|
69
|
+
|
|
70
|
+
**Source:** [`navigation-menu.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/navigation-menu.tsx)
|