@signalflare-ai/ui 1.1.0 → 1.3.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 +102 -5
- package/README.md +1 -1
- package/ai/component-registry.json +531 -79
- package/ai/component-registry.md +4067 -6
- package/ai/schemas.ts +6 -1
- 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-CBfz5XEf.js} +4 -4
- package/dist/{ai-actions-DSVeQn4e.js.map → ai-actions-CBfz5XEf.js.map} +1 -1
- package/dist/{ai-agent-card-BXHwhWAU.js → ai-agent-card-CByAUe0q.js} +3 -3
- package/dist/ai-agent-card-CByAUe0q.js.map +1 -0
- package/dist/{ai-approval-aa0qvjFN.js → ai-approval-Ci8N70a7.js} +4 -3
- package/dist/{ai-approval-aa0qvjFN.js.map → ai-approval-Ci8N70a7.js.map} +1 -1
- package/dist/{ai-code-block-BgtIxtZZ.js → ai-code-block-P9TJHvaC.js} +37 -39
- package/dist/ai-code-block-P9TJHvaC.js.map +1 -0
- package/dist/ai-conversation-Qslfdi1t.js +228 -0
- package/dist/ai-conversation-Qslfdi1t.js.map +1 -0
- package/dist/{ai-info-banner-uFxHHwBA.js → ai-info-banner-B_9vtGK3.js} +8 -4
- package/dist/ai-info-banner-B_9vtGK3.js.map +1 -0
- package/dist/{ai-message-BjnFznXy.js → ai-message-Ci3gwM7G.js} +29 -10
- package/dist/ai-message-Ci3gwM7G.js.map +1 -0
- package/dist/{ai-mission-header-08__gULL.js → ai-mission-header-CaBc19-t.js} +2 -2
- package/dist/{ai-mission-header-08__gULL.js.map → ai-mission-header-CaBc19-t.js.map} +1 -1
- package/dist/{ai-part-group-DBtgTgAn.js → ai-part-group-Dx1Mr92B.js} +5 -4
- package/dist/ai-part-group-Dx1Mr92B.js.map +1 -0
- package/dist/{ai-prompt-input-CuluUzpf.js → ai-prompt-input-Bm4XoSj2.js} +44 -55
- package/dist/ai-prompt-input-Bm4XoSj2.js.map +1 -0
- package/dist/{ai-question-CHHoDJMg.js → ai-question-OyJovxGe.js} +4 -3
- package/dist/{ai-question-CHHoDJMg.js.map → ai-question-OyJovxGe.js.map} +1 -1
- package/dist/{ai-reasoning-CnL6ZSr5.js → ai-reasoning-BLfBXx3F.js} +9 -5
- package/dist/ai-reasoning-BLfBXx3F.js.map +1 -0
- package/dist/{ai-response-BEUg3xvd.js → ai-response-hbVCZJmo.js} +9 -4
- package/dist/ai-response-hbVCZJmo.js.map +1 -0
- package/dist/{ai-shimmer-By5_L05p.js → ai-shimmer-BamNMNK3.js} +2 -2
- package/dist/{ai-shimmer-By5_L05p.js.map → ai-shimmer-BamNMNK3.js.map} +1 -1
- package/dist/{ai-status-badge-BGYGWYF6.js → ai-status-badge-BZLczdkI.js} +2 -2
- package/dist/{ai-status-badge-BGYGWYF6.js.map → ai-status-badge-BZLczdkI.js.map} +1 -1
- package/dist/{ai-streaming-text-CMfoThV0.js → ai-streaming-text-DgYu64UH.js} +44 -16
- package/dist/ai-streaming-text-DgYu64UH.js.map +1 -0
- package/dist/{ai-subagent-DcPRqkAA.js → ai-subagent-p97AI1h9.js} +14 -6
- package/dist/ai-subagent-p97AI1h9.js.map +1 -0
- package/dist/{ai-suggestion-MgeCg5Ar.js → ai-suggestion-Bj6vF7CT.js} +3 -3
- package/dist/{ai-suggestion-MgeCg5Ar.js.map → ai-suggestion-Bj6vF7CT.js.map} +1 -1
- package/dist/{ai-task-list-Da9zIm00.js → ai-task-list-C_UQYpk9.js} +15 -6
- package/dist/ai-task-list-C_UQYpk9.js.map +1 -0
- package/dist/{ai-timeline-Cwu045IR.js → ai-timeline-CePL1LOU.js} +3 -3
- package/dist/ai-timeline-CePL1LOU.js.map +1 -0
- package/dist/{ai-tool-Cn1O4xjP.js → ai-tool-CfRcwmHT.js} +35 -16
- package/dist/ai-tool-CfRcwmHT.js.map +1 -0
- package/dist/{ai-usage-bar-DjS12DMp.js → ai-usage-bar-45pVRCGA.js} +2 -2
- package/dist/{ai-usage-bar-DjS12DMp.js.map → ai-usage-bar-45pVRCGA.js.map} +1 -1
- package/dist/{badge-D_eaA6wv.js → badge-Beb-6uut.js} +5 -5
- package/dist/{badge-D_eaA6wv.js.map → badge-Beb-6uut.js.map} +1 -1
- package/dist/{banner-B_6oBrsu.js → banner-CCEksxPg.js} +8 -3
- package/dist/banner-CCEksxPg.js.map +1 -0
- package/dist/{breadcrumbs-BlmeYfgq.js → breadcrumbs-HiTmgaZ4.js} +5 -5
- package/dist/{breadcrumbs-BlmeYfgq.js.map → breadcrumbs-HiTmgaZ4.js.map} +1 -1
- package/dist/{button-De0267YU.js → button-BHOgXJRU.js} +4 -4
- package/dist/{button-De0267YU.js.map → button-BHOgXJRU.js.map} +1 -1
- package/dist/catalog.js +1 -1
- package/dist/catalog.js.map +1 -1
- package/dist/{chart-BK3sVPnD.js → chart-B9FfZdKs.js} +7 -7
- package/dist/chart-B9FfZdKs.js.map +1 -0
- package/dist/{checkbox-DYhUmZNw.js → checkbox-Cy_OCyay.js} +3 -3
- package/dist/{checkbox-DYhUmZNw.js.map → checkbox-Cy_OCyay.js.map} +1 -1
- package/dist/{clipboard-text-ssybngLw.js → clipboard-text-CKSvNp9L.js} +6 -5
- package/dist/clipboard-text-CKSvNp9L.js.map +1 -0
- package/dist/{cn-YROP2_ox.js → cn-CmAOpn49.js} +2 -2
- package/dist/{cn-YROP2_ox.js.map → cn-CmAOpn49.js.map} +1 -1
- package/dist/{code-Cx-QSoOT.js → code-JsQz-0G_.js} +4 -4
- package/dist/{code-Cx-QSoOT.js.map → code-JsQz-0G_.js.map} +1 -1
- package/dist/{collapsible-DWsXeXmS.js → collapsible-1kOZ-89L.js} +2 -2
- package/dist/{collapsible-DWsXeXmS.js.map → collapsible-1kOZ-89L.js.map} +1 -1
- package/dist/{combobox-C0iW6a0r.js → combobox-CQwDmqgA.js} +4 -4
- package/dist/{combobox-C0iW6a0r.js.map → combobox-CQwDmqgA.js.map} +1 -1
- package/dist/command-line/cli.js +3 -3
- package/dist/{command-palette-DGzioeki.js → command-palette-Bkuv3e6o.js} +20 -5
- package/dist/command-palette-Bkuv3e6o.js.map +1 -0
- 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/link.js +3 -3
- package/dist/components/link.js.map +1 -1
- package/dist/components/loader.js +2 -2
- 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-DDSFMHud.js} +136 -53
- package/dist/data-grid-DDSFMHud.js.map +1 -0
- package/dist/{date-picker-Dqg9L4xu.js → date-picker-O34AqG3f.js} +2 -2
- package/dist/{date-picker-Dqg9L4xu.js.map → date-picker-O34AqG3f.js.map} +1 -1
- package/dist/{date-range-picker-D75LLINc.js → date-range-picker-YKYvum_r.js} +29 -39
- package/dist/{date-range-picker-D75LLINc.js.map → date-range-picker-YKYvum_r.js.map} +1 -1
- package/dist/{dialog-CyHEQXEY.js → dialog-DYqu4aDO.js} +3 -3
- package/dist/{dialog-CyHEQXEY.js.map → dialog-DYqu4aDO.js.map} +1 -1
- package/dist/{dist-1-gcEL2L.js → dist-6AtBsaJE.js} +153 -47
- package/dist/dist-6AtBsaJE.js.map +1 -0
- package/dist/{dropdown-qnEYRFXZ.js → dropdown-XzbnRLYR.js} +15 -5
- package/dist/dropdown-XzbnRLYR.js.map +1 -0
- package/dist/{echart-DURZEyai.js → echart-DGBIVAv1.js} +23 -57
- package/dist/{echart-DURZEyai.js.map → echart-DGBIVAv1.js.map} +1 -1
- package/dist/{empty-D2TypIId.js → empty-C1tAkawe.js} +12 -7
- package/dist/empty-C1tAkawe.js.map +1 -0
- package/dist/{field-Y_UK1_Cg.js → field-DBpFzzBS.js} +3 -3
- package/dist/{field-Y_UK1_Cg.js.map → field-DBpFzzBS.js.map} +1 -1
- package/dist/{filters-Bw_U6ZTx.js → filters-SmEl93za.js} +10 -10
- package/dist/filters-SmEl93za.js.map +1 -0
- package/dist/{flow-BRsYUCJa.js → flow-BLzgbq1T.js} +6 -6
- package/dist/flow-BLzgbq1T.js.map +1 -0
- package/dist/genui.js +2 -2
- package/dist/genui.js.map +1 -1
- package/dist/{grid-qUAN9hFx.js → grid-CifjQL-5.js} +2 -2
- package/dist/{grid-qUAN9hFx.js.map → grid-CifjQL-5.js.map} +1 -1
- package/dist/{highlight-to-react-ClEfL81q.js → highlight-to-react-DN9dUCS2.js} +9 -15
- package/dist/highlight-to-react-DN9dUCS2.js.map +1 -0
- package/dist/index.js +72 -72
- package/dist/index.js.map +1 -1
- package/dist/{input-DddtBN-g.js → input-COmx2M_R.js} +5 -5
- package/dist/{input-DddtBN-g.js.map → input-COmx2M_R.js.map} +1 -1
- package/dist/{input-DXYUjGgD.js → input-GkfMQZC_.js} +3 -3
- package/dist/{input-DXYUjGgD.js.map → input-GkfMQZC_.js.map} +1 -1
- package/dist/{label-QtJxtJ4u.js → label-CiGZ464N.js} +3 -3
- package/dist/{label-QtJxtJ4u.js.map → label-CiGZ464N.js.map} +1 -1
- package/dist/{layer-card-BME0eljh.js → layer-card-8l8GuLQr.js} +2 -2
- package/dist/{layer-card-BME0eljh.js.map → layer-card-8l8GuLQr.js.map} +1 -1
- package/dist/layout-CWBE0qwx.js +6207 -0
- package/dist/layout-CWBE0qwx.js.map +1 -0
- package/dist/{link-provider-BUZKXaNE.js → link-provider-BSn8YJon.js} +2 -2
- package/dist/link-provider-BSn8YJon.js.map +1 -0
- package/dist/{loader-DAcc-Uag.js → loader-BEMz8pJO.js} +1 -1
- package/dist/{loader-DAcc-Uag.js.map → loader-BEMz8pJO.js.map} +1 -1
- package/dist/measured-text-CXkdw9Yr.js +305 -0
- package/dist/measured-text-CXkdw9Yr.js.map +1 -0
- package/dist/{menubar-C8NzAjfd.js → menubar-CoOr4ocj.js} +3 -3
- package/dist/{menubar-C8NzAjfd.js.map → menubar-CoOr4ocj.js.map} +1 -1
- package/dist/{meter-CpmTenEr.js → meter-Pf_VOl59.js} +2 -2
- package/dist/{meter-CpmTenEr.js.map → meter-Pf_VOl59.js.map} +1 -1
- package/dist/{pagination-BVqdlONY.js → pagination-DSY279Ta.js} +2 -2
- package/dist/{pagination-BVqdlONY.js.map → pagination-DSY279Ta.js.map} +1 -1
- package/dist/{popover-BRQZ2b6z.js → popover-BY-e9co1.js} +2 -2
- package/dist/{popover-BRQZ2b6z.js.map → popover-BY-e9co1.js.map} +1 -1
- package/dist/{radio-BNSwOt3B.js → radio-DZwL13j0.js} +2 -2
- package/dist/{radio-BNSwOt3B.js.map → radio-DZwL13j0.js.map} +1 -1
- package/dist/{select-1w2aebGQ.js → select-BFifYqHA.js} +6 -6
- package/dist/{select-1w2aebGQ.js.map → select-BFifYqHA.js.map} +1 -1
- package/dist/{sensitive-input-82Cez3vj.js → sensitive-input-DHLZcM73.js} +4 -4
- package/dist/{sensitive-input-82Cez3vj.js.map → sensitive-input-DHLZcM73.js.map} +1 -1
- package/dist/{sidebar-CAsCmSpM.js → sidebar-odGsdvG4.js} +6 -7
- package/dist/sidebar-odGsdvG4.js.map +1 -0
- package/dist/{signalflare-ai-logo-DDhxMJD6.js → signalflare-ai-logo-CNaDT_w8.js} +2 -2
- package/dist/{signalflare-ai-logo-DDhxMJD6.js.map → signalflare-ai-logo-CNaDT_w8.js.map} +1 -1
- package/dist/{skeleton-line-Do3UmGk9.js → skeleton-line-CxxYVTO2.js} +2 -2
- package/dist/{skeleton-line-Do3UmGk9.js.map → skeleton-line-CxxYVTO2.js.map} +1 -1
- package/dist/{sparkline-DdbeM4Ai.js → sparkline-BQ-4j2W2.js} +2 -2
- package/dist/{sparkline-DdbeM4Ai.js.map → sparkline-BQ-4j2W2.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 +40 -16
- package/dist/src/blocks/commander/commander.tsx +15 -15
- package/dist/src/blocks/map-block/map-block.d.ts.map +1 -1
- package/dist/src/blocks/map-block/map-block.tsx +11 -7
- package/dist/src/components/ai-approval/ai-approval.d.ts.map +1 -1
- package/dist/src/components/ai-code-block/ai-code-block.d.ts +14 -13
- package/dist/src/components/ai-code-block/ai-code-block.d.ts.map +1 -1
- 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-part-group/ai-part-group.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/controller.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-prompt-input/types.d.ts.map +1 -1
- package/dist/src/components/ai-question/ai-question.d.ts.map +1 -1
- package/dist/src/components/ai-reasoning/ai-reasoning.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/chart/echart.d.ts.map +1 -1
- package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
- package/dist/src/components/data-grid/data-grid.d.ts +2 -1
- package/dist/src/components/data-grid/data-grid.d.ts.map +1 -1
- package/dist/src/components/data-grid/features.d.ts +20 -0
- package/dist/src/components/data-grid/features.d.ts.map +1 -0
- package/dist/src/components/data-grid/types.d.ts +38 -7
- package/dist/src/components/data-grid/types.d.ts.map +1 -1
- package/dist/src/components/empty/empty.d.ts.map +1 -1
- package/dist/src/components/filters/filters.d.ts.map +1 -1
- package/dist/src/components/flow/use-children.d.ts +1 -1
- package/dist/src/components/link/link.d.ts.map +1 -1
- package/dist/src/components/sidebar/sidebar.d.ts +1 -1
- package/dist/src/components/signalflare-ai-logo/signalflare-ai-logo.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 +36 -1
- package/dist/src/components/text/text.d.ts.map +1 -1
- package/dist/src/components/text-roll/text-roll.d.ts.map +1 -1
- package/dist/src/components/theme-toggle/theme-toggle.d.ts.map +1 -1
- package/dist/src/components/toast/toast.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/highlight-to-react.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-Bspk4XFr.js} +30 -12
- package/dist/stat-card-Bspk4XFr.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-minimal.css +9 -9
- package/dist/styles/theme-sf.css +14 -20
- package/dist/styles/theme-vesper.css +91 -0
- package/dist/{surface-BduI7Ehl.js → surface-CWdSFVUx.js} +3 -3
- package/dist/{surface-BduI7Ehl.js.map → surface-CWdSFVUx.js.map} +1 -1
- package/dist/{switch-CzZBRBL7.js → switch-TA4cByCJ.js} +5 -5
- package/dist/switch-TA4cByCJ.js.map +1 -0
- package/dist/{table-Rv4JMy0B.js → table-BM8JBGBs.js} +3 -3
- package/dist/{table-Rv4JMy0B.js.map → table-BM8JBGBs.js.map} +1 -1
- package/dist/{tabs-1cHrYoel.js → tabs-bnH2vGLv.js} +2 -2
- package/dist/{tabs-1cHrYoel.js.map → tabs-bnH2vGLv.js.map} +1 -1
- package/dist/{text-KJmGkwnf.js → text-iQ0YUFNg.js} +27 -6
- package/dist/text-iQ0YUFNg.js.map +1 -0
- package/dist/{text-roll-BZ3I1umc.js → text-roll-C3U2jd2u.js} +5 -2
- package/dist/text-roll-C3U2jd2u.js.map +1 -0
- package/dist/{theme-toggle-Bhu681D7.js → theme-toggle-BTVxD-fD.js} +10 -9
- package/dist/theme-toggle-BTVxD-fD.js.map +1 -0
- package/dist/{toast-Nw28a5Cx.js → toast-CgZVaAkw.js} +3 -3
- package/dist/{toast-Nw28a5Cx.js.map → toast-CgZVaAkw.js.map} +1 -1
- package/dist/{tooltip-Cb7QW-7H.js → tooltip-uobk6Oh-.js} +9 -3
- package/dist/tooltip-uobk6Oh-.js.map +1 -0
- package/dist/{use-agent-harness-BMyF8pTq.js → use-agent-harness-Dl8w6X5O.js} +3 -3
- package/dist/{use-agent-harness-BMyF8pTq.js.map → use-agent-harness-Dl8w6X5O.js.map} +1 -1
- package/dist/utils.js +4 -3
- package/package.json +27 -24
- package/scripts/component-registry/discovery.ts +11 -10
- package/scripts/component-registry/example-cleanup.ts +8 -8
- package/scripts/component-registry/index.ts +6 -6
- package/scripts/component-registry/schema-generator.ts +1 -1
- package/scripts/component-registry/sub-components.ts +35 -23
- package/scripts/component-registry/utils.ts +11 -11
- package/scripts/component-registry/variant-parser.ts +17 -15
- package/scripts/convert-demos-to-stories.ts +5 -5
- package/scripts/css-build.ts +1 -1
- package/scripts/theme-generator/config.ts +28 -146
- package/scripts/theme-generator/generate-css.ts +1 -2
- package/scripts/theme-generator/index.ts +0 -1
- package/scripts/theme-generator/migrate.ts +3 -3
- package/dist/ai-agent-card-BXHwhWAU.js.map +0 -1
- package/dist/ai-code-block-BgtIxtZZ.js.map +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-part-group-DBtgTgAn.js.map +0 -1
- package/dist/ai-prompt-input-CuluUzpf.js.map +0 -1
- package/dist/ai-reasoning-CnL6ZSr5.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-timeline-Cwu045IR.js.map +0 -1
- package/dist/ai-tool-Cn1O4xjP.js.map +0 -1
- package/dist/banner-B_6oBrsu.js.map +0 -1
- package/dist/chart-BK3sVPnD.js.map +0 -1
- package/dist/clipboard-text-ssybngLw.js.map +0 -1
- package/dist/command-palette-DGzioeki.js.map +0 -1
- package/dist/data-grid-CG76N_hK.js.map +0 -1
- package/dist/dist-1-gcEL2L.js.map +0 -1
- package/dist/dropdown-qnEYRFXZ.js.map +0 -1
- package/dist/empty-D2TypIId.js.map +0 -1
- package/dist/filters-Bw_U6ZTx.js.map +0 -1
- package/dist/flow-BRsYUCJa.js.map +0 -1
- package/dist/highlight-to-react-ClEfL81q.js.map +0 -1
- package/dist/link-provider-BUZKXaNE.js.map +0 -1
- package/dist/sidebar-CAsCmSpM.js.map +0 -1
- package/dist/stat-card-CEZscNh8.js.map +0 -1
- package/dist/styles/theme-blue-tint.css +0 -98
- package/dist/switch-CzZBRBL7.js.map +0 -1
- package/dist/text-KJmGkwnf.js.map +0 -1
- package/dist/text-roll-BZ3I1umc.js.map +0 -1
- package/dist/theme-toggle-Bhu681D7.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-CNaDT_w8.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 // oxlint-disable-next-line prefer-tag-over-role -- role=\"img\" is the idiomatic accessible name pattern for decorative SVGs\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 // oxlint-disable-next-line prefer-tag-over-role -- role=\"img\" is the idiomatic accessible name pattern for decorative SVGs\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,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as cn } from "./cn-
|
|
2
|
+
import { t as cn } from "./cn-CmAOpn49.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/loader/skeleton-line.tsx
|
|
@@ -33,4 +33,4 @@ var SkeletonLine = ({ minWidth = 30, maxWidth = 100, minDuration = 1.3, maxDurat
|
|
|
33
33
|
//#endregion
|
|
34
34
|
export { SkeletonLine as t };
|
|
35
35
|
|
|
36
|
-
//# sourceMappingURL=skeleton-line-
|
|
36
|
+
//# sourceMappingURL=skeleton-line-CxxYVTO2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-line-
|
|
1
|
+
{"version":3,"file":"skeleton-line-CxxYVTO2.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,OAAO,KAAK,MAAM,MAAM,KAAK,GAAG;AAElD,IAAM,kBAAkB,KAAa,SAClC,KAAK,OAAO,KAAK,MAAM,OAAO,KAAK,QAAQ,CAAC;AAE/C,IAAa,gBAAgB,EAC3B,WAAW,IACX,WAAW,KACX,cAAc,KACd,cAAc,KACd,WAAW,GACX,WAAW,IACX,gBASI;CACJ,MAAM,EAAE,OAAO,UAAU,UAAU,cAAc;EAC/C,OAAO;GACL,OAAO,eAAe,UAAU,QAAQ;GACxC,UAAU,eAAe,aAAa,WAAW;GACjD,OAAO,eAAe,UAAU,QAAQ;EAC1C;CACF,GAAG;EAAC;EAAU;EAAU;EAAa;EAAa;EAAU;CAAQ,CAAC;CAErE,MAAM,YAA6D;EACjE,oBAAoB,GAAG,MAAM;EAC7B,sBAAsB,GAAG,SAAS;EAClC,mBAAmB,GAAG,MAAM;CAC9B;CAEA,OACE,oBAAC,OAAD;EAAK,WAAW,GAAG,iBAAiB,SAAS;EAAG,OAAO;CAAgB,CAAA;AAE3E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as Chart } from "./echart-
|
|
2
|
+
import { t as Chart } from "./echart-DGBIVAv1.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-BQ-4j2W2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline-
|
|
1
|
+
{"version":3,"file":"sparkline-BQ-4j2W2.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;AACR,EACF;;AAGA,IAAa,gCAAgC,EAC3C,SAAS,OACX;;;;;;;;;;AAwCA,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,CAAC,CAAC,IACtC;EAEP,MAAM,cAAc,SAAS;EAE7B,MAAM,SAAS;GACb,MAAM;IAAE,MAAM;IAAG,OAAO;IAAG,KAAK;IAAG,QAAQ;GAAE;GAC7C,OAAO;IAAE,MAAM;IAAkB,MAAM;GAAM;GAC7C,OAAO;IAAE,MAAM;IAAkB,MAAM;IAAO,OAAO;GAAK;GAC1D,SAAS,UAAU,EAAE,SAAS,OAAgB,IAAI,EAAE,MAAM,MAAM;EAClE;EAEA,IAAI,YAAY,QACd,OAAO;GACL,GAAG;GACH,QAAQ,CACN;IACE,MAAM;IACN,MAAM;IACN,WAAW,EAAE,OAAO,YAAY;IAChC,gBAAgB;GAClB,CACF;EACF;EAGF,OAAO;GACL,GAAG;GACH,QAAQ,CACN;IACE,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,WAAW;KAAE,OAAO;KAAa,OAAO;IAAI;IAC5C,WAAW,EAAE,OAAO,YAAY;IAChC,WACE,YAAY,SACR;KACE,OAAO;MACL,MAAM;MACN,GAAG;MACH,GAAG;MACH,IAAI;MACJ,IAAI;MACJ,YAAY,CACV;OAAE,QAAQ;OAAG,OAAO;MAAY,GAChC;OAAE,QAAQ;OAAG,OAAO;MAAgB,CACtC;KACF;KACA,SAAS;IACX,IACA,KAAA;GACR,CACF;EACF;CACF,GAAG;EAAC;EAAM;EAAO;EAAS;CAAO,CAAC;CAElC,OACE,oBAAC,OAAD;EAAK,OAAO;GAAE;GAAO;EAAO;EAAc;YACxC,oBAAC,OAAD;GACW;GACA;GACD;GACI;EACb,CAAA;CACE,CAAA;AAET"}
|
|
@@ -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
|
|
|
@@ -749,21 +754,21 @@ export function AgentHarness({
|
|
|
749
754
|
// Resolve action callbacks — controlled props take priority over hook methods
|
|
750
755
|
const sendMessage = onSendMessage ?? harness.sendMessage;
|
|
751
756
|
const respondToToolApproval =
|
|
752
|
-
onApproveToolCall
|
|
753
|
-
?
|
|
754
|
-
:
|
|
757
|
+
onApproveToolCall == null
|
|
758
|
+
? harness.respondToToolApproval
|
|
759
|
+
: (decision: "approve" | "decline") => onApproveToolCall(decision);
|
|
755
760
|
const respondToQuestion =
|
|
756
|
-
onAnswerQuestion
|
|
757
|
-
?
|
|
758
|
-
|
|
759
|
-
|
|
761
|
+
onAnswerQuestion == null
|
|
762
|
+
? harness.respondToQuestion
|
|
763
|
+
: (questionId: string, answer: string) =>
|
|
764
|
+
onAnswerQuestion(questionId, answer);
|
|
760
765
|
const respondToPlanApproval =
|
|
761
|
-
onApprovePlan
|
|
762
|
-
?
|
|
766
|
+
onApprovePlan == null
|
|
767
|
+
? harness.respondToPlanApproval
|
|
768
|
+
: (
|
|
763
769
|
planId: string,
|
|
764
770
|
response: { action: "approved" | "rejected"; feedback?: string }
|
|
765
|
-
) => onApprovePlan(planId, response)
|
|
766
|
-
: harness.respondToPlanApproval;
|
|
771
|
+
) => onApprovePlan(planId, response);
|
|
767
772
|
const abort = onAbort ?? harness.abort;
|
|
768
773
|
const selectMode = harness.selectMode;
|
|
769
774
|
|
|
@@ -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 }}
|
|
@@ -143,7 +143,7 @@ function deriveMainLaneBlocks(
|
|
|
143
143
|
: "tool_call",
|
|
144
144
|
startMs: tc.startedAt,
|
|
145
145
|
endMs: tc.endedAt,
|
|
146
|
-
label: tc.toolName.replace(/^mastra_workspace_
|
|
146
|
+
label: tc.toolName.replace(/^mastra_workspace_/u, "").replace(/_/gu, " "),
|
|
147
147
|
description: `${tc.toolName}${tc.durationMs ? ` · ${tc.durationMs}ms` : ""}`,
|
|
148
148
|
detail: tc.input ? (
|
|
149
149
|
<pre className="text-[9px] opacity-70">
|
|
@@ -213,7 +213,7 @@ function deriveSubagentBlocks(
|
|
|
213
213
|
type: tc.state === "output-error" ? "error" : "tool_call",
|
|
214
214
|
startMs: tc.startedAt,
|
|
215
215
|
endMs: tc.endedAt,
|
|
216
|
-
label: tc.toolName.replace(/^mastra_workspace_
|
|
216
|
+
label: tc.toolName.replace(/^mastra_workspace_/u, "").replace(/_/gu, " "),
|
|
217
217
|
description: `${tc.toolName}${tc.durationMs ? ` · ${tc.durationMs}ms` : ""}`,
|
|
218
218
|
});
|
|
219
219
|
}
|
|
@@ -391,19 +391,7 @@ export function Commander({
|
|
|
391
391
|
|
|
392
392
|
{/* Content */}
|
|
393
393
|
<div className="flex min-h-0 flex-1 flex-col overflow-y-auto">
|
|
394
|
-
{
|
|
395
|
-
/* Empty state */
|
|
396
|
-
<div className="flex flex-1 items-center justify-center py-16 text-center">
|
|
397
|
-
{emptyState ?? (
|
|
398
|
-
<div className="flex flex-col items-center gap-2">
|
|
399
|
-
<span className="text-2xl">🎯</span>
|
|
400
|
-
<p className="text-sm text-sf-subtle">
|
|
401
|
-
Waiting for mission to start…
|
|
402
|
-
</p>
|
|
403
|
-
</div>
|
|
404
|
-
)}
|
|
405
|
-
</div>
|
|
406
|
-
) : (
|
|
394
|
+
{hasAnyActivity ? (
|
|
407
395
|
<>
|
|
408
396
|
{/* Timeline */}
|
|
409
397
|
{showTimeline && (
|
|
@@ -464,6 +452,18 @@ export function Commander({
|
|
|
464
452
|
/>
|
|
465
453
|
)}
|
|
466
454
|
</>
|
|
455
|
+
) : (
|
|
456
|
+
/* Empty state */
|
|
457
|
+
<div className="flex flex-1 items-center justify-center py-16 text-center">
|
|
458
|
+
{emptyState ?? (
|
|
459
|
+
<div className="flex flex-col items-center gap-2">
|
|
460
|
+
<span className="text-2xl">🎯</span>
|
|
461
|
+
<p className="text-sm text-sf-subtle">
|
|
462
|
+
Waiting for mission to start…
|
|
463
|
+
</p>
|
|
464
|
+
</div>
|
|
465
|
+
)}
|
|
466
|
+
</div>
|
|
467
467
|
)}
|
|
468
468
|
</div>
|
|
469
469
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-block.d.ts","sourceRoot":"","sources":["../../../../src/blocks/map-block/map-block.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAWvC,MAAM,WAAW,SAAS;IACxB,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,GAAG,EAAE,OAAO,SAAS,EAAE,GAAG,CAAC;IAC3B,8CAA8C;IAC9C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,qCAAqC;IACrC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,iCAAiC;IACjC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,gDAAgD;IAChD,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,uDAAuD;IACvD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,qEAAqE;IACrE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,iDAAiD;IACjD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"map-block.d.ts","sourceRoot":"","sources":["../../../../src/blocks/map-block/map-block.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAWvC,MAAM,WAAW,SAAS;IACxB,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,GAAG,EAAE,OAAO,SAAS,EAAE,GAAG,CAAC;IAC3B,8CAA8C;IAC9C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,qCAAqC;IACrC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,iCAAiC;IACjC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,gDAAgD;IAChD,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,uDAAuD;IACvD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,qEAAqE;IACrE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,iDAAiD;IACjD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AA6BD,wBAAgB,QAAQ,CAAC,EACvB,MAAuB,EACvB,IAAS,EACT,OAAyE,EACzE,WAAW,EACX,OAAyB,EACzB,OAA0B,EAC1B,MAAM,EACN,cAAc,EACd,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,EACP,SAAS,EACT,MAAe,GAChB,EAAE,QAAQ,2CAwWV"}
|
|
@@ -144,13 +144,17 @@ function resolveColor(category?: string, override?: string): string {
|
|
|
144
144
|
// Named MapBlock internally to avoid conflict with the JS global Map object.
|
|
145
145
|
// Exported as `Map` via the index.ts alias so `bun sf add Map` works.
|
|
146
146
|
|
|
147
|
+
const DEFAULT_CENTER: [number, number] = [38.9, -77.03];
|
|
148
|
+
const DEFAULT_MARKERS: MapMarker[] = [];
|
|
149
|
+
const DEFAULT_H3_CELLS: MapH3Cell[] = [];
|
|
150
|
+
|
|
147
151
|
export function MapBlock({
|
|
148
|
-
center =
|
|
152
|
+
center = DEFAULT_CENTER,
|
|
149
153
|
zoom = 12,
|
|
150
154
|
tileUrl = "https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png",
|
|
151
155
|
tileOptions,
|
|
152
|
-
markers =
|
|
153
|
-
h3Cells =
|
|
156
|
+
markers = DEFAULT_MARKERS,
|
|
157
|
+
h3Cells = DEFAULT_H3_CELLS,
|
|
154
158
|
legend,
|
|
155
159
|
onLegendFilter,
|
|
156
160
|
filters,
|
|
@@ -392,11 +396,11 @@ export function MapBlock({
|
|
|
392
396
|
/>
|
|
393
397
|
|
|
394
398
|
{/* Loading state — shown until Leaflet initializes */}
|
|
395
|
-
{
|
|
399
|
+
{ready ? null : (
|
|
396
400
|
<div className="absolute inset-0 z-[1001] flex items-center justify-center bg-sf-base/80 backdrop-blur-sm">
|
|
397
401
|
<Loader />
|
|
398
402
|
</div>
|
|
399
|
-
)
|
|
403
|
+
)}
|
|
400
404
|
|
|
401
405
|
{/* ── Zoom controls — top right ── */}
|
|
402
406
|
{ready ? (
|
|
@@ -500,9 +504,9 @@ export function MapBlock({
|
|
|
500
504
|
{/* Label */}
|
|
501
505
|
<span className="flex-1 font-mono">{item.label}</span>
|
|
502
506
|
{/* Count badge */}
|
|
503
|
-
{item.count
|
|
507
|
+
{item.count === undefined ? null : (
|
|
504
508
|
<Badge variant="secondary">{item.count}</Badge>
|
|
505
|
-
)
|
|
509
|
+
)}
|
|
506
510
|
</button>
|
|
507
511
|
);
|
|
508
512
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-approval.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-approval/ai-approval.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQpE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;CAU1B,CAAC;AAEX,eAAO,MAAM,+BAA+B;;;CAGlC,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,uBAAuB,CAAC,IAAI,CAAC;AACzE,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,uBAAuB,CAAC,MAAM,CAAC;AAI7E,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5E,yFAAyF;IACzF,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AA8BF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAa,EACb,MAAkB,EAClB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,YAAwB,EACxB,WAAsB,EACtB,YAAoB,EACpB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"ai-approval.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-approval/ai-approval.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQpE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;CAU1B,CAAC;AAEX,eAAO,MAAM,+BAA+B;;;CAGlC,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,uBAAuB,CAAC,IAAI,CAAC;AACzE,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,uBAAuB,CAAC,MAAM,CAAC;AAI7E,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5E,yFAAyF;IACzF,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AA8BF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAa,EACb,MAAkB,EAClB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,YAAwB,EACxB,WAAsB,EACtB,YAAoB,EACpB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,2CAuGjB;yBAtHe,UAAU"}
|
|
@@ -12,19 +12,20 @@ export type AiCodeBlockProps = HTMLAttributes<HTMLDivElement> & {
|
|
|
12
12
|
/** Extra content rendered in the top-right overlay (e.g. copy button). */
|
|
13
13
|
children?: ReactNode;
|
|
14
14
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
export declare const AiCodeBlock: import('react').NamedExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
16
|
+
/** The raw code string to display and make copyable. */
|
|
17
|
+
code: string;
|
|
18
|
+
/** Language identifier for syntax highlighting (display only, no highlighting applied). */
|
|
19
|
+
language?: string;
|
|
20
|
+
/** Show line numbers. @default false */
|
|
21
|
+
showLineNumbers?: boolean;
|
|
22
|
+
/** Extra content rendered in the top-right overlay (e.g. copy button). */
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
}> & {
|
|
25
|
+
readonly type: ({ code, language, showLineNumbers, className, children, ...props }: AiCodeBlockProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
} & {
|
|
27
|
+
CopyButton: typeof AiCodeBlockCopyButton;
|
|
28
|
+
};
|
|
28
29
|
export type AiCodeBlockCopyButtonProps = ComponentProps<typeof Button> & {
|
|
29
30
|
/** Called after a successful copy. */
|
|
30
31
|
onCopy?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-code-block.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-code-block/ai-code-block.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,eAAO,MAAM,yBAAyB,IAAc,CAAC;AACrD,eAAO,MAAM,iCAAiC,IAAc,CAAC;AAY7D,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC9D,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-code-block.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-code-block/ai-code-block.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,eAAO,MAAM,yBAAyB,IAAc,CAAC;AACrD,eAAO,MAAM,iCAAiC,IAAc,CAAC;AAY7D,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC9D,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAuFF,eAAO,MAAM,WAAW;IA/FtB,wDAAwD;UAClD,MAAM;IACZ,2FAA2F;eAChF,MAAM;IACjB,wCAAwC;sBACtB,OAAO;IACzB,0EAA0E;eAC/D,SAAS;;wFAuBjB,gBAAgB;;;CAmEnB,CAAC;AAIH,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACvE,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,OAAO,EACP,OAAc,EACd,QAAQ,EACR,SAAS,EACT,IAAW,EACX,OAAiB,EACjB,GAAG,KAAK,EACT,EAAE,0BAA0B,2CA8B5B"}
|