@signalflare-ai/ui 1.1.0 → 1.2.0
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/CHANGELOG.md +25 -4
- package/README.md +1 -1
- package/ai/component-registry.json +976 -182
- package/ai/component-registry.md +4183 -49
- package/ai/schemas.ts +99 -502
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +76 -58
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/{ai-actions-DSVeQn4e.js → ai-actions-BdUZI3Gk.js} +3 -3
- package/dist/{ai-actions-DSVeQn4e.js.map → ai-actions-BdUZI3Gk.js.map} +1 -1
- package/dist/{ai-agent-card-BXHwhWAU.js → ai-agent-card-BR2NIYhi.js} +1 -1
- package/dist/{ai-agent-card-BXHwhWAU.js.map → ai-agent-card-BR2NIYhi.js.map} +1 -1
- package/dist/{ai-approval-aa0qvjFN.js → ai-approval-Ba7mrKba.js} +2 -2
- package/dist/{ai-approval-aa0qvjFN.js.map → ai-approval-Ba7mrKba.js.map} +1 -1
- package/dist/{ai-code-block-BgtIxtZZ.js → ai-code-block-CZtoL73R.js} +3 -3
- package/dist/{ai-code-block-BgtIxtZZ.js.map → ai-code-block-CZtoL73R.js.map} +1 -1
- package/dist/ai-conversation-Cc7WlaBg.js +242 -0
- package/dist/ai-conversation-Cc7WlaBg.js.map +1 -0
- package/dist/{ai-info-banner-uFxHHwBA.js → ai-info-banner-C7EWPBj7.js} +7 -3
- package/dist/ai-info-banner-C7EWPBj7.js.map +1 -0
- package/dist/{ai-message-BjnFznXy.js → ai-message-Bp7L68U_.js} +27 -8
- package/dist/ai-message-Bp7L68U_.js.map +1 -0
- package/dist/{ai-mission-header-08__gULL.js → ai-mission-header-TiCJfTNt.js} +1 -1
- package/dist/{ai-mission-header-08__gULL.js.map → ai-mission-header-TiCJfTNt.js.map} +1 -1
- package/dist/{ai-part-group-DBtgTgAn.js → ai-part-group-DNb9I446.js} +3 -3
- package/dist/{ai-part-group-DBtgTgAn.js.map → ai-part-group-DNb9I446.js.map} +1 -1
- package/dist/{ai-prompt-input-CuluUzpf.js → ai-prompt-input-BVvov_KF.js} +29 -42
- package/dist/ai-prompt-input-BVvov_KF.js.map +1 -0
- package/dist/{ai-question-CHHoDJMg.js → ai-question-GPPMk7YM.js} +2 -2
- package/dist/{ai-question-CHHoDJMg.js.map → ai-question-GPPMk7YM.js.map} +1 -1
- package/dist/{ai-reasoning-CnL6ZSr5.js → ai-reasoning-_feFjk56.js} +2 -2
- package/dist/{ai-reasoning-CnL6ZSr5.js.map → ai-reasoning-_feFjk56.js.map} +1 -1
- package/dist/{ai-response-BEUg3xvd.js → ai-response-CvjV3WhV.js} +8 -3
- package/dist/ai-response-CvjV3WhV.js.map +1 -0
- package/dist/{ai-shimmer-By5_L05p.js → ai-shimmer-j6lKIrjj.js} +1 -1
- package/dist/{ai-shimmer-By5_L05p.js.map → ai-shimmer-j6lKIrjj.js.map} +1 -1
- package/dist/{ai-status-badge-BGYGWYF6.js → ai-status-badge-CSU_QOdz.js} +1 -1
- package/dist/{ai-status-badge-BGYGWYF6.js.map → ai-status-badge-CSU_QOdz.js.map} +1 -1
- package/dist/{ai-streaming-text-CMfoThV0.js → ai-streaming-text-IWW1BhvZ.js} +44 -16
- package/dist/ai-streaming-text-IWW1BhvZ.js.map +1 -0
- package/dist/{ai-subagent-DcPRqkAA.js → ai-subagent-JA4iIMW3.js} +13 -5
- package/dist/ai-subagent-JA4iIMW3.js.map +1 -0
- package/dist/{ai-suggestion-MgeCg5Ar.js → ai-suggestion-BdO6MBuH.js} +2 -2
- package/dist/{ai-suggestion-MgeCg5Ar.js.map → ai-suggestion-BdO6MBuH.js.map} +1 -1
- package/dist/{ai-task-list-Da9zIm00.js → ai-task-list-DYw4R1FA.js} +12 -5
- package/dist/ai-task-list-DYw4R1FA.js.map +1 -0
- package/dist/{ai-timeline-Cwu045IR.js → ai-timeline-C42tOUT8.js} +1 -1
- package/dist/{ai-timeline-Cwu045IR.js.map → ai-timeline-C42tOUT8.js.map} +1 -1
- package/dist/{ai-tool-Cn1O4xjP.js → ai-tool-03jOTwUI.js} +23 -10
- package/dist/ai-tool-03jOTwUI.js.map +1 -0
- package/dist/{ai-usage-bar-DjS12DMp.js → ai-usage-bar-BRf5LC_b.js} +1 -1
- package/dist/{ai-usage-bar-DjS12DMp.js.map → ai-usage-bar-BRf5LC_b.js.map} +1 -1
- package/dist/{badge-D_eaA6wv.js → badge-BheXjMc8.js} +2 -2
- package/dist/{badge-D_eaA6wv.js.map → badge-BheXjMc8.js.map} +1 -1
- package/dist/{banner-B_6oBrsu.js → banner-CcsjunJg.js} +7 -2
- package/dist/banner-CcsjunJg.js.map +1 -0
- package/dist/{breadcrumbs-BlmeYfgq.js → breadcrumbs-CouSyy3H.js} +3 -3
- package/dist/{breadcrumbs-BlmeYfgq.js.map → breadcrumbs-CouSyy3H.js.map} +1 -1
- package/dist/{button-De0267YU.js → button-CO6-qPax.js} +1 -1
- package/dist/{button-De0267YU.js.map → button-CO6-qPax.js.map} +1 -1
- package/dist/catalog.js +1 -1
- package/dist/{chart-BK3sVPnD.js → chart-Dg0qUeSc.js} +2 -2
- package/dist/{chart-BK3sVPnD.js.map → chart-Dg0qUeSc.js.map} +1 -1
- package/dist/{checkbox-DYhUmZNw.js → checkbox-D7p4QKsC.js} +2 -2
- package/dist/{checkbox-DYhUmZNw.js.map → checkbox-D7p4QKsC.js.map} +1 -1
- package/dist/{clipboard-text-ssybngLw.js → clipboard-text-kLaMogs3.js} +3 -3
- package/dist/{clipboard-text-ssybngLw.js.map → clipboard-text-kLaMogs3.js.map} +1 -1
- package/dist/{code-Cx-QSoOT.js → code-BN8InC0G.js} +2 -2
- package/dist/{code-Cx-QSoOT.js.map → code-BN8InC0G.js.map} +1 -1
- package/dist/{collapsible-DWsXeXmS.js → collapsible-D_ueZ0jz.js} +1 -1
- package/dist/{collapsible-DWsXeXmS.js.map → collapsible-D_ueZ0jz.js.map} +1 -1
- package/dist/{combobox-C0iW6a0r.js → combobox-B7TOK0U2.js} +3 -3
- package/dist/{combobox-C0iW6a0r.js.map → combobox-B7TOK0U2.js.map} +1 -1
- package/dist/{command-palette-DGzioeki.js → command-palette-CuNUyJca.js} +2 -2
- package/dist/{command-palette-DGzioeki.js.map → command-palette-CuNUyJca.js.map} +1 -1
- package/dist/components/ai-actions.js +1 -1
- package/dist/components/ai-agent-card.js +1 -1
- package/dist/components/ai-approval.js +1 -1
- package/dist/components/ai-code-block.js +1 -1
- package/dist/components/ai-conversation.js +2 -2
- package/dist/components/ai-info-banner.js +1 -1
- package/dist/components/ai-message.js +1 -1
- package/dist/components/ai-mission-header.js +1 -1
- package/dist/components/ai-part-group.js +1 -1
- package/dist/components/ai-prompt-input.js +1 -1
- package/dist/components/ai-question.js +1 -1
- package/dist/components/ai-reasoning.js +1 -1
- package/dist/components/ai-response.js +1 -1
- package/dist/components/ai-shimmer.js +1 -1
- package/dist/components/ai-status-badge.js +1 -1
- package/dist/components/ai-streaming-text.js +2 -2
- package/dist/components/ai-subagent.js +1 -1
- package/dist/components/ai-suggestion.js +1 -1
- package/dist/components/ai-task-list.js +1 -1
- package/dist/components/ai-timeline.js +1 -1
- package/dist/components/ai-tool.js +1 -1
- package/dist/components/ai-usage-bar.js +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/chart.js +2 -2
- package/dist/components/checkbox.js +1 -1
- package/dist/components/clipboard-text.js +1 -1
- package/dist/components/code.js +1 -1
- package/dist/components/collapsible.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/data-grid.js +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/date-range-picker.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/filters.js +1 -1
- package/dist/components/flow.js +1 -1
- package/dist/components/grid.js +1 -1
- package/dist/components/input.js +2 -2
- package/dist/components/label.js +1 -1
- package/dist/components/layer-card.js +1 -1
- package/dist/components/loader.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/signalflare-ai-logo.js +1 -1
- package/dist/components/sparkline.js +1 -1
- package/dist/components/stat-card.js +1 -1
- package/dist/components/surface.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/text-roll.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/theme-toggle.js +1 -1
- package/dist/components/toast.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/use-agent-harness.js +1 -1
- package/dist/{data-grid-CG76N_hK.js → data-grid-DGHmU0w3.js} +8 -8
- package/dist/{data-grid-CG76N_hK.js.map → data-grid-DGHmU0w3.js.map} +1 -1
- package/dist/{date-picker-Dqg9L4xu.js → date-picker--ox89RBy.js} +1 -1
- package/dist/{date-picker-Dqg9L4xu.js.map → date-picker--ox89RBy.js.map} +1 -1
- package/dist/{date-range-picker-D75LLINc.js → date-range-picker-DVa7QBqE.js} +1 -1
- package/dist/{date-range-picker-D75LLINc.js.map → date-range-picker-DVa7QBqE.js.map} +1 -1
- package/dist/{dialog-CyHEQXEY.js → dialog-Bv1oSFOd.js} +2 -2
- package/dist/{dialog-CyHEQXEY.js.map → dialog-Bv1oSFOd.js.map} +1 -1
- package/dist/{dist-1-gcEL2L.js → dist-B6iWiWwp.js} +25 -25
- package/dist/{dist-1-gcEL2L.js.map → dist-B6iWiWwp.js.map} +1 -1
- package/dist/{dropdown-qnEYRFXZ.js → dropdown-B_nrGXjV.js} +2 -2
- package/dist/{dropdown-qnEYRFXZ.js.map → dropdown-B_nrGXjV.js.map} +1 -1
- package/dist/{echart-DURZEyai.js → echart-CdOUaT-r.js} +1 -1
- package/dist/{echart-DURZEyai.js.map → echart-CdOUaT-r.js.map} +1 -1
- package/dist/{empty-D2TypIId.js → empty-DZnN0zKX.js} +11 -6
- package/dist/empty-DZnN0zKX.js.map +1 -0
- package/dist/{field-Y_UK1_Cg.js → field-B_yVof52.js} +2 -2
- package/dist/{field-Y_UK1_Cg.js.map → field-B_yVof52.js.map} +1 -1
- package/dist/{filters-Bw_U6ZTx.js → filters-cpJCY21R.js} +7 -7
- package/dist/{filters-Bw_U6ZTx.js.map → filters-cpJCY21R.js.map} +1 -1
- package/dist/{flow-BRsYUCJa.js → flow-B4v198ot.js} +1 -1
- package/dist/{flow-BRsYUCJa.js.map → flow-B4v198ot.js.map} +1 -1
- package/dist/genui.js +1 -1
- package/dist/{grid-qUAN9hFx.js → grid-CEd64Lnh.js} +1 -1
- package/dist/{grid-qUAN9hFx.js.map → grid-CEd64Lnh.js.map} +1 -1
- package/dist/{highlight-to-react-ClEfL81q.js → highlight-to-react-D0Yav4jk.js} +1 -1
- package/dist/{highlight-to-react-ClEfL81q.js.map → highlight-to-react-D0Yav4jk.js.map} +1 -1
- package/dist/index.js +69 -69
- package/dist/{input-DXYUjGgD.js → input-B2bbijRh.js} +2 -2
- package/dist/{input-DXYUjGgD.js.map → input-B2bbijRh.js.map} +1 -1
- package/dist/{input-DddtBN-g.js → input-ClB_E4Lb.js} +4 -4
- package/dist/{input-DddtBN-g.js.map → input-ClB_E4Lb.js.map} +1 -1
- package/dist/{label-QtJxtJ4u.js → label-DUv_urO1.js} +2 -2
- package/dist/{label-QtJxtJ4u.js.map → label-DUv_urO1.js.map} +1 -1
- package/dist/{layer-card-BME0eljh.js → layer-card-BK7eYfwn.js} +1 -1
- package/dist/{layer-card-BME0eljh.js.map → layer-card-BK7eYfwn.js.map} +1 -1
- package/dist/layout-DJHMMap2.js +6103 -0
- package/dist/layout-DJHMMap2.js.map +1 -0
- package/dist/measured-text-BI3dTJmH.js +290 -0
- package/dist/measured-text-BI3dTJmH.js.map +1 -0
- package/dist/{menubar-C8NzAjfd.js → menubar-Cxf3xeAt.js} +2 -2
- package/dist/{menubar-C8NzAjfd.js.map → menubar-Cxf3xeAt.js.map} +1 -1
- package/dist/{meter-CpmTenEr.js → meter-BFFe9l5b.js} +1 -1
- package/dist/{meter-CpmTenEr.js.map → meter-BFFe9l5b.js.map} +1 -1
- package/dist/{pagination-BVqdlONY.js → pagination-yS372Tr4.js} +2 -2
- package/dist/{pagination-BVqdlONY.js.map → pagination-yS372Tr4.js.map} +1 -1
- package/dist/{popover-BRQZ2b6z.js → popover-SRoJaCZr.js} +1 -1
- package/dist/{popover-BRQZ2b6z.js.map → popover-SRoJaCZr.js.map} +1 -1
- package/dist/{radio-BNSwOt3B.js → radio-BcwhwYNB.js} +1 -1
- package/dist/{radio-BNSwOt3B.js.map → radio-BcwhwYNB.js.map} +1 -1
- package/dist/{select-1w2aebGQ.js → select-DMhdoHMa.js} +4 -4
- package/dist/{select-1w2aebGQ.js.map → select-DMhdoHMa.js.map} +1 -1
- package/dist/{sensitive-input-82Cez3vj.js → sensitive-input-CJUpIRal.js} +3 -3
- package/dist/{sensitive-input-82Cez3vj.js.map → sensitive-input-CJUpIRal.js.map} +1 -1
- package/dist/{sidebar-CAsCmSpM.js → sidebar-D4zrlYpn.js} +2 -2
- package/dist/{sidebar-CAsCmSpM.js.map → sidebar-D4zrlYpn.js.map} +1 -1
- package/dist/{signalflare-ai-logo-DDhxMJD6.js → signalflare-ai-logo-Bipogceq.js} +1 -1
- package/dist/{signalflare-ai-logo-DDhxMJD6.js.map → signalflare-ai-logo-Bipogceq.js.map} +1 -1
- package/dist/{skeleton-line-Do3UmGk9.js → skeleton-line-CH1-h6e2.js} +1 -1
- package/dist/{skeleton-line-Do3UmGk9.js.map → skeleton-line-CH1-h6e2.js.map} +1 -1
- package/dist/{sparkline-DdbeM4Ai.js → sparkline-DHmgj1d0.js} +2 -2
- package/dist/{sparkline-DdbeM4Ai.js.map → sparkline-DHmgj1d0.js.map} +1 -1
- package/dist/src/blocks/agent-harness/agent-harness.d.ts.map +1 -1
- package/dist/src/blocks/agent-harness/agent-harness.tsx +29 -5
- package/dist/src/components/ai-conversation/ai-conversation.d.ts +69 -37
- package/dist/src/components/ai-conversation/ai-conversation.d.ts.map +1 -1
- package/dist/src/components/ai-conversation/index.d.ts +2 -1
- package/dist/src/components/ai-conversation/index.d.ts.map +1 -1
- package/dist/src/components/ai-conversation/measurement-constants.d.ts +30 -0
- package/dist/src/components/ai-conversation/measurement-constants.d.ts.map +1 -0
- package/dist/src/components/ai-info-banner/ai-info-banner.d.ts.map +1 -1
- package/dist/src/components/ai-message/ai-message.d.ts +3 -0
- package/dist/src/components/ai-message/ai-message.d.ts.map +1 -1
- package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts +13 -3
- package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
- package/dist/src/components/ai-prompt-input/index.d.ts +1 -1
- package/dist/src/components/ai-prompt-input/index.d.ts.map +1 -1
- package/dist/src/components/ai-response/ai-response.d.ts +12 -1
- package/dist/src/components/ai-response/ai-response.d.ts.map +1 -1
- package/dist/src/components/ai-streaming-text/ai-streaming-text.d.ts +27 -0
- package/dist/src/components/ai-streaming-text/ai-streaming-text.d.ts.map +1 -1
- package/dist/src/components/ai-streaming-text/index.d.ts +1 -1
- package/dist/src/components/ai-streaming-text/index.d.ts.map +1 -1
- package/dist/src/components/ai-subagent/ai-subagent.d.ts.map +1 -1
- package/dist/src/components/ai-task-list/ai-task-list.d.ts.map +1 -1
- package/dist/src/components/ai-tool/ai-tool.d.ts.map +1 -1
- package/dist/src/components/banner/banner.d.ts.map +1 -1
- package/dist/src/components/empty/empty.d.ts.map +1 -1
- package/dist/src/components/stat-card/stat-card.d.ts +5 -0
- package/dist/src/components/stat-card/stat-card.d.ts.map +1 -1
- package/dist/src/components/text/text.d.ts +35 -1
- package/dist/src/components/text/text.d.ts.map +1 -1
- package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/measured-text.d.ts +40 -0
- package/dist/src/utils/measured-text.d.ts.map +1 -0
- package/dist/src/utils/use-measured-text.d.ts +59 -0
- package/dist/src/utils/use-measured-text.d.ts.map +1 -0
- package/dist/{stat-card-CEZscNh8.js → stat-card-Ew-ofzEm.js} +28 -10
- package/dist/stat-card-Ew-ofzEm.js.map +1 -0
- package/dist/styles/sf-binding.css +1 -1
- package/dist/styles/sf-standalone.css +2 -2
- package/dist/styles/shadcn.css +1 -1
- package/dist/styles/theme-fedramp.css +12 -3
- package/dist/styles/theme-minimal.css +104 -26
- package/dist/styles/theme-sf.css +138 -39
- package/dist/styles/theme-vesper.css +91 -0
- package/dist/{surface-BduI7Ehl.js → surface-DGwRlC0o.js} +1 -1
- package/dist/{surface-BduI7Ehl.js.map → surface-DGwRlC0o.js.map} +1 -1
- package/dist/{switch-CzZBRBL7.js → switch-BxAMfHdt.js} +2 -2
- package/dist/{switch-CzZBRBL7.js.map → switch-BxAMfHdt.js.map} +1 -1
- package/dist/{table-Rv4JMy0B.js → table-BBeAtYVZ.js} +2 -2
- package/dist/{table-Rv4JMy0B.js.map → table-BBeAtYVZ.js.map} +1 -1
- package/dist/{tabs-1cHrYoel.js → tabs-CeHu7Scn.js} +1 -1
- package/dist/{tabs-1cHrYoel.js.map → tabs-CeHu7Scn.js.map} +1 -1
- package/dist/{text-KJmGkwnf.js → text-Cqryz7rk.js} +27 -5
- package/dist/text-Cqryz7rk.js.map +1 -0
- package/dist/{text-roll-BZ3I1umc.js → text-roll-Ch52hcQj.js} +1 -1
- package/dist/{text-roll-BZ3I1umc.js.map → text-roll-Ch52hcQj.js.map} +1 -1
- package/dist/{theme-toggle-Bhu681D7.js → theme-toggle-LDfIKEqx.js} +3 -3
- package/dist/{theme-toggle-Bhu681D7.js.map → theme-toggle-LDfIKEqx.js.map} +1 -1
- package/dist/{toast-Nw28a5Cx.js → toast-CaFQNYng.js} +2 -2
- package/dist/{toast-Nw28a5Cx.js.map → toast-CaFQNYng.js.map} +1 -1
- package/dist/{tooltip-Cb7QW-7H.js → tooltip-g9lFsvcT.js} +8 -2
- package/dist/tooltip-g9lFsvcT.js.map +1 -0
- package/dist/{use-agent-harness-BMyF8pTq.js → use-agent-harness-BTcNJdw4.js} +1 -1
- package/dist/{use-agent-harness-BMyF8pTq.js.map → use-agent-harness-BTcNJdw4.js.map} +1 -1
- package/dist/utils.js +2 -1
- package/package.json +2 -1
- package/scripts/css-build.ts +1 -1
- package/scripts/theme-generator/config.ts +27 -141
- package/scripts/theme-generator/generate-css.ts +0 -1
- package/scripts/theme-generator/index.ts +0 -1
- package/dist/ai-conversation-CArP7C8K.js +0 -184
- package/dist/ai-conversation-CArP7C8K.js.map +0 -1
- package/dist/ai-info-banner-uFxHHwBA.js.map +0 -1
- package/dist/ai-message-BjnFznXy.js.map +0 -1
- package/dist/ai-prompt-input-CuluUzpf.js.map +0 -1
- package/dist/ai-response-BEUg3xvd.js.map +0 -1
- package/dist/ai-streaming-text-CMfoThV0.js.map +0 -1
- package/dist/ai-subagent-DcPRqkAA.js.map +0 -1
- package/dist/ai-task-list-Da9zIm00.js.map +0 -1
- package/dist/ai-tool-Cn1O4xjP.js.map +0 -1
- package/dist/banner-B_6oBrsu.js.map +0 -1
- package/dist/empty-D2TypIId.js.map +0 -1
- package/dist/stat-card-CEZscNh8.js.map +0 -1
- package/dist/styles/theme-blue-tint.css +0 -98
- package/dist/text-KJmGkwnf.js.map +0 -1
- package/dist/tooltip-Cb7QW-7H.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signalflare-ai-logo-DDhxMJD6.js","names":[],"sources":["../src/components/signalflare-ai-logo/signalflare-ai-logo.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { cn } from \"../../utils/cn\";\n\n// =============================================================================\n// Brand Colors (internal)\n// =============================================================================\n\nconst SIGNALFLARE_BLUE = \"#4188ff\";\nconst SIGNALFLARE_TEAL = \"#00a7a8\";\nconst SIGNALFLARE_GRAY = \"#766c69\";\n\n// =============================================================================\n// SVG Path Data (internal)\n// =============================================================================\n\n// Glyph (map pin icon) - from favicon.svg\nconst SIGNALFLARE_GLYPH_PATH =\n \"M 383.980469 199.453125 C 316.03125 199.453125 260.953125 254.539062 260.953125 322.484375 C 260.953125 345.546875 267.296875 367.117188 278.339844 385.566406 L 383.976562 568.550781 L 489.699219 385.4375 C 500.6875 367.019531 507.007812 345.492188 507.007812 322.488281 C 507.007812 254.535156 451.929688 199.453125 383.980469 199.453125 Z M 383.980469 363.65625 C 361.246094 363.65625 342.8125 345.222656 342.816406 322.484375 C 342.816406 299.75 361.25 281.316406 383.980469 281.316406 C 406.722656 281.316406 425.15625 299.75 425.15625 322.484375 C 425.15625 345.222656 406.722656 363.65625 383.980469 363.65625 Z\";\n\nconst SIGNALFLARE_GLYPH_VIEWBOX = \"0 0 768 768\";\n\n// Full logo paths - from logo.svg (cls-1 = blue, cls-2 = teal)\nconst SIGNALFLARE_FULL_LOGO_VIEWBOX = \"0 0 286.96 55.03\";\n\n// Teal paths (cls-2) - dot on \"i\", \"ai\" text, decorative star element\nconst SIGNALFLARE_TEAL_PATHS = [\n // Dot on \"i\" in \".ai\"\n \"M285.05,10.58c-1-.7-2.22-1-3.45-.78-1.22.22-2.3.89-3.04,1.89-.74,1-1.04,2.26-.85,3.48s.85,2.3,1.85,3.04c1,.7,2.22,1,3.45.78,1.22-.22,2.3-.89,3.04-1.89s1.04-2.26.85-3.48c-.22-1.22-.89-2.33-1.85-3.04Z\",\n // \"a\" in \".ai\"\n \"M273.11,39.83v-7.89c0-1.78-.41-3.26-1.22-4.48-.78-1.22-1.93-2.15-3.41-2.78-1.48-.63-3.26-.96-5.33-.96-3.15,0-5.56.63-7.3,1.85s-2.78,2.89-3.19,4.96l6.22,1.48c.26-1.22.7-2.04,1.37-2.52.7-.48,1.52-.74,2.45-.74s1.7.3,2.26.93c.59.59.85,1.37.85,2.37v.63l-7.45,1.56c-2,.41-3.48,1.11-4.45,2.15-.93,1-1.37,2.3-1.37,3.85,0,1.3.3,2.37.85,3.26.59.85,1.44,1.52,2.56,2,1.07.44,2.37.7,3.85.7,1.26,0,2.48-.19,3.63-.59,1.19-.41,2.11-1.04,2.85-1.85.22-.26.41-.52.56-.82.11.37.26.74.48,1.07.48.7,1.15,1.26,2.04,1.63.85.33,1.85.52,2.96.52,1.22,0,2.3-.19,3.15-.59l.44-4.19c-.33.11-.74.19-1.26.19-1.04-.07-1.56-.63-1.56-1.74h.02ZM265.51,39.38c-.19.44-.48.85-.82,1.19-.33.3-.74.52-1.22.63-.44.15-.89.22-1.37.22-.63,0-1.19-.15-1.63-.48-.44-.33-.7-.78-.7-1.41,0-.67.19-1.15.59-1.48.44-.33,1.07-.59,1.93-.78l3.48-.74v1.19c.07.67-.04,1.22-.26,1.67h0Z\",\n // Period in \".ai\"\n \"M244.91,38.31c-1.33,0-2.37.33-3.15,1.04-.78.7-1.19,1.67-1.19,2.89s.37,2.15,1.19,2.85c.78.7,1.82,1.04,3.15,1.04s2.41-.33,3.15-1.04c.78-.7,1.19-1.63,1.19-2.85s-.37-2.19-1.19-2.89c-.74-.67-1.82-1.04-3.15-1.04Z\",\n // \"i\" stem in \".ai\"\n \"M286.11,24.16h-7.34v21.56h7.34v-21.56Z\",\n // Decorative star/compass element\n \"M184.7,18.26v-.02c-5.88-1.14-11.76-2.28-17.64-3.43,0-.05,0-.1-.02-.15,9.65-3.57,19.3-7.15,29.02-10.75-.23-.12-.35-.05-.47,0-3.14.95-6.28,1.9-9.43,2.86-7.19,2.18-14.39,4.35-21.58,6.54-.49.15-.62.15-.52-.44.51-3,.98-6,1.45-9.01.2-1.25.39-2.51.58-3.76-.04,0-.07-.02-.11-.03,0-.02,0-.04,0-.06v.06h-.03c-1.09,3.57-2.19,7.14-3.33,10.87-.37-1.35-.68-2.52-1-3.69-.05,0-.1.01-.15.02v4.36s-.1.03-.15.04c-1.76-2.54-3.53-5.09-5.29-7.63-.03.03-.06.06-.09.09,1.61,3.19,3.22,6.39,4.88,9.68-6.91-.65-13.65-1.29-20.4-1.93v.07h-.12l.12.02v.02c5.89,1.14,11.79,2.29,17.69,3.43v.13c-9.77,3.62-19.55,7.25-29.38,10.89.17.12.27.04.37.01,3-.91,6-1.81,8.99-2.72,7.48-2.26,14.97-4.53,22.45-6.79.23-.07.67-.44.55.29-.59,3.55-1.15,7.11-1.72,10.67-.12.74-.22,1.48-.33,2.21.03,0,.06.01.1.02v.08l.02-.08h.03c1.09-3.56,2.18-7.11,3.32-10.84.37,1.35.68,2.52,1,3.69l.14-.02v-4.34c.05-.02.11-.03.16-.05,1.76,2.54,3.52,5.07,5.29,7.61.03-.02.07-.04.1-.07-1.61-3.2-3.22-6.39-4.88-9.68,6.9.65,13.65,1.29,20.4,1.93v-.07h.13l-.13-.02h-.03Z\",\n];\n\n// Blue paths (cls-1) - \"Signal\", \"Fl\", \"are\" text\nconst SIGNALFLARE_BLUE_PATHS = [\n // Dot on first \"i\" in \"Signal\"\n \"M33.33,14.64c-1.48,0-2.59.3-3.26.85s-1,1.44-1,2.67.33,2.11,1,2.67,1.74.85,3.26.85,2.56-.26,3.22-.82c.7-.59,1.04-1.48,1.04-2.67s-.33-2.11-1.04-2.67c-.7-.59-1.78-.89-3.22-.89h0Z\",\n // \"a\" in \"Signal\" (second a)\n \"M112.39,39.83v-7.89c0-1.78-.41-3.26-1.22-4.48-.78-1.22-1.93-2.15-3.41-2.78-1.48-.63-3.26-.96-5.33-.96-3.15,0-5.56.63-7.3,1.85s-2.78,2.89-3.19,4.96l6.22,1.48c.26-1.22.7-2.04,1.37-2.52.7-.48,1.52-.74,2.45-.74s1.7.3,2.26.93c.59.59.85,1.37.85,2.37v.63l-7.45,1.56c-2,.41-3.48,1.11-4.45,2.15-.93,1-1.37,2.3-1.37,3.85,0,1.3.3,2.37.85,3.26.59.85,1.44,1.52,2.56,2,1.07.44,2.37.7,3.85.7,1.26,0,2.48-.19,3.63-.59,1.19-.41,2.11-1.04,2.85-1.85.22-.26.41-.52.56-.82.11.37.26.74.48,1.07.48.7,1.15,1.26,2.04,1.63.85.33,1.85.52,2.96.52,1.22,0,2.3-.19,3.15-.59l.44-4.19c-.33.11-.74.19-1.26.19-1.04-.07-1.56-.63-1.56-1.74h.02ZM104.84,39.38c-.19.44-.48.85-.82,1.19-.33.3-.74.52-1.22.63-.44.15-.89.22-1.37.22-.63,0-1.19-.15-1.63-.48-.44-.33-.7-.78-.7-1.41,0-.67.19-1.15.59-1.48.44-.33,1.07-.59,1.93-.78l3.48-.74v1.19c.04.67-.07,1.22-.26,1.67h0Z\",\n // \"n\" in \"Signal\"\n \"M84.38,24.6c-1.07-.59-2.37-.85-3.89-.85-1.37,0-2.63.26-3.74.82-1.07.52-2,1.3-2.78,2.33-.33.48-.59,1-.85,1.59l-.22-4.33h-6.56v21.6h7.34v-11.45c0-1.22.19-2.19.52-2.89s.82-1.22,1.41-1.56c.59-.33,1.26-.52,1.93-.52.89,0,1.63.3,2.19.85.59.59.85,1.59.85,3.11v12.45h7.34v-14.37c0-1.7-.33-3.11-.96-4.22-.56-1.15-1.44-1.96-2.56-2.56h-.02Z\",\n // \"S\" in \"Signal\"\n \"M10.84,22.93c.67-.22,1.52-.33,2.59-.33,1.82,0,3.41.33,4.82,1,1.44.63,2.78,1.59,4,2.89l3.63-4.82c-1.48-1.59-3.26-2.78-5.3-3.59-2-.85-4.33-1.26-7-1.26s-4.78.41-6.59,1.22c-1.85.82-3.26,1.93-4.22,3.33-.96,1.37-1.48,2.96-1.48,4.74,0,1.59.37,2.89,1.07,3.96.7,1.04,1.7,1.89,2.93,2.52,1.26.59,2.7,1.07,4.3,1.48l5.26,1.15c1.22.3,2.04.63,2.45,1.07.44.41.63.93.63,1.52s-.15,1-.48,1.41-.82.7-1.52.93c-.67.19-1.48.3-2.52.3-1.3,0-2.56-.19-3.85-.56-1.22-.37-2.37-.89-3.45-1.52-1.04-.67-1.93-1.41-2.63-2.26l-3.48,4.96c.96,1,2.11,1.89,3.48,2.67,1.37.78,2.93,1.37,4.67,1.82,1.74.41,3.52.59,5.45.59,2.33,0,4.41-.33,6.22-1.04,1.82-.7,3.22-1.78,4.26-3.15,1.04-1.41,1.56-3.11,1.56-5.15s-.67-3.78-2-5.04c-1.33-1.26-3.41-2.22-6.26-2.89l-4.78-1.07c-1.26-.3-2.19-.63-2.78-1.04-.56-.44-.82-.96-.82-1.56,0-.52.15-.96.44-1.37s.78-.7,1.41-.93v.02Z\",\n // \"i\" stem in \"Signal\"\n \"M36.96,24.16h-7.3v21.56h7.34v-21.56h-.04Z\",\n // \"g\" in \"Signal\"\n \"M62.64,23.19c.19,0,.33,0,.52.04.19,0,.33.04.52.07l-.59-4.93c-.11-.04-.26-.04-.37-.04h-.3c-1.37,0-2.52.33-3.45,1.04-.89.7-1.56,1.59-2,2.67-.3.7-.44,1.44-.56,2.22-1.33-.37-2.82-.52-4.52-.52-2.22,0-4.11.3-5.67.85-1.56.59-2.74,1.41-3.59,2.52-.82,1.07-1.22,2.37-1.22,3.96,0,2.33.89,4.11,2.63,5.41.26.19.56.37.85.52-.67.22-1.26.56-1.78.96-1.07.85-1.63,2-1.63,3.37s.44,2.48,1.3,3.26c.48.44,1.07.82,1.85,1.07-1.15.19-2,.52-2.63,1-.96.74-1.48,1.7-1.48,2.93,0,1.67.85,3,2.59,3.96s4.56,1.48,8.45,1.48c2.41,0,4.48-.3,6.26-.93,1.78-.59,3.15-1.44,4.15-2.63.96-1.19,1.48-2.67,1.48-4.45,0-1.96-.67-3.45-2.04-4.48-1.33-1.07-3.22-1.59-5.74-1.59h-6.85c-.82,0-1.41-.11-1.82-.33-.41-.26-.59-.63-.59-1.11,0-.44.22-.85.7-1.15.19-.15.44-.22.78-.33,1.19.26,2.52.37,4,.37,2.19,0,4.04-.26,5.59-.82,1.56-.59,2.74-1.41,3.52-2.52.85-1.07,1.26-2.41,1.26-3.96s-.41-2.89-1.26-3.96c-.52-.67-1.15-1.26-1.96-1.74.15-.48.37-.89.74-1.26.67-.67,1.59-.96,2.85-.96h0ZM47.86,46.68h7.71c.85,0,1.41.11,1.74.33.33.26.48.59.48,1.04s-.22.82-.7,1.11c-.44.33-1.15.59-2.07.78-.89.19-2.04.3-3.41.3-1.74,0-3.11-.19-4.11-.56-.96-.33-1.48-.85-1.48-1.52,0-.44.15-.78.48-1.07.37-.26.82-.41,1.37-.41h0ZM54.15,33.34c-.59.56-1.37.82-2.3.82s-1.74-.26-2.33-.82-.85-1.3-.85-2.3.3-1.78.85-2.33c.59-.56,1.37-.82,2.33-.82s1.67.26,2.3.82c.59.56.93,1.33.93,2.33-.04,1-.33,1.78-.93,2.3Z\",\n // \"F\" in \"Flare\"\n \"M132.7,45.76h7.41v-10.97h11.74v-5.74h-11.74v-6.04h14.71v-5.74h-22.12v28.49h0Z\",\n // \"l\" (first) in \"Flare\"\n \"M127.4,41.05c-.74,0-1.3-.19-1.59-.59-.33-.41-.48-1.07-.48-2.04V15.01h-7.34v24.34c0,2.41.52,4.15,1.56,5.22s2.7,1.59,5,1.59c.82,0,1.63-.11,2.45-.3.85-.19,1.52-.44,2.04-.78l.48-4.41c-.41.11-.74.19-1.04.26-.3.07-.67.11-1.07.11h0Z\",\n // \"l\" (second) in \"Flare\"\n \"M167.89,41.05c-.74,0-1.3-.19-1.59-.59-.33-.41-.48-1.07-.48-2.04V15.01h-7.34v24.34c0,2.41.52,4.15,1.56,5.22s2.7,1.59,5,1.59c.82,0,1.63-.11,2.45-.3.85-.19,1.52-.44,2.04-.78l.48-4.41c-.41.11-.74.19-1.04.26-.26.07-.63.11-1.07.11h0Z\",\n // \"e\" in \"Flare\"\n \"M232.24,25.08c-1.59-.89-3.52-1.33-5.78-1.33s-4.19.44-5.89,1.33-3,2.19-3.96,3.85c-.96,1.67-1.41,3.67-1.41,6.04s.48,4.37,1.41,6.04c.96,1.67,2.3,2.96,4,3.85,1.74.89,3.82,1.33,6.22,1.33,1.48,0,2.93-.22,4.26-.63,1.37-.44,2.56-1.07,3.52-1.89,1-.85,1.7-1.93,2.11-3.15l-5.85-1.93c-.33.78-.82,1.37-1.48,1.82-.63.44-1.48.63-2.59.63-.96,0-1.82-.19-2.52-.56-.7-.41-1.22-1.04-1.59-1.89-.19-.48-.37-1.07-.44-1.74h14.71c.04-.33.11-.78.11-1.3.04-.52.04-1.04.04-1.56,0-2-.41-3.74-1.26-5.26-.74-1.59-1.96-2.82-3.59-3.67l-.02.02ZM224.13,29.53c.67-.44,1.44-.63,2.37-.63,1.3,0,2.26.44,2.85,1.37.44.67.74,1.56.85,2.63h-7.85c.07-.48.19-.93.3-1.33.33-.93.82-1.63,1.48-2.04Z\",\n // \"a\" in \"Flare\"\n \"M192.38,39.83v-7.89c0-1.78-.41-3.26-1.22-4.48-.78-1.22-1.93-2.15-3.41-2.78-1.48-.63-3.26-.96-5.33-.96-3.15,0-5.56.63-7.3,1.85s-2.78,2.89-3.19,4.96l6.22,1.48c.26-1.22.7-2.04,1.37-2.52.7-.48,1.52-.74,2.45-.74s1.7.3,2.26.93c.59.59.85,1.37.85,2.37v.63l-7.45,1.56c-2,.41-3.48,1.11-4.45,2.15-.93,1-1.37,2.3-1.37,3.85,0,1.3.3,2.37.85,3.26.59.85,1.44,1.52,2.56,2,1.07.44,2.37.7,3.85.7,1.26,0,2.48-.19,3.63-.59,1.19-.41,2.11-1.04,2.85-1.85.22-.26.41-.52.56-.82.11.37.26.74.48,1.07.48.7,1.15,1.26,2.04,1.63.85.33,1.85.52,2.96.52,1.22,0,2.3-.19,3.15-.59l.44-4.19c-.33.11-.74.19-1.26.19-1.07-.07-1.56-.63-1.56-1.74h.02ZM184.78,39.38c-.19.44-.48.85-.82,1.19-.33.3-.74.52-1.22.63-.44.15-.89.22-1.37.22-.63,0-1.19-.15-1.63-.48-.44-.33-.7-.78-.7-1.41,0-.67.19-1.15.59-1.48.44-.33,1.07-.59,1.93-.78l3.48-.74v1.19c.04.67-.07,1.22-.26,1.67h0Z\",\n // \"r\" in \"Flare\"\n \"M211.35,23.75c-1.67,0-3.04.44-4.15,1.33-1.07.89-1.89,2.15-2.41,3.74l-.3-4.67h-6.48v21.56h7.34v-10.86c0-1.11.22-2.04.63-2.78.44-.74,1.07-1.3,1.82-1.67s1.56-.56,2.41-.56c.63,0,1.15.04,1.59.11.44.04.85.15,1.11.26l.74-6.04c-.22-.15-.56-.26-.96-.33-.33-.07-.78-.11-1.33-.11v.02Z\",\n];\n\n// =============================================================================\n// Component Variants\n// =============================================================================\n\nexport const SF_SIGNALFLARE_AI_LOGO_VARIANTS = {\n variant: {\n glyph: {\n description: \"Map pin icon only (logomark)\",\n },\n full: {\n description: \"Full logo with icon, wordmark, and decorative element\",\n },\n },\n color: {\n brand: {\n description: \"Brand colors (blue primary, teal secondary)\",\n },\n mono: {\n description: \"Monochrome gray\",\n },\n black: {\n description: \"Solid black logo\",\n },\n white: {\n description: \"Solid white logo (for dark backgrounds)\",\n },\n },\n} as const;\n\nexport const SF_SIGNALFLARE_AI_LOGO_DEFAULT_VARIANTS = {\n variant: \"full\",\n color: \"brand\",\n} as const;\n\nexport type SignalFlareAILogoVariant =\n keyof typeof SF_SIGNALFLARE_AI_LOGO_VARIANTS.variant;\nexport type SignalFlareAILogoColor =\n keyof typeof SF_SIGNALFLARE_AI_LOGO_VARIANTS.color;\n\nexport interface SignalFlareAILogoProps extends React.SVGAttributes<SVGSVGElement> {\n /**\n * Logo variant\n * - `glyph`: Map pin icon only\n * - `full`: Full logo with wordmark and decorative element\n * @default \"full\"\n */\n variant?: SignalFlareAILogoVariant;\n /**\n * Color scheme\n * - `brand`: Brand colors (blue #4188ff, teal #00a7a8)\n * - `mono`: Monochrome gray (#766c69)\n * - `black`: Solid black\n * - `white`: Solid white (for dark backgrounds)\n * @default \"brand\"\n */\n color?: SignalFlareAILogoColor;\n}\n\n/**\n * SignalFlare AI logo component.\n *\n * @example Glyph only (map pin icon)\n * ```tsx\n * <SignalFlareAILogo variant=\"glyph\" className=\"w-8\" />\n * ```\n *\n * @example Full logo with wordmark\n * ```tsx\n * <SignalFlareAILogo variant=\"full\" className=\"w-48\" />\n * ```\n *\n * @example White logo for dark backgrounds\n * ```tsx\n * <SignalFlareAILogo color=\"white\" className=\"w-32\" />\n * ```\n *\n * @example Monochrome logo\n * ```tsx\n * <SignalFlareAILogo color=\"mono\" className=\"w-32\" />\n * ```\n */\nexport const SignalFlareAILogo = forwardRef<\n SVGSVGElement,\n SignalFlareAILogoProps\n>(\n (\n {\n variant = SF_SIGNALFLARE_AI_LOGO_DEFAULT_VARIANTS.variant,\n color = SF_SIGNALFLARE_AI_LOGO_DEFAULT_VARIANTS.color,\n className,\n ...props\n },\n ref\n ) => {\n const isGlyph = variant === \"glyph\";\n\n // Determine fill colors based on color prop\n const getFillColors = () => {\n switch (color) {\n case \"brand\":\n return { primary: SIGNALFLARE_BLUE, secondary: SIGNALFLARE_TEAL };\n case \"mono\":\n return { primary: SIGNALFLARE_GRAY, secondary: SIGNALFLARE_GRAY };\n case \"black\":\n return { primary: \"currentColor\", secondary: \"currentColor\" };\n case \"white\":\n return { primary: \"currentColor\", secondary: \"currentColor\" };\n }\n };\n\n const { primary, secondary } = getFillColors();\n\n if (isGlyph) {\n return (\n <svg\n ref={ref}\n viewBox={SIGNALFLARE_GLYPH_VIEWBOX}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"SignalFlare AI logo\"\n className={cn(\n color === \"white\" && \"text-white\",\n color === \"black\" && \"text-black\",\n className\n )}\n {...props}\n >\n <path d={SIGNALFLARE_GLYPH_PATH} fill={primary} />\n </svg>\n );\n }\n\n // Full logo with wordmark\n return (\n <svg\n ref={ref}\n viewBox={SIGNALFLARE_FULL_LOGO_VIEWBOX}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"SignalFlare AI logo\"\n className={cn(\n color === \"white\" && \"text-white\",\n color === \"black\" && \"text-black\",\n className\n )}\n {...props}\n >\n {/* Blue paths (primary) - \"SignalFlare\" wordmark */}\n {SIGNALFLARE_BLUE_PATHS.map((d, i) => (\n <path key={`blue-${i}`} d={d} fill={primary} />\n ))}\n {/* Teal paths (secondary) - \".ai\" and decorative star */}\n {SIGNALFLARE_TEAL_PATHS.map((d, i) => (\n <path key={`teal-${i}`} d={d} fill={secondary} />\n ))}\n </svg>\n );\n }\n);\n\nSignalFlareAILogo.displayName = \"SignalFlareAILogo\";\n\n// =============================================================================\n// PoweredBySignalFlareAI Component\n// =============================================================================\n\nexport interface PoweredBySignalFlareAIProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * Color scheme for the logo and text\n * @default \"brand\"\n */\n color?: SignalFlareAILogoColor;\n}\n\n/**\n * \"Powered by SignalFlare AI\" badge component.\n *\n * Renders a link to signalflare.ai with the logo glyph and \"Powered by SignalFlare AI\" text.\n *\n * @example Basic usage\n * ```tsx\n * <PoweredBySignalFlareAI />\n * ```\n *\n * @example White variant for dark backgrounds\n * ```tsx\n * <PoweredBySignalFlareAI color=\"white\" />\n * ```\n *\n * @example Custom link\n * ```tsx\n * <PoweredBySignalFlareAI href=\"https://signalflare.ai/docs\" />\n * ```\n */\nexport const PoweredBySignalFlareAI = forwardRef<\n HTMLAnchorElement,\n PoweredBySignalFlareAIProps\n>(\n (\n { color = \"brand\", href = \"https://signalflare.ai\", className, ...props },\n ref\n ) => {\n return (\n <a\n ref={ref}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n // Base badge styles\n \"inline-flex items-center gap-2 rounded-lg py-2 pl-2.5 pr-3 text-sm font-medium\",\n \"ring-1 ring-inset transition-all hover:shadow-sm\",\n // Color variants using semantic tokens\n (color === \"brand\" || color === \"mono\") &&\n \"bg-sf-base text-sf-default ring-sf-line\",\n color === \"black\" && \"bg-white text-black ring-black/20\",\n color === \"white\" && \"bg-black text-white ring-white/20\",\n className\n )}\n {...props}\n >\n <SignalFlareAILogo\n variant=\"glyph\"\n color={color}\n className=\"h-4 w-auto\"\n />\n <span>\n Powered by <span className=\"font-semibold\">SignalFlare AI</span>\n </span>\n </a>\n );\n }\n);\n\nPoweredBySignalFlareAI.displayName = \"PoweredBySignalFlareAI\";\n\n// =============================================================================\n// PoweredByNavigator Component\n// =============================================================================\n\nexport interface PoweredByNavigatorProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * Color scheme for the logo and text\n * @default \"brand\"\n */\n color?: SignalFlareAILogoColor;\n}\n\n/**\n * \"Powered by Navigator\" badge component.\n *\n * Renders a link to signalflare.ai with the logo glyph and \"Powered by Navigator\" text.\n * Navigator is SignalFlare AI's AI product.\n *\n * @example Basic usage\n * ```tsx\n * <PoweredByNavigator />\n * ```\n *\n * @example White variant for dark backgrounds\n * ```tsx\n * <PoweredByNavigator color=\"white\" />\n * ```\n *\n * @example Custom link\n * ```tsx\n * <PoweredByNavigator href=\"https://signalflare.ai/navigator\" />\n * ```\n */\nexport const PoweredByNavigator = forwardRef<\n HTMLAnchorElement,\n PoweredByNavigatorProps\n>(\n (\n { color = \"brand\", href = \"https://signalflare.ai\", className, ...props },\n ref\n ) => {\n return (\n <a\n ref={ref}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n // Base badge styles\n \"inline-flex items-center gap-2 rounded-lg py-2 pl-2.5 pr-3 text-sm font-medium\",\n \"ring-1 ring-inset transition-all hover:shadow-sm\",\n // Color variants using semantic tokens\n (color === \"brand\" || color === \"mono\") &&\n \"bg-sf-base text-sf-default ring-sf-line\",\n color === \"black\" && \"bg-white text-black ring-black/20\",\n color === \"white\" && \"bg-black text-white ring-white/20\",\n className\n )}\n {...props}\n >\n <SignalFlareAILogo\n variant=\"glyph\"\n color={color}\n className=\"h-4 w-auto\"\n />\n <span>\n Powered by <span className=\"font-semibold\">Navigator</span>\n </span>\n </a>\n );\n }\n);\n\nPoweredByNavigator.displayName = \"PoweredByNavigator\";\n\n// =============================================================================\n// SVG Generation Helper\n// =============================================================================\n\nexport type SignalFlareAILogoSvgVariant = \"glyph\" | \"full\";\nexport type SignalFlareAILogoSvgColor = \"brand\" | \"mono\" | \"black\" | \"white\";\n\nexport interface GenerateSignalFlareAILogoSvgOptions {\n /**\n * Logo variant\n * - `glyph`: Map pin icon only\n * - `full`: Full logo with wordmark and decorative element\n * @default \"full\"\n */\n variant?: SignalFlareAILogoSvgVariant;\n /**\n * Color scheme\n * - `brand`: Brand colors (blue #4188ff, teal #00a7a8)\n * - `mono`: Monochrome gray (#766c69)\n * - `black`: Solid black\n * - `white`: Solid white\n * @default \"brand\"\n */\n color?: SignalFlareAILogoSvgColor;\n}\n\n/**\n * Generates SVG markup string for the SignalFlare AI logo.\n *\n * Useful for copying to clipboard or embedding in non-React contexts.\n *\n * @example Copy glyph SVG to clipboard\n * ```tsx\n * const svg = generateSignalFlareAILogoSvg({ variant: \"glyph\" });\n * await navigator.clipboard.writeText(svg);\n * ```\n *\n * @example Generate full logo in black\n * ```tsx\n * const svg = generateSignalFlareAILogoSvg({ variant: \"full\", color: \"black\" });\n * ```\n */\nexport function generateSignalFlareAILogoSvg(\n options: GenerateSignalFlareAILogoSvgOptions = {}\n): string {\n const { variant = \"full\", color = \"brand\" } = options;\n\n const isGlyph = variant === \"glyph\";\n\n // Determine fill colors\n const getFillColor = () => {\n switch (color) {\n case \"brand\":\n return { primary: SIGNALFLARE_BLUE, secondary: SIGNALFLARE_TEAL };\n case \"mono\":\n return { primary: SIGNALFLARE_GRAY, secondary: SIGNALFLARE_GRAY };\n case \"black\":\n return { primary: \"black\", secondary: \"black\" };\n case \"white\":\n return { primary: \"white\", secondary: \"white\" };\n }\n };\n\n const { primary, secondary } = getFillColor();\n\n if (isGlyph) {\n return `<svg viewBox=\"${SIGNALFLARE_GLYPH_VIEWBOX}\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"SignalFlare AI logo\">\n <path d=\"${SIGNALFLARE_GLYPH_PATH}\" fill=\"${primary}\"/>\n</svg>`;\n }\n\n // Full logo with wordmark\n const bluePaths = SIGNALFLARE_BLUE_PATHS.map(\n (d) => ` <path d=\"${d}\" fill=\"${primary}\"/>`\n ).join(\"\\n\");\n const tealPaths = SIGNALFLARE_TEAL_PATHS.map(\n (d) => ` <path d=\"${d}\" fill=\"${secondary}\"/>`\n ).join(\"\\n\");\n\n return `<svg viewBox=\"${SIGNALFLARE_FULL_LOGO_VIEWBOX}\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"SignalFlare AI logo\">\n${bluePaths}\n${tealPaths}\n</svg>`;\n}\n\n// =============================================================================\n// Legacy export alias (scaffolded name)\n// =============================================================================\n\n/** @deprecated Use SignalFlareAILogo instead */\nexport const SignalflareAiLogo = SignalFlareAILogo;\n/** @deprecated Use SignalFlareAILogoProps instead */\nexport type SignalflareAiLogoProps = SignalFlareAILogoProps;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signalflare-ai-logo-Bipogceq.js","names":[],"sources":["../src/components/signalflare-ai-logo/signalflare-ai-logo.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { cn } from \"../../utils/cn\";\n\n// =============================================================================\n// Brand Colors (internal)\n// =============================================================================\n\nconst SIGNALFLARE_BLUE = \"#4188ff\";\nconst SIGNALFLARE_TEAL = \"#00a7a8\";\nconst SIGNALFLARE_GRAY = \"#766c69\";\n\n// =============================================================================\n// SVG Path Data (internal)\n// =============================================================================\n\n// Glyph (map pin icon) - from favicon.svg\nconst SIGNALFLARE_GLYPH_PATH =\n \"M 383.980469 199.453125 C 316.03125 199.453125 260.953125 254.539062 260.953125 322.484375 C 260.953125 345.546875 267.296875 367.117188 278.339844 385.566406 L 383.976562 568.550781 L 489.699219 385.4375 C 500.6875 367.019531 507.007812 345.492188 507.007812 322.488281 C 507.007812 254.535156 451.929688 199.453125 383.980469 199.453125 Z M 383.980469 363.65625 C 361.246094 363.65625 342.8125 345.222656 342.816406 322.484375 C 342.816406 299.75 361.25 281.316406 383.980469 281.316406 C 406.722656 281.316406 425.15625 299.75 425.15625 322.484375 C 425.15625 345.222656 406.722656 363.65625 383.980469 363.65625 Z\";\n\nconst SIGNALFLARE_GLYPH_VIEWBOX = \"0 0 768 768\";\n\n// Full logo paths - from logo.svg (cls-1 = blue, cls-2 = teal)\nconst SIGNALFLARE_FULL_LOGO_VIEWBOX = \"0 0 286.96 55.03\";\n\n// Teal paths (cls-2) - dot on \"i\", \"ai\" text, decorative star element\nconst SIGNALFLARE_TEAL_PATHS = [\n // Dot on \"i\" in \".ai\"\n \"M285.05,10.58c-1-.7-2.22-1-3.45-.78-1.22.22-2.3.89-3.04,1.89-.74,1-1.04,2.26-.85,3.48s.85,2.3,1.85,3.04c1,.7,2.22,1,3.45.78,1.22-.22,2.3-.89,3.04-1.89s1.04-2.26.85-3.48c-.22-1.22-.89-2.33-1.85-3.04Z\",\n // \"a\" in \".ai\"\n \"M273.11,39.83v-7.89c0-1.78-.41-3.26-1.22-4.48-.78-1.22-1.93-2.15-3.41-2.78-1.48-.63-3.26-.96-5.33-.96-3.15,0-5.56.63-7.3,1.85s-2.78,2.89-3.19,4.96l6.22,1.48c.26-1.22.7-2.04,1.37-2.52.7-.48,1.52-.74,2.45-.74s1.7.3,2.26.93c.59.59.85,1.37.85,2.37v.63l-7.45,1.56c-2,.41-3.48,1.11-4.45,2.15-.93,1-1.37,2.3-1.37,3.85,0,1.3.3,2.37.85,3.26.59.85,1.44,1.52,2.56,2,1.07.44,2.37.7,3.85.7,1.26,0,2.48-.19,3.63-.59,1.19-.41,2.11-1.04,2.85-1.85.22-.26.41-.52.56-.82.11.37.26.74.48,1.07.48.7,1.15,1.26,2.04,1.63.85.33,1.85.52,2.96.52,1.22,0,2.3-.19,3.15-.59l.44-4.19c-.33.11-.74.19-1.26.19-1.04-.07-1.56-.63-1.56-1.74h.02ZM265.51,39.38c-.19.44-.48.85-.82,1.19-.33.3-.74.52-1.22.63-.44.15-.89.22-1.37.22-.63,0-1.19-.15-1.63-.48-.44-.33-.7-.78-.7-1.41,0-.67.19-1.15.59-1.48.44-.33,1.07-.59,1.93-.78l3.48-.74v1.19c.07.67-.04,1.22-.26,1.67h0Z\",\n // Period in \".ai\"\n \"M244.91,38.31c-1.33,0-2.37.33-3.15,1.04-.78.7-1.19,1.67-1.19,2.89s.37,2.15,1.19,2.85c.78.7,1.82,1.04,3.15,1.04s2.41-.33,3.15-1.04c.78-.7,1.19-1.63,1.19-2.85s-.37-2.19-1.19-2.89c-.74-.67-1.82-1.04-3.15-1.04Z\",\n // \"i\" stem in \".ai\"\n \"M286.11,24.16h-7.34v21.56h7.34v-21.56Z\",\n // Decorative star/compass element\n \"M184.7,18.26v-.02c-5.88-1.14-11.76-2.28-17.64-3.43,0-.05,0-.1-.02-.15,9.65-3.57,19.3-7.15,29.02-10.75-.23-.12-.35-.05-.47,0-3.14.95-6.28,1.9-9.43,2.86-7.19,2.18-14.39,4.35-21.58,6.54-.49.15-.62.15-.52-.44.51-3,.98-6,1.45-9.01.2-1.25.39-2.51.58-3.76-.04,0-.07-.02-.11-.03,0-.02,0-.04,0-.06v.06h-.03c-1.09,3.57-2.19,7.14-3.33,10.87-.37-1.35-.68-2.52-1-3.69-.05,0-.1.01-.15.02v4.36s-.1.03-.15.04c-1.76-2.54-3.53-5.09-5.29-7.63-.03.03-.06.06-.09.09,1.61,3.19,3.22,6.39,4.88,9.68-6.91-.65-13.65-1.29-20.4-1.93v.07h-.12l.12.02v.02c5.89,1.14,11.79,2.29,17.69,3.43v.13c-9.77,3.62-19.55,7.25-29.38,10.89.17.12.27.04.37.01,3-.91,6-1.81,8.99-2.72,7.48-2.26,14.97-4.53,22.45-6.79.23-.07.67-.44.55.29-.59,3.55-1.15,7.11-1.72,10.67-.12.74-.22,1.48-.33,2.21.03,0,.06.01.1.02v.08l.02-.08h.03c1.09-3.56,2.18-7.11,3.32-10.84.37,1.35.68,2.52,1,3.69l.14-.02v-4.34c.05-.02.11-.03.16-.05,1.76,2.54,3.52,5.07,5.29,7.61.03-.02.07-.04.1-.07-1.61-3.2-3.22-6.39-4.88-9.68,6.9.65,13.65,1.29,20.4,1.93v-.07h.13l-.13-.02h-.03Z\",\n];\n\n// Blue paths (cls-1) - \"Signal\", \"Fl\", \"are\" text\nconst SIGNALFLARE_BLUE_PATHS = [\n // Dot on first \"i\" in \"Signal\"\n \"M33.33,14.64c-1.48,0-2.59.3-3.26.85s-1,1.44-1,2.67.33,2.11,1,2.67,1.74.85,3.26.85,2.56-.26,3.22-.82c.7-.59,1.04-1.48,1.04-2.67s-.33-2.11-1.04-2.67c-.7-.59-1.78-.89-3.22-.89h0Z\",\n // \"a\" in \"Signal\" (second a)\n \"M112.39,39.83v-7.89c0-1.78-.41-3.26-1.22-4.48-.78-1.22-1.93-2.15-3.41-2.78-1.48-.63-3.26-.96-5.33-.96-3.15,0-5.56.63-7.3,1.85s-2.78,2.89-3.19,4.96l6.22,1.48c.26-1.22.7-2.04,1.37-2.52.7-.48,1.52-.74,2.45-.74s1.7.3,2.26.93c.59.59.85,1.37.85,2.37v.63l-7.45,1.56c-2,.41-3.48,1.11-4.45,2.15-.93,1-1.37,2.3-1.37,3.85,0,1.3.3,2.37.85,3.26.59.85,1.44,1.52,2.56,2,1.07.44,2.37.7,3.85.7,1.26,0,2.48-.19,3.63-.59,1.19-.41,2.11-1.04,2.85-1.85.22-.26.41-.52.56-.82.11.37.26.74.48,1.07.48.7,1.15,1.26,2.04,1.63.85.33,1.85.52,2.96.52,1.22,0,2.3-.19,3.15-.59l.44-4.19c-.33.11-.74.19-1.26.19-1.04-.07-1.56-.63-1.56-1.74h.02ZM104.84,39.38c-.19.44-.48.85-.82,1.19-.33.3-.74.52-1.22.63-.44.15-.89.22-1.37.22-.63,0-1.19-.15-1.63-.48-.44-.33-.7-.78-.7-1.41,0-.67.19-1.15.59-1.48.44-.33,1.07-.59,1.93-.78l3.48-.74v1.19c.04.67-.07,1.22-.26,1.67h0Z\",\n // \"n\" in \"Signal\"\n \"M84.38,24.6c-1.07-.59-2.37-.85-3.89-.85-1.37,0-2.63.26-3.74.82-1.07.52-2,1.3-2.78,2.33-.33.48-.59,1-.85,1.59l-.22-4.33h-6.56v21.6h7.34v-11.45c0-1.22.19-2.19.52-2.89s.82-1.22,1.41-1.56c.59-.33,1.26-.52,1.93-.52.89,0,1.63.3,2.19.85.59.59.85,1.59.85,3.11v12.45h7.34v-14.37c0-1.7-.33-3.11-.96-4.22-.56-1.15-1.44-1.96-2.56-2.56h-.02Z\",\n // \"S\" in \"Signal\"\n \"M10.84,22.93c.67-.22,1.52-.33,2.59-.33,1.82,0,3.41.33,4.82,1,1.44.63,2.78,1.59,4,2.89l3.63-4.82c-1.48-1.59-3.26-2.78-5.3-3.59-2-.85-4.33-1.26-7-1.26s-4.78.41-6.59,1.22c-1.85.82-3.26,1.93-4.22,3.33-.96,1.37-1.48,2.96-1.48,4.74,0,1.59.37,2.89,1.07,3.96.7,1.04,1.7,1.89,2.93,2.52,1.26.59,2.7,1.07,4.3,1.48l5.26,1.15c1.22.3,2.04.63,2.45,1.07.44.41.63.93.63,1.52s-.15,1-.48,1.41-.82.7-1.52.93c-.67.19-1.48.3-2.52.3-1.3,0-2.56-.19-3.85-.56-1.22-.37-2.37-.89-3.45-1.52-1.04-.67-1.93-1.41-2.63-2.26l-3.48,4.96c.96,1,2.11,1.89,3.48,2.67,1.37.78,2.93,1.37,4.67,1.82,1.74.41,3.52.59,5.45.59,2.33,0,4.41-.33,6.22-1.04,1.82-.7,3.22-1.78,4.26-3.15,1.04-1.41,1.56-3.11,1.56-5.15s-.67-3.78-2-5.04c-1.33-1.26-3.41-2.22-6.26-2.89l-4.78-1.07c-1.26-.3-2.19-.63-2.78-1.04-.56-.44-.82-.96-.82-1.56,0-.52.15-.96.44-1.37s.78-.7,1.41-.93v.02Z\",\n // \"i\" stem in \"Signal\"\n \"M36.96,24.16h-7.3v21.56h7.34v-21.56h-.04Z\",\n // \"g\" in \"Signal\"\n \"M62.64,23.19c.19,0,.33,0,.52.04.19,0,.33.04.52.07l-.59-4.93c-.11-.04-.26-.04-.37-.04h-.3c-1.37,0-2.52.33-3.45,1.04-.89.7-1.56,1.59-2,2.67-.3.7-.44,1.44-.56,2.22-1.33-.37-2.82-.52-4.52-.52-2.22,0-4.11.3-5.67.85-1.56.59-2.74,1.41-3.59,2.52-.82,1.07-1.22,2.37-1.22,3.96,0,2.33.89,4.11,2.63,5.41.26.19.56.37.85.52-.67.22-1.26.56-1.78.96-1.07.85-1.63,2-1.63,3.37s.44,2.48,1.3,3.26c.48.44,1.07.82,1.85,1.07-1.15.19-2,.52-2.63,1-.96.74-1.48,1.7-1.48,2.93,0,1.67.85,3,2.59,3.96s4.56,1.48,8.45,1.48c2.41,0,4.48-.3,6.26-.93,1.78-.59,3.15-1.44,4.15-2.63.96-1.19,1.48-2.67,1.48-4.45,0-1.96-.67-3.45-2.04-4.48-1.33-1.07-3.22-1.59-5.74-1.59h-6.85c-.82,0-1.41-.11-1.82-.33-.41-.26-.59-.63-.59-1.11,0-.44.22-.85.7-1.15.19-.15.44-.22.78-.33,1.19.26,2.52.37,4,.37,2.19,0,4.04-.26,5.59-.82,1.56-.59,2.74-1.41,3.52-2.52.85-1.07,1.26-2.41,1.26-3.96s-.41-2.89-1.26-3.96c-.52-.67-1.15-1.26-1.96-1.74.15-.48.37-.89.74-1.26.67-.67,1.59-.96,2.85-.96h0ZM47.86,46.68h7.71c.85,0,1.41.11,1.74.33.33.26.48.59.48,1.04s-.22.82-.7,1.11c-.44.33-1.15.59-2.07.78-.89.19-2.04.3-3.41.3-1.74,0-3.11-.19-4.11-.56-.96-.33-1.48-.85-1.48-1.52,0-.44.15-.78.48-1.07.37-.26.82-.41,1.37-.41h0ZM54.15,33.34c-.59.56-1.37.82-2.3.82s-1.74-.26-2.33-.82-.85-1.3-.85-2.3.3-1.78.85-2.33c.59-.56,1.37-.82,2.33-.82s1.67.26,2.3.82c.59.56.93,1.33.93,2.33-.04,1-.33,1.78-.93,2.3Z\",\n // \"F\" in \"Flare\"\n \"M132.7,45.76h7.41v-10.97h11.74v-5.74h-11.74v-6.04h14.71v-5.74h-22.12v28.49h0Z\",\n // \"l\" (first) in \"Flare\"\n \"M127.4,41.05c-.74,0-1.3-.19-1.59-.59-.33-.41-.48-1.07-.48-2.04V15.01h-7.34v24.34c0,2.41.52,4.15,1.56,5.22s2.7,1.59,5,1.59c.82,0,1.63-.11,2.45-.3.85-.19,1.52-.44,2.04-.78l.48-4.41c-.41.11-.74.19-1.04.26-.3.07-.67.11-1.07.11h0Z\",\n // \"l\" (second) in \"Flare\"\n \"M167.89,41.05c-.74,0-1.3-.19-1.59-.59-.33-.41-.48-1.07-.48-2.04V15.01h-7.34v24.34c0,2.41.52,4.15,1.56,5.22s2.7,1.59,5,1.59c.82,0,1.63-.11,2.45-.3.85-.19,1.52-.44,2.04-.78l.48-4.41c-.41.11-.74.19-1.04.26-.26.07-.63.11-1.07.11h0Z\",\n // \"e\" in \"Flare\"\n \"M232.24,25.08c-1.59-.89-3.52-1.33-5.78-1.33s-4.19.44-5.89,1.33-3,2.19-3.96,3.85c-.96,1.67-1.41,3.67-1.41,6.04s.48,4.37,1.41,6.04c.96,1.67,2.3,2.96,4,3.85,1.74.89,3.82,1.33,6.22,1.33,1.48,0,2.93-.22,4.26-.63,1.37-.44,2.56-1.07,3.52-1.89,1-.85,1.7-1.93,2.11-3.15l-5.85-1.93c-.33.78-.82,1.37-1.48,1.82-.63.44-1.48.63-2.59.63-.96,0-1.82-.19-2.52-.56-.7-.41-1.22-1.04-1.59-1.89-.19-.48-.37-1.07-.44-1.74h14.71c.04-.33.11-.78.11-1.3.04-.52.04-1.04.04-1.56,0-2-.41-3.74-1.26-5.26-.74-1.59-1.96-2.82-3.59-3.67l-.02.02ZM224.13,29.53c.67-.44,1.44-.63,2.37-.63,1.3,0,2.26.44,2.85,1.37.44.67.74,1.56.85,2.63h-7.85c.07-.48.19-.93.3-1.33.33-.93.82-1.63,1.48-2.04Z\",\n // \"a\" in \"Flare\"\n \"M192.38,39.83v-7.89c0-1.78-.41-3.26-1.22-4.48-.78-1.22-1.93-2.15-3.41-2.78-1.48-.63-3.26-.96-5.33-.96-3.15,0-5.56.63-7.3,1.85s-2.78,2.89-3.19,4.96l6.22,1.48c.26-1.22.7-2.04,1.37-2.52.7-.48,1.52-.74,2.45-.74s1.7.3,2.26.93c.59.59.85,1.37.85,2.37v.63l-7.45,1.56c-2,.41-3.48,1.11-4.45,2.15-.93,1-1.37,2.3-1.37,3.85,0,1.3.3,2.37.85,3.26.59.85,1.44,1.52,2.56,2,1.07.44,2.37.7,3.85.7,1.26,0,2.48-.19,3.63-.59,1.19-.41,2.11-1.04,2.85-1.85.22-.26.41-.52.56-.82.11.37.26.74.48,1.07.48.7,1.15,1.26,2.04,1.63.85.33,1.85.52,2.96.52,1.22,0,2.3-.19,3.15-.59l.44-4.19c-.33.11-.74.19-1.26.19-1.07-.07-1.56-.63-1.56-1.74h.02ZM184.78,39.38c-.19.44-.48.85-.82,1.19-.33.3-.74.52-1.22.63-.44.15-.89.22-1.37.22-.63,0-1.19-.15-1.63-.48-.44-.33-.7-.78-.7-1.41,0-.67.19-1.15.59-1.48.44-.33,1.07-.59,1.93-.78l3.48-.74v1.19c.04.67-.07,1.22-.26,1.67h0Z\",\n // \"r\" in \"Flare\"\n \"M211.35,23.75c-1.67,0-3.04.44-4.15,1.33-1.07.89-1.89,2.15-2.41,3.74l-.3-4.67h-6.48v21.56h7.34v-10.86c0-1.11.22-2.04.63-2.78.44-.74,1.07-1.3,1.82-1.67s1.56-.56,2.41-.56c.63,0,1.15.04,1.59.11.44.04.85.15,1.11.26l.74-6.04c-.22-.15-.56-.26-.96-.33-.33-.07-.78-.11-1.33-.11v.02Z\",\n];\n\n// =============================================================================\n// Component Variants\n// =============================================================================\n\nexport const SF_SIGNALFLARE_AI_LOGO_VARIANTS = {\n variant: {\n glyph: {\n description: \"Map pin icon only (logomark)\",\n },\n full: {\n description: \"Full logo with icon, wordmark, and decorative element\",\n },\n },\n color: {\n brand: {\n description: \"Brand colors (blue primary, teal secondary)\",\n },\n mono: {\n description: \"Monochrome gray\",\n },\n black: {\n description: \"Solid black logo\",\n },\n white: {\n description: \"Solid white logo (for dark backgrounds)\",\n },\n },\n} as const;\n\nexport const SF_SIGNALFLARE_AI_LOGO_DEFAULT_VARIANTS = {\n variant: \"full\",\n color: \"brand\",\n} as const;\n\nexport type SignalFlareAILogoVariant =\n keyof typeof SF_SIGNALFLARE_AI_LOGO_VARIANTS.variant;\nexport type SignalFlareAILogoColor =\n keyof typeof SF_SIGNALFLARE_AI_LOGO_VARIANTS.color;\n\nexport interface SignalFlareAILogoProps extends React.SVGAttributes<SVGSVGElement> {\n /**\n * Logo variant\n * - `glyph`: Map pin icon only\n * - `full`: Full logo with wordmark and decorative element\n * @default \"full\"\n */\n variant?: SignalFlareAILogoVariant;\n /**\n * Color scheme\n * - `brand`: Brand colors (blue #4188ff, teal #00a7a8)\n * - `mono`: Monochrome gray (#766c69)\n * - `black`: Solid black\n * - `white`: Solid white (for dark backgrounds)\n * @default \"brand\"\n */\n color?: SignalFlareAILogoColor;\n}\n\n/**\n * SignalFlare AI logo component.\n *\n * @example Glyph only (map pin icon)\n * ```tsx\n * <SignalFlareAILogo variant=\"glyph\" className=\"w-8\" />\n * ```\n *\n * @example Full logo with wordmark\n * ```tsx\n * <SignalFlareAILogo variant=\"full\" className=\"w-48\" />\n * ```\n *\n * @example White logo for dark backgrounds\n * ```tsx\n * <SignalFlareAILogo color=\"white\" className=\"w-32\" />\n * ```\n *\n * @example Monochrome logo\n * ```tsx\n * <SignalFlareAILogo color=\"mono\" className=\"w-32\" />\n * ```\n */\nexport const SignalFlareAILogo = forwardRef<\n SVGSVGElement,\n SignalFlareAILogoProps\n>(\n (\n {\n variant = SF_SIGNALFLARE_AI_LOGO_DEFAULT_VARIANTS.variant,\n color = SF_SIGNALFLARE_AI_LOGO_DEFAULT_VARIANTS.color,\n className,\n ...props\n },\n ref\n ) => {\n const isGlyph = variant === \"glyph\";\n\n // Determine fill colors based on color prop\n const getFillColors = () => {\n switch (color) {\n case \"brand\":\n return { primary: SIGNALFLARE_BLUE, secondary: SIGNALFLARE_TEAL };\n case \"mono\":\n return { primary: SIGNALFLARE_GRAY, secondary: SIGNALFLARE_GRAY };\n case \"black\":\n return { primary: \"currentColor\", secondary: \"currentColor\" };\n case \"white\":\n return { primary: \"currentColor\", secondary: \"currentColor\" };\n }\n };\n\n const { primary, secondary } = getFillColors();\n\n if (isGlyph) {\n return (\n <svg\n ref={ref}\n viewBox={SIGNALFLARE_GLYPH_VIEWBOX}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"SignalFlare AI logo\"\n className={cn(\n color === \"white\" && \"text-white\",\n color === \"black\" && \"text-black\",\n className\n )}\n {...props}\n >\n <path d={SIGNALFLARE_GLYPH_PATH} fill={primary} />\n </svg>\n );\n }\n\n // Full logo with wordmark\n return (\n <svg\n ref={ref}\n viewBox={SIGNALFLARE_FULL_LOGO_VIEWBOX}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"SignalFlare AI logo\"\n className={cn(\n color === \"white\" && \"text-white\",\n color === \"black\" && \"text-black\",\n className\n )}\n {...props}\n >\n {/* Blue paths (primary) - \"SignalFlare\" wordmark */}\n {SIGNALFLARE_BLUE_PATHS.map((d, i) => (\n <path key={`blue-${i}`} d={d} fill={primary} />\n ))}\n {/* Teal paths (secondary) - \".ai\" and decorative star */}\n {SIGNALFLARE_TEAL_PATHS.map((d, i) => (\n <path key={`teal-${i}`} d={d} fill={secondary} />\n ))}\n </svg>\n );\n }\n);\n\nSignalFlareAILogo.displayName = \"SignalFlareAILogo\";\n\n// =============================================================================\n// PoweredBySignalFlareAI Component\n// =============================================================================\n\nexport interface PoweredBySignalFlareAIProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * Color scheme for the logo and text\n * @default \"brand\"\n */\n color?: SignalFlareAILogoColor;\n}\n\n/**\n * \"Powered by SignalFlare AI\" badge component.\n *\n * Renders a link to signalflare.ai with the logo glyph and \"Powered by SignalFlare AI\" text.\n *\n * @example Basic usage\n * ```tsx\n * <PoweredBySignalFlareAI />\n * ```\n *\n * @example White variant for dark backgrounds\n * ```tsx\n * <PoweredBySignalFlareAI color=\"white\" />\n * ```\n *\n * @example Custom link\n * ```tsx\n * <PoweredBySignalFlareAI href=\"https://signalflare.ai/docs\" />\n * ```\n */\nexport const PoweredBySignalFlareAI = forwardRef<\n HTMLAnchorElement,\n PoweredBySignalFlareAIProps\n>(\n (\n { color = \"brand\", href = \"https://signalflare.ai\", className, ...props },\n ref\n ) => {\n return (\n <a\n ref={ref}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n // Base badge styles\n \"inline-flex items-center gap-2 rounded-lg py-2 pl-2.5 pr-3 text-sm font-medium\",\n \"ring-1 ring-inset transition-all hover:shadow-sm\",\n // Color variants using semantic tokens\n (color === \"brand\" || color === \"mono\") &&\n \"bg-sf-base text-sf-default ring-sf-line\",\n color === \"black\" && \"bg-white text-black ring-black/20\",\n color === \"white\" && \"bg-black text-white ring-white/20\",\n className\n )}\n {...props}\n >\n <SignalFlareAILogo\n variant=\"glyph\"\n color={color}\n className=\"h-4 w-auto\"\n />\n <span>\n Powered by <span className=\"font-semibold\">SignalFlare AI</span>\n </span>\n </a>\n );\n }\n);\n\nPoweredBySignalFlareAI.displayName = \"PoweredBySignalFlareAI\";\n\n// =============================================================================\n// PoweredByNavigator Component\n// =============================================================================\n\nexport interface PoweredByNavigatorProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * Color scheme for the logo and text\n * @default \"brand\"\n */\n color?: SignalFlareAILogoColor;\n}\n\n/**\n * \"Powered by Navigator\" badge component.\n *\n * Renders a link to signalflare.ai with the logo glyph and \"Powered by Navigator\" text.\n * Navigator is SignalFlare AI's AI product.\n *\n * @example Basic usage\n * ```tsx\n * <PoweredByNavigator />\n * ```\n *\n * @example White variant for dark backgrounds\n * ```tsx\n * <PoweredByNavigator color=\"white\" />\n * ```\n *\n * @example Custom link\n * ```tsx\n * <PoweredByNavigator href=\"https://signalflare.ai/navigator\" />\n * ```\n */\nexport const PoweredByNavigator = forwardRef<\n HTMLAnchorElement,\n PoweredByNavigatorProps\n>(\n (\n { color = \"brand\", href = \"https://signalflare.ai\", className, ...props },\n ref\n ) => {\n return (\n <a\n ref={ref}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n // Base badge styles\n \"inline-flex items-center gap-2 rounded-lg py-2 pl-2.5 pr-3 text-sm font-medium\",\n \"ring-1 ring-inset transition-all hover:shadow-sm\",\n // Color variants using semantic tokens\n (color === \"brand\" || color === \"mono\") &&\n \"bg-sf-base text-sf-default ring-sf-line\",\n color === \"black\" && \"bg-white text-black ring-black/20\",\n color === \"white\" && \"bg-black text-white ring-white/20\",\n className\n )}\n {...props}\n >\n <SignalFlareAILogo\n variant=\"glyph\"\n color={color}\n className=\"h-4 w-auto\"\n />\n <span>\n Powered by <span className=\"font-semibold\">Navigator</span>\n </span>\n </a>\n );\n }\n);\n\nPoweredByNavigator.displayName = \"PoweredByNavigator\";\n\n// =============================================================================\n// SVG Generation Helper\n// =============================================================================\n\nexport type SignalFlareAILogoSvgVariant = \"glyph\" | \"full\";\nexport type SignalFlareAILogoSvgColor = \"brand\" | \"mono\" | \"black\" | \"white\";\n\nexport interface GenerateSignalFlareAILogoSvgOptions {\n /**\n * Logo variant\n * - `glyph`: Map pin icon only\n * - `full`: Full logo with wordmark and decorative element\n * @default \"full\"\n */\n variant?: SignalFlareAILogoSvgVariant;\n /**\n * Color scheme\n * - `brand`: Brand colors (blue #4188ff, teal #00a7a8)\n * - `mono`: Monochrome gray (#766c69)\n * - `black`: Solid black\n * - `white`: Solid white\n * @default \"brand\"\n */\n color?: SignalFlareAILogoSvgColor;\n}\n\n/**\n * Generates SVG markup string for the SignalFlare AI logo.\n *\n * Useful for copying to clipboard or embedding in non-React contexts.\n *\n * @example Copy glyph SVG to clipboard\n * ```tsx\n * const svg = generateSignalFlareAILogoSvg({ variant: \"glyph\" });\n * await navigator.clipboard.writeText(svg);\n * ```\n *\n * @example Generate full logo in black\n * ```tsx\n * const svg = generateSignalFlareAILogoSvg({ variant: \"full\", color: \"black\" });\n * ```\n */\nexport function generateSignalFlareAILogoSvg(\n options: GenerateSignalFlareAILogoSvgOptions = {}\n): string {\n const { variant = \"full\", color = \"brand\" } = options;\n\n const isGlyph = variant === \"glyph\";\n\n // Determine fill colors\n const getFillColor = () => {\n switch (color) {\n case \"brand\":\n return { primary: SIGNALFLARE_BLUE, secondary: SIGNALFLARE_TEAL };\n case \"mono\":\n return { primary: SIGNALFLARE_GRAY, secondary: SIGNALFLARE_GRAY };\n case \"black\":\n return { primary: \"black\", secondary: \"black\" };\n case \"white\":\n return { primary: \"white\", secondary: \"white\" };\n }\n };\n\n const { primary, secondary } = getFillColor();\n\n if (isGlyph) {\n return `<svg viewBox=\"${SIGNALFLARE_GLYPH_VIEWBOX}\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"SignalFlare AI logo\">\n <path d=\"${SIGNALFLARE_GLYPH_PATH}\" fill=\"${primary}\"/>\n</svg>`;\n }\n\n // Full logo with wordmark\n const bluePaths = SIGNALFLARE_BLUE_PATHS.map(\n (d) => ` <path d=\"${d}\" fill=\"${primary}\"/>`\n ).join(\"\\n\");\n const tealPaths = SIGNALFLARE_TEAL_PATHS.map(\n (d) => ` <path d=\"${d}\" fill=\"${secondary}\"/>`\n ).join(\"\\n\");\n\n return `<svg viewBox=\"${SIGNALFLARE_FULL_LOGO_VIEWBOX}\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"SignalFlare AI logo\">\n${bluePaths}\n${tealPaths}\n</svg>`;\n}\n\n// =============================================================================\n// Legacy export alias (scaffolded name)\n// =============================================================================\n\n/** @deprecated Use SignalFlareAILogo instead */\nexport const SignalflareAiLogo = SignalFlareAILogo;\n/** @deprecated Use SignalFlareAILogoProps instead */\nexport type SignalflareAiLogoProps = SignalFlareAILogoProps;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-line-
|
|
1
|
+
{"version":3,"file":"skeleton-line-CH1-h6e2.js","names":[],"sources":["../src/components/loader/skeleton-line.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useMemo } from \"react\";\n\nimport { cn } from \"../../utils/cn\";\n\nconst getRandomWidth = (min: number, max: number) =>\n Math.floor(Math.random() * (max - min + 1) + min);\n\nconst getRandomFloat = (min: number, max: number) =>\n (Math.random() * (max - min) + min).toFixed(2);\n\nexport const SkeletonLine = ({\n minWidth = 30,\n maxWidth = 100,\n minDuration = 1.3,\n maxDuration = 1.7,\n minDelay = 0,\n maxDelay = 0.5,\n className,\n}: {\n minWidth?: number;\n maxWidth?: number;\n minDuration?: number;\n maxDuration?: number;\n minDelay?: number;\n maxDelay?: number;\n className?: string;\n}) => {\n const { width, duration, delay } = useMemo(() => {\n return {\n width: getRandomWidth(minWidth, maxWidth),\n duration: getRandomFloat(minDuration, maxDuration),\n delay: getRandomFloat(minDelay, maxDelay),\n };\n }, [minWidth, maxWidth, minDuration, maxDuration, minDelay, maxDelay]);\n\n const lineStyle: React.CSSProperties & { [key: string]: string } = {\n \"--skeleton-width\": `${width}%`,\n \"--shimmer-duration\": `${duration}s`,\n \"--shimmer-delay\": `${delay}s`,\n };\n\n return (\n <div className={cn(\"skeleton-line\", className)} style={lineStyle}></div>\n );\n};\n"],"mappings":";;;;;AAMA,IAAM,kBAAkB,KAAa,QACnC,KAAK,MAAM,KAAK,QAAQ,IAAI,MAAM,MAAM,KAAK,IAAI;AAEnD,IAAM,kBAAkB,KAAa,SAClC,KAAK,QAAQ,IAAI,MAAM,OAAO,KAAK,QAAQ,EAAE;AAEhD,IAAa,gBAAgB,EAC3B,WAAW,IACX,WAAW,KACX,cAAc,KACd,cAAc,KACd,WAAW,GACX,WAAW,IACX,gBASI;CACJ,MAAM,EAAE,OAAO,UAAU,UAAU,cAAc;AAC/C,SAAO;GACL,OAAO,eAAe,UAAU,SAAS;GACzC,UAAU,eAAe,aAAa,YAAY;GAClD,OAAO,eAAe,UAAU,SAAS;GAC1C;IACA;EAAC;EAAU;EAAU;EAAa;EAAa;EAAU;EAAS,CAAC;CAEtE,MAAM,YAA6D;EACjE,oBAAoB,GAAG,MAAM;EAC7B,sBAAsB,GAAG,SAAS;EAClC,mBAAmB,GAAG,MAAM;EAC7B;AAED,QACE,oBAAC,OAAD;EAAK,WAAW,GAAG,iBAAiB,UAAU;EAAE,OAAO;EAAiB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as Chart } from "./echart-
|
|
2
|
+
import { t as Chart } from "./echart-CdOUaT-r.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/sparkline/sparkline.tsx
|
|
@@ -105,4 +105,4 @@ function Sparkline({ echarts, data, color, height = 32, width = 80, variant = "l
|
|
|
105
105
|
//#endregion
|
|
106
106
|
export { SF_SPARKLINE_VARIANTS as n, Sparkline as r, SF_SPARKLINE_DEFAULT_VARIANTS as t };
|
|
107
107
|
|
|
108
|
-
//# sourceMappingURL=sparkline-
|
|
108
|
+
//# sourceMappingURL=sparkline-DHmgj1d0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline-
|
|
1
|
+
{"version":3,"file":"sparkline-DHmgj1d0.js","names":[],"sources":["../src/components/sparkline/sparkline.tsx"],"sourcesContent":["import type { EChartsOption } from \"echarts\";\nimport type * as echarts from \"echarts/core\";\nimport { useMemo } from \"react\";\n\nimport { Chart } from \"../chart/echart\";\n\n/** Tailwind variant classes for Sparkline. */\nexport const SF_SPARKLINE_VARIANTS = {\n variant: {\n line: \"\",\n area: \"\",\n bars: \"\",\n },\n} as const;\n\n/** Default variants for Sparkline. */\nexport const SF_SPARKLINE_DEFAULT_VARIANTS = {\n variant: \"line\",\n} as const;\n\n/** Props for `Sparkline` */\nexport interface SparklineProps {\n /**\n * The ECharts core instance imported by the consumer.\n * Passed in rather than imported directly so the consumer controls which\n * ECharts modules are bundled (tree-shaking).\n */\n echarts: typeof echarts;\n /**\n * Series data. Accepts either plain numbers (evenly spaced on the x-axis) or\n * `[x, y]` tuples when the x-axis has meaningful values.\n */\n data: number[] | [number, number][];\n /** Stroke/fill color. Defaults to the first categorical palette entry. */\n color?: string;\n /** Height of the sparkline in pixels. Defaults to `32`. */\n height?: number;\n /** Width of the sparkline in pixels. Defaults to `80`. */\n width?: number;\n /** Visual variant. Defaults to `\"line\"`. */\n variant?: \"line\" | \"area\" | \"bars\";\n /** When `true`, enables a tooltip on hover (disabled by default). */\n tooltip?: boolean;\n /** When `true`, switches ECharts to its built-in dark theme */\n isDarkMode?: boolean;\n /** Additional CSS classes applied to the chart container */\n className?: string;\n}\n\n/**\n * Sparkline — a tiny inline chart intended for embedding in cards, tables, or\n * row-level cells. Renders without axes, grid, or legend by default.\n *\n * @example\n * ```tsx\n * <Sparkline echarts={echarts} data={[1, 3, 2, 5, 4, 6]} />\n * ```\n */\nexport function Sparkline({\n echarts,\n data,\n color,\n height = 32,\n width = 80,\n variant = \"line\",\n tooltip,\n isDarkMode,\n className,\n}: SparklineProps) {\n const options = useMemo<EChartsOption>(() => {\n const normalised: [number, number][] =\n typeof data[0] === \"number\"\n ? (data as number[]).map((v, i) => [i, v])\n : (data as [number, number][]);\n\n const strokeColor = color ?? \"#086FFF\";\n\n const common = {\n grid: { left: 0, right: 0, top: 2, bottom: 2 },\n xAxis: { type: \"value\" as const, show: false },\n yAxis: { type: \"value\" as const, show: false, scale: true },\n tooltip: tooltip ? { trigger: \"axis\" as const } : { show: false },\n };\n\n if (variant === \"bars\") {\n return {\n ...common,\n series: [\n {\n type: \"bar\",\n data: normalised,\n itemStyle: { color: strokeColor },\n barCategoryGap: \"20%\",\n },\n ],\n };\n }\n\n return {\n ...common,\n series: [\n {\n type: \"line\",\n smooth: true,\n showSymbol: false,\n data: normalised,\n lineStyle: { color: strokeColor, width: 1.5 },\n itemStyle: { color: strokeColor },\n areaStyle:\n variant === \"area\"\n ? {\n color: {\n type: \"linear\" as const,\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n { offset: 0, color: strokeColor },\n { offset: 1, color: \"rgba(0,0,0,0)\" },\n ],\n },\n opacity: 0.4,\n }\n : undefined,\n },\n ],\n };\n }, [data, color, variant, tooltip]);\n\n return (\n <div style={{ width, height }} className={className}>\n <Chart\n echarts={echarts}\n options={options}\n height={height}\n isDarkMode={isDarkMode}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;AAOA,IAAa,wBAAwB,EACnC,SAAS;CACP,MAAM;CACN,MAAM;CACN,MAAM;CACP,EACF;;AAGD,IAAa,gCAAgC,EAC3C,SAAS,QACV;;;;;;;;;;AAwCD,SAAgB,UAAU,EACxB,SACA,MACA,OACA,SAAS,IACT,QAAQ,IACR,UAAU,QACV,SACA,YACA,aACiB;CACjB,MAAM,UAAU,cAA6B;EAC3C,MAAM,aACJ,OAAO,KAAK,OAAO,WACd,KAAkB,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GACvC;EAEP,MAAM,cAAc,SAAS;EAE7B,MAAM,SAAS;GACb,MAAM;IAAE,MAAM;IAAG,OAAO;IAAG,KAAK;IAAG,QAAQ;IAAG;GAC9C,OAAO;IAAE,MAAM;IAAkB,MAAM;IAAO;GAC9C,OAAO;IAAE,MAAM;IAAkB,MAAM;IAAO,OAAO;IAAM;GAC3D,SAAS,UAAU,EAAE,SAAS,QAAiB,GAAG,EAAE,MAAM,OAAO;GAClE;AAED,MAAI,YAAY,OACd,QAAO;GACL,GAAG;GACH,QAAQ,CACN;IACE,MAAM;IACN,MAAM;IACN,WAAW,EAAE,OAAO,aAAa;IACjC,gBAAgB;IACjB,CACF;GACF;AAGH,SAAO;GACL,GAAG;GACH,QAAQ,CACN;IACE,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,WAAW;KAAE,OAAO;KAAa,OAAO;KAAK;IAC7C,WAAW,EAAE,OAAO,aAAa;IACjC,WACE,YAAY,SACR;KACE,OAAO;MACL,MAAM;MACN,GAAG;MACH,GAAG;MACH,IAAI;MACJ,IAAI;MACJ,YAAY,CACV;OAAE,QAAQ;OAAG,OAAO;OAAa,EACjC;OAAE,QAAQ;OAAG,OAAO;OAAiB,CACtC;MACF;KACD,SAAS;KACV,GACD,KAAA;IACP,CACF;GACF;IACA;EAAC;EAAM;EAAO;EAAS;EAAQ,CAAC;AAEnC,QACE,oBAAC,OAAD;EAAK,OAAO;GAAE;GAAO;GAAQ;EAAa;YACxC,oBAAC,OAAD;GACW;GACA;GACD;GACI;GACZ,CAAA;EACE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-harness.d.ts","sourceRoot":"","sources":["../../../../src/blocks/agent-harness/agent-harness.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EAChB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-harness.d.ts","sourceRoot":"","sources":["../../../../src/blocks/agent-harness/agent-harness.tsx"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,11 @@ import {
|
|
|
64
64
|
PromptInputTools,
|
|
65
65
|
cn,
|
|
66
66
|
useConversationVirtualizer,
|
|
67
|
+
SF_AI_MEASURE_FONT,
|
|
68
|
+
SF_AI_MEASURE_LINE_HEIGHT,
|
|
69
|
+
SF_AI_USER_WIDTH_FRACTION,
|
|
70
|
+
SF_AI_USER_HORIZONTAL_PADDING,
|
|
71
|
+
SF_AI_USER_VERTICAL_PADDING,
|
|
67
72
|
type ConversationItem,
|
|
68
73
|
} from "../../index";
|
|
69
74
|
|
|
@@ -848,6 +853,12 @@ export function AgentHarness({
|
|
|
848
853
|
|
|
849
854
|
const isEmpty = state.messageIds.length === 0;
|
|
850
855
|
|
|
856
|
+
// Plain-text predictive height is only meaningful for user messages — they're
|
|
857
|
+
// always typed input (no markdown). Assistant messages render via
|
|
858
|
+
// <AiResponse> + side-content (tool calls, reasoning, subagents) which can't
|
|
859
|
+
// be modeled by single-font/line-height pretext, so we omit `measure` for
|
|
860
|
+
// them and let the virtualizer fall back to DOM measurement.
|
|
861
|
+
|
|
851
862
|
// ── Build flat item list for virtualizer ───────────────────────────────────
|
|
852
863
|
const conversationItems: ConversationItem[] = useMemo(() => {
|
|
853
864
|
const items: ConversationItem[] = [];
|
|
@@ -931,19 +942,32 @@ export function AgentHarness({
|
|
|
931
942
|
}
|
|
932
943
|
|
|
933
944
|
if (msg.role === "user") {
|
|
945
|
+
// User messages are always plain text (typed input). Render without
|
|
946
|
+
// <AiResponse> so DOM matches pretext's plain-text prediction exactly.
|
|
934
947
|
items.push({
|
|
935
948
|
key: msgId,
|
|
936
949
|
render: () => (
|
|
937
950
|
<div>
|
|
938
951
|
<AiMessage from="user">
|
|
939
|
-
<AiMessageContent>
|
|
940
|
-
<AiResponse>{msg.content}</AiResponse>
|
|
941
|
-
</AiMessageContent>
|
|
952
|
+
<AiMessageContent>{msg.content}</AiMessageContent>
|
|
942
953
|
</AiMessage>
|
|
943
954
|
</div>
|
|
944
955
|
),
|
|
956
|
+
measure: {
|
|
957
|
+
text: msg.content,
|
|
958
|
+
font: SF_AI_MEASURE_FONT,
|
|
959
|
+
lineHeight: SF_AI_MEASURE_LINE_HEIGHT,
|
|
960
|
+
padding: SF_AI_USER_VERTICAL_PADDING,
|
|
961
|
+
widthFraction: SF_AI_USER_WIDTH_FRACTION,
|
|
962
|
+
horizontalPadding: SF_AI_USER_HORIZONTAL_PADDING,
|
|
963
|
+
whiteSpace: "pre-wrap",
|
|
964
|
+
},
|
|
945
965
|
});
|
|
946
966
|
} else {
|
|
967
|
+
// Assistant messages render markdown via <AiResponse> alongside tool
|
|
968
|
+
// calls, reasoning blocks, subagents, etc. These blocks have varying
|
|
969
|
+
// typography that pretext (single font/line-height) cannot model, so
|
|
970
|
+
// we omit `measure` and let the virtualizer use DOM measurement.
|
|
947
971
|
items.push({
|
|
948
972
|
key: msgId,
|
|
949
973
|
render: () => (
|
|
@@ -1040,7 +1064,7 @@ export function AgentHarness({
|
|
|
1040
1064
|
]);
|
|
1041
1065
|
|
|
1042
1066
|
// ── Virtualizer ────────────────────────────────────────────────────────────
|
|
1043
|
-
const { virtualItems, totalSize,
|
|
1067
|
+
const { virtualItems, totalSize, getMeasureRef, isAtBottom, scrollToBottom } =
|
|
1044
1068
|
useConversationVirtualizer({
|
|
1045
1069
|
scrollRef,
|
|
1046
1070
|
items: conversationItems,
|
|
@@ -1069,7 +1093,7 @@ export function AgentHarness({
|
|
|
1069
1093
|
return (
|
|
1070
1094
|
<div
|
|
1071
1095
|
key={item.key}
|
|
1072
|
-
ref={
|
|
1096
|
+
ref={getMeasureRef(vi.index)}
|
|
1073
1097
|
data-index={vi.index}
|
|
1074
1098
|
className="absolute left-0 w-full px-4"
|
|
1075
1099
|
style={{ top: vi.start }}
|
|
@@ -39,6 +39,43 @@ export type AiConversationScrollButtonProps = ComponentProps<typeof Button> & {
|
|
|
39
39
|
* more than `threshold` pixels from the bottom.
|
|
40
40
|
*/
|
|
41
41
|
export declare function AiConversationScrollButton({ scrollRef, threshold, className, onClick, ...props }: AiConversationScrollButtonProps): import("react/jsx-runtime").JSX.Element | null;
|
|
42
|
+
/** Measurement spec for predictive height calculation using pretext. */
|
|
43
|
+
export interface ConversationItemMeasureSpec {
|
|
44
|
+
/** Text content to measure */
|
|
45
|
+
text: string;
|
|
46
|
+
/** CSS font shorthand (e.g. "14px Inter, sans-serif"). Auto-detected if omitted. */
|
|
47
|
+
font?: string;
|
|
48
|
+
/** Line height in pixels. Auto-detected if omitted. */
|
|
49
|
+
lineHeight?: number;
|
|
50
|
+
/** Additional vertical padding (top + bottom) in pixels @default 0 */
|
|
51
|
+
padding?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Fraction of column width this item occupies (0-1). Used to compute the
|
|
54
|
+
* actual content width for items that are constrained (e.g. user message
|
|
55
|
+
* bubbles at max-w-[70%]). @default 1
|
|
56
|
+
*/
|
|
57
|
+
widthFraction?: number;
|
|
58
|
+
/**
|
|
59
|
+
* Horizontal padding (left + right) inside the content box, subtracted from
|
|
60
|
+
* the available width before line wrapping. @default 0
|
|
61
|
+
*/
|
|
62
|
+
horizontalPadding?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Margin below this item (gap to next item). @default 0
|
|
65
|
+
*/
|
|
66
|
+
gapAfter?: number;
|
|
67
|
+
/**
|
|
68
|
+
* White-space handling — must match the rendered CSS. Use `"pre-wrap"` when
|
|
69
|
+
* the rendered content preserves explicit newlines (e.g. plain text inside
|
|
70
|
+
* a <pre> or `whitespace-pre-wrap` div). @default "normal"
|
|
71
|
+
*/
|
|
72
|
+
whiteSpace?: "normal" | "pre-wrap";
|
|
73
|
+
/**
|
|
74
|
+
* Word-break handling — match CSS `word-break`. Use `"keep-all"` for CJK
|
|
75
|
+
* text that should not break mid-word. @default "normal"
|
|
76
|
+
*/
|
|
77
|
+
wordBreak?: "normal" | "keep-all";
|
|
78
|
+
}
|
|
42
79
|
/** A single item in the virtualized conversation list. */
|
|
43
80
|
export interface ConversationItem {
|
|
44
81
|
/** Unique key for this item. */
|
|
@@ -48,6 +85,28 @@ export interface ConversationItem {
|
|
|
48
85
|
* positioning on the wrapper — just return the content.
|
|
49
86
|
*/
|
|
50
87
|
render: () => ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* Optional predictive height measurement. When provided, the virtualizer
|
|
90
|
+
* uses pretext to compute exact height without DOM measurement, eliminating
|
|
91
|
+
* layout shift during streaming. Falls back to estimateSize + DOM measurement
|
|
92
|
+
* when omitted.
|
|
93
|
+
*
|
|
94
|
+
* **Attach this only when rendering plain text** (no markdown). If your
|
|
95
|
+
* `render` output uses `<AiResponse>` or any rich-content component whose
|
|
96
|
+
* blocks have varying typography (headings, code, lists, blockquotes), omit
|
|
97
|
+
* `measure` to let the virtualizer use DOM measurement instead. Pretext
|
|
98
|
+
* predicts heights from a single (font, line-height) pair and cannot
|
|
99
|
+
* accurately model multi-block markdown.
|
|
100
|
+
*
|
|
101
|
+
* Plain-text + `measure` gives jitter-free virtualization (no estimate-then-
|
|
102
|
+
* adjust feedback loop). Rich content + DOM measurement is rendering-correct
|
|
103
|
+
* but slightly less smooth on first paint.
|
|
104
|
+
*
|
|
105
|
+
* For streaming items, update `measure.text` as text grows so the virtualizer
|
|
106
|
+
* can recalculate height per tick (rebuild the `items` array with the latest
|
|
107
|
+
* text on each token arrival).
|
|
108
|
+
*/
|
|
109
|
+
measure?: ConversationItemMeasureSpec;
|
|
51
110
|
}
|
|
52
111
|
export interface UseConversationVirtualizerOptions {
|
|
53
112
|
/** Ref to the scroll container element. */
|
|
@@ -82,44 +141,17 @@ export interface UseConversationVirtualizerReturn {
|
|
|
82
141
|
isAtBottom: boolean;
|
|
83
142
|
/** Smoothly scroll to the bottom. */
|
|
84
143
|
scrollToBottom: (behavior?: ScrollBehavior) => void;
|
|
85
|
-
/**
|
|
144
|
+
/**
|
|
145
|
+
* Get the measurement ref for a virtual item by index.
|
|
146
|
+
* @deprecated Use `getMeasureRef(index)` instead to respect predictive heights.
|
|
147
|
+
*/
|
|
86
148
|
measureRef: (node: HTMLElement | null) => void;
|
|
149
|
+
/**
|
|
150
|
+
* Get the measurement ref for a specific item index.
|
|
151
|
+
* Returns `null` for items with predictive height (no DOM measurement needed),
|
|
152
|
+
* or the measurement callback for legacy items.
|
|
153
|
+
*/
|
|
154
|
+
getMeasureRef: (index: number) => ((node: HTMLElement | null) => void) | null;
|
|
87
155
|
}
|
|
88
|
-
/**
|
|
89
|
-
* `useConversationVirtualizer` — virtualizes a conversation list with
|
|
90
|
-
* dynamic item heights and automatic stick-to-bottom behavior.
|
|
91
|
-
*
|
|
92
|
-
* Built on `@tanstack/react-virtual`. Items are measured dynamically via
|
|
93
|
-
* `ResizeObserver`, so tool calls expanding, subagents collapsing, and
|
|
94
|
-
* streaming text growing all work correctly.
|
|
95
|
-
*
|
|
96
|
-
* **Stick-to-bottom**: When the user is scrolled to (or near) the bottom,
|
|
97
|
-
* new items and item resizes automatically keep the viewport pinned to the
|
|
98
|
-
* bottom. When the user scrolls up, stick-to-bottom disengages until they
|
|
99
|
-
* scroll back down.
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* ```tsx
|
|
103
|
-
* const { virtualItems, totalSize, measureRef, isAtBottom, scrollToBottom } =
|
|
104
|
-
* useConversationVirtualizer({ scrollRef, items });
|
|
105
|
-
*
|
|
106
|
-
* return (
|
|
107
|
-
* <AiConversation ref={scrollRef}>
|
|
108
|
-
* <div style={{ height: totalSize, position: "relative" }}>
|
|
109
|
-
* {virtualItems.map((vi) => {
|
|
110
|
-
* const item = items[vi.index];
|
|
111
|
-
* return (
|
|
112
|
-
* <div key={item.key} ref={measureRef} data-index={vi.index}
|
|
113
|
-
* style={{ position: "absolute", top: vi.start, width: "100%" }}>
|
|
114
|
-
* {item.render()}
|
|
115
|
-
* </div>
|
|
116
|
-
* );
|
|
117
|
-
* })}
|
|
118
|
-
* </div>
|
|
119
|
-
* {!isAtBottom && <button onClick={() => scrollToBottom()}>↓</button>}
|
|
120
|
-
* </AiConversation>
|
|
121
|
-
* );
|
|
122
|
-
* ```
|
|
123
|
-
*/
|
|
124
156
|
export declare function useConversationVirtualizer({ scrollRef, items, estimateSize, overscan, stickThreshold, }: UseConversationVirtualizerOptions): UseConversationVirtualizerReturn;
|
|
125
157
|
//# sourceMappingURL=ai-conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-conversation.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-conversation/ai-conversation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-conversation.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-conversation/ai-conversation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { AiConversation, AiConversationContent, AiConversationScrollButton, useConversationVirtualizer, SF_AI_CONVERSATION_VARIANTS, SF_AI_CONVERSATION_DEFAULT_VARIANTS, type AiConversationProps, type AiConversationContentProps, type AiConversationScrollButtonProps, type ConversationItem, type UseConversationVirtualizerOptions, type UseConversationVirtualizerReturn, } from './ai-conversation';
|
|
1
|
+
export { AiConversation, AiConversationContent, AiConversationScrollButton, useConversationVirtualizer, SF_AI_CONVERSATION_VARIANTS, SF_AI_CONVERSATION_DEFAULT_VARIANTS, type AiConversationProps, type AiConversationContentProps, type AiConversationScrollButtonProps, type ConversationItem, type ConversationItemMeasureSpec, type UseConversationVirtualizerOptions, type UseConversationVirtualizerReturn, } from './ai-conversation';
|
|
2
|
+
export { SF_AI_MEASURE_FONT, SF_AI_MEASURE_LINE_HEIGHT, SF_AI_USER_WIDTH_FRACTION, SF_AI_USER_HORIZONTAL_PADDING, SF_AI_USER_VERTICAL_PADDING, SF_AI_ASSISTANT_WIDTH_FRACTION, SF_AI_ASSISTANT_HORIZONTAL_PADDING, SF_AI_ASSISTANT_VERTICAL_PADDING, SF_AI_DEFAULT_MESSAGE_GAP, } from './measurement-constants';
|
|
2
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,mCAAmC,EACnC,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,gBAAgB,EACrB,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,GACtC,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,mCAAmC,EACnC,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,GACtC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,8BAA8B,EAC9B,kCAAkC,EAClC,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared pretext measurement constants for `useConversationVirtualizer`.
|
|
3
|
+
*
|
|
4
|
+
* These match the rendered styling of `<AiMessage>` + `<AiMessageContent>`
|
|
5
|
+
* (text-sm = 14px / line-height 20px, user bubble `max-w-[70%]` with `px-4 py-3`).
|
|
6
|
+
*
|
|
7
|
+
* Anywhere that builds `ConversationItem.measure` for plain-text AI chat messages
|
|
8
|
+
* should import from here so calibration stays in one place. If production CSS
|
|
9
|
+
* for `<AiMessage>` ever changes (font size, padding, bubble width), update these
|
|
10
|
+
* constants — pretext predictions will then automatically follow.
|
|
11
|
+
*/
|
|
12
|
+
/** CSS `font` shorthand matching `text-sm` rendering. */
|
|
13
|
+
export declare const SF_AI_MEASURE_FONT = "14px \"Inter\", ui-sans-serif, system-ui, sans-serif";
|
|
14
|
+
/** Line height in pixels, matching `text-sm`. */
|
|
15
|
+
export declare const SF_AI_MEASURE_LINE_HEIGHT = 20;
|
|
16
|
+
/** User bubbles: `max-w-[70%]`. */
|
|
17
|
+
export declare const SF_AI_USER_WIDTH_FRACTION = 0.7;
|
|
18
|
+
/** User bubbles: `px-4` → 16px × 2 horizontal padding. */
|
|
19
|
+
export declare const SF_AI_USER_HORIZONTAL_PADDING = 32;
|
|
20
|
+
/** User bubbles: `py-3` → 12px × 2 vertical padding. */
|
|
21
|
+
export declare const SF_AI_USER_VERTICAL_PADDING = 24;
|
|
22
|
+
/** Assistant text: full width column, no bubble. */
|
|
23
|
+
export declare const SF_AI_ASSISTANT_WIDTH_FRACTION = 1;
|
|
24
|
+
/** Assistant text: no horizontal padding inside the bubble. */
|
|
25
|
+
export declare const SF_AI_ASSISTANT_HORIZONTAL_PADDING = 0;
|
|
26
|
+
/** Assistant text: no vertical padding inside the bubble. */
|
|
27
|
+
export declare const SF_AI_ASSISTANT_VERTICAL_PADDING = 0;
|
|
28
|
+
/** Default gap between conversation items. */
|
|
29
|
+
export declare const SF_AI_DEFAULT_MESSAGE_GAP = 12;
|
|
30
|
+
//# sourceMappingURL=measurement-constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurement-constants.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-conversation/measurement-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,yDACuB,CAAC;AAEvD,iDAAiD;AACjD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,mCAAmC;AACnC,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,0DAA0D;AAC1D,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,wDAAwD;AACxD,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,oDAAoD;AACpD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,+DAA+D;AAC/D,eAAO,MAAM,kCAAkC,IAAI,CAAC;AAEpD,6DAA6D;AAC7D,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,8CAA8C;AAC9C,eAAO,MAAM,yBAAyB,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-info-banner.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-info-banner/ai-info-banner.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-info-banner.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-info-banner/ai-info-banner.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOpE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;CAS7B,CAAC;AAEX,eAAO,MAAM,kCAAkC;;CAErC,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,0BAA0B,CAAC,KAAK,CAAC;AAIhF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC/D,sDAAsD;IACtD,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AA2BF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAc,EACd,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,iBAAiB,2CAsBnB;yBA5Be,YAAY"}
|
|
@@ -44,6 +44,9 @@ export declare function AiMessage({ className, from, ...props }: AiMessageProps)
|
|
|
44
44
|
export type AiMessageContentProps = HTMLAttributes<HTMLDivElement>;
|
|
45
45
|
/**
|
|
46
46
|
* Content bubble. Applies user/assistant bubble styles via group selectors.
|
|
47
|
+
*
|
|
48
|
+
* For user messages with plain text content, uses `Text wrap="shrink"` so short
|
|
49
|
+
* messages don't stretch to the full 70% container width.
|
|
47
50
|
*/
|
|
48
51
|
export declare function AiMessageContent({ children, className, ...props }: AiMessageContentProps): import("react/jsx-runtime").JSX.Element;
|
|
49
52
|
export type AiMessageToolbarProps = ComponentProps<"div">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-message.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-message/ai-message.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAGf,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-message.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-message/ai-message.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export declare const SF_AI_PROMPT_INPUT_DEFAULT_VARIANTS: {
|
|
|
26
26
|
readonly status: "idle";
|
|
27
27
|
};
|
|
28
28
|
export type SFAiPromptInputStatus = keyof typeof SF_AI_PROMPT_INPUT_VARIANTS.status;
|
|
29
|
+
export type PromptInputBackLayerStatus = "idle" | "running" | "error";
|
|
29
30
|
export type AttachmentFile = {
|
|
30
31
|
id: string;
|
|
31
32
|
url: string;
|
|
@@ -98,9 +99,18 @@ export type PromptInputProps = Omit<HTMLAttributes<HTMLFormElement>, "onSubmit"
|
|
|
98
99
|
*/
|
|
99
100
|
backLayer?: ReactNode;
|
|
100
101
|
/**
|
|
101
|
-
*
|
|
102
|
+
* Header content shown in the back layer header row. Strings render as plain
|
|
103
|
+
* text; pass JSX to compose with icons/spinners/badges. Defaults to
|
|
104
|
+
* `"Context"`.
|
|
102
105
|
*/
|
|
103
|
-
backLayerTitle?:
|
|
106
|
+
backLayerTitle?: ReactNode;
|
|
107
|
+
/**
|
|
108
|
+
* Optional status indicator rendered next to the title. `"running"` shows a
|
|
109
|
+
* small spinner; `"error"` shows an inline error icon. Use this instead of
|
|
110
|
+
* composing JSX into `backLayerTitle` for the common case of an agent doing
|
|
111
|
+
* work.
|
|
112
|
+
*/
|
|
113
|
+
backLayerStatus?: PromptInputBackLayerStatus;
|
|
104
114
|
/**
|
|
105
115
|
* Controls whether the back layer is visible. Pair with `onBackLayerOpenChange`
|
|
106
116
|
* for a controlled pattern.
|
|
@@ -131,7 +141,7 @@ export type PromptInputProps = Omit<HTMLAttributes<HTMLFormElement>, "onSubmit"
|
|
|
131
141
|
* </PromptInput>
|
|
132
142
|
* ```
|
|
133
143
|
*/
|
|
134
|
-
export declare function PromptInput({ className, accept, multiple, globalDrop, maxFiles, maxFileSize, onError, onSubmit, children, backLayer, backLayerTitle, backLayerOpen, onBackLayerOpenChange, autoOpenBackLayerWhen, ...props }: PromptInputProps): import("react/jsx-runtime").JSX.Element;
|
|
144
|
+
export declare function PromptInput({ className, accept, multiple, globalDrop, maxFiles, maxFileSize, onError, onSubmit, children, backLayer, backLayerTitle, backLayerStatus, backLayerOpen, onBackLayerOpenChange, autoOpenBackLayerWhen, ...props }: PromptInputProps): import("react/jsx-runtime").JSX.Element;
|
|
135
145
|
export declare namespace PromptInput {
|
|
136
146
|
var BackLayer: typeof PromptInputBackLayer;
|
|
137
147
|
var Textarea: ({ onChange, className, placeholder, ...props }: PromptInputTextareaProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-prompt-input.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-prompt-input/ai-prompt-input.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-prompt-input.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-prompt-input/ai-prompt-input.tsx"],"names":[],"mappings":"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"}
|