@flamingo-stack/openframe-frontend-core 0.0.204 → 0.0.205
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-4CWSZPXH.cjs → chunk-24KCAECR.cjs} +9 -9
- package/dist/{chunk-4CWSZPXH.cjs.map → chunk-24KCAECR.cjs.map} +1 -1
- package/dist/chunk-27APPAJN.cjs +24 -0
- package/dist/chunk-27APPAJN.cjs.map +1 -0
- package/dist/{chunk-UC43NICZ.cjs → chunk-664KA5FI.cjs} +2 -35
- package/dist/chunk-664KA5FI.cjs.map +1 -0
- package/dist/chunk-6RZYJICV.cjs +24 -0
- package/dist/chunk-6RZYJICV.cjs.map +1 -0
- package/dist/chunk-7L4DWM7P.js +24 -0
- package/dist/chunk-7L4DWM7P.js.map +1 -0
- package/dist/chunk-BZFW3FOF.cjs +21 -0
- package/dist/chunk-BZFW3FOF.cjs.map +1 -0
- package/dist/{chunk-N57KWHDB.js → chunk-CIPO6DXK.js} +5 -5
- package/dist/chunk-EL5YVPD5.js +21 -0
- package/dist/chunk-EL5YVPD5.js.map +1 -0
- package/dist/{chunk-ARQ4XP64.cjs → chunk-FDCFI7YT.cjs} +40080 -31492
- package/dist/chunk-FDCFI7YT.cjs.map +1 -0
- package/dist/chunk-G7UE6RKV.cjs +121 -0
- package/dist/chunk-G7UE6RKV.cjs.map +1 -0
- package/dist/{chunk-25LVV26X.cjs → chunk-JUZGUQMX.cjs} +178 -50
- package/dist/chunk-JUZGUQMX.cjs.map +1 -0
- package/dist/{chunk-SZPJ5R5B.js → chunk-KSOOKNBG.js} +1 -34
- package/dist/chunk-KSOOKNBG.js.map +1 -0
- package/dist/{chunk-RMB5DVED.cjs → chunk-KUZGEA7U.cjs} +83 -66
- package/dist/chunk-KUZGEA7U.cjs.map +1 -0
- package/dist/chunk-LXC6P2EO.js +63 -0
- package/dist/chunk-LXC6P2EO.js.map +1 -0
- package/dist/chunk-MJNXIEV2.js +24 -0
- package/dist/chunk-MJNXIEV2.js.map +1 -0
- package/dist/{chunk-CPXLQ57U.js → chunk-MVGGXOFA.js} +37 -20
- package/dist/chunk-MVGGXOFA.js.map +1 -0
- package/dist/{chunk-LY34ORX6.js → chunk-O55ZUAX7.js} +39920 -31332
- package/dist/chunk-O55ZUAX7.js.map +1 -0
- package/dist/chunk-OHPI2HRK.js +47 -0
- package/dist/chunk-OHPI2HRK.js.map +1 -0
- package/dist/chunk-PLJLE4A4.js +121 -0
- package/dist/chunk-PLJLE4A4.js.map +1 -0
- package/dist/{chunk-XGL5FKIK.js → chunk-SCN5WFIZ.js} +148 -20
- package/dist/chunk-SCN5WFIZ.js.map +1 -0
- package/dist/chunk-WBR7H6E3.cjs +47 -0
- package/dist/chunk-WBR7H6E3.cjs.map +1 -0
- package/dist/chunk-XL4V2PYG.cjs +63 -0
- package/dist/chunk-XL4V2PYG.cjs.map +1 -0
- package/dist/components/announcement-bar.d.ts.map +1 -1
- package/dist/components/chat/chat-attachment-bar.d.ts +66 -0
- package/dist/components/chat/chat-attachment-bar.d.ts.map +1 -0
- package/dist/components/chat/chat-container.d.ts +21 -1
- package/dist/components/chat/chat-container.d.ts.map +1 -1
- package/dist/components/chat/chat-input.d.ts.map +1 -1
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/chat-panel-context.d.ts +9 -0
- package/dist/components/chat/chat-panel-context.d.ts.map +1 -0
- package/dist/components/chat/chat-ticket-list.d.ts +1 -1
- package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
- package/dist/components/chat/embeddable-chat.d.ts +42 -0
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/admin-content-card.d.ts +34 -0
- package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/block-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/blog-card.d.ts +30 -0
- package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/blog-image-placeholder.d.ts +26 -0
- package/dist/components/chat/entity-cards/blog-image-placeholder.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/campaign-card-admin.d.ts +33 -0
- package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/case-study-card.d.ts +20 -0
- package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/chat-ticket-item.d.ts.map +1 -0
- package/dist/components/chat/{chat-video-entity-card.d.ts → entity-cards/chat-video-entity-card.d.ts} +1 -1
- package/dist/components/chat/entity-cards/chat-video-entity-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/customer-interview-card.d.ts +19 -0
- package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/data-room-doc-card.d.ts +47 -0
- package/dist/components/chat/entity-cards/data-room-doc-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/dispatch.d.ts +119 -0
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/entity-author-card.d.ts +87 -0
- package/dist/components/chat/entity-cards/entity-author-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/generic-entity-card.d.ts +42 -0
- package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/github-activity-card.d.ts +37 -0
- package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts +28 -0
- package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/index.d.ts +32 -0
- package/dist/components/chat/entity-cards/index.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/investor-update-card.d.ts +19 -0
- package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +20 -0
- package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/product-release-card-defaults.d.ts +21 -0
- package/dist/components/chat/entity-cards/product-release-card-defaults.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/product-release-card.d.ts +12 -0
- package/dist/components/chat/entity-cards/product-release-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/program-card-defaults.d.ts +32 -0
- package/dist/components/chat/entity-cards/program-card-defaults.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/program-card.d.ts +37 -0
- package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/roadmap-card.d.ts +28 -0
- package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/roadmap-vote-button.d.ts +12 -0
- package/dist/components/chat/entity-cards/roadmap-vote-button.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/slack-message-card.d.ts +28 -0
- package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/task-type-icon.d.ts +6 -0
- package/dist/components/chat/entity-cards/task-type-icon.d.ts.map +1 -0
- package/dist/components/chat/hooks/index.d.ts +10 -0
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts +5 -0
- package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-chat-attachments.d.ts +33 -0
- package/dist/components/chat/hooks/use-chat-attachments.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-chat-card-item.d.ts +7 -0
- package/dist/components/chat/hooks/use-chat-card-item.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-chat-identity.d.ts +44 -0
- package/dist/components/chat/hooks/use-chat-identity.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-chat.d.ts +30 -0
- package/dist/components/chat/hooks/use-chat.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-close-on-navigation.d.ts +2 -0
- package/dist/components/chat/hooks/use-close-on-navigation.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-embedded-chat.d.ts +174 -0
- package/dist/components/chat/hooks/use-embedded-chat.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-proxied-image-url.d.ts +18 -0
- package/dist/components/chat/hooks/use-proxied-image-url.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-slash-commands.d.ts +32 -0
- package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-sse.d.ts +57 -0
- package/dist/components/chat/hooks/use-sse.d.ts.map +1 -0
- package/dist/components/chat/index.cjs +393 -0
- package/dist/components/chat/index.cjs.map +1 -0
- package/dist/components/chat/index.d.ts +5 -3
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +393 -0
- package/dist/components/chat/index.js.map +1 -0
- package/dist/components/chat/nav-link-anchor-via-runtime.d.ts +33 -0
- package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +1 -0
- package/dist/components/chat/source-action-button.d.ts +39 -0
- package/dist/components/chat/source-action-button.d.ts.map +1 -0
- package/dist/components/chat/types/chat.types.d.ts +36 -0
- package/dist/components/chat/types/chat.types.d.ts.map +1 -1
- package/dist/components/chat/types/component.types.d.ts +56 -11
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/chat/types/entities/blog.d.ts +14 -0
- package/dist/components/chat/types/entities/blog.d.ts.map +1 -0
- package/dist/components/chat/types/entities/case-study.d.ts +10 -0
- package/dist/components/chat/types/entities/case-study.d.ts.map +1 -0
- package/dist/components/chat/types/entities/content-ref.d.ts +23 -0
- package/dist/components/chat/types/entities/content-ref.d.ts.map +1 -0
- package/dist/components/chat/types/entities/customer-interview.d.ts +10 -0
- package/dist/components/chat/types/entities/customer-interview.d.ts.map +1 -0
- package/dist/components/chat/types/entities/data-room-doc.d.ts +37 -0
- package/dist/components/chat/types/entities/data-room-doc.d.ts.map +1 -0
- package/dist/components/chat/types/entities/github-activity.d.ts +29 -0
- package/dist/components/chat/types/entities/github-activity.d.ts.map +1 -0
- package/dist/components/chat/types/entities/hubspot-ticket.d.ts +39 -0
- package/dist/components/chat/types/entities/hubspot-ticket.d.ts.map +1 -0
- package/dist/components/chat/types/entities/index.d.ts +28 -0
- package/dist/components/chat/types/entities/index.d.ts.map +1 -0
- package/dist/components/chat/types/entities/investor-update.d.ts +83 -0
- package/dist/components/chat/types/entities/investor-update.d.ts.map +1 -0
- package/dist/components/chat/types/entities/onboarding-guide.d.ts +79 -0
- package/dist/components/chat/types/entities/onboarding-guide.d.ts.map +1 -0
- package/dist/components/chat/types/entities/program-types.d.ts +303 -0
- package/dist/components/chat/types/entities/program-types.d.ts.map +1 -0
- package/dist/components/chat/types/entities/roadmap-item.d.ts +41 -0
- package/dist/components/chat/types/entities/roadmap-item.d.ts.map +1 -0
- package/dist/components/chat/types/entities/slack-message.d.ts +28 -0
- package/dist/components/chat/types/entities/slack-message.d.ts.map +1 -0
- package/dist/components/chat/types/index.d.ts +1 -0
- package/dist/components/chat/types/index.d.ts.map +1 -1
- package/dist/components/chat/utils/agent-status-message.d.ts +18 -0
- package/dist/components/chat/utils/agent-status-message.d.ts.map +1 -0
- package/dist/components/chat/utils/auto-continuation-directive.d.ts +38 -0
- package/dist/components/chat/utils/auto-continuation-directive.d.ts.map +1 -0
- package/dist/components/chat/utils/chat-attachment-markdown.d.ts +114 -0
- package/dist/components/chat/utils/chat-attachment-markdown.d.ts.map +1 -0
- package/dist/components/chat/utils/chat-authed-fetch.d.ts +13 -0
- package/dist/components/chat/utils/chat-authed-fetch.d.ts.map +1 -0
- package/dist/components/chat/utils/chat-nav-resolution.d.ts +72 -0
- package/dist/components/chat/utils/chat-nav-resolution.d.ts.map +1 -0
- package/dist/components/chat/utils/chat-proxy-auth-storage.d.ts +43 -0
- package/dist/components/chat/utils/chat-proxy-auth-storage.d.ts.map +1 -0
- package/dist/components/chat/utils/chip-action-class.d.ts +16 -0
- package/dist/components/chat/utils/chip-action-class.d.ts.map +1 -0
- package/dist/components/chat/utils/chip-styles.d.ts +32 -0
- package/dist/components/chat/utils/chip-styles.d.ts.map +1 -0
- package/dist/components/chat/utils/clickup-task-type-utils.d.ts +38 -0
- package/dist/components/chat/utils/clickup-task-type-utils.d.ts.map +1 -0
- package/dist/components/chat/utils/compact-card-classes.d.ts +50 -0
- package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -0
- package/dist/components/chat/utils/decide-new-tab.d.ts +39 -0
- package/dist/components/chat/utils/decide-new-tab.d.ts.map +1 -0
- package/dist/components/chat/utils/external-app-urls.d.ts +14 -0
- package/dist/components/chat/utils/external-app-urls.d.ts.map +1 -0
- package/dist/components/chat/utils/flatten-assistant-content.d.ts +25 -0
- package/dist/components/chat/utils/flatten-assistant-content.d.ts.map +1 -0
- package/dist/components/chat/utils/icon-registry.d.ts +67 -0
- package/dist/components/chat/utils/icon-registry.d.ts.map +1 -0
- package/dist/components/chat/utils/index.d.ts +21 -0
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/is-cross-origin-url.d.ts +22 -0
- package/dist/components/chat/utils/is-cross-origin-url.d.ts.map +1 -0
- package/dist/components/chat/utils/nav-anchor-props.d.ts +54 -0
- package/dist/components/chat/utils/nav-anchor-props.d.ts.map +1 -0
- package/dist/components/chat/utils/nav-click-handler.d.ts +51 -0
- package/dist/components/chat/utils/nav-click-handler.d.ts.map +1 -0
- package/dist/components/chat/utils/scroll-anchor.d.ts +30 -0
- package/dist/components/chat/utils/scroll-anchor.d.ts.map +1 -0
- package/dist/components/chat/utils/slash-dispatch-utils.d.ts +109 -0
- package/dist/components/chat/utils/slash-dispatch-utils.d.ts.map +1 -0
- package/dist/components/chat/utils/source-icons.d.ts +8 -0
- package/dist/components/chat/utils/source-icons.d.ts.map +1 -0
- package/dist/components/chat/utils/source-row-cta.d.ts +111 -0
- package/dist/components/chat/utils/source-row-cta.d.ts.map +1 -0
- package/dist/components/features/figma-prototype-viewer.d.ts.map +1 -1
- package/dist/components/features/index.cjs +12 -6
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +11 -5
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/icons/index.cjs +3 -3
- package/dist/components/icons/index.js +2 -2
- package/dist/components/index.cjs +274 -8
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +273 -7
- package/dist/components/interactive-wrapper.d.ts +3 -3
- package/dist/components/navigation/index.cjs +12 -6
- package/dist/components/navigation/index.cjs.map +1 -1
- package/dist/components/navigation/index.js +11 -5
- package/dist/components/resizable.d.ts +1 -1
- package/dist/components/shared/product-release/product-release-card-skeleton.d.ts +1 -1
- package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-release-card.d.ts +19 -12
- package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
- package/dist/components/shared/product-release/release-detail-page.d.ts +2 -4
- package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
- package/dist/components/ui/button/button.d.ts +13 -0
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
- package/dist/components/ui/entity-image.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +71 -70
- package/dist/components/ui/file-manager/index.cjs.map +1 -1
- package/dist/components/ui/file-manager/index.js +6 -5
- package/dist/components/ui/file-manager/index.js.map +1 -1
- package/dist/components/ui/hover-dropdown.d.ts +66 -0
- package/dist/components/ui/hover-dropdown.d.ts.map +1 -0
- package/dist/components/ui/index.cjs +276 -6
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +278 -8
- package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/contexts/chat-runtime-context.d.ts +109 -0
- package/dist/contexts/chat-runtime-context.d.ts.map +1 -0
- package/dist/contexts/endpoints-runtime-context.d.ts +28 -0
- package/dist/contexts/endpoints-runtime-context.d.ts.map +1 -0
- package/dist/contexts/index.cjs +30 -0
- package/dist/contexts/index.cjs.map +1 -0
- package/dist/contexts/index.d.ts +26 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/dist/contexts/index.js +30 -0
- package/dist/contexts/index.js.map +1 -0
- package/dist/contexts/use-outer-or-default.d.ts +29 -0
- package/dist/contexts/use-outer-or-default.d.ts.map +1 -0
- package/dist/embed-shims/index.cjs +51 -0
- package/dist/embed-shims/index.cjs.map +1 -0
- package/dist/embed-shims/index.d.ts +31 -0
- package/dist/embed-shims/index.d.ts.map +1 -0
- package/dist/embed-shims/index.js +51 -0
- package/dist/embed-shims/index.js.map +1 -0
- package/dist/embed-shims/next-dynamic.cjs +12 -0
- package/dist/embed-shims/next-dynamic.cjs.map +1 -0
- package/dist/embed-shims/next-dynamic.d.ts +47 -0
- package/dist/embed-shims/next-dynamic.d.ts.map +1 -0
- package/dist/embed-shims/next-dynamic.js +12 -0
- package/dist/embed-shims/next-dynamic.js.map +1 -0
- package/dist/embed-shims/next-image.cjs +12 -0
- package/dist/embed-shims/next-image.cjs.map +1 -0
- package/dist/embed-shims/next-image.d.ts +28 -0
- package/dist/embed-shims/next-image.d.ts.map +1 -0
- package/dist/embed-shims/next-image.js +12 -0
- package/dist/embed-shims/next-image.js.map +1 -0
- package/dist/embed-shims/next-link.cjs +14 -0
- package/dist/embed-shims/next-link.cjs.map +1 -0
- package/dist/embed-shims/next-link.d.ts +22 -0
- package/dist/embed-shims/next-link.d.ts.map +1 -0
- package/dist/embed-shims/next-link.js +14 -0
- package/dist/embed-shims/next-link.js.map +1 -0
- package/dist/embed-shims/next-navigation.cjs +30 -0
- package/dist/embed-shims/next-navigation.cjs.map +1 -0
- package/dist/embed-shims/next-navigation.d.ts +46 -0
- package/dist/embed-shims/next-navigation.d.ts.map +1 -0
- package/dist/embed-shims/next-navigation.js +30 -0
- package/dist/embed-shims/next-navigation.js.map +1 -0
- package/dist/hooks/index.cjs +10 -4
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +9 -3
- package/dist/hooks/use-access-code-integration.d.ts +48 -0
- package/dist/hooks/use-access-code-integration.d.ts.map +1 -0
- package/dist/hooks/use-contact-submission.d.ts.map +1 -1
- package/dist/hooks/use-og-placeholder.d.ts +31 -0
- package/dist/hooks/use-og-placeholder.d.ts.map +1 -0
- package/dist/hooks/use-toast.d.ts +1 -1
- package/dist/index.cjs +367 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +378 -18
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/access-code-client.d.ts +21 -37
- package/dist/utils/access-code-client.d.ts.map +1 -1
- package/dist/utils/cn.d.ts +0 -27
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/color-analysis.d.ts +33 -0
- package/dist/utils/color-analysis.d.ts.map +1 -0
- package/dist/utils/date-formatters.d.ts +16 -5
- package/dist/utils/date-formatters.d.ts.map +1 -1
- package/dist/utils/fetch-priority.d.ts +3 -0
- package/dist/utils/fetch-priority.d.ts.map +1 -0
- package/dist/utils/format.d.ts +192 -1
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/image-proxy.d.ts +67 -2
- package/dist/utils/image-proxy.d.ts.map +1 -1
- package/dist/utils/index.cjs +1274 -155
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +19 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1200 -157
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/local-storage-adapter.d.ts +46 -0
- package/dist/utils/local-storage-adapter.d.ts.map +1 -0
- package/dist/utils/source-icons.d.ts +78 -0
- package/dist/utils/source-icons.d.ts.map +1 -0
- package/package.json +29 -2
- package/src/components/announcement-bar.tsx +26 -4
- package/src/components/categories-cart.tsx +1 -1
- package/src/components/chat/chat-attachment-bar.tsx +323 -0
- package/src/components/chat/chat-container.tsx +39 -5
- package/src/components/chat/chat-input.tsx +7 -1
- package/src/components/chat/chat-message-enhanced.tsx +32 -22
- package/src/components/chat/chat-message-list.tsx +53 -4
- package/src/components/chat/chat-panel-context.tsx +37 -0
- package/src/components/chat/chat-ticket-list.tsx +1 -1
- package/src/components/chat/embeddable-chat.tsx +1106 -0
- package/src/components/chat/entity-cards/admin-content-card.tsx +155 -0
- package/src/components/chat/entity-cards/blog-card.tsx +259 -0
- package/src/components/chat/entity-cards/blog-image-placeholder.tsx +52 -0
- package/src/components/chat/entity-cards/campaign-card-admin.tsx +113 -0
- package/src/components/chat/entity-cards/case-study-card.tsx +192 -0
- package/src/components/chat/{chat-ticket-item.tsx → entity-cards/chat-ticket-item.tsx} +2 -2
- package/src/components/chat/{chat-video-entity-card.tsx → entity-cards/chat-video-entity-card.tsx} +2 -2
- package/src/components/chat/entity-cards/customer-interview-card.tsx +211 -0
- package/src/components/chat/entity-cards/data-room-doc-card.tsx +120 -0
- package/src/components/chat/entity-cards/dispatch.tsx +1093 -0
- package/src/components/chat/entity-cards/entity-author-card.tsx +193 -0
- package/src/components/chat/entity-cards/generic-entity-card.tsx +144 -0
- package/src/components/chat/entity-cards/github-activity-card.tsx +305 -0
- package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +205 -0
- package/src/components/chat/entity-cards/index.ts +125 -0
- package/src/components/chat/entity-cards/investor-update-card.tsx +150 -0
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +326 -0
- package/src/components/chat/entity-cards/product-release-card-defaults.ts +57 -0
- package/src/components/chat/entity-cards/product-release-card.tsx +19 -0
- package/src/components/chat/entity-cards/program-card-defaults.ts +62 -0
- package/src/components/chat/entity-cards/program-card.tsx +451 -0
- package/src/components/chat/entity-cards/roadmap-card.tsx +356 -0
- package/src/components/chat/entity-cards/roadmap-vote-button.tsx +54 -0
- package/src/components/chat/entity-cards/slack-message-card.tsx +182 -0
- package/src/components/chat/entity-cards/task-type-icon.tsx +60 -0
- package/src/components/chat/hooks/index.ts +22 -0
- package/src/components/chat/hooks/use-chat-attachment-image-gallery.tsx +114 -0
- package/src/components/chat/hooks/use-chat-attachments.ts +429 -0
- package/src/components/chat/hooks/use-chat-card-item.ts +102 -0
- package/src/components/chat/hooks/use-chat-identity.ts +139 -0
- package/src/components/chat/hooks/use-chat.ts +501 -0
- package/src/components/chat/hooks/use-close-on-navigation.ts +87 -0
- package/src/components/chat/hooks/use-embedded-chat.ts +1023 -0
- package/src/components/chat/hooks/use-proxied-image-url.ts +31 -0
- package/src/components/chat/hooks/use-slash-commands.ts +106 -0
- package/src/components/chat/hooks/use-sse.ts +143 -0
- package/src/components/chat/index.ts +30 -4
- package/src/components/chat/nav-link-anchor-via-runtime.tsx +72 -0
- package/src/components/chat/source-action-button.tsx +120 -0
- package/src/components/chat/types/chat.types.ts +61 -0
- package/src/components/chat/types/component.types.ts +57 -11
- package/src/components/chat/types/entities/blog.ts +27 -0
- package/src/components/chat/types/entities/case-study.ts +14 -0
- package/src/components/chat/types/entities/content-ref.ts +23 -0
- package/src/components/chat/types/entities/customer-interview.ts +15 -0
- package/src/components/chat/types/entities/data-room-doc.ts +37 -0
- package/src/components/chat/types/entities/github-activity.ts +36 -0
- package/src/components/chat/types/entities/hubspot-ticket.ts +39 -0
- package/src/components/chat/types/entities/index.ts +28 -0
- package/src/components/chat/types/entities/investor-update.ts +100 -0
- package/src/components/chat/types/entities/onboarding-guide.ts +101 -0
- package/src/components/chat/types/entities/program-types.ts +433 -0
- package/src/components/chat/types/entities/roadmap-item.ts +42 -0
- package/src/components/chat/types/entities/slack-message.ts +28 -0
- package/src/components/chat/types/index.ts +1 -0
- package/src/components/chat/utils/agent-status-message.ts +52 -0
- package/src/components/chat/utils/auto-continuation-directive.ts +70 -0
- package/src/components/chat/utils/chat-attachment-markdown.ts +190 -0
- package/src/components/chat/utils/chat-authed-fetch.ts +73 -0
- package/src/components/chat/utils/chat-nav-resolution.ts +151 -0
- package/src/components/chat/utils/chat-proxy-auth-storage.ts +148 -0
- package/src/components/chat/utils/chip-action-class.ts +19 -0
- package/src/components/chat/utils/chip-styles.ts +51 -0
- package/src/components/chat/utils/clickup-task-type-utils.ts +59 -0
- package/src/components/chat/utils/compact-card-classes.ts +97 -0
- package/src/components/chat/utils/decide-new-tab.ts +57 -0
- package/src/components/chat/utils/external-app-urls.ts +19 -0
- package/src/components/chat/utils/flatten-assistant-content.ts +35 -0
- package/src/components/chat/utils/icon-registry.ts +297 -0
- package/src/components/chat/utils/index.ts +133 -0
- package/src/components/chat/utils/is-cross-origin-url.ts +28 -0
- package/src/components/chat/utils/nav-anchor-props.ts +78 -0
- package/src/components/chat/utils/nav-click-handler.ts +81 -0
- package/src/components/chat/utils/scroll-anchor.ts +35 -0
- package/src/components/chat/utils/slash-dispatch-utils.ts +183 -0
- package/src/components/chat/utils/source-icons.ts +14 -0
- package/src/components/chat/utils/source-row-cta.ts +215 -0
- package/src/components/empty-state.tsx +1 -1
- package/src/components/features/board/ticket-card.tsx +1 -1
- package/src/components/features/figma-prototype-viewer.tsx +2 -1
- package/src/components/features/media-gallery-manager.tsx +1 -1
- package/src/components/features/parallax-image-showcase.tsx +1 -1
- package/src/components/features/release-media-manager.tsx +1 -1
- package/src/components/features/seo-editor-preview.tsx +1 -1
- package/src/components/features/video.tsx +54 -3
- package/src/components/footer-waitlist-button.tsx +1 -1
- package/src/components/navigation/header.tsx +1 -1
- package/src/components/shared/onboarding/onboarding-step-card.tsx +1 -1
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +8 -44
- package/src/components/shared/product-release/product-release-card.tsx +31 -116
- package/src/components/shared/product-release/release-detail-page.tsx +12 -16
- package/src/components/ui/actions-menu.tsx +1 -1
- package/src/components/ui/button/button.tsx +41 -11
- package/src/components/ui/button/split-button.tsx +1 -1
- package/src/components/ui/dashboard-info-card.tsx +2 -3
- package/src/components/ui/data-table/data-table-row.tsx +1 -1
- package/src/components/ui/entity-image.tsx +2 -8
- package/src/components/ui/hover-dropdown.tsx +258 -0
- package/src/components/ui/image-gallery-modal.tsx +1 -1
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/markdown-editor.tsx +1 -1
- package/src/components/ui/more-actions-menu.tsx +1 -1
- package/src/components/ui/organization-card.tsx +1 -1
- package/src/components/ui/simple-markdown-renderer.tsx +53 -5
- package/src/components/ui/square-avatar.tsx +3 -12
- package/src/components/ui/tab-navigation.tsx +1 -1
- package/src/components/ui/table/table-row.tsx +1 -1
- package/src/components/unified-filter-logic.tsx +1 -1
- package/src/components/unified-pagination.tsx +1 -1
- package/src/components/user-summary-stub.tsx +1 -1
- package/src/components/vendor-display-button.tsx +1 -1
- package/src/components/vendor-icon.tsx +1 -1
- package/src/contexts/chat-runtime-context.tsx +163 -0
- package/src/contexts/endpoints-runtime-context.tsx +68 -0
- package/src/contexts/index.ts +38 -0
- package/src/contexts/use-outer-or-default.ts +42 -0
- package/src/embed-shims/index.ts +42 -0
- package/src/embed-shims/next-dynamic.tsx +70 -0
- package/src/embed-shims/next-image.tsx +114 -0
- package/src/embed-shims/next-link.tsx +91 -0
- package/src/embed-shims/next-navigation.tsx +201 -0
- package/src/hooks/index.ts +9 -0
- package/src/hooks/state/use-api-params.ts +1 -1
- package/src/hooks/state/use-query-params.ts +1 -1
- package/src/hooks/use-access-code-integration.ts +107 -0
- package/src/hooks/use-contact-submission.ts +7 -3
- package/src/hooks/use-og-placeholder.ts +45 -0
- package/src/stories/OnboardingStepCard.stories.tsx +140 -0
- package/src/styles/chat-animations.css +65 -0
- package/src/styles/index.css +1 -0
- package/src/utils/access-code-client.ts +32 -75
- package/src/utils/cn.ts +0 -65
- package/src/utils/color-analysis.ts +205 -0
- package/src/utils/date-formatters.ts +54 -11
- package/src/utils/fetch-priority.ts +41 -0
- package/src/utils/format.ts +525 -1
- package/src/utils/image-proxy.ts +127 -7
- package/src/utils/index.ts +145 -5
- package/src/utils/local-storage-adapter.ts +105 -0
- package/src/utils/source-icons.ts +219 -0
- package/dist/chunk-25LVV26X.cjs.map +0 -1
- package/dist/chunk-ARQ4XP64.cjs.map +0 -1
- package/dist/chunk-CPXLQ57U.js.map +0 -1
- package/dist/chunk-LY34ORX6.js.map +0 -1
- package/dist/chunk-RMB5DVED.cjs.map +0 -1
- package/dist/chunk-SZPJ5R5B.js.map +0 -1
- package/dist/chunk-UC43NICZ.cjs.map +0 -1
- package/dist/chunk-XGL5FKIK.js.map +0 -1
- package/dist/components/chat/block-card.d.ts.map +0 -1
- package/dist/components/chat/chat-ticket-item.d.ts.map +0 -1
- package/dist/components/chat/chat-video-entity-card.d.ts.map +0 -1
- package/dist/utils/dynamic-icons.d.ts +0 -26
- package/dist/utils/dynamic-icons.d.ts.map +0 -1
- package/dist/utils/format-relative-time.d.ts +0 -21
- package/dist/utils/format-relative-time.d.ts.map +0 -1
- package/src/utils/.dynamic-icons.md +0 -30
- package/src/utils/.format-relative-time.md +0 -36
- package/src/utils/dynamic-icons.tsx +0 -120
- package/src/utils/format-relative-time.ts +0 -52
- /package/dist/{chunk-N57KWHDB.js.map → chunk-CIPO6DXK.js.map} +0 -0
- /package/dist/components/chat/{block-card.d.ts → entity-cards/block-card.d.ts} +0 -0
- /package/dist/components/chat/{chat-ticket-item.d.ts → entity-cards/chat-ticket-item.d.ts} +0 -0
- /package/src/components/chat/{block-card.tsx → entity-cards/block-card.tsx} +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embed-mode navigation resolver + shared click-handling primitives.
|
|
3
|
+
*
|
|
4
|
+
* Used by the lib chat panel's chip + card click handlers to force
|
|
5
|
+
* new-tab + absolutize against the embedder-supplied content origin.
|
|
6
|
+
*
|
|
7
|
+
* Refactor from hub origin (D5): inferTargetPlatformFromHref +
|
|
8
|
+
* getPlatformDomain dropped. Caller threads `targetPlatform` directly.
|
|
9
|
+
* Relative URLs without a defaultContentOrigin emit a dev warning
|
|
10
|
+
* and resolve against window.location.origin (likely wrong in embed
|
|
11
|
+
* mode; embedder should set defaultContentOrigin).
|
|
12
|
+
*/
|
|
13
|
+
import type { ChatRuntime } from '../../../contexts/chat-runtime-context';
|
|
14
|
+
/** Arguments accepted by `window.open` for a new tab — keep `noopener`
|
|
15
|
+
* + `noreferrer` to prevent the opened page from accessing
|
|
16
|
+
* window.opener (reverse-tabnabbing class). */
|
|
17
|
+
export declare const NEW_TAB_FEATURES = "noopener,noreferrer";
|
|
18
|
+
/** Modifier-click predicate — matches the existing useNavLink branch
|
|
19
|
+
* (cmd/ctrl/shift/alt OR non-primary mouse button). */
|
|
20
|
+
export declare function isModifierClick(e: {
|
|
21
|
+
button?: number;
|
|
22
|
+
metaKey?: boolean;
|
|
23
|
+
ctrlKey?: boolean;
|
|
24
|
+
shiftKey?: boolean;
|
|
25
|
+
altKey?: boolean;
|
|
26
|
+
}): boolean;
|
|
27
|
+
/** Strip the origin from a same-origin absolute URL, returning a relative
|
|
28
|
+
* path the host's router will treat as in-app navigation. Pass-through
|
|
29
|
+
* for already-relative URLs and for cross-origin URLs. */
|
|
30
|
+
export declare function stripSameOriginToPath(href: string): string;
|
|
31
|
+
export interface ExternalNavResolution {
|
|
32
|
+
/** Absolutized href — relative paths are joined with
|
|
33
|
+
* `runtime.navigation.defaultContentOrigin` (embed contract). */
|
|
34
|
+
href: string;
|
|
35
|
+
/** Synchronous opener. MUST be invoked inline from a user gesture for
|
|
36
|
+
* popup-blocker compatibility (Safari/Firefox). Honors
|
|
37
|
+
* runtime.navigation.openExternal override, else falls back to
|
|
38
|
+
* window.open(href, '_blank', 'noopener,noreferrer'). */
|
|
39
|
+
open: () => void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Pre-resolve an href against the embed-mode `defaultContentOrigin`.
|
|
43
|
+
*
|
|
44
|
+
* In `embed` mode every chat-rendered anchor MUST point at an absolute
|
|
45
|
+
* URL on the hub origin (not the embedder origin). Without
|
|
46
|
+
* pre-resolution, relative paths like `/knowledge-base/foo.md` render
|
|
47
|
+
* as `<a href="/knowledge-base/...">` — the click handler intercepts
|
|
48
|
+
* primary-button clicks correctly, but modifier-click (cmd/ctrl/middle/
|
|
49
|
+
* right) bypasses the handler and opens `<embedder-origin>/...` → 404.
|
|
50
|
+
* Pre-resolution at render time makes every browser-native navigation
|
|
51
|
+
* path (hover preview, status bar, copy-link, new-tab via modifier)
|
|
52
|
+
* land on the hub correctly.
|
|
53
|
+
*
|
|
54
|
+
* In `host` mode (the hub itself) the href is returned unchanged —
|
|
55
|
+
* relative paths resolve naturally against the hub's own origin.
|
|
56
|
+
*
|
|
57
|
+
* Absolute URLs and protocol-relative URLs are returned unchanged in
|
|
58
|
+
* both modes.
|
|
59
|
+
*/
|
|
60
|
+
export declare function resolveHrefForRuntime(href: string, runtime: ChatRuntime): string;
|
|
61
|
+
/**
|
|
62
|
+
* Resolve external navigation in embed mode.
|
|
63
|
+
*
|
|
64
|
+
* Browser-only: called from React event handlers (onClick, imperative
|
|
65
|
+
* click handlers) after mount. No SSR-reachable paths.
|
|
66
|
+
*/
|
|
67
|
+
export declare function resolveExternalNavigation(args: {
|
|
68
|
+
href: string;
|
|
69
|
+
targetPlatform: string | null | undefined;
|
|
70
|
+
runtime: ChatRuntime;
|
|
71
|
+
}): ExternalNavResolution;
|
|
72
|
+
//# sourceMappingURL=chat-nav-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-nav-resolution.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/chat-nav-resolution.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAEzE;;gDAEgD;AAChD,eAAO,MAAM,gBAAgB,wBAAwB,CAAA;AAErD;wDACwD;AACxD,wBAAgB,eAAe,CAAC,CAAC,EAAE;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,GAAG,OAAO,CAQV;AAED;;2DAE2D;AAC3D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED,MAAM,WAAW,qBAAqB;IACpC;sEACkE;IAClE,IAAI,EAAE,MAAM,CAAA;IACZ;;;8DAG0D;IAC1D,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,GACnB,MAAM,CAOR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACzC,OAAO,EAAE,WAAW,CAAA;CACrB,GAAG,qBAAqB,CA6CxB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface ChatProxyAuth {
|
|
2
|
+
secret: string;
|
|
3
|
+
email: string;
|
|
4
|
+
/** Optional identity passthrough — empty/omitted = not sent. Server
|
|
5
|
+
* parses these as `X-Chat-{First,Last}-Name` / `X-Chat-Avatar-Url` and
|
|
6
|
+
* threads them through `resolveChatProxyIdentity`'s returned user. */
|
|
7
|
+
firstName?: string;
|
|
8
|
+
lastName?: string;
|
|
9
|
+
avatarUrl?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Returns full credentials (secret + email + optional identity passthrough)
|
|
13
|
+
* when secret + email are available in localStorage. Survives page reloads.
|
|
14
|
+
* Returns `null` when nothing is saved — callers treat that as "fall back
|
|
15
|
+
* to cookie auth".
|
|
16
|
+
*/
|
|
17
|
+
export declare function getChatProxyAuth(): ChatProxyAuth | null;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the LAST email the admin saved. The bar reads this to pre-fill
|
|
20
|
+
* the email field on mount.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getPersistedProxyEmail(): string | null;
|
|
23
|
+
/** Save the proxy creds to localStorage. Secret + email are required;
|
|
24
|
+
* identity-passthrough fields are persisted only when non-empty. */
|
|
25
|
+
export declare function setChatProxyAuth(value: ChatProxyAuth): void;
|
|
26
|
+
/** Drop the persisted creds. */
|
|
27
|
+
export declare function clearChatProxyAuth(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Apply the chat-proxy auth (Bearer + X-Chat-Act-As) to a fetch call's
|
|
30
|
+
* URL + headers. Used by every chat-side route that needs to identify
|
|
31
|
+
* itself as the proxied customer (the docs chat stream AND every
|
|
32
|
+
* confirm-tool / agent-* route the chat shell calls afterwards). When
|
|
33
|
+
* proxy auth is absent (regular cookie-session users), returns the
|
|
34
|
+
* inputs unchanged so the cookie-auth path still works.
|
|
35
|
+
*
|
|
36
|
+
* `X-Chat-Act-As` header (vs a URL query param) keeps PII out of
|
|
37
|
+
* access logs, Sentry breadcrumbs, browser history, and CDN analytics.
|
|
38
|
+
*/
|
|
39
|
+
export declare function applyProxyAuth(url: string, baseHeaders?: Record<string, string>): {
|
|
40
|
+
url: string;
|
|
41
|
+
headers: Record<string, string>;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=chat-proxy-auth-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-proxy-auth-storage.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/chat-proxy-auth-storage.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb;;2EAEuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAuCD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAUvD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAGtD;AAED;qEACqE;AACrE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAQ3D;AAED,gCAAgC;AAChC,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAA0C,GAC3E;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAelD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single CSS string for chip-density action buttons (Recent / Search /
|
|
3
|
+
* Find / Display, plus the inline Display popover's submit / cancel
|
|
4
|
+
* buttons).
|
|
5
|
+
*
|
|
6
|
+
* Shared between the empty-state chip's action row and the
|
|
7
|
+
* `<DisplayChipAction>` popover so both render with byte-equivalent
|
|
8
|
+
* styling — no per-call ad-hoc Tailwind chain that drifts over time.
|
|
9
|
+
*
|
|
10
|
+
* Sizing intent: 11px font + tight `px-2 py-1` padding lands below UI-Kit
|
|
11
|
+
* `Button size="small"` (24-32px min-height). These are chip-density
|
|
12
|
+
* action buttons, not standard buttons — they sit inside the empty-state
|
|
13
|
+
* chip card's tertiary action row.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CHIP_ACTION_BUTTON_CLASS: string;
|
|
16
|
+
//# sourceMappingURL=chip-action-class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip-action-class.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/chip-action-class.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,QAIL,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared className generator for the chat-adjacent UI family:
|
|
3
|
+
* - **Source chips** (citation list below an assistant turn)
|
|
4
|
+
* - **Inline entity-card pills** (within prose, marker-rendered)
|
|
5
|
+
* - **Search-result rows** (dropdown beneath the search input)
|
|
6
|
+
*
|
|
7
|
+
* Centralising the token here means a single ODS change propagates to
|
|
8
|
+
* every surface — chip / card / dropdown row read as the same family.
|
|
9
|
+
*
|
|
10
|
+
* The `tone` arg controls the resting text color:
|
|
11
|
+
* - `secondary` — citation chips and tertiary metadata. Muted resting.
|
|
12
|
+
* - `primary` — chips that ARE the subject of the sentence. Matches
|
|
13
|
+
* body text color so the chip reads as content, not metadata.
|
|
14
|
+
*
|
|
15
|
+
* The `density` arg controls size / padding:
|
|
16
|
+
* - `'chip'` — inline pill (`px-2 py-0.5 text-[11px]`). Default;
|
|
17
|
+
* used by the citation row and inline entity-card markers.
|
|
18
|
+
* - `'list-row'` — wider, taller row (`px-3 py-2 text-sm`). Used by
|
|
19
|
+
* the search-bar dropdown. Same ODS family — same border, hover
|
|
20
|
+
* transition, accent treatment — just larger touch target.
|
|
21
|
+
* - `'card-row'` — for the tracking strip beneath a card frame
|
|
22
|
+
* (`px-2 py-1 text-[11px]` no border). Same family, no frame.
|
|
23
|
+
*/
|
|
24
|
+
export interface ChipClassOptions {
|
|
25
|
+
tone: 'primary' | 'secondary';
|
|
26
|
+
/** Visual density. Defaults to `'chip'`. */
|
|
27
|
+
density?: 'chip' | 'list-row' | 'card-row';
|
|
28
|
+
/** Extra classes appended verbatim (e.g. `cursor-pointer`). */
|
|
29
|
+
extra?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function chatChipClass({ tone, density, extra }: ChipClassOptions): string;
|
|
32
|
+
//# sourceMappingURL=chip-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip-styles.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/chip-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,GAAG,WAAW,CAAA;IAC7B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAA;IAC1C,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAmBzF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClickUp custom_item_id → human-readable label resolver.
|
|
3
|
+
*
|
|
4
|
+
* Lib-side subset of the hub's `lib/utils/clickup-task-type-utils.ts`.
|
|
5
|
+
* The hub file also exports delivery / workspace slug helpers used by
|
|
6
|
+
* the sync engine; only the chat-surfaced label resolver migrates here
|
|
7
|
+
* because chat-inline cards and activity feeds need it.
|
|
8
|
+
*
|
|
9
|
+
* Reference: ClickUp's standard task types (custom_item_id values):
|
|
10
|
+
* null/1000=Task, 1001=Milestone, 1002=Recurring, 1003=Subtask,
|
|
11
|
+
* 1004=Form, 1006=Plan, 1007=Strategy, 1008=Bug, 1009=Request,
|
|
12
|
+
* 1010=Feature, 1011=Story, 1012=Epic, 1013=Component, 1014=Initiative.
|
|
13
|
+
*/
|
|
14
|
+
export declare const CUSTOM_ITEM_ID: {
|
|
15
|
+
readonly TASK: 1000;
|
|
16
|
+
readonly MILESTONE: 1001;
|
|
17
|
+
readonly RECURRING: 1002;
|
|
18
|
+
readonly SUBTASK: 1003;
|
|
19
|
+
readonly FORM: 1004;
|
|
20
|
+
readonly PLAN: 1006;
|
|
21
|
+
readonly STRATEGY: 1007;
|
|
22
|
+
readonly BUG: 1008;
|
|
23
|
+
readonly REQUEST: 1009;
|
|
24
|
+
readonly FEATURE: 1010;
|
|
25
|
+
readonly STORY: 1011;
|
|
26
|
+
readonly EPIC: 1012;
|
|
27
|
+
readonly COMPONENT: 1013;
|
|
28
|
+
readonly INITIATIVE: 1014;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Display name for a ClickUp task type — used in chat-inline cards and
|
|
32
|
+
* activity feeds where the type badge would otherwise show a numeric ID.
|
|
33
|
+
*
|
|
34
|
+
* Returning `null` for unknown IDs lets callers fall back to a generic
|
|
35
|
+
* "Task" affordance rather than printing `task-1100` or similar.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getTaskTypeLabel(customItemId: number | null | undefined): string | null;
|
|
38
|
+
//# sourceMappingURL=clickup-task-type-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickup-task-type-utils.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/clickup-task-type-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;CAejB,CAAA;AAEV;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,MAAM,GAAG,IAAI,CAkBf"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compact-card class constants — single source of truth for the chat-inline
|
|
3
|
+
* `size='sm'` card frame.
|
|
4
|
+
*
|
|
5
|
+
* Lifted from the hub's `components/shared/compact-card/compact-card-classes.ts`
|
|
6
|
+
* so the pure-presentation cards in `entity-cards/` can stop importing from
|
|
7
|
+
* the hub tree. Every compact card across the chat shell shares the SAME
|
|
8
|
+
* outer frame, skeleton frame, image slot, icon slot, text column, and
|
|
9
|
+
* per-line typography.
|
|
10
|
+
*
|
|
11
|
+
* Card-specific variation (Play overlay on podcasts, #N pill on investor
|
|
12
|
+
* updates, status badge on roadmap) lives INSIDE the card next to its
|
|
13
|
+
* other type-specific JSX; the frame stays uniform across types.
|
|
14
|
+
*/
|
|
15
|
+
/** Loaded compact card outer frame for INTERACTIVE state — anchor wrap
|
|
16
|
+
* with hover/transition affordance. Use ONLY when the card resolves
|
|
17
|
+
* to a real, safe href; the user expects a clickable feel. */
|
|
18
|
+
export declare const COMPACT_CARD_OUTER = "my-1.5 flex items-start gap-3 w-full p-2 rounded-lg border border-ods-border bg-ods-card no-underline transition-colors hover:border-ods-text-secondary/40";
|
|
19
|
+
/** Loaded compact card outer frame for NON-INTERACTIVE state — span wrap
|
|
20
|
+
* used when `safeHref()` rejects the chat ref's url. */
|
|
21
|
+
export declare const COMPACT_CARD_OUTER_STATIC = "my-1.5 flex items-start gap-3 w-full p-2 rounded-lg border border-ods-border bg-ods-card no-underline cursor-default";
|
|
22
|
+
/** Skeleton outer frame — same dimensions as loaded, plus `animate-pulse`. */
|
|
23
|
+
export declare const COMPACT_CARD_SKELETON_OUTER = "my-1.5 flex w-full animate-pulse items-start gap-3 rounded-lg border border-ods-border bg-ods-card p-2";
|
|
24
|
+
/** 56×56 image slot — for cards with a cover image. */
|
|
25
|
+
export declare const COMPACT_CARD_IMAGE_SLOT = "relative block shrink-0 self-start w-14 h-14 aspect-square overflow-hidden rounded-md bg-ods-bg";
|
|
26
|
+
/** 56×56 placeholder slot for skeletons. */
|
|
27
|
+
export declare const COMPACT_CARD_SKELETON_IMAGE_SLOT = "block h-14 w-14 aspect-square shrink-0 self-start rounded-md bg-ods-bg";
|
|
28
|
+
/** 56×56 icon slot — for cards without a cover image. */
|
|
29
|
+
export declare const COMPACT_CARD_ICON_SLOT = "flex h-14 w-14 aspect-square shrink-0 self-start items-center justify-center rounded-md bg-ods-bg text-ods-accent";
|
|
30
|
+
/** Text column wrapper — explicit 56px height with `flex flex-col`. */
|
|
31
|
+
export declare const COMPACT_CARD_TEXT_COL = "flex min-w-0 flex-1 flex-col gap-0.5 min-h-14";
|
|
32
|
+
/** Title row container — fixed 20px (h-5) to match `text-sm leading-5`. */
|
|
33
|
+
export declare const COMPACT_CARD_TITLE_ROW = "flex items-center min-w-0 h-5";
|
|
34
|
+
/** Subtitle / summary row container — fixed 16px (h-4). */
|
|
35
|
+
export declare const COMPACT_CARD_META_ROW_BOX = "flex items-center min-w-0 h-4";
|
|
36
|
+
/** Title text — bold 14px on a 20px line. */
|
|
37
|
+
export declare const COMPACT_CARD_TITLE = "truncate text-sm font-semibold leading-5 text-ods-text-primary";
|
|
38
|
+
/** Subtitle text — 11px on a 16px line. */
|
|
39
|
+
export declare const COMPACT_CARD_SUBTITLE = "truncate text-[11px] leading-4 text-ods-text-secondary";
|
|
40
|
+
/** Summary text — same metrics as subtitle, dropped to 80% opacity. */
|
|
41
|
+
export declare const COMPACT_CARD_SUMMARY = "truncate text-[11px] leading-4 text-ods-text-secondary/80";
|
|
42
|
+
/** Meta-row variant — multi-part 11px metadata. */
|
|
43
|
+
export declare const COMPACT_CARD_META_ROW = "flex items-center gap-1.5 min-w-0 text-[11px] leading-4 text-ods-text-secondary";
|
|
44
|
+
/** Non-breaking space — used as a fallback child so the row's height stays 16px. */
|
|
45
|
+
export declare const COMPACT_CARD_ROW_FILLER = "\u00A0";
|
|
46
|
+
/** Return the input url ONLY if it's safe to drop into an `<a href>`:
|
|
47
|
+
* the scheme must be http / https / mailto, or the URL must be a
|
|
48
|
+
* same-origin path (`/blog/foo`). Otherwise returns `null`. */
|
|
49
|
+
export declare function safeHref(url: string | null | undefined): string | null;
|
|
50
|
+
//# sourceMappingURL=compact-card-classes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact-card-classes.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/compact-card-classes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;+DAE+D;AAC/D,eAAO,MAAM,kBAAkB,+JAC+H,CAAA;AAE9J;yDACyD;AACzD,eAAO,MAAM,yBAAyB,yHACkF,CAAA;AAExH,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,2GACkE,CAAA;AAE1G,uDAAuD;AACvD,eAAO,MAAM,uBAAuB,oGAC+D,CAAA;AAEnG,4CAA4C;AAC5C,eAAO,MAAM,gCAAgC,2EAC6B,CAAA;AAE1E,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,sHACkF,CAAA;AAErH,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,kDACe,CAAA;AAEjD,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,kCAAkC,CAAA;AAErE,2DAA2D;AAC3D,eAAO,MAAM,yBAAyB,kCAAkC,CAAA;AAExE,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,mEACmC,CAAA;AAElE,2CAA2C;AAC3C,eAAO,MAAM,qBAAqB,2DACwB,CAAA;AAE1D,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,8DAC4B,CAAA;AAE7D,mDAAmD;AACnD,eAAO,MAAM,qBAAqB,oFACiD,CAAA;AAEnF,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,WAAM,CAAA;AAK1C;;gEAEgE;AAChE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAmBtE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure new-tab decision helper.
|
|
3
|
+
*
|
|
4
|
+
* Same logic as the hub's prior inline `decideNewTab`, but parameterized:
|
|
5
|
+
* - `currentSource` is passed by caller (was `currentPlatform()` reads
|
|
6
|
+
* inside the body). Hub callers pass `currentPlatform()`; lib chip
|
|
7
|
+
* code passes `runtime.source ?? ''`.
|
|
8
|
+
*
|
|
9
|
+
* BRANCH PRIORITY:
|
|
10
|
+
* 1. `runtimeMode === 'embed'` → always new-tab (embed-mode short-circuit)
|
|
11
|
+
* 2. `openIn === 'new-tab'` or `'same-tab'` — explicit caller override
|
|
12
|
+
* 3. `alwaysNewTab === true` (legacy synonym for `openIn: 'new-tab'`)
|
|
13
|
+
* 4. `targetPlatform` defined AND `currentSource` non-empty →
|
|
14
|
+
* platform comparison (cross-app → new tab, same-app → same tab)
|
|
15
|
+
* 5. Legacy fallback: `isCrossOriginUrl(href)` — origin compare. Works
|
|
16
|
+
* in prod (distinct hosts) but degrades to "always same-tab" in dev.
|
|
17
|
+
*
|
|
18
|
+
* No call site implements its own variant of the rule.
|
|
19
|
+
*/
|
|
20
|
+
export type NavSurface = 'useNavLink' | 'useUnifiedNav';
|
|
21
|
+
export type RuntimeMode = 'host' | 'embed';
|
|
22
|
+
export interface DecideNewTabInput {
|
|
23
|
+
href: string | null | undefined;
|
|
24
|
+
targetPlatform?: string | null;
|
|
25
|
+
openIn?: 'new-tab' | 'same-tab';
|
|
26
|
+
alwaysNewTab?: boolean;
|
|
27
|
+
/** Caller tag — labels the decision in any external trace logging. */
|
|
28
|
+
surface?: NavSurface;
|
|
29
|
+
/** Optional chat-runtime mode. When omitted OR set to `'host'`,
|
|
30
|
+
* behavior is byte-equivalent to the legacy logic. Only `'embed'`
|
|
31
|
+
* triggers the new priority-1 branch that forces new-tab. */
|
|
32
|
+
runtimeMode?: RuntimeMode;
|
|
33
|
+
/** Current chat source / platform identifier — caller-threaded.
|
|
34
|
+
* Empty string disables the platform-comparison branch (falls
|
|
35
|
+
* through to the origin-compare fallback). */
|
|
36
|
+
currentSource: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function decideNewTab(input: DecideNewTabInput): boolean;
|
|
39
|
+
//# sourceMappingURL=decide-new-tab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decide-new-tab.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/decide-new-tab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,eAAe,CAAA;AACvD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAA;AAE1C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sEAAsE;IACtE,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB;;kEAE8D;IAC9D,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;mDAE+C;IAC/C,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAc9D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified URL builders for the third-party app deep-links used by chat
|
|
3
|
+
* surfaces (chip clicks, inline-card tracking rows).
|
|
4
|
+
*
|
|
5
|
+
* Lib-side subset of the hub's `lib/utils/external-app-urls.ts`. Today
|
|
6
|
+
* it carries the ClickUp deep-link helper only — HubSpot and admin
|
|
7
|
+
* routes stay hub-side because they're consumed exclusively by
|
|
8
|
+
* hub-internal mappers.
|
|
9
|
+
*/
|
|
10
|
+
/** ClickUp task detail page in the ClickUp UI. Returns `null` when the
|
|
11
|
+
* external id is missing so consumers don't end up with a
|
|
12
|
+
* `.../t/undefined` link. */
|
|
13
|
+
export declare function clickupTaskUrl(externalId: string | null | undefined): string | null;
|
|
14
|
+
//# sourceMappingURL=external-app-urls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-app-urls.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/external-app-urls.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;8BAE8B;AAC9B,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGnF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `flattenAssistantContent` — coerce a chat message's `content` field
|
|
3
|
+
* (string OR `MessageSegment[]`) into a plain string for wire transport.
|
|
4
|
+
*
|
|
5
|
+
* Background: useChat populates assistant messages with a structured
|
|
6
|
+
* segment array as the streamed SSE arrives (text segments, approval
|
|
7
|
+
* cards, tool_execution blocks, thinking blocks). The local React
|
|
8
|
+
* state holds `content: MessageSegment[]` for those turns. When the
|
|
9
|
+
* client serializes the conversation back to the server for the NEXT
|
|
10
|
+
* turn, a naive `typeof content === 'string' ? content : ''` strip-
|
|
11
|
+
* to-empty silently drops every post-approve receipt, every Sonnet-
|
|
12
|
+
* streamed answer, and every diagnostic Q — Anthropic receives
|
|
13
|
+
* `assistant: ""` for those turns and has no context to follow.
|
|
14
|
+
*
|
|
15
|
+
* The function:
|
|
16
|
+
* 1. Returns plain strings as-is.
|
|
17
|
+
* 2. For arrays, joins every `text`-typed segment's `text` field
|
|
18
|
+
* with `\n\n` separators. Non-text segments (approval_request,
|
|
19
|
+
* tool_execution, thinking) have no LLM-visible textual content
|
|
20
|
+
* and are intentionally skipped — they shouldn't bloat the
|
|
21
|
+
* request body.
|
|
22
|
+
* 3. Returns `''` for anything else (null, undefined, unknown shape).
|
|
23
|
+
*/
|
|
24
|
+
export declare function flattenAssistantContent(raw: unknown): string;
|
|
25
|
+
//# sourceMappingURL=flatten-assistant-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatten-assistant-content.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/flatten-assistant-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAW5D"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Icon registry — string `icon_name` → React component.
|
|
3
|
+
*
|
|
4
|
+
* SINGLE SOURCE OF TRUTH (no, really this time) for every icon-name →
|
|
5
|
+
* React-component lookup across the lib + the hub. Two DB columns feed
|
|
6
|
+
* in with DIFFERENT conventions:
|
|
7
|
+
*
|
|
8
|
+
* - `chat_admin_slash_commands.icon_name` — kebab-case (`'rocket'`,
|
|
9
|
+
* `'hubspot'`, `'github'`, `'dollar-sign'`).
|
|
10
|
+
* - `social_platforms.icon_name` — PascalCase component names
|
|
11
|
+
* (`'LinkedInIcon'`, `'XLogo'`, `'YouTubeIcon'`, `'Github'`).
|
|
12
|
+
*
|
|
13
|
+
* The registry stores entries under kebab-case keys (URL/DB-friendly,
|
|
14
|
+
* shell-safe, matches `lucide-react`'s own file-naming convention).
|
|
15
|
+
* The PascalCase variants come in via `normalizeIconKey()`, which maps
|
|
16
|
+
* known PascalCase aliases → kebab-case before the lookup runs.
|
|
17
|
+
*
|
|
18
|
+
* Adding a new icon: import the component below, add a `'name': Component`
|
|
19
|
+
* entry in `ICON_REGISTRY`, and (if the same icon also flows in from a DB
|
|
20
|
+
* column that uses PascalCase) add a `PascalName → 'name'` row to
|
|
21
|
+
* `PASCAL_TO_KEBAB_ALIASES`.
|
|
22
|
+
*
|
|
23
|
+
* Fallback: an unknown / null icon_name resolves to `FileText` so a chip
|
|
24
|
+
* never renders without an icon.
|
|
25
|
+
*/
|
|
26
|
+
import { type ComponentType, type ReactNode } from 'react';
|
|
27
|
+
/**
|
|
28
|
+
* Loose icon-component shape: every entry accepts `className`; `color` is
|
|
29
|
+
* optional (lucide + most brand icons accept it; OpenFrameLogo doesn't,
|
|
30
|
+
* but `color` is optional so passing `undefined` is a no-op). Loose enough
|
|
31
|
+
* to accept both lucide's `LucideIcon` and our brand SVG components.
|
|
32
|
+
*/
|
|
33
|
+
type IconComponent = ComponentType<{
|
|
34
|
+
className?: string;
|
|
35
|
+
color?: string;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* The kebab-case registry. ALL lookups go through here; PascalCase
|
|
39
|
+
* aliases route through `normalizeIconKey()` first.
|
|
40
|
+
*/
|
|
41
|
+
export declare const ICON_REGISTRY: Record<string, IconComponent>;
|
|
42
|
+
/**
|
|
43
|
+
* Normalize an icon key to the registry's canonical kebab-case form.
|
|
44
|
+
* Accepts PascalCase variants (from `social_platforms.icon_name`-style
|
|
45
|
+
* columns) and passes kebab-case keys through unchanged.
|
|
46
|
+
*/
|
|
47
|
+
export declare function normalizeIconKey(key: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve an `icon_name` to its React component. Accepts both PascalCase
|
|
50
|
+
* and kebab-case keys (normalizes PascalCase first). Unknown / null /
|
|
51
|
+
* undefined names fall back to `FileText` — chips always render with
|
|
52
|
+
* SOMETHING rather than a missing glyph. The fallback is intentional:
|
|
53
|
+
* a typo in a new admin-authored row shouldn't crash render.
|
|
54
|
+
*/
|
|
55
|
+
export declare function getIconComponent(iconName: string | null | undefined): ComponentType<{
|
|
56
|
+
className?: string;
|
|
57
|
+
color?: string;
|
|
58
|
+
}>;
|
|
59
|
+
export type DynamicIconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
60
|
+
/**
|
|
61
|
+
* Render an icon by name with a size preset + optional className.
|
|
62
|
+
* Replaces the old `src/utils/dynamic-icons.tsx#getDynamicIcon`. Accepts
|
|
63
|
+
* both PascalCase and kebab-case keys (via `normalizeIconKey()`).
|
|
64
|
+
*/
|
|
65
|
+
export declare function getDynamicIcon(iconName: string | undefined | null, size?: DynamicIconSize, className?: string): ReactNode;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=icon-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-registry.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/icon-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAgEzE;;;;;GAKG;AACH,KAAK,aAAa,GAAG,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE1E;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAwDvD,CAAA;AA2DD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAGvD;AAMD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAqB9D;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACnC,IAAI,GAAE,eAAsB,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,SAAS,CAsBX"}
|
|
@@ -7,4 +7,25 @@ export { MessageSegmentAccumulator, createMessageSegmentAccumulator, type Accumu
|
|
|
7
7
|
export { processHistoricalMessages, extractErrorMessages, processHistoricalMessagesWithErrors, } from './process-historical-messages';
|
|
8
8
|
export { extractIncompleteMessageState, } from './extract-incomplete-message-state';
|
|
9
9
|
export { getCommandText } from './tool-call-helpers';
|
|
10
|
+
export { CHIP_ACTION_BUTTON_CLASS } from './chip-action-class';
|
|
11
|
+
export { chatChipClass, type ChipClassOptions } from './chip-styles';
|
|
12
|
+
export { NEW_TAB_FEATURES, isModifierClick, stripSameOriginToPath, resolveExternalNavigation, type ExternalNavResolution, } from './chat-nav-resolution';
|
|
13
|
+
export { handleChatNavClick, type ChatNavClickInput, } from './nav-click-handler';
|
|
14
|
+
export { computeIsNewTab, newTabAnchorAttrs, buildAnchorProps, } from './nav-anchor-props';
|
|
15
|
+
export { isCrossOriginUrl } from './is-cross-origin-url';
|
|
16
|
+
export { decideNewTab, type DecideNewTabInput, type NavSurface, type RuntimeMode, } from './decide-new-tab';
|
|
17
|
+
export { getChatProxyAuth, getPersistedProxyEmail, setChatProxyAuth, clearChatProxyAuth, applyProxyAuth, type ChatProxyAuth, } from './chat-proxy-auth-storage';
|
|
18
|
+
export { chatAuthedFetch } from './chat-authed-fetch';
|
|
19
|
+
export { flattenAssistantContent } from './flatten-assistant-content';
|
|
20
|
+
export { SCROLL_ANCHOR, type ScrollAnchor, SCROLL_ANCHOR_WIRE_KEY, parseScrollAnchor, } from './scroll-anchor';
|
|
21
|
+
export { AUTO_CONTINUATION_DIRECTIVE_PREFIX, buildAutoContinuationDirective, type BuildAutoContinuationOptions, } from './auto-continuation-directive';
|
|
22
|
+
export { type WireCommandOverride, parseWireCommandOverride, sanitizeTitleForChat, formatSingularLookupInvocation, type CommandOverride, extractEntityIdFilter, buildDiscussAddendum, } from './slash-dispatch-utils';
|
|
23
|
+
export { CHAT_ATTACHMENT_VIEW_URL_PREFIX, CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM, ANTHROPIC_SUPPORTED_IMAGE_MIME, type ChatAttachment, buildChatAttachmentViewUrl, escapeMarkdownInline, formatChatAttachmentMarkdownForBubble, CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED, CHAT_ATTACHMENT_MARKDOWN_PATTERN, stripChatAttachmentMarkdown, } from './chat-attachment-markdown';
|
|
24
|
+
export { clickupTaskUrl } from './external-app-urls';
|
|
25
|
+
export { type ColorScheme, getStatusColorScheme } from './agent-status-message';
|
|
26
|
+
export { getTaskTypeLabel, CUSTOM_ITEM_ID } from './clickup-task-type-utils';
|
|
27
|
+
export { COMPACT_CARD_OUTER, COMPACT_CARD_OUTER_STATIC, COMPACT_CARD_SKELETON_OUTER, COMPACT_CARD_IMAGE_SLOT, COMPACT_CARD_SKELETON_IMAGE_SLOT, COMPACT_CARD_ICON_SLOT, COMPACT_CARD_TEXT_COL, COMPACT_CARD_TITLE_ROW, COMPACT_CARD_META_ROW_BOX, COMPACT_CARD_TITLE, COMPACT_CARD_SUBTITLE, COMPACT_CARD_SUMMARY, COMPACT_CARD_META_ROW, COMPACT_CARD_ROW_FILLER, safeHref, } from './compact-card-classes';
|
|
28
|
+
export { ICON_REGISTRY, getIconComponent, normalizeIconKey, getDynamicIcon, type DynamicIconSize, } from './icon-registry';
|
|
29
|
+
export { SOURCE_ICON_NAMES, getSourceIconName, SOURCE_LABELS_BY_TABLE, getSourceLabel, DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID, defaultTableIdForDocumentType, } from './source-icons';
|
|
30
|
+
export { type SourceRowInput, type SourceRowContext, type SourceRowCTA, resolveSourceRowCTA, resolveSourceIcon, } from './source-row-cta';
|
|
10
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,mCAAmC,GACpC,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,6BAA6B,GAC9B,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,mCAAmC,GACpC,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,6BAA6B,GAC9B,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,KAAK,aAAa,GACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EACL,aAAa,EACb,KAAK,YAAY,EACjB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,kCAAkC,EAClC,8BAA8B,EAC9B,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,KAAK,mBAAmB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,eAAe,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,+BAA+B,EAC/B,sCAAsC,EACtC,8BAA8B,EAC9B,KAAK,cAAc,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,qCAAqC,EACrC,6CAA6C,EAC7C,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,OAAO,EAAE,KAAK,WAAW,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG/E,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG5E,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,QAAQ,GACT,MAAM,wBAAwB,CAAA;AAO/B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure utility — true iff `url` has an explicit host (i.e. would resolve
|
|
3
|
+
* to a different origin than where the consumer is running). Used by
|
|
4
|
+
* chat nav decisions and the extracted `decideNewTab` helper.
|
|
5
|
+
*
|
|
6
|
+
* SSR-deterministic: any URL with an explicit host (http://, https://,
|
|
7
|
+
* or protocol-relative //) is treated as cross-origin. By convention
|
|
8
|
+
* same-origin same-app navigation uses RELATIVE paths; an absolute URL
|
|
9
|
+
* with a host is external.
|
|
10
|
+
*
|
|
11
|
+
* Why deterministic: an earlier `window`-dependent implementation
|
|
12
|
+
* returned different values during SSR (false — no window) vs client
|
|
13
|
+
* hydration (true — origin differs), causing React hydration mismatches
|
|
14
|
+
* on every anchor that fell into the no-targetPlatform fallback (e.g.
|
|
15
|
+
* footer "Support" links to flamingo.run/support). Same-platform
|
|
16
|
+
* absolute URLs (rare — they only happen when a composer like
|
|
17
|
+
* `buildContentURL` returns an absolute URL for a non-current platform)
|
|
18
|
+
* flow through `decideNewTab`'s PLATFORM branch first (which uses
|
|
19
|
+
* `targetPlatform !== currentSource`) and never reach this fallback.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isCrossOriginUrl(url: string | null | undefined): boolean;
|
|
22
|
+
//# sourceMappingURL=is-cross-origin-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-cross-origin-url.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/is-cross-origin-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAOxE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helpers for the new-tab decision + anchor attribute pair used
|
|
3
|
+
* by chat-rendered links.
|
|
4
|
+
*
|
|
5
|
+
* After the navigation unification (ChatCardLoader pre-resolves
|
|
6
|
+
* `chatRef.url` via `resolveSourceRowCTA` + `resolveHrefForRuntime`,
|
|
7
|
+
* and `ChatCardNavWrap` handles every primary click via `onClickCapture`
|
|
8
|
+
* → `handleChatNavClick`), the per-card wrapper only needs
|
|
9
|
+
* `{href, target, rel}` on its inner `<a>` so modifier-click /
|
|
10
|
+
* hover-preview / copy-link work natively.
|
|
11
|
+
*
|
|
12
|
+
* `computeIsNewTab` is the SINGLE source of the new-tab rule across
|
|
13
|
+
* inline cards, source chips, and `NavLinkAnchorViaRuntime`. Do NOT
|
|
14
|
+
* inline the `runtime.navigation.mode === 'embed'` short-circuit + the
|
|
15
|
+
* `decideNewTab` fallback chain anywhere else.
|
|
16
|
+
*
|
|
17
|
+
* Rules:
|
|
18
|
+
* - `embed` mode → ALWAYS new-tab. The chat lives on the embedder
|
|
19
|
+
* origin; content lives on the hub. Same-tab nav would leave the
|
|
20
|
+
* embedder entirely.
|
|
21
|
+
* - `host` mode → defer to the runtime's `decideNewTab` callback
|
|
22
|
+
* (cross-platform → new-tab) or the lib's default.
|
|
23
|
+
*/
|
|
24
|
+
import type { ChatRuntime } from '../../../contexts/chat-runtime-context';
|
|
25
|
+
export declare function computeIsNewTab(runtime: ChatRuntime, href: string | null | undefined, targetPlatform: string | null): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the `target` + `rel` attribute pair for an inner `<a>` based
|
|
28
|
+
* on the new-tab decision. Spread directly into JSX:
|
|
29
|
+
* <a href={href} {...newTabAnchorAttrs(isNewTab)} />
|
|
30
|
+
*
|
|
31
|
+
* Single helper so chat anchors stay consistent — new-tab links always
|
|
32
|
+
* pair `_blank` with `noopener noreferrer` (defense against window.opener
|
|
33
|
+
* tab-nabbing) and same-tab links don't render either attribute.
|
|
34
|
+
*/
|
|
35
|
+
export declare function newTabAnchorAttrs(isNewTab: boolean): {
|
|
36
|
+
target?: '_blank';
|
|
37
|
+
rel?: 'noopener noreferrer';
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Combine `href` + new-tab attrs into a card's `anchorProps` slot.
|
|
41
|
+
* Returns `undefined` (not a falsy object) when there's no URL, so card
|
|
42
|
+
* components can branch on `anchorProps != null` to render either a
|
|
43
|
+
* clickable `<a>` or a static `<span>`.
|
|
44
|
+
*
|
|
45
|
+
* Replaces the repeated inline
|
|
46
|
+
* `chatRef.url ? { href: chatRef.url, ...newTabAnchorAttrs(isNewTab) } : undefined`
|
|
47
|
+
* pattern across the 7 dispatcher wrappers.
|
|
48
|
+
*/
|
|
49
|
+
export declare function buildAnchorProps(href: string | null | undefined, isNewTab: boolean): {
|
|
50
|
+
href: string;
|
|
51
|
+
target?: '_blank';
|
|
52
|
+
rel?: 'noopener noreferrer';
|
|
53
|
+
} | undefined;
|
|
54
|
+
//# sourceMappingURL=nav-anchor-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-anchor-props.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/nav-anchor-props.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAGzE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,GAC5B,OAAO,CAWT;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG;IACpD,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,GAAG,CAAC,EAAE,qBAAqB,CAAA;CAC5B,CAIA;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,QAAQ,EAAE,OAAO,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAAC,GAAG,CAAC,EAAE,qBAAqB,CAAA;CAAE,GAAG,SAAS,CAE9E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure click-handler helper for chat-rendered nav links.
|
|
3
|
+
*
|
|
4
|
+
* Single click router shared by:
|
|
5
|
+
* - The chip block inside EmbeddableChat
|
|
6
|
+
* - `<ChatCardNavWrap>` inside the entity-card dispatcher
|
|
7
|
+
* - `<NavLinkAnchorViaRuntime>` (markdown-body anchor wrapper)
|
|
8
|
+
*
|
|
9
|
+
* Returns `true` when the handler took action (called preventDefault); the
|
|
10
|
+
* caller can treat that as "I handled it" and skip any further routing.
|
|
11
|
+
* Returns `false` for modifier-clicks / non-primary buttons — those pass
|
|
12
|
+
* through to the browser's default behavior (open in new tab, etc.).
|
|
13
|
+
*
|
|
14
|
+
* The new-tab decision (`computeIsNewTab` — embed-mode short-circuit +
|
|
15
|
+
* `runtime.navigation.decideNewTab` + lib fallback) is the single source
|
|
16
|
+
* of truth and is consumed here directly. No caller needs to duplicate
|
|
17
|
+
* the embed-vs-host logic.
|
|
18
|
+
*
|
|
19
|
+
* Routing rules:
|
|
20
|
+
* - Empty href → preventDefault + return true (no-op nav)
|
|
21
|
+
* - Non-primary mouse button OR any modifier key → return false (let
|
|
22
|
+
* the browser handle it; `<a>` semantics take over)
|
|
23
|
+
* - new-tab (`computeIsNewTab` true) → `runtime.navigation.openExternal`
|
|
24
|
+
* or `window.open(href, '_blank')`. Covers embed mode and
|
|
25
|
+
* cross-platform host mode uniformly.
|
|
26
|
+
* - same-tab → `runtime.navigation.navigate?.(…)` → fallback
|
|
27
|
+
* `window.location.assign(stripSameOriginToPath(href))`
|
|
28
|
+
*/
|
|
29
|
+
import type { ChatRuntime } from '../../../contexts/chat-runtime-context';
|
|
30
|
+
export interface ChatNavClickInput {
|
|
31
|
+
href: string;
|
|
32
|
+
path?: string | null;
|
|
33
|
+
targetPlatform?: string | null;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Minimal mouse-event surface the click handler needs. Accepting a
|
|
37
|
+
* structural type rather than `React.MouseEvent<HTMLAnchorElement>` keeps
|
|
38
|
+
* the helper callable from non-anchor surfaces (chip buttons, tile
|
|
39
|
+
* containers) without forcing a cast.
|
|
40
|
+
*/
|
|
41
|
+
interface NavClickEvent {
|
|
42
|
+
preventDefault(): void;
|
|
43
|
+
button?: number;
|
|
44
|
+
metaKey?: boolean;
|
|
45
|
+
ctrlKey?: boolean;
|
|
46
|
+
shiftKey?: boolean;
|
|
47
|
+
altKey?: boolean;
|
|
48
|
+
}
|
|
49
|
+
export declare function handleChatNavClick(e: NavClickEvent, runtime: ChatRuntime, { href, path, targetPlatform }: ChatNavClickInput): boolean;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=nav-click-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-click-handler.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/nav-click-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAEzE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED;;;;;GAKG;AACH,UAAU,aAAa;IACrB,cAAc,IAAI,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,aAAa,EAChB,OAAO,EAAE,WAAW,EACpB,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,iBAAiB,GAChD,OAAO,CAsBT"}
|