@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,40 +1,51 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
A client-side `<a>` wrapper
|
|
1
|
+
<!-- source-hash: 83b227b8e0df5ad60d3358b3d5e15409 -->
|
|
2
|
+
A client-side `<a>` wrapper that routes chat-rendered links (markdown bodies, source chips, inline references) through the active `ChatRuntime`, applying consistent new-tab logic and panel-close behavior.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
### `NavLinkAnchorViaRuntimeProps`
|
|
7
|
+
|
|
7
8
|
| Prop | Type | Description |
|
|
8
|
-
|
|
9
|
-
| `href` | `string` | Raw
|
|
10
|
-
| `path` | `string \| null` | Optional internal path
|
|
11
|
-
| `targetPlatform` | `string \| null` | Platform
|
|
9
|
+
|---|---|---|
|
|
10
|
+
| `href` | `string` | Raw link URL |
|
|
11
|
+
| `path` | `string \| null` | Optional internal path override |
|
|
12
|
+
| `targetPlatform` | `string \| null` | Platform hint for new-tab resolution |
|
|
12
13
|
| `className` | `string` | Optional CSS class |
|
|
13
|
-
| `children` | `ReactNode` |
|
|
14
|
+
| `children` | `ReactNode` | Link content (optional — empty anchors are valid) |
|
|
14
15
|
|
|
15
16
|
### `NavLinkAnchorViaRuntime`
|
|
16
|
-
The main exported component. Orchestrates four responsibilities:
|
|
17
|
-
1. **Resolves `href`** via `resolveHrefForRuntime` (runtime-aware URL normalization)
|
|
18
|
-
2. **Decides new-tab vs. same-tab** via `computeIsNewTab` (embed-mode short-circuit → `runtime.navigation.decideNewTab` → lib fallback)
|
|
19
|
-
3. **Sets `target`/`rel`** attributes via `newTabAnchorAttrs`
|
|
20
|
-
4. **Closes the chat panel** on same-tab navigation via `ChatPanelContext.closeChat`
|
|
21
17
|
|
|
22
|
-
|
|
18
|
+
Primary export. Resolves the final href and new-tab decision at runtime, then delegates click handling to shared utilities:
|
|
19
|
+
|
|
20
|
+
- **`resolveHrefForRuntime`** — adapts the raw `href` for the active runtime context
|
|
21
|
+
- **`computeIsNewTab`** — applies embed-mode short-circuit → `runtime.navigation.decideNewTab` → lib fallback chain
|
|
22
|
+
- **`newTabAnchorAttrs`** — produces correct `target` / `rel` attributes
|
|
23
|
+
- **`handleChatNavClick`** — unified click handler shared with source chips and inline cards
|
|
24
|
+
- **`useChatPanel`** — closes the chat panel on same-tab navigation; leaves it open for new-tab clicks
|
|
25
|
+
|
|
26
|
+
> **Chat-only contract:** Uses `useRequiredChatRuntime`, which **throws** if mounted outside a `<ChatRuntimeContext.Provider>`. This is intentional — silent fallback when the runtime is absent is never acceptable.
|
|
23
27
|
|
|
24
28
|
## Usage Example
|
|
25
29
|
|
|
26
30
|
```typescript
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
// Inside a chat markdown renderer or source chip
|
|
32
|
+
import { NavLinkAnchorViaRuntime } from './nav-link-anchor-via-runtime'
|
|
33
|
+
|
|
34
|
+
function ChatMarkdownLink({ href, children }) {
|
|
35
|
+
return (
|
|
36
|
+
<NavLinkAnchorViaRuntime
|
|
37
|
+
href={href}
|
|
38
|
+
targetPlatform="web"
|
|
39
|
+
className="chat-link"
|
|
40
|
+
>
|
|
41
|
+
{children}
|
|
42
|
+
</NavLinkAnchorViaRuntime>
|
|
43
|
+
)
|
|
44
|
+
}
|
|
36
45
|
```
|
|
37
46
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
47
|
+
> For links **outside** the chat tree (header chrome, marketing pages), use the hub's own `useNavLink`-based anchor instead — this component will throw in those contexts by design.
|
|
48
|
+
|
|
49
|
+
## Source
|
|
50
|
+
|
|
51
|
+
[`nav-link-anchor-via-runtime.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/nav-link-anchor-via-runtime.tsx)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<!-- source-hash: aaf3eec1cf53779f0b01f4e804331724 -->
|
|
2
|
+
Renders a compact, themed quick-action chip button with icon resolution, loading skeleton, and support for agent-branded accents, lozenges, and selection states.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
### Types & Utilities
|
|
7
|
+
|
|
8
|
+
- **`QuickActionAccent`** — Union type for icon tint: `'pink'` | `'cyan'` | any CSS color string
|
|
9
|
+
- **`QuickActionIconSpec`** — Extends `EntityIconValue` with `accent` and `size`; declarative icon descriptor resolved by `<EntityIcon>`
|
|
10
|
+
- **`QuickActionThemeSpec`** — Caller-supplied chip theme with `accent` and optional `lozenge`
|
|
11
|
+
- **`QuickActionChipLozenge`** — Leading category/status affix rendered inside the chip label
|
|
12
|
+
- **`getAgentAccent(slug)`** — Maps built-in agent slugs (`'fae'`, `'mingo'`) to brand accent tokens
|
|
13
|
+
- **`accentFromIdentityIcon(icon)`** — Extracts `icon_props.color` from an admin-configured identity
|
|
14
|
+
- **`isQuickActionIconSpec(icon)`** — Type guard distinguishing a spec object from a `ReactNode`
|
|
15
|
+
- **`renderQuickActionIcon(icon)`** — Resolves a chip `icon` prop to a renderable node via `<EntityIcon>`
|
|
16
|
+
|
|
17
|
+
### Components
|
|
18
|
+
|
|
19
|
+
- **`QuickActionChipButton`** — Primary chip component with full theming, icon, lozenge, selection, and interactivity support
|
|
20
|
+
- **`QuickActionChipSkeleton`** — Loading placeholder that mirrors the real chip's exact dimensions using pulse bars
|
|
21
|
+
|
|
22
|
+
## Usage Example
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import {
|
|
26
|
+
QuickActionChipButton,
|
|
27
|
+
QuickActionChipSkeleton,
|
|
28
|
+
getAgentAccent,
|
|
29
|
+
accentFromIdentityIcon,
|
|
30
|
+
} from './quick-action-chip'
|
|
31
|
+
|
|
32
|
+
// Basic chip with a built-in agent accent
|
|
33
|
+
<QuickActionChipButton
|
|
34
|
+
label="Summarize Ticket"
|
|
35
|
+
icon={{ name: 'mingo', size: 16 }}
|
|
36
|
+
theme={{ accent: getAgentAccent('mingo') ?? 'cyan' }}
|
|
37
|
+
onSelect={() => console.log('selected')}
|
|
38
|
+
/>
|
|
39
|
+
|
|
40
|
+
// Chip with admin-configured icon color and a category lozenge
|
|
41
|
+
<QuickActionChipButton
|
|
42
|
+
label="Patch Servers"
|
|
43
|
+
icon={{ name: 'server', accent: accentFromIdentityIcon(agentRow.icon) }}
|
|
44
|
+
lozenge={{ label: 'SEC', className: 'text-ods-warning' }}
|
|
45
|
+
selected
|
|
46
|
+
selectedAccent="cyan"
|
|
47
|
+
size="large"
|
|
48
|
+
/>
|
|
49
|
+
|
|
50
|
+
// Loading state — matches loaded chip dimensions 1:1
|
|
51
|
+
<QuickActionChipSkeleton labelCh={12} icon lozenge size="large" />
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Notes
|
|
55
|
+
|
|
56
|
+
- Theme accent fills only when the icon spec carries no `accent` of its own — per-action config always wins.
|
|
57
|
+
- Named brand tokens (`pink`, `cyan`) apply a `text-ods-flamingo-*` class; arbitrary CSS colors are passed as an explicit `color` prop to `<EntityIcon>`.
|
|
58
|
+
- Set `interactive={false}` for decorative chips (marquee strips, table cells) to suppress focus and keyboard handling.
|
|
59
|
+
|
|
60
|
+
**Source:** [`quick-action-chip.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/quick-action-chip.tsx)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<!-- source-hash: 5a021d0d9bef82d15123c47324bd44ae -->
|
|
2
|
+
Single-row horizontally-scrolling strip of quick-action chips, a thin preset wrapper around `QuickActionWall` that enforces a `flex-nowrap` single-axis layout with optional endless marquee animation.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
### `QuickActionMarquee` (component)
|
|
7
|
+
|
|
8
|
+
The primary export. Converts `QuickActionMarqueeItem[]` into `QuickActionChip[]` via `useMemo` and delegates rendering to `QuickActionWall` with `axis="x"` and `flex-nowrap` content layout.
|
|
9
|
+
|
|
10
|
+
**Props (`QuickActionMarqueeProps`):**
|
|
11
|
+
|
|
12
|
+
| Prop | Type | Default | Description |
|
|
13
|
+
|---|---|---|---|
|
|
14
|
+
| `items` | `ReadonlyArray<QuickActionMarqueeItem>` | — | Chip data |
|
|
15
|
+
| `mode` | `'animated' \| 'plain'` | `'animated'` | Endless scroll or static row |
|
|
16
|
+
| `direction` | `'left' \| 'right'` | `'left'` | Scroll travel direction |
|
|
17
|
+
| `speed` | `number` | `40` | Scroll speed in px/s |
|
|
18
|
+
| `pauseOnHover` | `boolean` | `true` | Pause scroll on hover |
|
|
19
|
+
| `onSelect` | `(item) => void` | — | Makes chips interactive buttons; omit for decorative tags |
|
|
20
|
+
| `minChips` | `number` | `12` | Minimum chip count for loop overflow (~2600px+) |
|
|
21
|
+
| `sync` | `MarqueeSyncController` | — | Pixel-locks sibling marquee strips under one position driver |
|
|
22
|
+
| `className` | `string` | — | Root element class override |
|
|
23
|
+
|
|
24
|
+
### `QuickActionMarqueeItem` (interface)
|
|
25
|
+
|
|
26
|
+
Data shape for each chip: `id` (stable key), `label`, and optional `icon` (React node or `QuickActionIconSpec`).
|
|
27
|
+
|
|
28
|
+
## Usage Example
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import { QuickActionMarquee } from './quick-action-marquee'
|
|
32
|
+
|
|
33
|
+
const SUGGESTIONS: QuickActionMarqueeItem[] = [
|
|
34
|
+
{ id: 'restart', label: 'Restart service', icon: <RefreshIcon /> },
|
|
35
|
+
{ id: 'logs', label: 'View logs' },
|
|
36
|
+
{ id: 'deploy', label: 'Deploy patch' },
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
// Animated, interactive strip
|
|
40
|
+
<QuickActionMarquee
|
|
41
|
+
items={SUGGESTIONS}
|
|
42
|
+
speed={50}
|
|
43
|
+
onSelect={(item) => console.log('Selected:', item.label)}
|
|
44
|
+
/>
|
|
45
|
+
|
|
46
|
+
// Static decorative row (no motion, no cloning)
|
|
47
|
+
<QuickActionMarquee
|
|
48
|
+
items={SUGGESTIONS}
|
|
49
|
+
mode="plain"
|
|
50
|
+
/>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
> **Motion safety:** the underlying `QuickActionWall` engine always respects `prefers-reduced-motion`. In `plain` mode, `minChips` padding is disabled since no looping occurs.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<!-- source-hash: 604eb79e10ef142d8c69457a1482cc62 -->
|
|
2
|
+
Animated, multi-row "brick wall" of quick-action chips built on `MarqueeWall`, supporting skeleton loading, adaptive padding, interleaved chip streams, and per-agent row caps.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
### Exports
|
|
7
|
+
|
|
8
|
+
| Export | Type | Description |
|
|
9
|
+
|---|---|---|
|
|
10
|
+
| `QuickActionWall` | Component | Primary wall component rendering themed chips on a scrolling/static marquee |
|
|
11
|
+
| `QuickActionWallProps` | Interface | Full prop surface for the wall |
|
|
12
|
+
| `WALL_SKELETON_LABEL_CH` | `number[]` | Cycled skeleton chip widths (in `ch`) shared across surfaces |
|
|
13
|
+
| `interleave<T>` | Function | Deterministic index-alternating merge of two chip arrays |
|
|
14
|
+
|
|
15
|
+
### Internal Constants
|
|
16
|
+
|
|
17
|
+
| Constant | Purpose |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `DEFAULT_MIN_CHIPS_PER_ROW` | Fallback pad target (14 chips) before geometry is measured |
|
|
20
|
+
| `ADAPTIVE_PAD_MARGIN` | Extra repeat buffer added after measured overflow count |
|
|
21
|
+
| `AGENT_MAX_ROWS` | Brick-stack cap (2 rows) for `fae`/`mingo` agent walls |
|
|
22
|
+
|
|
23
|
+
## Usage Example
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import { QuickActionWall, interleave } from './quick-action-wall'
|
|
27
|
+
|
|
28
|
+
// Basic animated wall
|
|
29
|
+
<QuickActionWall
|
|
30
|
+
chips={myChips}
|
|
31
|
+
theme={{ accent: '#6366f1' }}
|
|
32
|
+
mode="animated"
|
|
33
|
+
rows={3}
|
|
34
|
+
agentSlug="mingo"
|
|
35
|
+
fade={['left', 'right']}
|
|
36
|
+
fadeColor="#ffffff"
|
|
37
|
+
pauseOnHover
|
|
38
|
+
/>
|
|
39
|
+
|
|
40
|
+
// Interleaved IT + SEC chip stream (deck slide 3 / mixed wall)
|
|
41
|
+
const blended = interleave(itChips, secChips)
|
|
42
|
+
<QuickActionWall
|
|
43
|
+
chips={blended}
|
|
44
|
+
lozenges
|
|
45
|
+
rows={2}
|
|
46
|
+
speed={50}
|
|
47
|
+
dragScroll
|
|
48
|
+
/>
|
|
49
|
+
|
|
50
|
+
// Skeleton loading state
|
|
51
|
+
<QuickActionWall
|
|
52
|
+
chips={[]}
|
|
53
|
+
loading
|
|
54
|
+
skeletonCount={24}
|
|
55
|
+
rows={2}
|
|
56
|
+
/>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Behavior Notes
|
|
60
|
+
|
|
61
|
+
- **Adaptive padding**: measures container + narrowest chip via `ResizeObserver`; pads rows to `ceil(width / chipWidth) + 2` so the marquee loop always engages
|
|
62
|
+
- **Brick mode**: `rows` splits chips evenly across stacked single-row marquees; each row pads independently
|
|
63
|
+
- **Agent cap**: `agentSlug="fae"` or `"mingo"` clamps brick rows to 2 regardless of `rows`
|
|
64
|
+
- **Accessibility**: clone copies are `aria-hidden` with focus suppressed; interactive chips remain clickable in clones
|
|
65
|
+
|
|
66
|
+
## Source
|
|
67
|
+
|
|
68
|
+
[`quick-action-wall.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/quick-action-wall.tsx)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- source-hash: 74dbdc2ffb35df002f0f95977836c9b4 -->
|
|
2
|
+
Remark plugin that transforms inline `@marker:id` mention tokens in markdown text nodes into synthetic `link` mdast nodes using the `mention://` scheme, enabling downstream rendering as interactive chip components.
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
### `MENTION_REGEX`
|
|
7
|
+
Compiled regex matching `@<marker>:<id>` tokens with boundary detection. Captures an optional leading boundary character (`lead`), the marker (lowercase letters), and the id (alphanumeric plus `_.+/=-`, but not trailing `.` or `-`).
|
|
8
|
+
|
|
9
|
+
### `remarkMentionChips`
|
|
10
|
+
A [unified](https://github.com/unifiedjs/unified) `Plugin<[], Root>` that visits every `text` leaf in the mdast tree. For each match it:
|
|
11
|
+
1. Emits any preceding text as a `Text` node
|
|
12
|
+
2. Replaces the token with a `Link` node (`url: mention://<marker>:<id>`, children: raw token as fallback text)
|
|
13
|
+
3. Returns `[SKIP, index + parts.length]` to advance past the injected nodes without re-visiting them
|
|
14
|
+
|
|
15
|
+
## Usage Example
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { unified } from 'unified'
|
|
19
|
+
import remarkParse from 'remark-parse'
|
|
20
|
+
import remarkRehype from 'remark-rehype'
|
|
21
|
+
import { remarkMentionChips } from './remark-mention-chips'
|
|
22
|
+
|
|
23
|
+
const processor = unified()
|
|
24
|
+
.use(remarkParse)
|
|
25
|
+
.use(remarkMentionChips)
|
|
26
|
+
.use(remarkRehype)
|
|
27
|
+
|
|
28
|
+
// Input markdown: "Check @device:64f0a1 and @kb:5 for details."
|
|
29
|
+
// Produces a link node: { type: 'link', url: 'mention://device:64f0a1', ... }
|
|
30
|
+
// The downstream <a> override detects the mention:// scheme and renders a chip.
|
|
31
|
+
const file = await processor.process('Check @device:64f0a1 and @kb:5 for details.')
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Notes
|
|
35
|
+
|
|
36
|
+
- Handles boundary safety: `user@host:1234` is **not** matched because `@` is preceded by a word character
|
|
37
|
+
- Parenthesised mentions like `(@device:64f0a1)` work correctly — the `(` is re-emitted as text
|
|
38
|
+
- Unresolved mentions (no matching `contextItems` entry) fall back to the raw `@marker:id` literal
|
|
39
|
+
- Companion to `remark-card-links`, which handles assistant-side `[card://type:id]` markers
|
|
40
|
+
|
|
41
|
+
**Source:** [`remark-mention-chips.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/remark-mention-chips.ts)
|
|
@@ -1,47 +1,41 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Renders an
|
|
1
|
+
<!-- source-hash: d1a2b6cd443ffee1f14fb1fbefe456e3 -->
|
|
2
|
+
Renders an autocomplete dropdown for slash-command suggestions, displaying each command as a styled card with icon, label, description, and optional action buttons.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|--------|------|-------------|
|
|
8
|
-
| `SlashCommandSuggestions` | `React.FC` | Main dropdown component; returns `null` when `commands` is empty |
|
|
9
|
-
| `SlashCommandSuggestionsProps` | `interface` | Props contract covering command list, highlight state, and action callbacks |
|
|
6
|
+
**`SlashCommandSuggestions`** — Primary export. Renders a `role="menu"` container populated with `MingoOnboardingCard` rows, one per command. Returns `null` when `commands` is empty.
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
**`SlashCommandSuggestionsProps`** — Interface defining:
|
|
9
|
+
- `commands` — Filtered `SlashCommandSummary[]` to display
|
|
10
|
+
- `highlightedIdx` — Keyboard/hover cursor position
|
|
11
|
+
- `onHover` / `onSelect` — Sync callbacks for mouse and keyboard navigation
|
|
12
|
+
- `onAction` — Optional handler for inline action buttons (browse, search, find, etc.)
|
|
13
|
+
- `resolveSourceIcon` — Legacy fallback icon resolver for commands without `iconName`
|
|
14
|
+
- `className` — Positioning override (e.g. `absolute bottom-full`)
|
|
15
|
+
|
|
16
|
+
**Icon resolution priority:**
|
|
17
|
+
1. `cmd.iconName` → `resolveIcon` (v2 registry, production path)
|
|
18
|
+
2. `cmd.primarySourceId` → `resolveSourceIcon` (legacy fallback)
|
|
19
|
+
3. `FileIcon` (default inside `resolveIcon`)
|
|
20
|
+
|
|
21
|
+
**Display label priority:** `cmd.label` → `legacyMeta.label` → `cmd.id`
|
|
15
22
|
|
|
16
23
|
## Usage Example
|
|
17
24
|
|
|
18
25
|
```typescript
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<SlashCommandSuggestions
|
|
29
|
-
commands={commands}
|
|
30
|
-
highlightedIdx={highlightedIdx}
|
|
31
|
-
onHover={(idx) => setHighlightedIdx(idx)}
|
|
32
|
-
onSelect={(cmd) => setValue(`/${cmd.id} `)}
|
|
33
|
-
onAction={(cmd, actionId) => dispatch({ cmd, actionId })}
|
|
34
|
-
className="absolute bottom-full"
|
|
35
|
-
/>
|
|
36
|
-
<input ... />
|
|
37
|
-
</div>
|
|
38
|
-
)
|
|
39
|
-
}
|
|
26
|
+
<SlashCommandSuggestions
|
|
27
|
+
commands={filteredCommands}
|
|
28
|
+
highlightedIdx={activeIdx}
|
|
29
|
+
onHover={(idx) => setActiveIdx(idx)}
|
|
30
|
+
onSelect={(cmd) => prefillInput(`/${cmd.id} `)}
|
|
31
|
+
onAction={(cmd, actionId) => dispatch({ cmd, actionId })}
|
|
32
|
+
resolveSourceIcon={(sourceId) => legacyIconMap[sourceId]}
|
|
33
|
+
className="absolute bottom-full"
|
|
34
|
+
/>
|
|
40
35
|
```
|
|
41
36
|
|
|
42
|
-
##
|
|
37
|
+
## Notes
|
|
43
38
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
- Action buttons call `stopPropagation` to prevent double-firing the row's `onSelect`
|
|
39
|
+
- Uses `role="menu"` with `role="menuitem"` rows (not `listbox`/`option`) to allow interactive action buttons inside each row per ARIA 1.2
|
|
40
|
+
- `aria-current` marks the highlighted row; action button clicks call `stopPropagation` to prevent double-firing `onSelect`
|
|
41
|
+
- Mirrors the empty-state onboarding card design via shared `MingoOnboardingCard` component
|
|
@@ -1,48 +1,51 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 2b46a61a06e35d0d30a9cba0a4b9531a -->
|
|
2
|
+
Renders a unified "Ask" or "Display" action button for chat-adjacent surfaces (source chips, inline cards, search result rows), replacing three divergent implementations with a single density-aware primitive.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
###
|
|
7
|
-
The sole export. Returns `null` when either `chatRef` or `onDiscuss` is absent, making the guard declarative at the call site.
|
|
6
|
+
### Types
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
- **`SourceActionDensity`** — Union type `'inline' | 'card' | 'list-row'` controlling visual layout variant
|
|
9
|
+
- **`SourceActionButtonProps`** — Component props including `chatRef`, `onDiscuss`, `density`, `label`, and `className`
|
|
11
10
|
|
|
12
|
-
###
|
|
13
|
-
Internal record keyed by `SourceActionDensity`. Each entry carries `size`, `showLabel`, `iconSize`, and `className`. Adding a fourth surface requires one new entry here — no changes to the render path.
|
|
11
|
+
### Constants
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
- **`DENSITY_STYLES`** — Static map from `SourceActionDensity` to per-variant sizing, icon dimensions, label visibility, and Tailwind class strings. Adding a new surface requires only a new entry here.
|
|
14
|
+
|
|
15
|
+
### Component
|
|
16
|
+
|
|
17
|
+
- **`SourceActionButton`** — Returns `null` when `chatRef` or `onDiscuss` is absent (safe to render unconditionally). Selects `MessageSquare` or `FileText` icon based on whether `label` is `'Display'`. Delegates to the UI-Kit `<Button variant="transparent">` for consistent DOM structure and accessibility.
|
|
17
18
|
|
|
18
19
|
## Usage Example
|
|
19
20
|
|
|
20
21
|
```typescript
|
|
21
|
-
|
|
22
|
+
import { SourceActionButton } from './source-action-button'
|
|
23
|
+
import type { ChatRef } from './chat-ref.types'
|
|
24
|
+
|
|
25
|
+
const ref: ChatRef = { id: 'doc-42', title: 'Q4 Report' }
|
|
26
|
+
|
|
27
|
+
// Compact icon-only button beside a source chip
|
|
22
28
|
<SourceActionButton
|
|
23
|
-
chatRef={
|
|
24
|
-
onDiscuss={(
|
|
29
|
+
chatRef={ref}
|
|
30
|
+
onDiscuss={(r) => openChat(r)}
|
|
25
31
|
density="inline"
|
|
26
32
|
/>
|
|
27
33
|
|
|
28
|
-
//
|
|
34
|
+
// Labelled button inside an inline card
|
|
29
35
|
<SourceActionButton
|
|
30
|
-
chatRef={
|
|
31
|
-
onDiscuss={
|
|
36
|
+
chatRef={ref}
|
|
37
|
+
onDiscuss={(r) => openChat(r)}
|
|
32
38
|
density="card"
|
|
39
|
+
label="Ask"
|
|
33
40
|
/>
|
|
34
41
|
|
|
35
|
-
//
|
|
42
|
+
// Labelled button with display semantics in a list row
|
|
36
43
|
<SourceActionButton
|
|
37
|
-
chatRef={
|
|
38
|
-
onDiscuss={
|
|
44
|
+
chatRef={ref}
|
|
45
|
+
onDiscuss={(r) => openViewer(r)}
|
|
39
46
|
density="list-row"
|
|
40
47
|
label="Display"
|
|
41
48
|
/>
|
|
49
|
+
```
|
|
42
50
|
|
|
43
|
-
|
|
44
|
-
<SourceActionButton
|
|
45
|
-
chatRef={null}
|
|
46
|
-
onDiscuss={handleDiscuss}
|
|
47
|
-
/>
|
|
48
|
-
```
|
|
51
|
+
**Visibility rules:** the component renders `null` (no DOM node) when either `chatRef` or `onDiscuss` is `undefined`/`null`, so call sites need no conditional wrapping.
|
|
@@ -1,45 +1,33 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Reusable React components for rendering tool call arguments and
|
|
1
|
+
<!-- source-hash: 33bf00d3b65113d65665605ce5e4d951 -->
|
|
2
|
+
Reusable React components for rendering tool call arguments, results, and command bodies within AI message interfaces (Mingo AI / Fae client cards).
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
| Export | Props | Description |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `ArgRow` | `argKey: string`, `value: unknown` | Renders a single tool argument as either an inline `key: value` pair or a labeled scrollable `<pre>` block for long/complex values |
|
|
9
|
+
| `ResultBlock` | `result: string \| undefined \| null`, `className?: string` | Renders tool execution output inline for short single-line results or as a scrollable code block for JSON/multiline output |
|
|
10
|
+
| `CommandBlock` | `command: string`, `className?: string` | Renders a raw command or script body as an unlabeled code block; used by Fae client cards in expanded state |
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|------|------|-------------|
|
|
11
|
-
| `argKey` | `string` | The argument name/key |
|
|
12
|
-
| `value` | `unknown` | The argument value (any type) |
|
|
12
|
+
All three components share a common `CODE_PRE_CLASS` constant that applies ODS design tokens (`text-code`, `bg-ods-bg`, `border-ods-border`) for consistent monospace display with a 64-line max-height scroll container.
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
Renders a tool execution result as either inline text or a scrollable code block, depending on length and content type. Returns `null` when result is empty.
|
|
16
|
-
|
|
17
|
-
| Prop | Type | Description |
|
|
18
|
-
|------|------|-------------|
|
|
19
|
-
| `result` | `string \| undefined \| null` | The tool execution output |
|
|
20
|
-
| `className` | `string?` | Optional additional CSS classes |
|
|
14
|
+
Rendering mode (`"inline"` vs block) is determined by `formatToolArgValue` and `formatToolResult` helpers from `./utils/tool-call-helpers`.
|
|
21
15
|
|
|
22
16
|
## Usage Example
|
|
23
17
|
|
|
24
18
|
```typescript
|
|
25
|
-
import { ArgRow, ResultBlock } from "./tool-call-blocks"
|
|
19
|
+
import { ArgRow, ResultBlock, CommandBlock } from "./tool-call-blocks"
|
|
26
20
|
|
|
27
|
-
//
|
|
28
|
-
<ArgRow argKey="
|
|
29
|
-
<ArgRow argKey="timeout" value={30} />
|
|
21
|
+
// Short string → inline; long JSON → scrollable <pre>
|
|
22
|
+
<ArgRow argKey="query" value={{ filter: "status=open", limit: 50 }} />
|
|
30
23
|
|
|
31
|
-
//
|
|
24
|
+
// Multiline output → scrollable block
|
|
32
25
|
<ResultBlock result={toolOutput} className="mt-2" />
|
|
33
|
-
```
|
|
34
26
|
|
|
35
|
-
|
|
27
|
+
// Expanded Fae card — show raw command in code block body
|
|
28
|
+
<CommandBlock command="Get-Service | Where-Object { $_.Status -eq 'Running' }" />
|
|
29
|
+
```
|
|
36
30
|
|
|
37
|
-
|
|
31
|
+
## Source
|
|
38
32
|
|
|
39
|
-
|
|
40
|
-
graph TD
|
|
41
|
-
A["Raw Value/Result"] --> B["Format Helper"]
|
|
42
|
-
B --> C{"kind?"}
|
|
43
|
-
C -->|inline| D["Inline span"]
|
|
44
|
-
C -->|block| E["Scrollable pre/code"]
|
|
45
|
-
```
|
|
33
|
+
[`tool-call-blocks.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/tool-call-blocks.tsx)
|
|
@@ -1,53 +1,48 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Renders
|
|
1
|
+
<!-- source-hash: 6622fc68fe4ae722eeab2de7945c1691 -->
|
|
2
|
+
Renders an AI tool execution status card showing tool name, arguments, status icon, and collapsible result output — with separate display modes for admin users (expandable accordion with full details) and end-client Fae users (static, non-expandable summary row).
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
- **`ToolExecutionDisplay`** — Primary `forwardRef` component that renders the tool execution card
|
|
7
|
+
- **`useCollapsible`** — Hook managing animated expand/collapse of the detail body panel
|
|
8
|
+
- **`ArgRow`** — Renders individual argument key/value pairs in the expanded body
|
|
9
|
+
- **`ResultBlock`** — Displays the tool's result string when execution is complete
|
|
10
|
+
- **`renderStatusIcon`** — Internal helper returning `DotsLoaderIcon` (executing), `CheckCircleIcon` (success), or `XmarkCircleIcon` (failure)
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
## Props (`ToolExecutionDisplayProps`)
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
| Prop | Description |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `message` | Tool execution message with `type`, `parameters`, `result`, `success`, `toolTitle`, `toolExplanation` |
|
|
17
|
+
| `assistantType` | `"mingo"` or `"fae"` — controls tool icon visibility |
|
|
18
|
+
| `variant` | `"admin"` (default) or `"client"` — controls expandability and visible fields |
|
|
19
|
+
| `className` | Additional CSS classes |
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
## Variant Behaviour
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
| `message` | Tool execution message with `type`, `parameters`, `result`, `success`, `toolTitle`, `toolFunction`, `integratedToolType` |
|
|
23
|
-
| `className` | Optional CSS class override |
|
|
23
|
+
- **`variant="admin"`** — Expandable accordion showing tool icon, concise `toolTitle`, all args (command body first), and result output
|
|
24
|
+
- **`variant="client"`** — Static row showing only `toolExplanation` and status icon; command body, raw args, and result are hidden
|
|
24
25
|
|
|
25
26
|
## Usage Example
|
|
26
27
|
|
|
27
28
|
```typescript
|
|
28
29
|
import { ToolExecutionDisplay } from "./tool-execution-display"
|
|
29
30
|
|
|
30
|
-
// Executing state
|
|
31
|
-
<ToolExecutionDisplay
|
|
32
|
-
message={{
|
|
33
|
-
type: "EXECUTING_TOOL",
|
|
34
|
-
toolTitle: "Query Database",
|
|
35
|
-
toolFunction: "run_query",
|
|
36
|
-
parameters: { query: "SELECT * FROM tickets LIMIT 10" },
|
|
37
|
-
integratedToolType: "OPENFRAME",
|
|
38
|
-
}}
|
|
39
|
-
/>
|
|
40
|
-
|
|
41
|
-
// Completed with result
|
|
42
31
|
<ToolExecutionDisplay
|
|
32
|
+
assistantType="mingo"
|
|
33
|
+
variant="admin"
|
|
43
34
|
message={{
|
|
44
35
|
type: "EXECUTED_TOOL",
|
|
45
|
-
toolTitle: "
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
toolTitle: "Run PowerShell Script",
|
|
37
|
+
toolExplanation: "Restarting the print spooler service",
|
|
38
|
+
integratedToolType: "POWERSHELL",
|
|
39
|
+
parameters: { script: "Restart-Service Spooler" },
|
|
40
|
+
result: "Service restarted successfully.",
|
|
49
41
|
success: true,
|
|
50
|
-
integratedToolType: "OPENFRAME",
|
|
51
42
|
}}
|
|
52
43
|
/>
|
|
53
|
-
```
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Source
|
|
47
|
+
|
|
48
|
+
[`tool-execution-display.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/tool-execution-display.tsx)
|