@signalflare-ai/ui 0.5.0 → 1.0.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 +117 -1
- package/ai/USAGE.md +64 -0
- package/ai/component-registry.json +492 -618
- package/ai/component-registry.md +167 -85
- package/ai/schemas.ts +545 -102
- package/bin/sf.js +2 -3
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +1659 -5532
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/{ai-actions-DG1dhDMP.js → ai-actions-DSVeQn4e.js} +1 -1
- package/dist/{ai-actions-DG1dhDMP.js.map → ai-actions-DSVeQn4e.js.map} +1 -1
- package/dist/{ai-agent-card-BbtL4NII.js → ai-agent-card-BXHwhWAU.js} +1 -1
- package/dist/{ai-agent-card-BbtL4NII.js.map → ai-agent-card-BXHwhWAU.js.map} +1 -1
- package/dist/{ai-approval-Mb7-BY6i.js → ai-approval-aa0qvjFN.js} +1 -1
- package/dist/{ai-approval-Mb7-BY6i.js.map → ai-approval-aa0qvjFN.js.map} +1 -1
- package/dist/{ai-code-block-BI_z0UVR.js → ai-code-block-BgtIxtZZ.js} +1 -1
- package/dist/{ai-code-block-BI_z0UVR.js.map → ai-code-block-BgtIxtZZ.js.map} +1 -1
- package/dist/{ai-conversation-DYtExcrw.js → ai-conversation-CArP7C8K.js} +1 -1
- package/dist/{ai-conversation-DYtExcrw.js.map → ai-conversation-CArP7C8K.js.map} +1 -1
- package/dist/{ai-info-banner-BpzauUAY.js → ai-info-banner-uFxHHwBA.js} +1 -1
- package/dist/{ai-info-banner-BpzauUAY.js.map → ai-info-banner-uFxHHwBA.js.map} +1 -1
- package/dist/{ai-message-CV8SBoHM.js → ai-message-BjnFznXy.js} +1 -1
- package/dist/{ai-message-CV8SBoHM.js.map → ai-message-BjnFznXy.js.map} +1 -1
- package/dist/{ai-mission-header-ByYkJ6YP.js → ai-mission-header-08__gULL.js} +1 -1
- package/dist/{ai-mission-header-ByYkJ6YP.js.map → ai-mission-header-08__gULL.js.map} +1 -1
- package/dist/ai-part-group-DBtgTgAn.js +277 -0
- package/dist/ai-part-group-DBtgTgAn.js.map +1 -0
- package/dist/ai-prompt-input-Dy1LfxPk.js +1541 -0
- package/dist/ai-prompt-input-Dy1LfxPk.js.map +1 -0
- package/dist/{ai-question-Dp1g9k2o.js → ai-question-CHHoDJMg.js} +1 -1
- package/dist/{ai-question-Dp1g9k2o.js.map → ai-question-CHHoDJMg.js.map} +1 -1
- package/dist/{ai-reasoning-UAmNx_LD.js → ai-reasoning-CnL6ZSr5.js} +84 -5
- package/dist/ai-reasoning-CnL6ZSr5.js.map +1 -0
- package/dist/{ai-response-BWoVsNQG.js → ai-response-BEUg3xvd.js} +13 -16
- package/dist/ai-response-BEUg3xvd.js.map +1 -0
- package/dist/{ai-shimmer-BpOmfonu.js → ai-shimmer-By5_L05p.js} +1 -1
- package/dist/{ai-shimmer-BpOmfonu.js.map → ai-shimmer-By5_L05p.js.map} +1 -1
- package/dist/{ai-status-badge-WhbKVeqn.js → ai-status-badge-BGYGWYF6.js} +1 -1
- package/dist/{ai-status-badge-WhbKVeqn.js.map → ai-status-badge-BGYGWYF6.js.map} +1 -1
- package/dist/{ai-streaming-text-ClL7FwvD.js → ai-streaming-text-CMfoThV0.js} +1 -1
- package/dist/{ai-streaming-text-ClL7FwvD.js.map → ai-streaming-text-CMfoThV0.js.map} +1 -1
- package/dist/{ai-subagent-BruGN1UE.js → ai-subagent-DcPRqkAA.js} +1 -1
- package/dist/{ai-subagent-BruGN1UE.js.map → ai-subagent-DcPRqkAA.js.map} +1 -1
- package/dist/{ai-suggestion-CNsCZj5P.js → ai-suggestion-MgeCg5Ar.js} +1 -1
- package/dist/{ai-suggestion-CNsCZj5P.js.map → ai-suggestion-MgeCg5Ar.js.map} +1 -1
- package/dist/{ai-task-list-B9CpMDYN.js → ai-task-list-Da9zIm00.js} +9 -12
- package/dist/ai-task-list-Da9zIm00.js.map +1 -0
- package/dist/{ai-timeline-Bb5ntsr3.js → ai-timeline-Cwu045IR.js} +1 -1
- package/dist/ai-timeline-Cwu045IR.js.map +1 -0
- package/dist/{ai-tool-BGH8nQ_D.js → ai-tool-Cn1O4xjP.js} +168 -11
- package/dist/ai-tool-Cn1O4xjP.js.map +1 -0
- package/dist/{ai-usage-bar-BI-p-JBk.js → ai-usage-bar-DjS12DMp.js} +1 -1
- package/dist/{ai-usage-bar-BI-p-JBk.js.map → ai-usage-bar-DjS12DMp.js.map} +1 -1
- package/dist/catalog.js +3 -3
- package/dist/catalog.js.map +1 -1
- package/dist/{chart-Bes4MN3C.js → chart-BK3sVPnD.js} +442 -248
- package/dist/chart-BK3sVPnD.js.map +1 -0
- package/dist/{checkbox-CPX7lBaU.js → checkbox-DYhUmZNw.js} +4 -4
- package/dist/checkbox-DYhUmZNw.js.map +1 -0
- package/dist/{clipboard-text-92YeCybc.js → clipboard-text-ssybngLw.js} +2 -2
- package/dist/{clipboard-text-92YeCybc.js.map → clipboard-text-ssybngLw.js.map} +1 -1
- package/dist/{code-DE1Yy1Cu.js → code-Cx-QSoOT.js} +2 -2
- package/dist/{code-DE1Yy1Cu.js.map → code-Cx-QSoOT.js.map} +1 -1
- package/dist/{combobox-B0bLdsX8.js → combobox-C0iW6a0r.js} +2 -2
- package/dist/{combobox-B0bLdsX8.js.map → combobox-C0iW6a0r.js.map} +1 -1
- package/dist/command-line/cli.js +22 -27
- package/dist/{command-palette-CBTY8EiF.js → command-palette-DGzioeki.js} +2 -2
- package/dist/command-palette-DGzioeki.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 +1 -1
- 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 +3 -0
- package/dist/components/ai-prompt-input.js +2 -2
- 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 +1 -1
- 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/chart.js +3 -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/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/dropdown.js +1 -1
- package/dist/components/filters.js +1 -1
- package/dist/components/input.js +2 -2
- package/dist/components/link.js +2 -2
- package/dist/components/link.js.map +1 -1
- package/dist/components/pagination.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/sparkline.js +3 -0
- package/dist/components/stat-card.js +3 -0
- package/dist/components/table.js +1 -1
- package/dist/components/text-roll.js +3 -0
- package/dist/components/theme-toggle.js +1 -1
- package/dist/components/use-agent-harness.js +1 -1
- package/dist/{data-grid-UJ9ja5cu.js → data-grid-CG76N_hK.js} +6 -6
- package/dist/data-grid-CG76N_hK.js.map +1 -0
- package/dist/{date-picker-ebekkC3R.js → date-picker-Dqg9L4xu.js} +2 -2
- package/dist/{date-picker-ebekkC3R.js.map → date-picker-Dqg9L4xu.js.map} +1 -1
- package/dist/{dist-BNlyONdD.js → dist-1-gcEL2L.js} +224 -135
- package/dist/dist-1-gcEL2L.js.map +1 -0
- package/dist/{dropdown-J5T4pHaR.js → dropdown-qnEYRFXZ.js} +2 -2
- package/dist/{dropdown-J5T4pHaR.js.map → dropdown-qnEYRFXZ.js.map} +1 -1
- package/dist/echart-DURZEyai.js +314 -0
- package/dist/echart-DURZEyai.js.map +1 -0
- package/dist/{filters-BdBogf7D.js → filters-Bw_U6ZTx.js} +5 -5
- package/dist/filters-Bw_U6ZTx.js.map +1 -0
- package/dist/flow-BRsYUCJa.js.map +1 -1
- package/dist/genui.js +2 -2
- package/dist/genui.js.map +1 -1
- package/dist/index.js +45 -42
- package/dist/index.js.map +1 -1
- package/dist/{input-BxQAnXki.js → input-DXYUjGgD.js} +2 -2
- package/dist/{input-BxQAnXki.js.map → input-DXYUjGgD.js.map} +1 -1
- package/dist/{input-Cn25I4o5.js → input-DddtBN-g.js} +2 -2
- package/dist/{input-Cn25I4o5.js.map → input-DddtBN-g.js.map} +1 -1
- package/dist/layer-card-BME0eljh.js.map +1 -1
- package/dist/{pagination-C_YqCy8l.js → pagination-BVqdlONY.js} +2 -2
- package/dist/{pagination-C_YqCy8l.js.map → pagination-BVqdlONY.js.map} +1 -1
- package/dist/primitives/otp-field.js +2 -0
- package/dist/primitives.js +1 -0
- package/dist/{radio-B7zg1wUI.js → radio-BNSwOt3B.js} +3 -3
- package/dist/radio-BNSwOt3B.js.map +1 -0
- package/dist/{select-9p721G00.js → select-1w2aebGQ.js} +2 -2
- package/dist/select-1w2aebGQ.js.map +1 -0
- package/dist/{sensitive-input-D5je2NLl.js → sensitive-input-82Cez3vj.js} +2 -2
- package/dist/{sensitive-input-D5je2NLl.js.map → sensitive-input-82Cez3vj.js.map} +1 -1
- package/dist/{sidebar-DOwBrq57.js → sidebar-CAsCmSpM.js} +3 -3
- package/dist/sidebar-CAsCmSpM.js.map +1 -0
- package/dist/sparkline-DdbeM4Ai.js +108 -0
- package/dist/sparkline-DdbeM4Ai.js.map +1 -0
- package/dist/src/blocks/agent-harness/agent-harness.d.ts +30 -9
- package/dist/src/blocks/agent-harness/agent-harness.d.ts.map +1 -1
- package/dist/src/blocks/agent-harness/agent-harness.stories.tsx +114 -0
- package/dist/src/blocks/agent-harness/agent-harness.tsx +144 -63
- package/dist/src/blocks/commander/commander.stories.tsx +31 -0
- package/dist/src/blocks/dashboard-grid/dashboard-grid.d.ts +48 -0
- package/dist/src/blocks/dashboard-grid/dashboard-grid.d.ts.map +1 -0
- package/dist/src/blocks/dashboard-grid/dashboard-grid.stories.tsx +19 -0
- package/dist/src/blocks/dashboard-grid/dashboard-grid.tsx +110 -0
- package/dist/src/blocks/dashboard-grid/index.d.ts +2 -0
- package/dist/src/blocks/dashboard-grid/index.d.ts.map +1 -0
- package/dist/src/blocks/delete-resource/delete-resource.stories.tsx +31 -0
- package/dist/src/blocks/map-block/map-block.stories.tsx +41 -0
- package/dist/src/blocks/metrics-overview/index.d.ts +2 -0
- package/dist/src/blocks/metrics-overview/index.d.ts.map +1 -0
- package/dist/src/blocks/metrics-overview/metrics-overview.d.ts +67 -0
- package/dist/src/blocks/metrics-overview/metrics-overview.d.ts.map +1 -0
- package/dist/src/blocks/metrics-overview/metrics-overview.stories.tsx +26 -0
- package/dist/src/blocks/metrics-overview/metrics-overview.tsx +139 -0
- package/dist/src/blocks/page-header/page-header.stories.tsx +56 -0
- package/dist/src/blocks/resource-list/resource-list.stories.tsx +31 -0
- package/dist/src/catalog/catalog.d.ts +1 -1
- package/dist/src/catalog/index.d.ts +1 -1
- package/dist/src/catalog/types.d.ts +1 -1
- package/dist/src/command-line/build-cli.d.ts +1 -1
- package/dist/src/command-line/cli.d.ts +1 -1
- package/dist/src/command-line/commands/add.d.ts +1 -1
- package/dist/src/command-line/commands/add.d.ts.map +1 -1
- package/dist/src/command-line/commands/ai.d.ts.map +1 -1
- package/dist/src/command-line/commands/blocks.d.ts +1 -1
- package/dist/src/command-line/commands/blocks.d.ts.map +1 -1
- package/dist/src/command-line/commands/doc.d.ts +1 -1
- package/dist/src/command-line/commands/doc.d.ts.map +1 -1
- package/dist/src/command-line/commands/ls.d.ts +1 -1
- package/dist/src/command-line/commands/ls.d.ts.map +1 -1
- package/dist/src/command-line/commands/migrate.d.ts +3 -3
- package/dist/src/command-line/commands/migrate.d.ts.map +1 -1
- package/dist/src/command-line/utils/config.d.ts +1 -1
- package/dist/src/command-line/utils/transformer.d.ts +1 -1
- package/dist/src/components/ai-part-group/ai-part-group.d.ts +134 -0
- package/dist/src/components/ai-part-group/ai-part-group.d.ts.map +1 -0
- package/dist/src/components/ai-part-group/index.d.ts +2 -0
- package/dist/src/components/ai-part-group/index.d.ts.map +1 -0
- package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts +196 -7
- 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 +41 -0
- package/dist/src/components/ai-prompt-input/controller.d.ts.map +1 -0
- package/dist/src/components/ai-prompt-input/index.d.ts +3 -1
- package/dist/src/components/ai-prompt-input/index.d.ts.map +1 -1
- package/dist/src/components/ai-prompt-input/types.d.ts +86 -0
- package/dist/src/components/ai-prompt-input/types.d.ts.map +1 -0
- package/dist/src/components/ai-reasoning/ai-reasoning.d.ts +17 -1
- package/dist/src/components/ai-reasoning/ai-reasoning.d.ts.map +1 -1
- package/dist/src/components/ai-response/ai-response.d.ts +1 -2
- package/dist/src/components/ai-response/ai-response.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 +17 -1
- package/dist/src/components/ai-tool/ai-tool.d.ts.map +1 -1
- package/dist/src/components/chart/area-chart.d.ts +69 -0
- package/dist/src/components/chart/area-chart.d.ts.map +1 -0
- package/dist/src/components/chart/bar-chart.d.ts +60 -0
- package/dist/src/components/chart/bar-chart.d.ts.map +1 -0
- package/dist/src/components/chart/color.d.ts +56 -0
- package/dist/src/components/chart/color.d.ts.map +1 -1
- package/dist/src/components/chart/echart.d.ts.map +1 -1
- package/dist/src/components/chart/index.d.ts +5 -0
- package/dist/src/components/chart/index.d.ts.map +1 -1
- package/dist/src/components/chart/pie-chart.d.ts +64 -0
- package/dist/src/components/chart/pie-chart.d.ts.map +1 -0
- package/dist/src/components/chart/scatter-chart.d.ts +57 -0
- package/dist/src/components/chart/scatter-chart.d.ts.map +1 -0
- package/dist/src/components/chart/stacked-bar-chart.d.ts +59 -0
- package/dist/src/components/chart/stacked-bar-chart.d.ts.map +1 -0
- package/dist/src/components/chart/timeseries-chart.d.ts.map +1 -1
- package/dist/src/components/code/code.d.ts +1 -1
- package/dist/src/components/command-palette/command-palette.d.ts +1 -1
- package/dist/src/components/data-grid/data-grid.d.ts.map +1 -1
- package/dist/src/components/data-grid/index.d.ts +1 -1
- package/dist/src/components/data-grid/index.d.ts.map +1 -1
- package/dist/src/components/data-grid/types.d.ts.map +1 -1
- package/dist/src/components/date-picker/date-picker.d.ts +2 -2
- package/dist/src/components/filters/filters.d.ts.map +1 -1
- package/dist/src/components/filters/helpers.d.ts.map +1 -1
- package/dist/src/components/filters/types.d.ts.map +1 -1
- package/dist/src/components/layer-card/layer-card.d.ts +1 -1
- package/dist/src/components/link/link.d.ts +2 -2
- package/dist/src/components/radio/radio.d.ts +1 -1
- package/dist/src/components/select/select.d.ts +1 -1
- package/dist/src/components/sidebar/sidebar.d.ts +2 -2
- package/dist/src/components/sparkline/index.d.ts +2 -0
- package/dist/src/components/sparkline/index.d.ts.map +1 -0
- package/dist/src/components/sparkline/sparkline.d.ts +52 -0
- package/dist/src/components/sparkline/sparkline.d.ts.map +1 -0
- package/dist/src/components/stat-card/index.d.ts +2 -0
- package/dist/src/components/{ai-loader → stat-card}/index.d.ts.map +1 -1
- package/dist/src/components/stat-card/stat-card.d.ts +80 -0
- package/dist/src/components/stat-card/stat-card.d.ts.map +1 -0
- package/dist/src/components/text-roll/index.d.ts +2 -0
- package/dist/src/components/text-roll/index.d.ts.map +1 -0
- package/dist/src/components/text-roll/text-roll.d.ts +49 -0
- package/dist/src/components/text-roll/text-roll.d.ts.map +1 -0
- package/dist/src/components/toast/toast.d.ts.map +1 -1
- package/dist/src/components/use-agent-harness/use-agent-harness.d.ts +2 -2
- package/dist/src/genui/genui.d.ts.map +1 -1
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/primitives/index.d.ts +1 -0
- package/dist/src/primitives/index.d.ts.map +1 -1
- package/dist/src/primitives/otp-field.d.ts +13 -0
- package/dist/src/primitives/otp-field.d.ts.map +1 -0
- package/dist/src/registry/index.d.ts +1 -1
- package/dist/src/registry/types.d.ts +1 -1
- package/dist/stat-card-CEZscNh8.js +103 -0
- package/dist/stat-card-CEZscNh8.js.map +1 -0
- package/dist/styles/sf-binding.css +20 -62
- package/dist/styles/sf-standalone.css +2 -2
- package/dist/styles/shadcn.css +120 -0
- package/dist/styles/theme-blue-tint.css +98 -0
- package/dist/styles/theme-fedramp.css +3 -12
- package/dist/styles/theme-minimal.css +26 -104
- package/dist/styles/theme-sf.css +96 -114
- package/dist/{table-CIMx0Oq0.js → table-Rv4JMy0B.js} +2 -2
- package/dist/{table-CIMx0Oq0.js.map → table-Rv4JMy0B.js.map} +1 -1
- package/dist/text-roll-BZ3I1umc.js +79 -0
- package/dist/text-roll-BZ3I1umc.js.map +1 -0
- package/dist/{theme-toggle-Dpgnoj_Q.js → theme-toggle-Bhu681D7.js} +1 -1
- package/dist/{theme-toggle-Dpgnoj_Q.js.map → theme-toggle-Bhu681D7.js.map} +1 -1
- package/dist/{use-agent-harness-DZzcn96L.js → use-agent-harness-BMyF8pTq.js} +5 -5
- package/dist/use-agent-harness-BMyF8pTq.js.map +1 -0
- package/package.json +48 -19
- package/scripts/component-registry/discovery.ts +2 -2
- package/scripts/component-registry/index.ts +1 -1
- package/scripts/component-registry/props-filter.ts +1 -1
- package/scripts/component-registry/utils.ts +5 -5
- package/scripts/component-registry/variant-parser.ts +124 -19
- package/scripts/convert-demos-to-stories.ts +253 -0
- package/scripts/css-build.ts +4 -3
- package/scripts/generate-primitives.ts +11 -3
- package/scripts/theme-generator/config.ts +339 -71
- package/scripts/theme-generator/generate-css.ts +17 -3
- package/scripts/theme-generator/index.ts +3 -3
- package/scripts/theme-generator/migrate.ts +1 -1
- package/dist/ai-loader-Cr3eQkNS.js +0 -134
- package/dist/ai-loader-Cr3eQkNS.js.map +0 -1
- package/dist/ai-prompt-input-Bo1YuJly.js +0 -769
- package/dist/ai-prompt-input-Bo1YuJly.js.map +0 -1
- package/dist/ai-reasoning-UAmNx_LD.js.map +0 -1
- package/dist/ai-response-BWoVsNQG.js.map +0 -1
- package/dist/ai-task-list-B9CpMDYN.js.map +0 -1
- package/dist/ai-timeline-Bb5ntsr3.js.map +0 -1
- package/dist/ai-tool-BGH8nQ_D.js.map +0 -1
- package/dist/chart-Bes4MN3C.js.map +0 -1
- package/dist/checkbox-CPX7lBaU.js.map +0 -1
- package/dist/command-palette-CBTY8EiF.js.map +0 -1
- package/dist/components/ai-loader.js +0 -3
- package/dist/data-grid-UJ9ja5cu.js.map +0 -1
- package/dist/dist-BNlyONdD.js.map +0 -1
- package/dist/filters-BdBogf7D.js.map +0 -1
- package/dist/radio-B7zg1wUI.js.map +0 -1
- package/dist/select-9p721G00.js.map +0 -1
- package/dist/sidebar-DOwBrq57.js.map +0 -1
- package/dist/src/components/ai-loader/ai-loader.d.ts +0 -44
- package/dist/src/components/ai-loader/ai-loader.d.ts.map +0 -1
- package/dist/src/components/ai-loader/index.d.ts +0 -2
- package/dist/styles/theme-navigator.css +0 -137
- package/dist/use-agent-harness-DZzcn96L.js.map +0 -1
package/ai/component-registry.md
CHANGED
|
@@ -30,7 +30,7 @@ Container for a row of AI message action buttons.
|
|
|
30
30
|
|
|
31
31
|
### AiAgentCard
|
|
32
32
|
|
|
33
|
-
`AiAgentCard` — compact card showing one agent's status in a commander dashboard.
|
|
33
|
+
`AiAgentCard` — compact card showing one agent's status in a commander dashboard. Displays: agent icon, name, status indicator, current task, model, duration, and tool call count. Clickable for selection.
|
|
34
34
|
|
|
35
35
|
**Type:** component
|
|
36
36
|
|
|
@@ -79,7 +79,7 @@ Container for a row of AI message action buttons.
|
|
|
79
79
|
|
|
80
80
|
### AiApproval
|
|
81
81
|
|
|
82
|
-
Approval card for tool calls and plan submissions.
|
|
82
|
+
Approval card for tool calls and plan submissions. Maps to harness events: `tool_approval_required`, `plan_approval_required`, `plan_approved`.
|
|
83
83
|
|
|
84
84
|
**Type:** component
|
|
85
85
|
|
|
@@ -173,7 +173,7 @@ Outer scroll container for a conversation. Sticks to the bottom as new messages
|
|
|
173
173
|
|
|
174
174
|
### AiInfoBanner
|
|
175
175
|
|
|
176
|
-
Inline conversation banner for system notices. Renders as a compact, horizontally centered divider-like notice rather than a chat bubble.
|
|
176
|
+
Inline conversation banner for system notices. Renders as a compact, horizontally centered divider-like notice rather than a chat bubble. Maps to harness events: `error`, `info`, `mode_changed`, `model_changed`.
|
|
177
177
|
|
|
178
178
|
**Type:** component
|
|
179
179
|
|
|
@@ -201,34 +201,6 @@ Inline conversation banner for system notices. Renders as a compact, horizontall
|
|
|
201
201
|
|
|
202
202
|
---
|
|
203
203
|
|
|
204
|
-
### AiLoader
|
|
205
|
-
|
|
206
|
-
Spinning radial loader for AI streaming states.
|
|
207
|
-
|
|
208
|
-
**Type:** component
|
|
209
|
-
|
|
210
|
-
**Import:** `import { AiLoader } from "@signalflare-ai/ui";`
|
|
211
|
-
|
|
212
|
-
**Category:** Other
|
|
213
|
-
|
|
214
|
-
**Props:**
|
|
215
|
-
|
|
216
|
-
- `children`: ReactNode
|
|
217
|
-
- `className`: string
|
|
218
|
-
- `id`: string
|
|
219
|
-
- `lang`: string
|
|
220
|
-
- `title`: string
|
|
221
|
-
- `size`: enum [default: base]
|
|
222
|
-
- `"sm"`: Small — 12px
|
|
223
|
-
- `"base"`: Default — 16px
|
|
224
|
-
- `"lg"`: Large — 20px
|
|
225
|
-
|
|
226
|
-
**Colors (sf tokens used):**
|
|
227
|
-
|
|
228
|
-
`text-sf-subtle`
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
204
|
### AiMessage
|
|
233
205
|
|
|
234
206
|
Root message container. Sets layout, group class, and role context.
|
|
@@ -259,7 +231,7 @@ Root message container. Sets layout, group class, and role context.
|
|
|
259
231
|
|
|
260
232
|
### AiMissionHeader
|
|
261
233
|
|
|
262
|
-
`AiMissionHeader` — top bar for the Commander dashboard.
|
|
234
|
+
`AiMissionHeader` — top bar for the Commander dashboard. Shows: mission title, progress bar (from task list), agent count, live elapsed time, token usage, and an abort button while running.
|
|
263
235
|
|
|
264
236
|
**Type:** component
|
|
265
237
|
|
|
@@ -299,9 +271,38 @@ Root message container. Sets layout, group class, and role context.
|
|
|
299
271
|
|
|
300
272
|
---
|
|
301
273
|
|
|
274
|
+
### AiPartGroup
|
|
275
|
+
|
|
276
|
+
Groups streaming ephemeral activity (tool calls + reasoning) into a single rolling window during streaming, then collapses to a frozen summary line once the parent message completes. Behavior: - **Streaming:** shows the most recent `max` (default 3) ephemeral children. Pinned rows (errors / user-expanded) sit above the live window. - **Completed:** writes a snapshot keyed by `groupKey`, unmounts ephemeral children entirely, and renders a static `▸ {title} · N steps` line. - **Re-mount after completion:** always renders the cached snapshot — no animations, no `useEffect` re-runs, no tool re-execution risk.
|
|
277
|
+
|
|
278
|
+
**Type:** component
|
|
279
|
+
|
|
280
|
+
**Import:** `import { AiPartGroup } from "@signalflare-ai/ui";`
|
|
281
|
+
|
|
282
|
+
**Category:** Other
|
|
283
|
+
|
|
284
|
+
**Props:**
|
|
285
|
+
|
|
286
|
+
- `groupKey`: string (required)
|
|
287
|
+
Stable identifier — usually the parent message id. Required so the group can persist its frozen snapshot across re-mounts (scroll-back into a virtualized list re-renders without restarting animations).
|
|
288
|
+
- `complete`: boolean
|
|
289
|
+
Set to `true` once the parent stream has finished. Triggers the group to snapshot its current children and from then on render only the static collapsed summary — ephemeral children never re-mount.
|
|
290
|
+
- `title`: string
|
|
291
|
+
Title shown in the collapsed summary line. Falls back to the first reasoning text snippet, then to a step count.
|
|
292
|
+
- `children`: ReactNode
|
|
293
|
+
- `className`: string
|
|
294
|
+
- `id`: string
|
|
295
|
+
- `lang`: string
|
|
296
|
+
|
|
297
|
+
**Colors (sf tokens used):**
|
|
298
|
+
|
|
299
|
+
`bg-sf-tint`, `border-sf-line`, `text-sf-danger`, `text-sf-default`, `text-sf-subtle`, `text-sf-success`
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
302
303
|
### AiQuestion
|
|
303
304
|
|
|
304
|
-
Agent question card. Renders when the agent uses the `ask_user` built-in tool and needs a response before continuing.
|
|
305
|
+
Agent question card. Renders when the agent uses the `ask_user` built-in tool and needs a response before continuing. Maps to harness event: `ask_question`.
|
|
305
306
|
|
|
306
307
|
**Type:** component
|
|
307
308
|
|
|
@@ -355,6 +356,7 @@ Collapsible reasoning block. Supports three display variants: - `"default"` —
|
|
|
355
356
|
- `"default"`: Expandable card with collapsible reasoning text and duration
|
|
356
357
|
- `"inline"`: Compact single-line display with left accent border
|
|
357
358
|
- `"minimal"`: Pill-shaped status badge
|
|
359
|
+
- `"ephemeral"`: Single-status row that auto-dismisses after streaming ends. Persists when the user expands it.
|
|
358
360
|
- `isStreaming`: boolean
|
|
359
361
|
Whether reasoning is currently streaming.
|
|
360
362
|
- `duration`: number
|
|
@@ -371,6 +373,10 @@ Collapsible reasoning block. Supports three display variants: - `"default"` —
|
|
|
371
373
|
Custom label override. Defaults to `"Thinking..."` (streaming) or `"Reasoning"` (done). Use to label observational memory blocks: `"Observing..."`, `"Reflecting..."`, etc.
|
|
372
374
|
- `streamingLabel`: string
|
|
373
375
|
Custom streaming label. When provided, used instead of `label` while `isStreaming` is true. Falls back to `label`, then to the default `"Thinking..."`.
|
|
376
|
+
- `dismissDelay`: number
|
|
377
|
+
For `variant="ephemeral"`: ms to keep the completed row visible before fading out. Set to `0` to disable auto-dismiss.
|
|
378
|
+
- `persist`: boolean
|
|
379
|
+
For `variant="ephemeral"`: when `true`, the row never auto-dismisses. User-expanded rows are pinned automatically.
|
|
374
380
|
- `className`: string
|
|
375
381
|
- `id`: string
|
|
376
382
|
- `lang`: string
|
|
@@ -379,13 +385,13 @@ Collapsible reasoning block. Supports three display variants: - `"default"` —
|
|
|
379
385
|
|
|
380
386
|
**Colors (sf tokens used):**
|
|
381
387
|
|
|
382
|
-
`bg-sf-tint`, `border-sf-line`, `text-sf-subtle`
|
|
388
|
+
`bg-sf-tint`, `border-sf-line`, `text-sf-subtle`, `text-sf-success`
|
|
383
389
|
|
|
384
390
|
---
|
|
385
391
|
|
|
386
392
|
### AiResponse
|
|
387
393
|
|
|
388
|
-
Renders AI-generated markdown using Streamdown. Supports streaming animation, syntax-highlighted code, tables, and more.
|
|
394
|
+
Renders AI-generated markdown using Streamdown. Supports streaming animation, syntax-highlighted code, tables, and more. Pass `isAnimating={true}` while streaming and `false` once complete to get character-by-character reveal animation.
|
|
389
395
|
|
|
390
396
|
**Type:** component
|
|
391
397
|
|
|
@@ -487,7 +493,7 @@ AiStreamingText component
|
|
|
487
493
|
|
|
488
494
|
### AiSubagent
|
|
489
495
|
|
|
490
|
-
Collapsible wrapper for nested subagent activity. Shows the subagent name, status, model, and duration in a header, with all subagent output (text, tool calls, etc.) in a collapsible body.
|
|
496
|
+
Collapsible wrapper for nested subagent activity. Shows the subagent name, status, model, and duration in a header, with all subagent output (text, tool calls, etc.) in a collapsible body. Maps to harness events: `subagent_start`, `subagent_text_delta`, `subagent_tool_start`, `subagent_tool_end`, `subagent_end`, `subagent_model_changed`.
|
|
491
497
|
|
|
492
498
|
**Type:** component
|
|
493
499
|
|
|
@@ -549,7 +555,7 @@ Horizontally scrollable container for suggestion pills. Position it relative to
|
|
|
549
555
|
|
|
550
556
|
### AiTaskList
|
|
551
557
|
|
|
552
|
-
Task progress list. Renders structured tasks from the harness `task_write` tool. Typically rendered inside the `PromptInputBackLayer` or inline in conversation.
|
|
558
|
+
Task progress list. Renders structured tasks from the harness `task_write` tool. Typically rendered inside the `PromptInputBackLayer` or inline in conversation. Maps to harness event: `task_updated`.
|
|
553
559
|
|
|
554
560
|
**Type:** component
|
|
555
561
|
|
|
@@ -574,13 +580,13 @@ Task progress list. Renders structured tasks from the harness `task_write` tool.
|
|
|
574
580
|
|
|
575
581
|
**Colors (sf tokens used):**
|
|
576
582
|
|
|
577
|
-
`bg-sf-brand`, `bg-sf-danger`, `bg-sf-subtle`, `bg-sf-
|
|
583
|
+
`bg-sf-brand`, `bg-sf-danger`, `bg-sf-subtle`, `bg-sf-success`, `bg-sf-tint`, `bg-sf-warning`, `text-sf-default`, `text-sf-subtle`
|
|
578
584
|
|
|
579
585
|
---
|
|
580
586
|
|
|
581
587
|
### AiTimeline
|
|
582
588
|
|
|
583
|
-
`AiTimeline` — horizontal swim-lane timeline for commander-level orchestration.
|
|
589
|
+
`AiTimeline` — horizontal swim-lane timeline for commander-level orchestration. Displays multiple `AiTimelineLane` children on a shared time axis. Supports live updating (a "now" marker follows the live edge), panning, and zoom via `pixelsPerSecond`.
|
|
584
590
|
|
|
585
591
|
**Type:** component
|
|
586
592
|
|
|
@@ -630,6 +636,7 @@ Renders a single tool call. Supports three display variants: - `"default"` — e
|
|
|
630
636
|
- `"default"`: Expandable card with collapsible input/output sections
|
|
631
637
|
- `"inline"`: Compact single-line display with left accent border
|
|
632
638
|
- `"minimal"`: Pill-shaped status badge
|
|
639
|
+
- `"ephemeral"`: Single-status row that auto-dismisses after the call completes. Persists on error or when the user expands it.
|
|
633
640
|
- `duration`: number
|
|
634
641
|
Duration in milliseconds.
|
|
635
642
|
- `summary`: string
|
|
@@ -640,6 +647,10 @@ Renders a single tool call. Supports three display variants: - `"default"` — e
|
|
|
640
647
|
Approval state for tools requiring confirmation.
|
|
641
648
|
- `defaultExpanded`: boolean
|
|
642
649
|
Default expanded state for the collapsible.
|
|
650
|
+
- `dismissDelay`: number
|
|
651
|
+
For `variant="ephemeral"`: ms to keep the completed row visible before fading out. Set to `0` to disable auto-dismiss.
|
|
652
|
+
- `persist`: boolean
|
|
653
|
+
For `variant="ephemeral"`: when `true`, the row never auto-dismisses. Errors and user-expanded rows are pinned automatically.
|
|
643
654
|
- `className`: string
|
|
644
655
|
- `id`: string
|
|
645
656
|
- `lang`: string
|
|
@@ -648,13 +659,13 @@ Renders a single tool call. Supports three display variants: - `"default"` — e
|
|
|
648
659
|
|
|
649
660
|
**Colors (sf tokens used):**
|
|
650
661
|
|
|
651
|
-
`bg-sf-brand`, `bg-sf-danger`, `bg-sf-line`, `bg-sf-recessed`, `bg-sf-success`, `bg-sf-tint`, `bg-sf-warning`, `border-sf-elevated`, `border-sf-line`, `text-sf-brand`, `text-sf-danger`, `text-sf-subtle`, `text-sf-success`, `text-sf-warning`
|
|
662
|
+
`bg-sf-brand`, `bg-sf-danger`, `bg-sf-line`, `bg-sf-recessed`, `bg-sf-subtle`, `bg-sf-success`, `bg-sf-tint`, `bg-sf-warning`, `border-sf-elevated`, `border-sf-line`, `text-sf-brand`, `text-sf-danger`, `text-sf-subtle`, `text-sf-success`, `text-sf-warning`
|
|
652
663
|
|
|
653
664
|
---
|
|
654
665
|
|
|
655
666
|
### AiUsageBar
|
|
656
667
|
|
|
657
|
-
Compact token usage display bar. Shows input/output token counts, total, optional cost, and model identifier.
|
|
668
|
+
Compact token usage display bar. Shows input/output token counts, total, optional cost, and model identifier. Maps to harness event: `usage_update`.
|
|
658
669
|
|
|
659
670
|
**Type:** component
|
|
660
671
|
|
|
@@ -794,6 +805,7 @@ This is a compound component. Use these sub-components:
|
|
|
794
805
|
Link sub-component
|
|
795
806
|
|
|
796
807
|
Props:
|
|
808
|
+
|
|
797
809
|
- `href`: string (required)
|
|
798
810
|
- `icon`: React.ReactNode
|
|
799
811
|
|
|
@@ -802,6 +814,7 @@ Props:
|
|
|
802
814
|
Current sub-component
|
|
803
815
|
|
|
804
816
|
Props:
|
|
817
|
+
|
|
805
818
|
- `loading`: boolean
|
|
806
819
|
- `icon`: React.ReactNode
|
|
807
820
|
|
|
@@ -814,8 +827,8 @@ Separator sub-component
|
|
|
814
827
|
Clipboard sub-component
|
|
815
828
|
|
|
816
829
|
Props:
|
|
817
|
-
- `text`: string (required)
|
|
818
830
|
|
|
831
|
+
- `text`: string (required)
|
|
819
832
|
|
|
820
833
|
---
|
|
821
834
|
|
|
@@ -865,6 +878,7 @@ Primary action trigger. Supports multiple variants, sizes, shapes, icons, and lo
|
|
|
865
878
|
- `not-disabled`: `not-disabled:hover:border-secondary! not-disabled:hover:bg-sf-control`
|
|
866
879
|
- `disabled`: `disabled:bg-sf-control/50 disabled:!text-sf-danger/70`
|
|
867
880
|
- `data-state`: `data-[state=open]:bg-sf-control`
|
|
881
|
+
|
|
868
882
|
- `children`: ReactNode
|
|
869
883
|
- `className`: string
|
|
870
884
|
- `icon`: ReactNode
|
|
@@ -905,6 +919,7 @@ Checkbox component
|
|
|
905
919
|
- `"default"`:
|
|
906
920
|
- `focus`: `[&:focus-within>span]:ring-sf-ring`
|
|
907
921
|
- `hover`: `[&:hover>span]:ring-sf-ring`
|
|
922
|
+
|
|
908
923
|
- `label`: ReactNode
|
|
909
924
|
Label content for the checkbox (enables built-in Field wrapper) - can be a string or any React node
|
|
910
925
|
- `labelTooltip`: ReactNode
|
|
@@ -928,7 +943,7 @@ Checkbox component
|
|
|
928
943
|
|
|
929
944
|
**Colors (sf tokens used):**
|
|
930
945
|
|
|
931
|
-
`bg-sf-base`, `bg-sf-contrast`, `border-sf-line`, `ring-sf-contrast`, `ring-sf-danger`, `ring-sf-
|
|
946
|
+
`bg-sf-base`, `bg-sf-contrast`, `border-sf-line`, `ring-sf-contrast`, `ring-sf-danger`, `ring-sf-interact`, `ring-sf-ring`, `text-sf-danger`, `text-sf-default`, `text-sf-inverse`, `text-sf-subtle`
|
|
932
947
|
|
|
933
948
|
**Styling:**
|
|
934
949
|
|
|
@@ -959,6 +974,7 @@ Item sub-component
|
|
|
959
974
|
Group sub-component
|
|
960
975
|
|
|
961
976
|
Props:
|
|
977
|
+
|
|
962
978
|
- `legend`: string (required)
|
|
963
979
|
- `children`: ReactNode (required)
|
|
964
980
|
- `error`: string
|
|
@@ -969,7 +985,6 @@ Props:
|
|
|
969
985
|
- `controlFirst`: boolean
|
|
970
986
|
- `className`: string
|
|
971
987
|
|
|
972
|
-
|
|
973
988
|
---
|
|
974
989
|
|
|
975
990
|
### ClipboardText
|
|
@@ -1080,9 +1095,6 @@ Code component
|
|
|
1080
1095
|
|
|
1081
1096
|
**Styling:**
|
|
1082
1097
|
|
|
1083
|
-
- **Dimensions:** `[object Object]`
|
|
1084
|
-
- **Base Tokens:** `text-sf-default`
|
|
1085
|
-
|
|
1086
1098
|
**Sub-Components:**
|
|
1087
1099
|
|
|
1088
1100
|
This is a compound component. Use these sub-components:
|
|
@@ -1092,15 +1104,15 @@ This is a compound component. Use these sub-components:
|
|
|
1092
1104
|
Block sub-component
|
|
1093
1105
|
|
|
1094
1106
|
Props:
|
|
1107
|
+
|
|
1095
1108
|
- `code`: string (required)
|
|
1096
1109
|
- `lang`: CodeLang
|
|
1097
1110
|
|
|
1098
|
-
|
|
1099
1111
|
---
|
|
1100
1112
|
|
|
1101
1113
|
### Collapsible
|
|
1102
1114
|
|
|
1103
|
-
Collapsible component for showing/hiding content.
|
|
1115
|
+
Collapsible component for showing/hiding content. Features: - Animated chevron indicator (rotates 180° when open) - Accessible with aria-expanded and aria-controls - Content panel with left border accent
|
|
1104
1116
|
|
|
1105
1117
|
**Type:** component
|
|
1106
1118
|
|
|
@@ -1128,7 +1140,7 @@ Collapsible component for showing/hiding content. Features: - Animated chevron
|
|
|
1128
1140
|
|
|
1129
1141
|
### Combobox
|
|
1130
1142
|
|
|
1131
|
-
Combobox — autocomplete input with filterable dropdown list.
|
|
1143
|
+
Combobox — autocomplete input with filterable dropdown list. Compound component: `Combobox` (Root), `.TriggerInput`, `.TriggerValue`, `.TriggerMultipleWithInput`, `.Content`, `.Item`, `.Chip`, `.Input`, `.Empty`, `.GroupLabel`, `.Group`, `.List`, `.Collection`.
|
|
1132
1144
|
|
|
1133
1145
|
**Type:** component
|
|
1134
1146
|
|
|
@@ -1179,6 +1191,7 @@ This is a compound component. Use these sub-components:
|
|
|
1179
1191
|
Content sub-component
|
|
1180
1192
|
|
|
1181
1193
|
Props:
|
|
1194
|
+
|
|
1182
1195
|
- `className`: string
|
|
1183
1196
|
- `align`: ComboboxBase.Positioner.Props["align"]
|
|
1184
1197
|
- `alignOffset`: ComboboxBase.Positioner.Props["alignOffset"]
|
|
@@ -1230,9 +1243,11 @@ List sub-component
|
|
|
1230
1243
|
Renders filtered list items. Use when you need more control over item rendering.
|
|
1231
1244
|
|
|
1232
1245
|
Props:
|
|
1246
|
+
|
|
1233
1247
|
- `children`: (item: T, index: number) => ReactNode (required) - Function that receives each filtered item and returns a node
|
|
1234
1248
|
|
|
1235
1249
|
Usage:
|
|
1250
|
+
|
|
1236
1251
|
```tsx
|
|
1237
1252
|
<Combobox.Collection>
|
|
1238
1253
|
{(item, index) => (
|
|
@@ -1243,12 +1258,11 @@ Usage:
|
|
|
1243
1258
|
</Combobox.Collection>
|
|
1244
1259
|
```
|
|
1245
1260
|
|
|
1246
|
-
|
|
1247
1261
|
---
|
|
1248
1262
|
|
|
1249
1263
|
### CommandPalette
|
|
1250
1264
|
|
|
1251
|
-
CommandPalette — accessible command palette / spotlight search overlay.
|
|
1265
|
+
CommandPalette — accessible command palette / spotlight search overlay. Compound component: `CommandPalette.Root` (or `.Dialog` + `.Panel`), `.Input`, `.List`, `.Results`, `.Items`, `.Group`, `.GroupLabel`, `.Item`, `.ResultItem`, `.HighlightedText`, `.Empty`, `.Loading`, `.Footer`. Built on `@base-ui/react/autocomplete` + `@base-ui/react/dialog`.
|
|
1252
1266
|
|
|
1253
1267
|
**Type:** component
|
|
1254
1268
|
|
|
@@ -1317,12 +1331,11 @@ ColumnToggle sub-component
|
|
|
1317
1331
|
|
|
1318
1332
|
Empty sub-component
|
|
1319
1333
|
|
|
1320
|
-
|
|
1321
1334
|
---
|
|
1322
1335
|
|
|
1323
1336
|
### DatePicker
|
|
1324
1337
|
|
|
1325
|
-
DatePicker — a date selection calendar.
|
|
1338
|
+
DatePicker — a date selection calendar. Built on [react-day-picker](https://daypicker.dev) with SignalFlare styling. Supports three selection modes: single, multiple, and range.
|
|
1326
1339
|
|
|
1327
1340
|
**Type:** component
|
|
1328
1341
|
|
|
@@ -1345,7 +1358,7 @@ DatePicker — a date selection calendar. Built on [react-day-picker](https://d
|
|
|
1345
1358
|
|
|
1346
1359
|
### DateRangePicker
|
|
1347
1360
|
|
|
1348
|
-
DateRangePicker — dual-calendar date range selector.
|
|
1361
|
+
DateRangePicker — dual-calendar date range selector. Renders two side-by-side month calendars with click-to-select start/end dates, hover preview of the range, a timezone footer, and a reset button.
|
|
1349
1362
|
|
|
1350
1363
|
**Type:** component
|
|
1351
1364
|
|
|
@@ -1465,12 +1478,11 @@ Description sub-component
|
|
|
1465
1478
|
|
|
1466
1479
|
Close sub-component
|
|
1467
1480
|
|
|
1468
|
-
|
|
1469
1481
|
---
|
|
1470
1482
|
|
|
1471
1483
|
### DropdownMenu
|
|
1472
1484
|
|
|
1473
|
-
DropdownMenu — accessible dropdown menu anchored to a trigger.
|
|
1485
|
+
DropdownMenu — accessible dropdown menu anchored to a trigger. Compound component: `DropdownMenu` (Root), `.Trigger`, `.Content`, `.Item`, `.CheckboxItem`, `.RadioGroup`, `.RadioItem`, `.RadioItemIndicator`, `.Sub`, `.SubTrigger`, `.SubContent`, `.Label`, `.Separator`, `.Shortcut`, `.Group`. Built on `@base-ui/react/menu`.
|
|
1474
1486
|
|
|
1475
1487
|
**Type:** component
|
|
1476
1488
|
|
|
@@ -1552,7 +1564,6 @@ Shortcut sub-component
|
|
|
1552
1564
|
|
|
1553
1565
|
Group sub-component (wraps DropdownMenuPrimitive)
|
|
1554
1566
|
|
|
1555
|
-
|
|
1556
1567
|
---
|
|
1557
1568
|
|
|
1558
1569
|
### Empty
|
|
@@ -1625,7 +1636,7 @@ Form field wrapper that provides a label, optional description, and error displa
|
|
|
1625
1636
|
|
|
1626
1637
|
### Filters
|
|
1627
1638
|
|
|
1628
|
-
Filters component for building and managing active filter conditions.
|
|
1639
|
+
Filters component for building and managing active filter conditions. Supports multiple filter types (text, select, multiselect, custom), operators, and an "Add Filter" popover interface. Designed to work standalone or with DataGrid for advanced data filtering.
|
|
1629
1640
|
|
|
1630
1641
|
**Type:** component
|
|
1631
1642
|
|
|
@@ -1758,7 +1769,7 @@ Input component
|
|
|
1758
1769
|
|
|
1759
1770
|
### Label
|
|
1760
1771
|
|
|
1761
|
-
Label component for form fields.
|
|
1772
|
+
Label component for form fields. Provides a standardized way to display labels with optional indicators: - Optional indicator: gray "(optional)" text when `showOptional={true}` - Tooltip: info icon with hover tooltip for additional context
|
|
1762
1773
|
|
|
1763
1774
|
**Type:** component
|
|
1764
1775
|
|
|
@@ -1809,7 +1820,6 @@ LayerCard component
|
|
|
1809
1820
|
|
|
1810
1821
|
**Styling:**
|
|
1811
1822
|
|
|
1812
|
-
|
|
1813
1823
|
**Sub-Components:**
|
|
1814
1824
|
|
|
1815
1825
|
This is a compound component. Use these sub-components:
|
|
@@ -1822,7 +1832,6 @@ Primary sub-component
|
|
|
1822
1832
|
|
|
1823
1833
|
Secondary sub-component
|
|
1824
1834
|
|
|
1825
|
-
|
|
1826
1835
|
---
|
|
1827
1836
|
|
|
1828
1837
|
### Link
|
|
@@ -1845,6 +1854,7 @@ Link component
|
|
|
1845
1854
|
**State Classes:**
|
|
1846
1855
|
- `"plain"`:
|
|
1847
1856
|
- `hover`: `hover:text-primary/70`
|
|
1857
|
+
|
|
1848
1858
|
- `to`: string
|
|
1849
1859
|
- `children`: ReactNode
|
|
1850
1860
|
- `className`: string
|
|
@@ -1860,7 +1870,7 @@ Link component
|
|
|
1860
1870
|
- `type`: string
|
|
1861
1871
|
- `referrerPolicy`: enum
|
|
1862
1872
|
- `render`: ReactNode
|
|
1863
|
-
Allows you to replace the component
|
|
1873
|
+
Allows you to replace the component's HTML element with a different tag, or compose it with another component.
|
|
1864
1874
|
|
|
1865
1875
|
Accepts a `ReactElement` or a function that returns the element to render.
|
|
1866
1876
|
|
|
@@ -1872,7 +1882,6 @@ This is a compound component. Use these sub-components:
|
|
|
1872
1882
|
|
|
1873
1883
|
ExternalIcon sub-component
|
|
1874
1884
|
|
|
1875
|
-
|
|
1876
1885
|
---
|
|
1877
1886
|
|
|
1878
1887
|
### Loader
|
|
@@ -1898,7 +1907,7 @@ Animated circular spinner for indicating loading states. Uses CSS keyframe anima
|
|
|
1898
1907
|
|
|
1899
1908
|
### MenuBar
|
|
1900
1909
|
|
|
1901
|
-
MenuBar — horizontal icon-button toolbar with keyboard arrow-key navigation.
|
|
1910
|
+
MenuBar — horizontal icon-button toolbar with keyboard arrow-key navigation. Each option renders as a `<button>` with a Tooltip. The active option is visually highlighted with an elevated background.
|
|
1902
1911
|
|
|
1903
1912
|
**Type:** component
|
|
1904
1913
|
|
|
@@ -1923,7 +1932,6 @@ MenuBar — horizontal icon-button toolbar with keyboard arrow-key navigation.
|
|
|
1923
1932
|
|
|
1924
1933
|
**Styling:**
|
|
1925
1934
|
|
|
1926
|
-
|
|
1927
1935
|
---
|
|
1928
1936
|
|
|
1929
1937
|
### Meter
|
|
@@ -1993,7 +2001,6 @@ Page navigation controls with page count display.
|
|
|
1993
2001
|
|
|
1994
2002
|
**Styling:**
|
|
1995
2003
|
|
|
1996
|
-
|
|
1997
2004
|
---
|
|
1998
2005
|
|
|
1999
2006
|
### Popover
|
|
@@ -2042,7 +2049,6 @@ Description sub-component
|
|
|
2042
2049
|
|
|
2043
2050
|
Close sub-component
|
|
2044
2051
|
|
|
2045
|
-
|
|
2046
2052
|
---
|
|
2047
2053
|
|
|
2048
2054
|
### PromptInput
|
|
@@ -2079,13 +2085,13 @@ Prompt input form. Can be self-managed or controlled via `PromptInputProvider`.
|
|
|
2079
2085
|
|
|
2080
2086
|
**Colors (sf tokens used):**
|
|
2081
2087
|
|
|
2082
|
-
`bg-sf-base`, `bg-sf-elevated`, `bg-sf-overlay`, `bg-sf-tint`, `ring-sf-line`, `ring-sf-ring`, `text-sf-brand`, `text-sf-default`, `text-sf-inactive`, `text-sf-subtle`
|
|
2088
|
+
`bg-sf-base`, `bg-sf-control`, `bg-sf-elevated`, `bg-sf-overlay`, `bg-sf-tint`, `ring-sf-line`, `ring-sf-ring`, `text-sf-brand`, `text-sf-default`, `text-sf-inactive`, `text-sf-subtle`
|
|
2083
2089
|
|
|
2084
2090
|
---
|
|
2085
2091
|
|
|
2086
2092
|
### Radio
|
|
2087
2093
|
|
|
2088
|
-
Radio — radio button group for single-select choices.
|
|
2094
|
+
Radio — radio button group for single-select choices. Compound component: `Radio.Group` (with built-in Fieldset) and `Radio.Item`. Built on `@base-ui/react/radio-group` + `@base-ui/react/radio`.
|
|
2089
2095
|
|
|
2090
2096
|
**Type:** component
|
|
2091
2097
|
|
|
@@ -2118,7 +2124,7 @@ Radio — radio button group for single-select choices. Compound component: `Ra
|
|
|
2118
2124
|
|
|
2119
2125
|
**Colors (sf tokens used):**
|
|
2120
2126
|
|
|
2121
|
-
`bg-sf-base`, `bg-sf-contrast`, `border-sf-line`, `ring-sf-danger`, `ring-sf-
|
|
2127
|
+
`bg-sf-base`, `bg-sf-contrast`, `border-sf-line`, `ring-sf-danger`, `ring-sf-interact`, `ring-sf-ring`, `text-sf-danger`, `text-sf-default`, `text-sf-subtle`
|
|
2122
2128
|
|
|
2123
2129
|
---
|
|
2124
2130
|
|
|
@@ -2169,7 +2175,6 @@ Select component
|
|
|
2169
2175
|
|
|
2170
2176
|
**Styling:**
|
|
2171
2177
|
|
|
2172
|
-
|
|
2173
2178
|
**Sub-Components:**
|
|
2174
2179
|
|
|
2175
2180
|
This is a compound component. Use these sub-components:
|
|
@@ -2178,7 +2183,6 @@ This is a compound component. Use these sub-components:
|
|
|
2178
2183
|
|
|
2179
2184
|
Option sub-component
|
|
2180
2185
|
|
|
2181
|
-
|
|
2182
2186
|
---
|
|
2183
2187
|
|
|
2184
2188
|
### SensitiveInput
|
|
@@ -2238,7 +2242,7 @@ Password/secret input that masks its value by default and reveals on click. Incl
|
|
|
2238
2242
|
|
|
2239
2243
|
### Sidebar
|
|
2240
2244
|
|
|
2241
|
-
Sidebar — responsive navigation panel with expand/collapse support.
|
|
2245
|
+
Sidebar — responsive navigation panel with expand/collapse support. Compound component: `Sidebar` (root `<aside>`), `.Provider`, `.Header`, `.Content`, `.Footer`, `.Group`, `.GroupLabel`, `.GroupContent`, `.Menu`, `.MenuItem`, `.MenuButton`, `.MenuAction`, `.MenuBadge`, `.MenuSub`, `.MenuSubItem`, `.MenuSubButton`, `.Separator`, `.Input`, `.Trigger`, `.Rail`, `.MenuChevron`, `.Collapsible`, `.CollapsibleTrigger`, `.CollapsibleContent`. Built on `@base-ui/react/collapsible` + `@base-ui/react/dialog`.
|
|
2242
2246
|
|
|
2243
2247
|
**Type:** component
|
|
2244
2248
|
|
|
@@ -2282,7 +2286,6 @@ Sidebar — responsive navigation panel with expand/collapse support. Compound
|
|
|
2282
2286
|
|
|
2283
2287
|
**Styling:**
|
|
2284
2288
|
|
|
2285
|
-
|
|
2286
2289
|
**Sub-Components:**
|
|
2287
2290
|
|
|
2288
2291
|
This is a compound component. Use these sub-components:
|
|
@@ -2292,6 +2295,7 @@ This is a compound component. Use these sub-components:
|
|
|
2292
2295
|
Provider sub-component
|
|
2293
2296
|
|
|
2294
2297
|
Props:
|
|
2298
|
+
|
|
2295
2299
|
- `defaultOpen`: boolean
|
|
2296
2300
|
- `open`: boolean
|
|
2297
2301
|
- `variant`: SidebarVariant
|
|
@@ -2396,7 +2400,6 @@ CollapsibleTrigger sub-component
|
|
|
2396
2400
|
|
|
2397
2401
|
CollapsibleContent sub-component
|
|
2398
2402
|
|
|
2399
|
-
|
|
2400
2403
|
---
|
|
2401
2404
|
|
|
2402
2405
|
### SignalFlareAILogo
|
|
@@ -2674,6 +2677,60 @@ SignalFlare AI logo component.
|
|
|
2674
2677
|
|
|
2675
2678
|
---
|
|
2676
2679
|
|
|
2680
|
+
### Sparkline
|
|
2681
|
+
|
|
2682
|
+
Sparkline — a tiny inline chart intended for embedding in cards, tables, or row-level cells. Renders without axes, grid, or legend by default.
|
|
2683
|
+
|
|
2684
|
+
**Type:** component
|
|
2685
|
+
|
|
2686
|
+
**Import:** `import { Sparkline } from "@signalflare-ai/ui";`
|
|
2687
|
+
|
|
2688
|
+
**Category:** Other
|
|
2689
|
+
|
|
2690
|
+
**Props:**
|
|
2691
|
+
|
|
2692
|
+
- `className`: string
|
|
2693
|
+
Additional CSS classes
|
|
2694
|
+
- `children`: ReactNode
|
|
2695
|
+
Child elements
|
|
2696
|
+
|
|
2697
|
+
---
|
|
2698
|
+
|
|
2699
|
+
### StatCard
|
|
2700
|
+
|
|
2701
|
+
StatCard — compact KPI tile displaying a label, a primary value, and an optional delta + trend sparkline.
|
|
2702
|
+
|
|
2703
|
+
**Type:** component
|
|
2704
|
+
|
|
2705
|
+
**Import:** `import { StatCard } from "@signalflare-ai/ui";`
|
|
2706
|
+
|
|
2707
|
+
**Category:** Other
|
|
2708
|
+
|
|
2709
|
+
**Props:**
|
|
2710
|
+
|
|
2711
|
+
- `size`: enum [default: base]
|
|
2712
|
+
Size of the card. Defaults to `"base"`.
|
|
2713
|
+
- `label`: ReactNode
|
|
2714
|
+
Short descriptive label (e.g. `"Active users"`).
|
|
2715
|
+
- `value`: ReactNode
|
|
2716
|
+
Primary value to emphasise (pre-formatted).
|
|
2717
|
+
- `hint`: ReactNode
|
|
2718
|
+
Optional secondary text displayed under the value.
|
|
2719
|
+
- `delta`: StatCardDelta
|
|
2720
|
+
Optional change indicator (arrow + number + label).
|
|
2721
|
+
- `trend`: ReactNode
|
|
2722
|
+
Optional content slot rendered on the right-hand side — typically a `Sparkline` showing the metric's trend.
|
|
2723
|
+
- `loading`: boolean
|
|
2724
|
+
When `true`, renders a skeleton placeholder in place of value + delta.
|
|
2725
|
+
- `className`: string
|
|
2726
|
+
Additional CSS classes merged via `cn()`.
|
|
2727
|
+
|
|
2728
|
+
**Colors (sf tokens used):**
|
|
2729
|
+
|
|
2730
|
+
`bg-sf-elevated`, `bg-sf-fill`, `text-sf-danger`, `text-sf-default`, `text-sf-strong`, `text-sf-subtle`, `text-sf-success`
|
|
2731
|
+
|
|
2732
|
+
---
|
|
2733
|
+
|
|
2677
2734
|
### Surface
|
|
2678
2735
|
|
|
2679
2736
|
Surface component
|
|
@@ -2756,6 +2813,7 @@ Item sub-component
|
|
|
2756
2813
|
Group sub-component
|
|
2757
2814
|
|
|
2758
2815
|
Props:
|
|
2816
|
+
|
|
2759
2817
|
- `legend`: string (required)
|
|
2760
2818
|
- `children`: ReactNode (required)
|
|
2761
2819
|
- `error`: string
|
|
@@ -2764,12 +2822,11 @@ Props:
|
|
|
2764
2822
|
- `controlFirst`: boolean
|
|
2765
2823
|
- `className`: string
|
|
2766
2824
|
|
|
2767
|
-
|
|
2768
2825
|
---
|
|
2769
2826
|
|
|
2770
2827
|
### Table
|
|
2771
2828
|
|
|
2772
|
-
Table — semantic HTML table with styled rows, cells, and selection support.
|
|
2829
|
+
Table — semantic HTML table with styled rows, cells, and selection support. Compound component: `Table` (Root), `.Header`, `.Head`, `.Body`, `.Row`, `.Cell`, `.Footer`, `.CheckCell`, `.CheckHead`, `.ResizeHandle`.
|
|
2773
2830
|
|
|
2774
2831
|
**Type:** component
|
|
2775
2832
|
|
|
@@ -2834,7 +2891,6 @@ Footer sub-component
|
|
|
2834
2891
|
|
|
2835
2892
|
ResizeHandle sub-component
|
|
2836
2893
|
|
|
2837
|
-
|
|
2838
2894
|
---
|
|
2839
2895
|
|
|
2840
2896
|
### Tabs
|
|
@@ -2877,7 +2933,6 @@ Tab navigation component with segmented, underline, or pill style. Built on Base
|
|
|
2877
2933
|
|
|
2878
2934
|
**Styling:**
|
|
2879
2935
|
|
|
2880
|
-
|
|
2881
2936
|
---
|
|
2882
2937
|
|
|
2883
2938
|
### Text
|
|
@@ -2920,12 +2975,40 @@ Text component
|
|
|
2920
2975
|
|
|
2921
2976
|
**Styling:**
|
|
2922
2977
|
|
|
2978
|
+
---
|
|
2979
|
+
|
|
2980
|
+
### TextRoll
|
|
2981
|
+
|
|
2982
|
+
Letter-by-letter roll animation. Each character flips on the X axis: the current letter rolls up and out, the new letter rolls in from below. Good for title changes (e.g. a streaming activity group swapping its current-step label) where the text content is short and the change should register visually. Wraps the string in an `aria-hidden` visual stack with a screen-reader-only copy of the full text so a11y tools always read the real content.
|
|
2983
|
+
|
|
2984
|
+
**Type:** component
|
|
2985
|
+
|
|
2986
|
+
**Import:** `import { TextRoll } from "@signalflare-ai/ui";`
|
|
2987
|
+
|
|
2988
|
+
**Category:** Other
|
|
2989
|
+
|
|
2990
|
+
**Props:**
|
|
2991
|
+
|
|
2992
|
+
- `children`: string (required)
|
|
2993
|
+
Text to animate. Each character rolls in / out independently.
|
|
2994
|
+
- `duration`: number
|
|
2995
|
+
Duration (seconds) of each letter's enter and exit tween.
|
|
2996
|
+
- `getEnterDelay`: object
|
|
2997
|
+
Per-letter delay for the enter animation.
|
|
2998
|
+
- `getExitDelay`: object
|
|
2999
|
+
Per-letter delay for the exit animation.
|
|
3000
|
+
- `className`: string
|
|
3001
|
+
Additional CSS classes merged via `cn()`. Use sf semantic tokens only.
|
|
3002
|
+
- `transition`: Transition
|
|
3003
|
+
Shared transition for both enter and exit tweens.
|
|
3004
|
+
- `variants`: TextRollVariants
|
|
3005
|
+
Override the default rotate-X roll with custom enter/exit variants.
|
|
2923
3006
|
|
|
2924
3007
|
---
|
|
2925
3008
|
|
|
2926
3009
|
### ThemeToggle
|
|
2927
3010
|
|
|
2928
|
-
Theme toggle button. Cycles through light → dark → system (follows OS) modes.
|
|
3011
|
+
Theme toggle button. Cycles through light → dark → system (follows OS) modes. Reads from and writes to `localStorage` under the key `"theme"`. When set to `"system"` the key is removed so the OS preference takes over automatically. Applies the resolved mode to `document.documentElement.dataset.mode`.
|
|
2929
3012
|
|
|
2930
3013
|
**Type:** component
|
|
2931
3014
|
|
|
@@ -2954,7 +3037,7 @@ Theme toggle button. Cycles through light → dark → system (follows OS) modes
|
|
|
2954
3037
|
|
|
2955
3038
|
### Toasty
|
|
2956
3039
|
|
|
2957
|
-
Toasty — toast notification provider and viewport.
|
|
3040
|
+
Toasty — toast notification provider and viewport. Renders a `Toast.Provider` with a fixed-position viewport in the bottom-right corner. Toasts stack with smooth enter/exit animations, swipe-to-dismiss, and expand-on-hover. Built on `@base-ui/react/toast`.
|
|
2958
3041
|
|
|
2959
3042
|
**Type:** component
|
|
2960
3043
|
|
|
@@ -2979,7 +3062,6 @@ Toasty — toast notification provider and viewport. Renders a `Toast.Provider`
|
|
|
2979
3062
|
|
|
2980
3063
|
**Styling:**
|
|
2981
3064
|
|
|
2982
|
-
|
|
2983
3065
|
---
|
|
2984
3066
|
|
|
2985
3067
|
### Tooltip
|
|
@@ -3024,7 +3106,6 @@ Multi-line textarea input with Input variants and InputArea-specific dimensions
|
|
|
3024
3106
|
|
|
3025
3107
|
**Props:**
|
|
3026
3108
|
|
|
3027
|
-
|
|
3028
3109
|
**Styling:**
|
|
3029
3110
|
|
|
3030
3111
|
- **Size Variants:**
|
|
@@ -3036,7 +3117,8 @@ Multi-line textarea input with Input variants and InputArea-specific dimensions
|
|
|
3036
3117
|
## Quick Reference
|
|
3037
3118
|
|
|
3038
3119
|
**Components by Category:**
|
|
3039
|
-
|
|
3120
|
+
|
|
3121
|
+
- **Other:** AiActions, AiAgentCard, AiApproval, AiCodeBlock, AiConversation, AiInfoBanner, AiMessage, AiMissionHeader, AiPartGroup, AiQuestion, AiReasoning, AiResponse, AiShimmer, AiStatusBadge, AiStreamingText, AiSubagent, AiSuggestions, AiTaskList, AiTimeline, AiToolCall, AiUsageBar, DataGrid, DatePicker, Filters, Label, Link, PromptInput, SensitiveInput, Sidebar, SignalFlareAILogo, Sparkline, StatCard, Table, TextRoll, ThemeToggle, AgentHarness, Commander, DashboardGrid, DeleteResource, Map, MetricsOverview
|
|
3040
3122
|
- **Display:** Badge, Breadcrumbs, Code, Collapsible, Empty, LayerCard, Meter, Text
|
|
3041
3123
|
- **Feedback:** Banner, Loader, Toasty
|
|
3042
3124
|
- **Action:** Button, ClipboardText
|