@signalflare-ai/ui 0.5.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 +96 -0
- package/README.md +527 -0
- package/ai/USAGE.md +200 -0
- package/ai/component-registry.json +7103 -0
- package/ai/component-registry.md +3046 -0
- package/ai/schemas.ts +1230 -0
- package/bin/intent.js +23 -0
- package/bin/sf.js +34 -0
- package/dist/.build-complete +1 -0
- package/dist/ai/schemas.d.ts +7056 -0
- package/dist/ai/schemas.d.ts.map +1 -0
- package/dist/ai-actions-DG1dhDMP.js +57 -0
- package/dist/ai-actions-DG1dhDMP.js.map +1 -0
- package/dist/ai-agent-card-BbtL4NII.js +171 -0
- package/dist/ai-agent-card-BbtL4NII.js.map +1 -0
- package/dist/ai-approval-Mb7-BY6i.js +184 -0
- package/dist/ai-approval-Mb7-BY6i.js.map +1 -0
- package/dist/ai-code-block-BI_z0UVR.js +110 -0
- package/dist/ai-code-block-BI_z0UVR.js.map +1 -0
- package/dist/ai-conversation-DYtExcrw.js +184 -0
- package/dist/ai-conversation-DYtExcrw.js.map +1 -0
- package/dist/ai-info-banner-BpzauUAY.js +76 -0
- package/dist/ai-info-banner-BpzauUAY.js.map +1 -0
- package/dist/ai-loader-Cr3eQkNS.js +134 -0
- package/dist/ai-loader-Cr3eQkNS.js.map +1 -0
- package/dist/ai-message-CV8SBoHM.js +286 -0
- package/dist/ai-message-CV8SBoHM.js.map +1 -0
- package/dist/ai-mission-header-ByYkJ6YP.js +171 -0
- package/dist/ai-mission-header-ByYkJ6YP.js.map +1 -0
- package/dist/ai-prompt-input-Bo1YuJly.js +769 -0
- package/dist/ai-prompt-input-Bo1YuJly.js.map +1 -0
- package/dist/ai-question-Dp1g9k2o.js +149 -0
- package/dist/ai-question-Dp1g9k2o.js.map +1 -0
- package/dist/ai-reasoning-UAmNx_LD.js +270 -0
- package/dist/ai-reasoning-UAmNx_LD.js.map +1 -0
- package/dist/ai-response-BWoVsNQG.js +42 -0
- package/dist/ai-response-BWoVsNQG.js.map +1 -0
- package/dist/ai-shimmer-BpOmfonu.js +43 -0
- package/dist/ai-shimmer-BpOmfonu.js.map +1 -0
- package/dist/ai-status-badge-WhbKVeqn.js +63 -0
- package/dist/ai-status-badge-WhbKVeqn.js.map +1 -0
- package/dist/ai-streaming-text-ClL7FwvD.js +81 -0
- package/dist/ai-streaming-text-ClL7FwvD.js.map +1 -0
- package/dist/ai-subagent-BruGN1UE.js +133 -0
- package/dist/ai-subagent-BruGN1UE.js.map +1 -0
- package/dist/ai-suggestion-CNsCZj5P.js +55 -0
- package/dist/ai-suggestion-CNsCZj5P.js.map +1 -0
- package/dist/ai-task-list-B9CpMDYN.js +120 -0
- package/dist/ai-task-list-B9CpMDYN.js.map +1 -0
- package/dist/ai-timeline-Bb5ntsr3.js +373 -0
- package/dist/ai-timeline-Bb5ntsr3.js.map +1 -0
- package/dist/ai-tool-BGH8nQ_D.js +437 -0
- package/dist/ai-tool-BGH8nQ_D.js.map +1 -0
- package/dist/ai-usage-bar-BI-p-JBk.js +70 -0
- package/dist/ai-usage-bar-BI-p-JBk.js.map +1 -0
- package/dist/badge-D_eaA6wv.js +128 -0
- package/dist/badge-D_eaA6wv.js.map +1 -0
- package/dist/banner-B_6oBrsu.js +54 -0
- package/dist/banner-B_6oBrsu.js.map +1 -0
- package/dist/breadcrumbs-BlmeYfgq.js +128 -0
- package/dist/breadcrumbs-BlmeYfgq.js.map +1 -0
- package/dist/button-De0267YU.js +170 -0
- package/dist/button-De0267YU.js.map +1 -0
- package/dist/catalog.js +506 -0
- package/dist/catalog.js.map +1 -0
- package/dist/chart-Bes4MN3C.js +618 -0
- package/dist/chart-Bes4MN3C.js.map +1 -0
- package/dist/checkbox-CPX7lBaU.js +153 -0
- package/dist/checkbox-CPX7lBaU.js.map +1 -0
- package/dist/clipboard-text-92YeCybc.js +176 -0
- package/dist/clipboard-text-92YeCybc.js.map +1 -0
- package/dist/cn-YROP2_ox.js +25 -0
- package/dist/cn-YROP2_ox.js.map +1 -0
- package/dist/code-DE1Yy1Cu.js +97 -0
- package/dist/code-DE1Yy1Cu.js.map +1 -0
- package/dist/collapsible-DWsXeXmS.js +72 -0
- package/dist/collapsible-DWsXeXmS.js.map +1 -0
- package/dist/combobox-B0bLdsX8.js +197 -0
- package/dist/combobox-B0bLdsX8.js.map +1 -0
- package/dist/command-line/cli.js +823 -0
- package/dist/command-palette-CBTY8EiF.js +484 -0
- package/dist/command-palette-CBTY8EiF.js.map +1 -0
- package/dist/components/ai-actions.js +3 -0
- package/dist/components/ai-agent-card.js +3 -0
- package/dist/components/ai-approval.js +3 -0
- package/dist/components/ai-code-block.js +3 -0
- package/dist/components/ai-conversation.js +3 -0
- package/dist/components/ai-info-banner.js +3 -0
- package/dist/components/ai-loader.js +3 -0
- package/dist/components/ai-message.js +3 -0
- package/dist/components/ai-mission-header.js +3 -0
- package/dist/components/ai-prompt-input.js +3 -0
- package/dist/components/ai-question.js +3 -0
- package/dist/components/ai-reasoning.js +3 -0
- package/dist/components/ai-response.js +3 -0
- package/dist/components/ai-shimmer.js +3 -0
- package/dist/components/ai-status-badge.js +3 -0
- package/dist/components/ai-streaming-text.js +3 -0
- package/dist/components/ai-subagent.js +3 -0
- package/dist/components/ai-suggestion.js +3 -0
- package/dist/components/ai-task-list.js +3 -0
- package/dist/components/ai-timeline.js +3 -0
- package/dist/components/ai-tool.js +3 -0
- package/dist/components/ai-usage-bar.js +3 -0
- package/dist/components/badge.js +3 -0
- package/dist/components/banner.js +3 -0
- package/dist/components/breadcrumbs.js +3 -0
- package/dist/components/button.js +3 -0
- package/dist/components/chart.js +3 -0
- package/dist/components/checkbox.js +3 -0
- package/dist/components/clipboard-text.js +3 -0
- package/dist/components/code.js +3 -0
- package/dist/components/collapsible.js +3 -0
- package/dist/components/combobox.js +3 -0
- package/dist/components/command-palette.js +3 -0
- package/dist/components/data-grid.js +3 -0
- package/dist/components/date-picker.js +3 -0
- package/dist/components/date-range-picker.js +3 -0
- package/dist/components/dialog.js +3 -0
- package/dist/components/dropdown.js +3 -0
- package/dist/components/empty.js +3 -0
- package/dist/components/field.js +3 -0
- package/dist/components/filters.js +3 -0
- package/dist/components/flow.js +3 -0
- package/dist/components/grid.js +3 -0
- package/dist/components/input.js +4 -0
- package/dist/components/label.js +3 -0
- package/dist/components/layer-card.js +3 -0
- package/dist/components/link.js +92 -0
- package/dist/components/link.js.map +1 -0
- package/dist/components/loader.js +4 -0
- package/dist/components/menubar.js +3 -0
- package/dist/components/meter.js +3 -0
- package/dist/components/pagination.js +3 -0
- package/dist/components/popover.js +3 -0
- package/dist/components/radio.js +3 -0
- package/dist/components/select.js +3 -0
- package/dist/components/sensitive-input.js +3 -0
- package/dist/components/sidebar.js +3 -0
- package/dist/components/signalflare-ai-logo.js +3 -0
- package/dist/components/surface.js +3 -0
- package/dist/components/switch.js +3 -0
- package/dist/components/table.js +3 -0
- package/dist/components/tabs.js +3 -0
- package/dist/components/text.js +3 -0
- package/dist/components/theme-toggle.js +3 -0
- package/dist/components/toast.js +3 -0
- package/dist/components/tooltip.js +3 -0
- package/dist/components/use-agent-harness.js +3 -0
- package/dist/data-grid-UJ9ja5cu.js +305 -0
- package/dist/data-grid-UJ9ja5cu.js.map +1 -0
- package/dist/date-picker-ebekkC3R.js +57 -0
- package/dist/date-picker-ebekkC3R.js.map +1 -0
- package/dist/date-range-picker-D75LLINc.js +347 -0
- package/dist/date-range-picker-D75LLINc.js.map +1 -0
- package/dist/dialog-CyHEQXEY.js +104 -0
- package/dist/dialog-CyHEQXEY.js.map +1 -0
- package/dist/dist-BNlyONdD.js +3546 -0
- package/dist/dist-BNlyONdD.js.map +1 -0
- package/dist/dropdown-J5T4pHaR.js +202 -0
- package/dist/dropdown-J5T4pHaR.js.map +1 -0
- package/dist/empty-D2TypIId.js +90 -0
- package/dist/empty-D2TypIId.js.map +1 -0
- package/dist/favicon.svg +4 -0
- package/dist/field-Y_UK1_Cg.js +57 -0
- package/dist/field-Y_UK1_Cg.js.map +1 -0
- package/dist/filters-BdBogf7D.js +682 -0
- package/dist/filters-BdBogf7D.js.map +1 -0
- package/dist/flow-BRsYUCJa.js +741 -0
- package/dist/flow-BRsYUCJa.js.map +1 -0
- package/dist/genui.js +40 -0
- package/dist/genui.js.map +1 -0
- package/dist/grid-qUAN9hFx.js +119 -0
- package/dist/grid-qUAN9hFx.js.map +1 -0
- package/dist/highlight-to-react-ClEfL81q.js +57 -0
- package/dist/highlight-to-react-ClEfL81q.js.map +1 -0
- package/dist/index.js +215 -0
- package/dist/index.js.map +1 -0
- package/dist/input-BxQAnXki.js +81 -0
- package/dist/input-BxQAnXki.js.map +1 -0
- package/dist/input-Cn25I4o5.js +121 -0
- package/dist/input-Cn25I4o5.js.map +1 -0
- package/dist/label-QtJxtJ4u.js +70 -0
- package/dist/label-QtJxtJ4u.js.map +1 -0
- package/dist/layer-card-BME0eljh.js +44 -0
- package/dist/layer-card-BME0eljh.js.map +1 -0
- package/dist/link-provider-BUZKXaNE.js +25 -0
- package/dist/link-provider-BUZKXaNE.js.map +1 -0
- package/dist/loader-DAcc-Uag.js +84 -0
- package/dist/loader-DAcc-Uag.js.map +1 -0
- package/dist/logo.svg +1 -0
- package/dist/menubar-C8NzAjfd.js +102 -0
- package/dist/menubar-C8NzAjfd.js.map +1 -0
- package/dist/meter-CpmTenEr.js +37 -0
- package/dist/meter-CpmTenEr.js.map +1 -0
- package/dist/pagination-C_YqCy8l.js +117 -0
- package/dist/pagination-C_YqCy8l.js.map +1 -0
- package/dist/popover-BRQZ2b6z.js +147 -0
- package/dist/popover-BRQZ2b6z.js.map +1 -0
- package/dist/primitives/accordion.js +2 -0
- package/dist/primitives/alert-dialog.js +2 -0
- package/dist/primitives/autocomplete.js +2 -0
- package/dist/primitives/avatar.js +2 -0
- package/dist/primitives/button.js +2 -0
- package/dist/primitives/checkbox-group.js +2 -0
- package/dist/primitives/checkbox.js +2 -0
- package/dist/primitives/collapsible.js +2 -0
- package/dist/primitives/combobox.js +2 -0
- package/dist/primitives/context-menu.js +2 -0
- package/dist/primitives/csp-provider.js +2 -0
- package/dist/primitives/dialog.js +2 -0
- package/dist/primitives/direction-provider.js +2 -0
- package/dist/primitives/drawer.js +2 -0
- package/dist/primitives/field.js +2 -0
- package/dist/primitives/fieldset.js +2 -0
- package/dist/primitives/form.js +2 -0
- package/dist/primitives/input.js +2 -0
- package/dist/primitives/menu.js +2 -0
- package/dist/primitives/menubar.js +2 -0
- package/dist/primitives/meter.js +2 -0
- package/dist/primitives/navigation-menu.js +2 -0
- package/dist/primitives/number-field.js +2 -0
- package/dist/primitives/popover.js +2 -0
- package/dist/primitives/preview-card.js +2 -0
- package/dist/primitives/progress.js +2 -0
- package/dist/primitives/radio-group.js +2 -0
- package/dist/primitives/radio.js +2 -0
- package/dist/primitives/scroll-area.js +2 -0
- package/dist/primitives/select.js +2 -0
- package/dist/primitives/separator.js +2 -0
- package/dist/primitives/slider.js +2 -0
- package/dist/primitives/switch.js +2 -0
- package/dist/primitives/tabs.js +2 -0
- package/dist/primitives/toast.js +2 -0
- package/dist/primitives/toggle-group.js +2 -0
- package/dist/primitives/toggle.js +2 -0
- package/dist/primitives/toolbar.js +2 -0
- package/dist/primitives/tooltip.js +2 -0
- package/dist/primitives.js +40 -0
- package/dist/radio-B7zg1wUI.js +101 -0
- package/dist/radio-B7zg1wUI.js.map +1 -0
- package/dist/registry.js +1 -0
- package/dist/select-9p721G00.js +95 -0
- package/dist/select-9p721G00.js.map +1 -0
- package/dist/sensitive-input-D5je2NLl.js +248 -0
- package/dist/sensitive-input-D5je2NLl.js.map +1 -0
- package/dist/sidebar-DOwBrq57.js +964 -0
- package/dist/sidebar-DOwBrq57.js.map +1 -0
- package/dist/signalflare-ai-logo-DDhxMJD6.js +260 -0
- package/dist/signalflare-ai-logo-DDhxMJD6.js.map +1 -0
- package/dist/skeleton-line-Do3UmGk9.js +36 -0
- package/dist/skeleton-line-Do3UmGk9.js.map +1 -0
- package/dist/src/blocks/agent-harness/agent-harness.d.ts +177 -0
- package/dist/src/blocks/agent-harness/agent-harness.d.ts.map +1 -0
- package/dist/src/blocks/agent-harness/agent-harness.tsx +1122 -0
- package/dist/src/blocks/agent-harness/index.d.ts +2 -0
- package/dist/src/blocks/agent-harness/index.d.ts.map +1 -0
- package/dist/src/blocks/commander/commander.d.ts +101 -0
- package/dist/src/blocks/commander/commander.d.ts.map +1 -0
- package/dist/src/blocks/commander/commander.tsx +477 -0
- package/dist/src/blocks/commander/index.d.ts +2 -0
- package/dist/src/blocks/commander/index.d.ts.map +1 -0
- package/dist/src/blocks/delete-resource/delete-resource.d.ts +46 -0
- package/dist/src/blocks/delete-resource/delete-resource.d.ts.map +1 -0
- package/dist/src/blocks/delete-resource/delete-resource.tsx +214 -0
- package/dist/src/blocks/delete-resource/index.d.ts +2 -0
- package/dist/src/blocks/delete-resource/index.d.ts.map +1 -0
- package/dist/src/blocks/map-block/index.d.ts +2 -0
- package/dist/src/blocks/map-block/index.d.ts.map +1 -0
- package/dist/src/blocks/map-block/map-block.d.ts +79 -0
- package/dist/src/blocks/map-block/map-block.d.ts.map +1 -0
- package/dist/src/blocks/map-block/map-block.tsx +522 -0
- package/dist/src/blocks/page-header/index.d.ts +2 -0
- package/dist/src/blocks/page-header/index.d.ts.map +1 -0
- package/dist/src/blocks/page-header/page-header.d.ts +38 -0
- package/dist/src/blocks/page-header/page-header.d.ts.map +1 -0
- package/dist/src/blocks/page-header/page-header.tsx +96 -0
- package/dist/src/blocks/resource-list/index.d.ts +2 -0
- package/dist/src/blocks/resource-list/index.d.ts.map +1 -0
- package/dist/src/blocks/resource-list/resource-list.d.ts +18 -0
- package/dist/src/blocks/resource-list/resource-list.d.ts.map +1 -0
- package/dist/src/blocks/resource-list/resource-list.test.tsx +27 -0
- package/dist/src/blocks/resource-list/resource-list.tsx +65 -0
- package/dist/src/catalog/catalog.d.ts +75 -0
- package/dist/src/catalog/catalog.d.ts.map +1 -0
- package/dist/src/catalog/data.d.ts +44 -0
- package/dist/src/catalog/data.d.ts.map +1 -0
- package/dist/src/catalog/index.d.ts +35 -0
- package/dist/src/catalog/index.d.ts.map +1 -0
- package/dist/src/catalog/sf-components.d.ts +8 -0
- package/dist/src/catalog/sf-components.d.ts.map +1 -0
- package/dist/src/catalog/sf-registry.d.ts +4 -0
- package/dist/src/catalog/sf-registry.d.ts.map +1 -0
- package/dist/src/catalog/types.d.ts +226 -0
- package/dist/src/catalog/types.d.ts.map +1 -0
- package/dist/src/catalog/visibility.d.ts +37 -0
- package/dist/src/catalog/visibility.d.ts.map +1 -0
- package/dist/src/command-line/build-cli.d.ts +7 -0
- package/dist/src/command-line/build-cli.d.ts.map +1 -0
- package/dist/src/command-line/cli.d.ts +13 -0
- package/dist/src/command-line/cli.d.ts.map +1 -0
- package/dist/src/command-line/commands/add.d.ts +10 -0
- package/dist/src/command-line/commands/add.d.ts.map +1 -0
- package/dist/src/command-line/commands/ai.d.ts +10 -0
- package/dist/src/command-line/commands/ai.d.ts.map +1 -0
- package/dist/src/command-line/commands/blocks.d.ts +10 -0
- package/dist/src/command-line/commands/blocks.d.ts.map +1 -0
- package/dist/src/command-line/commands/doc.d.ts +14 -0
- package/dist/src/command-line/commands/doc.d.ts.map +1 -0
- package/dist/src/command-line/commands/init.d.ts +18 -0
- package/dist/src/command-line/commands/init.d.ts.map +1 -0
- package/dist/src/command-line/commands/ls.d.ts +10 -0
- package/dist/src/command-line/commands/ls.d.ts.map +1 -0
- package/dist/src/command-line/commands/migrate.d.ts +10 -0
- package/dist/src/command-line/commands/migrate.d.ts.map +1 -0
- package/dist/src/command-line/utils/config.d.ts +42 -0
- package/dist/src/command-line/utils/config.d.ts.map +1 -0
- package/dist/src/command-line/utils/transformer.d.ts +21 -0
- package/dist/src/command-line/utils/transformer.d.ts.map +1 -0
- package/dist/src/components/ai-actions/ai-actions.d.ts +35 -0
- package/dist/src/components/ai-actions/ai-actions.d.ts.map +1 -0
- package/dist/src/components/ai-actions/index.d.ts +2 -0
- package/dist/src/components/ai-actions/index.d.ts.map +1 -0
- package/dist/src/components/ai-agent-card/ai-agent-card.d.ts +82 -0
- package/dist/src/components/ai-agent-card/ai-agent-card.d.ts.map +1 -0
- package/dist/src/components/ai-agent-card/index.d.ts +2 -0
- package/dist/src/components/ai-agent-card/index.d.ts.map +1 -0
- package/dist/src/components/ai-approval/ai-approval.d.ts +102 -0
- package/dist/src/components/ai-approval/ai-approval.d.ts.map +1 -0
- package/dist/src/components/ai-approval/index.d.ts +2 -0
- package/dist/src/components/ai-approval/index.d.ts.map +1 -0
- package/dist/src/components/ai-code-block/ai-code-block.d.ts +48 -0
- package/dist/src/components/ai-code-block/ai-code-block.d.ts.map +1 -0
- package/dist/src/components/ai-code-block/index.d.ts +2 -0
- package/dist/src/components/ai-code-block/index.d.ts.map +1 -0
- package/dist/src/components/ai-conversation/ai-conversation.d.ts +125 -0
- package/dist/src/components/ai-conversation/ai-conversation.d.ts.map +1 -0
- package/dist/src/components/ai-conversation/index.d.ts +2 -0
- package/dist/src/components/ai-conversation/index.d.ts.map +1 -0
- package/dist/src/components/ai-info-banner/ai-info-banner.d.ts +55 -0
- package/dist/src/components/ai-info-banner/ai-info-banner.d.ts.map +1 -0
- package/dist/src/components/ai-info-banner/index.d.ts +2 -0
- package/dist/src/components/ai-info-banner/index.d.ts.map +1 -0
- package/dist/src/components/ai-loader/ai-loader.d.ts +44 -0
- package/dist/src/components/ai-loader/ai-loader.d.ts.map +1 -0
- package/dist/src/components/ai-loader/index.d.ts +2 -0
- package/dist/src/components/ai-loader/index.d.ts.map +1 -0
- package/dist/src/components/ai-message/ai-message.d.ts +97 -0
- package/dist/src/components/ai-message/ai-message.d.ts.map +1 -0
- package/dist/src/components/ai-message/index.d.ts +2 -0
- package/dist/src/components/ai-message/index.d.ts.map +1 -0
- package/dist/src/components/ai-mission-header/ai-mission-header.d.ts +62 -0
- package/dist/src/components/ai-mission-header/ai-mission-header.d.ts.map +1 -0
- package/dist/src/components/ai-mission-header/index.d.ts +2 -0
- package/dist/src/components/ai-mission-header/index.d.ts.map +1 -0
- package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts +260 -0
- package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -0
- package/dist/src/components/ai-prompt-input/index.d.ts +2 -0
- package/dist/src/components/ai-prompt-input/index.d.ts.map +1 -0
- package/dist/src/components/ai-question/ai-question.d.ts +73 -0
- package/dist/src/components/ai-question/ai-question.d.ts.map +1 -0
- package/dist/src/components/ai-question/index.d.ts +2 -0
- package/dist/src/components/ai-question/index.d.ts.map +1 -0
- package/dist/src/components/ai-reasoning/ai-reasoning.d.ts +107 -0
- package/dist/src/components/ai-reasoning/ai-reasoning.d.ts.map +1 -0
- package/dist/src/components/ai-reasoning/index.d.ts +2 -0
- package/dist/src/components/ai-reasoning/index.d.ts.map +1 -0
- package/dist/src/components/ai-response/ai-response.d.ts +26 -0
- package/dist/src/components/ai-response/ai-response.d.ts.map +1 -0
- package/dist/src/components/ai-response/index.d.ts +2 -0
- package/dist/src/components/ai-response/index.d.ts.map +1 -0
- package/dist/src/components/ai-shimmer/ai-shimmer.d.ts +29 -0
- package/dist/src/components/ai-shimmer/ai-shimmer.d.ts.map +1 -0
- package/dist/src/components/ai-shimmer/index.d.ts +2 -0
- package/dist/src/components/ai-shimmer/index.d.ts.map +1 -0
- package/dist/src/components/ai-status-badge/ai-status-badge.d.ts +46 -0
- package/dist/src/components/ai-status-badge/ai-status-badge.d.ts.map +1 -0
- package/dist/src/components/ai-status-badge/index.d.ts +2 -0
- package/dist/src/components/ai-status-badge/index.d.ts.map +1 -0
- 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 -0
- package/dist/src/components/ai-streaming-text/index.d.ts +2 -0
- package/dist/src/components/ai-streaming-text/index.d.ts.map +1 -0
- package/dist/src/components/ai-subagent/ai-subagent.d.ts +74 -0
- package/dist/src/components/ai-subagent/ai-subagent.d.ts.map +1 -0
- package/dist/src/components/ai-subagent/index.d.ts +2 -0
- package/dist/src/components/ai-subagent/index.d.ts.map +1 -0
- package/dist/src/components/ai-suggestion/ai-suggestion.d.ts +40 -0
- package/dist/src/components/ai-suggestion/ai-suggestion.d.ts.map +1 -0
- package/dist/src/components/ai-suggestion/index.d.ts +2 -0
- package/dist/src/components/ai-suggestion/index.d.ts.map +1 -0
- package/dist/src/components/ai-task-list/ai-task-list.d.ts +61 -0
- package/dist/src/components/ai-task-list/ai-task-list.d.ts.map +1 -0
- package/dist/src/components/ai-task-list/index.d.ts +2 -0
- package/dist/src/components/ai-task-list/index.d.ts.map +1 -0
- package/dist/src/components/ai-timeline/ai-timeline.d.ts +130 -0
- package/dist/src/components/ai-timeline/ai-timeline.d.ts.map +1 -0
- package/dist/src/components/ai-timeline/index.d.ts +2 -0
- package/dist/src/components/ai-timeline/index.d.ts.map +1 -0
- package/dist/src/components/ai-tool/ai-tool.d.ts +138 -0
- package/dist/src/components/ai-tool/ai-tool.d.ts.map +1 -0
- package/dist/src/components/ai-tool/index.d.ts +2 -0
- package/dist/src/components/ai-tool/index.d.ts.map +1 -0
- package/dist/src/components/ai-usage-bar/ai-usage-bar.d.ts +38 -0
- package/dist/src/components/ai-usage-bar/ai-usage-bar.d.ts.map +1 -0
- package/dist/src/components/ai-usage-bar/index.d.ts +2 -0
- package/dist/src/components/ai-usage-bar/index.d.ts.map +1 -0
- package/dist/src/components/badge/badge.d.ts +129 -0
- package/dist/src/components/badge/badge.d.ts.map +1 -0
- package/dist/src/components/badge/index.d.ts +2 -0
- package/dist/src/components/badge/index.d.ts.map +1 -0
- package/dist/src/components/banner/banner.d.ts +80 -0
- package/dist/src/components/banner/banner.d.ts.map +1 -0
- package/dist/src/components/banner/index.d.ts +2 -0
- package/dist/src/components/banner/index.d.ts.map +1 -0
- package/dist/src/components/breadcrumbs/breadcrumbs.d.ts +78 -0
- package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/src/components/breadcrumbs/index.d.ts +2 -0
- package/dist/src/components/breadcrumbs/index.d.ts.map +1 -0
- package/dist/src/components/button/button.d.ts +212 -0
- package/dist/src/components/button/button.d.ts.map +1 -0
- package/dist/src/components/button/index.d.ts +2 -0
- package/dist/src/components/button/index.d.ts.map +1 -0
- package/dist/src/components/chart/color.d.ts +98 -0
- package/dist/src/components/chart/color.d.ts.map +1 -0
- package/dist/src/components/chart/echart.d.ts +135 -0
- package/dist/src/components/chart/echart.d.ts.map +1 -0
- package/dist/src/components/chart/index.d.ts +5 -0
- package/dist/src/components/chart/index.d.ts.map +1 -0
- package/dist/src/components/chart/legend.d.ts +42 -0
- package/dist/src/components/chart/legend.d.ts.map +1 -0
- package/dist/src/components/chart/timeseries-chart.d.ts +119 -0
- package/dist/src/components/chart/timeseries-chart.d.ts.map +1 -0
- package/dist/src/components/checkbox/checkbox.d.ts +174 -0
- package/dist/src/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/src/components/checkbox/index.d.ts +2 -0
- package/dist/src/components/checkbox/index.d.ts.map +1 -0
- package/dist/src/components/clipboard-text/clipboard-text.d.ts +86 -0
- package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -0
- package/dist/src/components/clipboard-text/index.d.ts +2 -0
- package/dist/src/components/clipboard-text/index.d.ts.map +1 -0
- package/dist/src/components/code/code.d.ts +165 -0
- package/dist/src/components/code/code.d.ts.map +1 -0
- package/dist/src/components/code/index.d.ts +4 -0
- package/dist/src/components/code/index.d.ts.map +1 -0
- package/dist/src/components/collapsible/collapsible.d.ts +72 -0
- package/dist/src/components/collapsible/collapsible.d.ts.map +1 -0
- package/dist/src/components/collapsible/index.d.ts +2 -0
- package/dist/src/components/collapsible/index.d.ts.map +1 -0
- package/dist/src/components/combobox/combobox.d.ts +188 -0
- package/dist/src/components/combobox/combobox.d.ts.map +1 -0
- package/dist/src/components/combobox/index.d.ts +2 -0
- package/dist/src/components/combobox/index.d.ts.map +1 -0
- package/dist/src/components/command-palette/command-palette.d.ts +260 -0
- package/dist/src/components/command-palette/command-palette.d.ts.map +1 -0
- package/dist/src/components/command-palette/index.d.ts +3 -0
- package/dist/src/components/command-palette/index.d.ts.map +1 -0
- package/dist/src/components/command-palette/types.d.ts +149 -0
- package/dist/src/components/command-palette/types.d.ts.map +1 -0
- package/dist/src/components/data-grid/data-grid.d.ts +78 -0
- package/dist/src/components/data-grid/data-grid.d.ts.map +1 -0
- package/dist/src/components/data-grid/index.d.ts +3 -0
- package/dist/src/components/data-grid/index.d.ts.map +1 -0
- package/dist/src/components/data-grid/types.d.ts +236 -0
- package/dist/src/components/data-grid/types.d.ts.map +1 -0
- package/dist/src/components/date-picker/date-picker.d.ts +65 -0
- package/dist/src/components/date-picker/date-picker.d.ts.map +1 -0
- package/dist/src/components/date-picker/index.d.ts +4 -0
- package/dist/src/components/date-picker/index.d.ts.map +1 -0
- package/dist/src/components/date-range-picker/date-range-picker.d.ts +125 -0
- package/dist/src/components/date-range-picker/date-range-picker.d.ts.map +1 -0
- package/dist/src/components/date-range-picker/index.d.ts +5 -0
- package/dist/src/components/date-range-picker/index.d.ts.map +1 -0
- package/dist/src/components/dialog/dialog.d.ts +189 -0
- package/dist/src/components/dialog/dialog.d.ts.map +1 -0
- package/dist/src/components/dialog/index.d.ts +2 -0
- package/dist/src/components/dialog/index.d.ts.map +1 -0
- package/dist/src/components/dropdown/dropdown.d.ts +91 -0
- package/dist/src/components/dropdown/dropdown.d.ts.map +1 -0
- package/dist/src/components/dropdown/index.d.ts +2 -0
- package/dist/src/components/dropdown/index.d.ts.map +1 -0
- package/dist/src/components/empty/empty.d.ts +69 -0
- package/dist/src/components/empty/empty.d.ts.map +1 -0
- package/dist/src/components/empty/index.d.ts +2 -0
- package/dist/src/components/empty/index.d.ts.map +1 -0
- package/dist/src/components/field/field.d.ts +68 -0
- package/dist/src/components/field/field.d.ts.map +1 -0
- package/dist/src/components/field/index.d.ts +2 -0
- package/dist/src/components/field/index.d.ts.map +1 -0
- package/dist/src/components/filters/filters.d.ts +54 -0
- package/dist/src/components/filters/filters.d.ts.map +1 -0
- package/dist/src/components/filters/helpers.d.ts +56 -0
- package/dist/src/components/filters/helpers.d.ts.map +1 -0
- package/dist/src/components/filters/index.d.ts +3 -0
- package/dist/src/components/filters/index.d.ts.map +1 -0
- package/dist/src/components/filters/types.d.ts +148 -0
- package/dist/src/components/filters/types.d.ts.map +1 -0
- package/dist/src/components/flow/connectors.d.ts +35 -0
- package/dist/src/components/flow/connectors.d.ts.map +1 -0
- package/dist/src/components/flow/diagram.d.ts +62 -0
- package/dist/src/components/flow/diagram.d.ts.map +1 -0
- package/dist/src/components/flow/index.d.ts +26 -0
- package/dist/src/components/flow/index.d.ts.map +1 -0
- package/dist/src/components/flow/node.d.ts +52 -0
- package/dist/src/components/flow/node.d.ts.map +1 -0
- package/dist/src/components/flow/parallel.d.ts +5 -0
- package/dist/src/components/flow/parallel.d.ts.map +1 -0
- package/dist/src/components/flow/use-children.d.ts +69 -0
- package/dist/src/components/flow/use-children.d.ts.map +1 -0
- package/dist/src/components/grid/grid.d.ts +135 -0
- package/dist/src/components/grid/grid.d.ts.map +1 -0
- package/dist/src/components/grid/index.d.ts +2 -0
- package/dist/src/components/grid/index.d.ts.map +1 -0
- package/dist/src/components/input/index.d.ts +4 -0
- package/dist/src/components/input/index.d.ts.map +1 -0
- package/dist/src/components/input/input-area.d.ts +65 -0
- package/dist/src/components/input/input-area.d.ts.map +1 -0
- package/dist/src/components/input/input-group.d.ts +39 -0
- package/dist/src/components/input/input-group.d.ts.map +1 -0
- package/dist/src/components/input/input.d.ts +172 -0
- package/dist/src/components/input/input.d.ts.map +1 -0
- package/dist/src/components/label/index.d.ts +2 -0
- package/dist/src/components/label/index.d.ts.map +1 -0
- package/dist/src/components/label/label.d.ts +67 -0
- package/dist/src/components/label/label.d.ts.map +1 -0
- package/dist/src/components/layer-card/index.d.ts +2 -0
- package/dist/src/components/layer-card/index.d.ts.map +1 -0
- package/dist/src/components/layer-card/layer-card.d.ts +29 -0
- package/dist/src/components/layer-card/layer-card.d.ts.map +1 -0
- package/dist/src/components/link/index.d.ts +2 -0
- package/dist/src/components/link/index.d.ts.map +1 -0
- package/dist/src/components/link/link.d.ts +55 -0
- package/dist/src/components/link/link.d.ts.map +1 -0
- package/dist/src/components/loader/index.d.ts +3 -0
- package/dist/src/components/loader/index.d.ts.map +1 -0
- package/dist/src/components/loader/loader.d.ts +65 -0
- package/dist/src/components/loader/loader.d.ts.map +1 -0
- package/dist/src/components/loader/skeleton-line.d.ts +10 -0
- package/dist/src/components/loader/skeleton-line.d.ts.map +1 -0
- package/dist/src/components/menubar/index.d.ts +3 -0
- package/dist/src/components/menubar/index.d.ts.map +1 -0
- package/dist/src/components/menubar/menubar.d.ts +66 -0
- package/dist/src/components/menubar/menubar.d.ts.map +1 -0
- package/dist/src/components/menubar/use-menu-navigation.d.ts +8 -0
- package/dist/src/components/menubar/use-menu-navigation.d.ts.map +1 -0
- package/dist/src/components/meter/index.d.ts +2 -0
- package/dist/src/components/meter/index.d.ts.map +1 -0
- package/dist/src/components/meter/meter.d.ts +44 -0
- package/dist/src/components/meter/meter.d.ts.map +1 -0
- package/dist/src/components/pagination/index.d.ts +2 -0
- package/dist/src/components/pagination/index.d.ts.map +1 -0
- package/dist/src/components/pagination/pagination.d.ts +60 -0
- package/dist/src/components/pagination/pagination.d.ts.map +1 -0
- package/dist/src/components/popover/index.d.ts +3 -0
- package/dist/src/components/popover/index.d.ts.map +1 -0
- package/dist/src/components/popover/popover.d.ts +138 -0
- package/dist/src/components/popover/popover.d.ts.map +1 -0
- package/dist/src/components/radio/index.d.ts +2 -0
- package/dist/src/components/radio/index.d.ts.map +1 -0
- package/dist/src/components/radio/radio.d.ts +163 -0
- package/dist/src/components/radio/radio.d.ts.map +1 -0
- package/dist/src/components/select/index.d.ts +2 -0
- package/dist/src/components/select/index.d.ts.map +1 -0
- package/dist/src/components/select/select.d.ts +150 -0
- package/dist/src/components/select/select.d.ts.map +1 -0
- package/dist/src/components/sensitive-input/index.d.ts +2 -0
- package/dist/src/components/sensitive-input/index.d.ts.map +1 -0
- package/dist/src/components/sensitive-input/sensitive-input.d.ts +94 -0
- package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -0
- package/dist/src/components/sidebar/index.d.ts +2 -0
- package/dist/src/components/sidebar/index.d.ts.map +1 -0
- package/dist/src/components/sidebar/sidebar.d.ts +556 -0
- package/dist/src/components/sidebar/sidebar.d.ts.map +1 -0
- package/dist/src/components/signalflare-ai-logo/index.d.ts +2 -0
- package/dist/src/components/signalflare-ai-logo/index.d.ts.map +1 -0
- package/dist/src/components/signalflare-ai-logo/signalflare-ai-logo.d.ts +171 -0
- package/dist/src/components/signalflare-ai-logo/signalflare-ai-logo.d.ts.map +1 -0
- package/dist/src/components/surface/index.d.ts +2 -0
- package/dist/src/components/surface/index.d.ts.map +1 -0
- package/dist/src/components/surface/surface.d.ts +60 -0
- package/dist/src/components/surface/surface.d.ts.map +1 -0
- package/dist/src/components/switch/index.d.ts +2 -0
- package/dist/src/components/switch/index.d.ts.map +1 -0
- package/dist/src/components/switch/switch.d.ts +169 -0
- package/dist/src/components/switch/switch.d.ts.map +1 -0
- package/dist/src/components/table/index.d.ts +2 -0
- package/dist/src/components/table/index.d.ts.map +1 -0
- package/dist/src/components/table/table.d.ts +89 -0
- package/dist/src/components/table/table.d.ts.map +1 -0
- package/dist/src/components/tabs/index.d.ts +3 -0
- package/dist/src/components/tabs/index.d.ts.map +1 -0
- package/dist/src/components/tabs/tabs.d.ts +105 -0
- package/dist/src/components/tabs/tabs.d.ts.map +1 -0
- package/dist/src/components/text/index.d.ts +2 -0
- package/dist/src/components/text/index.d.ts.map +1 -0
- package/dist/src/components/text/text.d.ts +181 -0
- package/dist/src/components/text/text.d.ts.map +1 -0
- package/dist/src/components/theme-toggle/index.d.ts +2 -0
- package/dist/src/components/theme-toggle/index.d.ts.map +1 -0
- package/dist/src/components/theme-toggle/theme-toggle.d.ts +68 -0
- package/dist/src/components/theme-toggle/theme-toggle.d.ts.map +1 -0
- package/dist/src/components/toast/index.d.ts +5 -0
- package/dist/src/components/toast/index.d.ts.map +1 -0
- package/dist/src/components/toast/toast.d.ts +152 -0
- package/dist/src/components/toast/toast.d.ts.map +1 -0
- package/dist/src/components/tooltip/index.d.ts +2 -0
- package/dist/src/components/tooltip/index.d.ts.map +1 -0
- package/dist/src/components/tooltip/tooltip.d.ts +82 -0
- package/dist/src/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/src/components/use-agent-harness/index.d.ts +2 -0
- package/dist/src/components/use-agent-harness/index.d.ts.map +1 -0
- package/dist/src/components/use-agent-harness/use-agent-harness.d.ts +642 -0
- package/dist/src/components/use-agent-harness/use-agent-harness.d.ts.map +1 -0
- package/dist/src/genui/genui.d.ts +17 -0
- package/dist/src/genui/genui.d.ts.map +1 -0
- package/dist/src/genui/index.d.ts +19 -0
- package/dist/src/genui/index.d.ts.map +1 -0
- package/dist/src/index.d.ts +102 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/lib/utils.d.ts +2 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/primitives/accordion.d.ts +13 -0
- package/dist/src/primitives/accordion.d.ts.map +1 -0
- package/dist/src/primitives/alert-dialog.d.ts +13 -0
- package/dist/src/primitives/alert-dialog.d.ts.map +1 -0
- package/dist/src/primitives/autocomplete.d.ts +13 -0
- package/dist/src/primitives/autocomplete.d.ts.map +1 -0
- package/dist/src/primitives/avatar.d.ts +13 -0
- package/dist/src/primitives/avatar.d.ts.map +1 -0
- package/dist/src/primitives/button.d.ts +13 -0
- package/dist/src/primitives/button.d.ts.map +1 -0
- package/dist/src/primitives/checkbox-group.d.ts +13 -0
- package/dist/src/primitives/checkbox-group.d.ts.map +1 -0
- package/dist/src/primitives/checkbox.d.ts +13 -0
- package/dist/src/primitives/checkbox.d.ts.map +1 -0
- package/dist/src/primitives/collapsible.d.ts +13 -0
- package/dist/src/primitives/collapsible.d.ts.map +1 -0
- package/dist/src/primitives/combobox.d.ts +13 -0
- package/dist/src/primitives/combobox.d.ts.map +1 -0
- package/dist/src/primitives/context-menu.d.ts +13 -0
- package/dist/src/primitives/context-menu.d.ts.map +1 -0
- package/dist/src/primitives/csp-provider.d.ts +13 -0
- package/dist/src/primitives/csp-provider.d.ts.map +1 -0
- package/dist/src/primitives/dialog.d.ts +13 -0
- package/dist/src/primitives/dialog.d.ts.map +1 -0
- package/dist/src/primitives/direction-provider.d.ts +13 -0
- package/dist/src/primitives/direction-provider.d.ts.map +1 -0
- package/dist/src/primitives/drawer.d.ts +13 -0
- package/dist/src/primitives/drawer.d.ts.map +1 -0
- package/dist/src/primitives/field.d.ts +13 -0
- package/dist/src/primitives/field.d.ts.map +1 -0
- package/dist/src/primitives/fieldset.d.ts +13 -0
- package/dist/src/primitives/fieldset.d.ts.map +1 -0
- package/dist/src/primitives/form.d.ts +13 -0
- package/dist/src/primitives/form.d.ts.map +1 -0
- package/dist/src/primitives/index.d.ts +54 -0
- package/dist/src/primitives/index.d.ts.map +1 -0
- package/dist/src/primitives/input.d.ts +13 -0
- package/dist/src/primitives/input.d.ts.map +1 -0
- package/dist/src/primitives/menu.d.ts +13 -0
- package/dist/src/primitives/menu.d.ts.map +1 -0
- package/dist/src/primitives/menubar.d.ts +13 -0
- package/dist/src/primitives/menubar.d.ts.map +1 -0
- package/dist/src/primitives/meter.d.ts +13 -0
- package/dist/src/primitives/meter.d.ts.map +1 -0
- package/dist/src/primitives/navigation-menu.d.ts +13 -0
- package/dist/src/primitives/navigation-menu.d.ts.map +1 -0
- package/dist/src/primitives/number-field.d.ts +13 -0
- package/dist/src/primitives/number-field.d.ts.map +1 -0
- package/dist/src/primitives/popover.d.ts +13 -0
- package/dist/src/primitives/popover.d.ts.map +1 -0
- package/dist/src/primitives/preview-card.d.ts +13 -0
- package/dist/src/primitives/preview-card.d.ts.map +1 -0
- package/dist/src/primitives/progress.d.ts +13 -0
- package/dist/src/primitives/progress.d.ts.map +1 -0
- package/dist/src/primitives/radio-group.d.ts +13 -0
- package/dist/src/primitives/radio-group.d.ts.map +1 -0
- package/dist/src/primitives/radio.d.ts +13 -0
- package/dist/src/primitives/radio.d.ts.map +1 -0
- package/dist/src/primitives/scroll-area.d.ts +13 -0
- package/dist/src/primitives/scroll-area.d.ts.map +1 -0
- package/dist/src/primitives/select.d.ts +13 -0
- package/dist/src/primitives/select.d.ts.map +1 -0
- package/dist/src/primitives/separator.d.ts +13 -0
- package/dist/src/primitives/separator.d.ts.map +1 -0
- package/dist/src/primitives/slider.d.ts +13 -0
- package/dist/src/primitives/slider.d.ts.map +1 -0
- package/dist/src/primitives/switch.d.ts +13 -0
- package/dist/src/primitives/switch.d.ts.map +1 -0
- package/dist/src/primitives/tabs.d.ts +13 -0
- package/dist/src/primitives/tabs.d.ts.map +1 -0
- package/dist/src/primitives/toast.d.ts +13 -0
- package/dist/src/primitives/toast.d.ts.map +1 -0
- package/dist/src/primitives/toggle-group.d.ts +13 -0
- package/dist/src/primitives/toggle-group.d.ts.map +1 -0
- package/dist/src/primitives/toggle.d.ts +13 -0
- package/dist/src/primitives/toggle.d.ts.map +1 -0
- package/dist/src/primitives/toolbar.d.ts +13 -0
- package/dist/src/primitives/toolbar.d.ts.map +1 -0
- package/dist/src/primitives/tooltip.d.ts +13 -0
- package/dist/src/primitives/tooltip.d.ts.map +1 -0
- package/dist/src/registry/index.d.ts +8 -0
- package/dist/src/registry/index.d.ts.map +1 -0
- package/dist/src/registry/types.d.ts +191 -0
- package/dist/src/registry/types.d.ts.map +1 -0
- package/dist/src/utils/cn.d.ts +4 -0
- package/dist/src/utils/cn.d.ts.map +1 -0
- package/dist/src/utils/highlight-to-react.d.ts +12 -0
- package/dist/src/utils/highlight-to-react.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +3 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/link-provider.d.ts +12 -0
- package/dist/src/utils/link-provider.d.ts.map +1 -0
- package/dist/src/utils/prop-examples.d.ts +36 -0
- package/dist/src/utils/prop-examples.d.ts.map +1 -0
- package/dist/styles/sf-binding.css +255 -0
- package/dist/styles/sf-standalone.css +2 -0
- package/dist/styles/sf.css +596 -0
- package/dist/styles/theme-fedramp.css +22 -0
- package/dist/styles/theme-minimal.css +127 -0
- package/dist/styles/theme-navigator.css +137 -0
- package/dist/styles/theme-sf.css +191 -0
- package/dist/surface-BduI7Ehl.js +18 -0
- package/dist/surface-BduI7Ehl.js.map +1 -0
- package/dist/switch-CzZBRBL7.js +169 -0
- package/dist/switch-CzZBRBL7.js.map +1 -0
- package/dist/table-CIMx0Oq0.js +200 -0
- package/dist/table-CIMx0Oq0.js.map +1 -0
- package/dist/tabs-1cHrYoel.js +54 -0
- package/dist/tabs-1cHrYoel.js.map +1 -0
- package/dist/text-KJmGkwnf.js +103 -0
- package/dist/text-KJmGkwnf.js.map +1 -0
- package/dist/theme-toggle-Dpgnoj_Q.js +129 -0
- package/dist/theme-toggle-Dpgnoj_Q.js.map +1 -0
- package/dist/toast-Nw28a5Cx.js +161 -0
- package/dist/toast-Nw28a5Cx.js.map +1 -0
- package/dist/tooltip-Cb7QW-7H.js +79 -0
- package/dist/tooltip-Cb7QW-7H.js.map +1 -0
- package/dist/use-agent-harness-DZzcn96L.js +929 -0
- package/dist/use-agent-harness-DZzcn96L.js.map +1 -0
- package/dist/utils.js +4 -0
- package/package.json +620 -0
- package/scripts/component-registry/cache.ts +124 -0
- package/scripts/component-registry/discovery.ts +464 -0
- package/scripts/component-registry/example-cleanup.ts +168 -0
- package/scripts/component-registry/index.test.ts +678 -0
- package/scripts/component-registry/index.ts +931 -0
- package/scripts/component-registry/markdown-generator.ts +222 -0
- package/scripts/component-registry/metadata.ts +653 -0
- package/scripts/component-registry/props-filter.ts +313 -0
- package/scripts/component-registry/schema-generator.ts +332 -0
- package/scripts/component-registry/sub-components.ts +350 -0
- package/scripts/component-registry/types.ts +156 -0
- package/scripts/component-registry/utils.ts +280 -0
- package/scripts/component-registry/variant-parser.ts +262 -0
- package/scripts/css-build.ts +117 -0
- package/scripts/generate-primitives.ts +178 -0
- package/scripts/theme-generator/config.ts +538 -0
- package/scripts/theme-generator/generate-css.ts +256 -0
- package/scripts/theme-generator/index.ts +161 -0
- package/scripts/theme-generator/migrate.ts +584 -0
- package/scripts/theme-generator/types.ts +86 -0
- package/skills/component-selection/SKILL.md +64 -0
- package/skills/installing-blocks/SKILL.md +47 -0
- package/skills/theming-and-tokens/SKILL.md +62 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# @signalflare-ai/ui
|
|
2
|
+
|
|
3
|
+
## 0.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d85265a: Added Filters and DataGrid components
|
|
8
|
+
|
|
9
|
+
- **Filters**: New filter component with text, select, multiselect, and custom filter types. Includes keyboard shortcuts, i18n support, and operator selection.
|
|
10
|
+
- **DataGrid**: Full-featured data grid built on @tanstack/react-table with sorting, column visibility, row selection, pagination, and resizable columns.
|
|
11
|
+
- Added documentation pages and demos for both components.
|
|
12
|
+
|
|
13
|
+
## 0.4.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- 148c725: Prepare for public npm publishing. Move heavy single-component dependencies to optional peer dependencies, disable production minification, add chart and genui components, refactor catalog module.
|
|
18
|
+
|
|
19
|
+
## 0.3.2
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- 7cfdd82: Ship the UI library as flat ESM entrypoints with runtime dependencies left as imports instead of publishing vendored Base UI chunks. This avoids downstream `require("react")`/Rolldown interop issues in Vite 8 and other ESM consumers.
|
|
24
|
+
|
|
25
|
+
## 0.3.1
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- e8cb24b: Fix CJS require(react) in vendor-base-ui chunk by adding esmExternalRequirePlugin to Vite config. Resolves runtime crashes in ESM environments when @base-ui/react is bundled.
|
|
30
|
+
|
|
31
|
+
## 0.3.0
|
|
32
|
+
|
|
33
|
+
### Minor Changes
|
|
34
|
+
|
|
35
|
+
- 7e5869c: Add `AgentHarness` controlled mode and rename `MapBlock` → `Map`
|
|
36
|
+
|
|
37
|
+
**AgentHarness controlled mode** — pass `state` + callbacks directly, bypassing `useAgentHarness` entirely. Consumers can now drive the block from any state source (Zustand, Redux, Durable Streams, Mastra, etc.) without being coupled to the built-in event protocol.
|
|
38
|
+
|
|
39
|
+
New props: `state`, `onSendMessage`, `onApproveToolCall`, `onAnswerQuestion`, `onApprovePlan`, `onAbort`
|
|
40
|
+
|
|
41
|
+
New helper: `createAgentHarnessState(partial?)` — creates an empty `AgentHarnessState`
|
|
42
|
+
|
|
43
|
+
All `AgentHarnessState` sub-types (`AgentMessage`, `AgentToolCall`, `AgentSubagent`, etc.) are now prominently re-exported from `@signalflare-ai/ui`.
|
|
44
|
+
|
|
45
|
+
**MapBlock renamed to Map** — `bun sf add Map` now works as expected. Export renamed from `MapBlock` to `Map`, `MapBlockProps` → `MapProps`, `MapBlockHandle` → `MapHandle`.
|
|
46
|
+
|
|
47
|
+
**Bug fixes** — SSR crash fix for `AiResponse` (`document is not defined`), npm publish 401 fix in release workflow.
|
|
48
|
+
|
|
49
|
+
## 0.2.0
|
|
50
|
+
|
|
51
|
+
### Minor Changes
|
|
52
|
+
|
|
53
|
+
- 8fa87b1: Add `AgentHarness` controlled mode and rename `MapBlock` → `Map`
|
|
54
|
+
|
|
55
|
+
**AgentHarness controlled mode** — pass `state` + callbacks directly, bypassing `useAgentHarness` entirely. Consumers can now drive the block from any state source (Zustand, Redux, Durable Streams, Mastra, etc.) without being coupled to the built-in event protocol.
|
|
56
|
+
|
|
57
|
+
New props: `state`, `onSendMessage`, `onApproveToolCall`, `onAnswerQuestion`, `onApprovePlan`, `onAbort`
|
|
58
|
+
|
|
59
|
+
New helper: `createAgentHarnessState(partial?)` — creates an empty `AgentHarnessState`
|
|
60
|
+
|
|
61
|
+
All `AgentHarnessState` sub-types (`AgentMessage`, `AgentToolCall`, `AgentSubagent`, etc.) are now prominently re-exported from `@signalflare-ai/ui`.
|
|
62
|
+
|
|
63
|
+
**MapBlock renamed to Map** — `bun sf add Map` now works as expected. Export renamed from `MapBlock` to `Map`, `MapBlockProps` → `MapProps`, `MapBlockHandle` → `MapHandle`.
|
|
64
|
+
|
|
65
|
+
**Bug fixes** — SSR crash fix for `AiResponse` (`document is not defined`), npm publish 401 fix in release workflow.
|
|
66
|
+
|
|
67
|
+
## 0.1.2
|
|
68
|
+
|
|
69
|
+
### Patch Changes
|
|
70
|
+
|
|
71
|
+
- 7aeebbf: Add syntax highlighting to Code and AiCodeBlock via sugar-high; fix selected state colors on AiAgentCard and AiQuestion; install @streamdown/code plugin for AiResponse; add prefetch-on-hover to sidebar nav; replace React ThemeToggle with inline script button
|
|
72
|
+
|
|
73
|
+
## 0.1.0
|
|
74
|
+
|
|
75
|
+
### Minor Changes
|
|
76
|
+
|
|
77
|
+
- 1640941: Add AI component suite: `AiLoader`, `AiShimmer`, `AiResponse`, `AiReasoning`, `AiTool`, `AiActions`, `AiMessage`, `AiConversation`, `AiSuggestion`, `AiCodeBlock`, `PromptInput` (and sub-components), and the `useAiStreamingText` hook. All components follow sf conventions — semantic tokens only, forwardRef with displayName, full TypeScript types, and per-component entry points.
|
|
78
|
+
- 69b2e22: Add TanStack Intent agent skills for component selection, theming and tokens, and installing blocks. Consumers can run `npx @tanstack/intent install` to discover and wire up design system guidance for their AI agents.
|
|
79
|
+
- eec5ae0: **Breaking:** Replace V1 compound-component AI tool and reasoning APIs with V2 flat `part`-prop APIs.
|
|
80
|
+
- `AiTool`, `AiToolHeader`, `AiToolContent`, `AiToolInput`, `AiToolOutput` → replaced by `AiToolCall`, `AiToolCallGroup`, `AiToolCallTimeline`
|
|
81
|
+
- `AiReasoningTrigger`, `AiReasoningContent` → replaced by single `AiReasoning` with `part` prop; new `AiReasoningGroup` for multi-step
|
|
82
|
+
- New component: `AiStatusBadge` — compact pill badge used internally by tool call and reasoning minimal variants
|
|
83
|
+
- All components now accept a structured `part` prop mirroring Vercel AI SDK `ToolUIPart` / `ReasoningUIPart` shapes (no `ai` package dependency)
|
|
84
|
+
- Export `AiToolCallVariant`, `AiReasoningVariant`, `AiToolApprovalState`, utility functions (`getToolDisplayName`, `getToolIcon`, `isToolLoading`, `hasToolResult`, `hasToolError`, `formatDuration`, `truncateReasoning`, `extractFirstBoldText`)
|
|
85
|
+
|
|
86
|
+
## 0.0.3
|
|
87
|
+
|
|
88
|
+
### Patch Changes
|
|
89
|
+
|
|
90
|
+
- 205e280: Fix CI release workflow GitHub Packages authentication.
|
|
91
|
+
|
|
92
|
+
## 0.0.2
|
|
93
|
+
|
|
94
|
+
### Patch Changes
|
|
95
|
+
|
|
96
|
+
- e7c20aa: Initial beta release: component library with Base UI + Tailwind v4, zero lint errors across monorepo.
|
package/README.md
ADDED
|
@@ -0,0 +1,527 @@
|
|
|
1
|
+
# @signalflare-ai/ui
|
|
2
|
+
|
|
3
|
+
SignalFlare AI's component library for building modern web applications.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @signalflare-ai/ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
If you use an AI agent, run `npx @tanstack/intent@latest install`.
|
|
12
|
+
|
|
13
|
+
### Peer Dependencies
|
|
14
|
+
|
|
15
|
+
SF requires the following peer dependencies:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
bun add react react-dom @phosphor-icons/react
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Component Documentation
|
|
22
|
+
|
|
23
|
+
SF includes a built-in CLI for quick component reference:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx @signalflare-ai/ui ls # List all components
|
|
27
|
+
npx @signalflare-ai/ui doc Button # Get component documentation
|
|
28
|
+
npx @signalflare-ai/ui docs # Get all component docs
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The CLI reads from `ai/component-registry.json` (generated from TypeScript types + demo examples).
|
|
32
|
+
|
|
33
|
+
## Usage
|
|
34
|
+
|
|
35
|
+
### Import Components
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
// Main package import
|
|
39
|
+
import { Button, Input, Surface } from "@signalflare-ai/ui";
|
|
40
|
+
|
|
41
|
+
// Granular imports (recommended for tree-shaking)
|
|
42
|
+
import { Button } from "@signalflare-ai/ui/components/button";
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Import Styles
|
|
46
|
+
|
|
47
|
+
#### For Tailwind CSS Users
|
|
48
|
+
|
|
49
|
+
**Important:** Tailwind CSS v4 does not scan `node_modules/` by default. You must add a `@source` directive so Tailwind can discover the utility classes used by SF components. Without this, components may render with missing styles (e.g. Dialogs not centered).
|
|
50
|
+
|
|
51
|
+
In your main CSS file (e.g. `app.css`):
|
|
52
|
+
|
|
53
|
+
```css
|
|
54
|
+
@source "../node_modules/@signalflare-ai/ui/dist/**/*.{js,jsx,ts,tsx}";
|
|
55
|
+
@import "@signalflare-ai/ui/styles/tailwind";
|
|
56
|
+
@import "tailwindcss";
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
> **Import order matters** — `@signalflare-ai/ui/styles` must come **before** `@import "tailwindcss"` so SF's `@theme` tokens are registered first.
|
|
60
|
+
|
|
61
|
+
> **Note:** The `@source` path is relative to your CSS file. Adjust it based on your project structure — e.g. if your CSS is in `src/styles/`, you may need `../../node_modules/@signalflare-ai/ui/dist/**/*.{js,jsx,ts,tsx}`.
|
|
62
|
+
|
|
63
|
+
Alternatively, you can use the default style export (`@signalflare-ai/ui/styles`) which is equivalent to `styles/tailwind`.
|
|
64
|
+
|
|
65
|
+
If you are **not** using Tailwind CSS, use the standalone build instead (see below) — no `@source` directive is needed.
|
|
66
|
+
|
|
67
|
+
#### For Non-Tailwind Users (Standalone)
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
import "@signalflare-ai/ui/styles/standalone";
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
This imports a fully compiled CSS file with all Tailwind utilities and SF styles pre-compiled. No Tailwind configuration needed!
|
|
74
|
+
|
|
75
|
+
**What's included in standalone:**
|
|
76
|
+
|
|
77
|
+
- All Tailwind utility classes used by SF components
|
|
78
|
+
- SF component styles
|
|
79
|
+
- Dark mode support (via `data-mode="dark"` attribute)
|
|
80
|
+
- All animations and keyframes
|
|
81
|
+
- Responsive utilities
|
|
82
|
+
|
|
83
|
+
**Note:** The standalone CSS is minified and optimized, but will be larger than the Tailwind version since it includes all utilities.
|
|
84
|
+
|
|
85
|
+
### Base UI Primitives
|
|
86
|
+
|
|
87
|
+
SF bundles [Base UI](https://base-ui.com) and re-exports all primitives for advanced use cases:
|
|
88
|
+
|
|
89
|
+
```tsx
|
|
90
|
+
// Barrel import - imports all primitives (convenient but larger bundle)
|
|
91
|
+
import { Popover, Slider, Accordion } from "@signalflare-ai/ui/primitives";
|
|
92
|
+
|
|
93
|
+
// Granular imports - tree-shakeable, smaller bundles (recommended)
|
|
94
|
+
import { Popover } from "@signalflare-ai/ui/primitives/popover";
|
|
95
|
+
import { Slider } from "@signalflare-ai/ui/primitives/slider";
|
|
96
|
+
import { Accordion } from "@signalflare-ai/ui/primitives/accordion";
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
> **Note:** Prefer styled SF components when available. Primitives are for custom components not yet in SF or cases requiring fine-grained control.
|
|
100
|
+
>
|
|
101
|
+
> **Performance tip:** Use granular imports (`@signalflare-ai/ui/primitives/{name}`) for better tree-shaking and smaller bundle sizes.
|
|
102
|
+
|
|
103
|
+
#### Updating Primitives
|
|
104
|
+
|
|
105
|
+
Primitive exports are automatically generated from Base UI. After upgrading `@base-ui/react`:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Regenerate primitive files to sync with new Base UI version
|
|
109
|
+
bun run build:primitives
|
|
110
|
+
|
|
111
|
+
# Review changes (new/removed primitives)
|
|
112
|
+
git diff src/primitives/
|
|
113
|
+
|
|
114
|
+
# Commit if primitives changed
|
|
115
|
+
git add src/primitives/ package.json
|
|
116
|
+
git commit -m "chore: update primitives for base-ui@x.x.x"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The `build:primitives` script:
|
|
120
|
+
|
|
121
|
+
- Generates individual primitive files in `src/primitives/*.ts`
|
|
122
|
+
- Updates barrel export in `src/primitives/index.ts`
|
|
123
|
+
- Updates `package.json` with granular export paths
|
|
124
|
+
- Runs automatically before every build via the `prebuild` script
|
|
125
|
+
|
|
126
|
+
#### Validating Build Output
|
|
127
|
+
|
|
128
|
+
After building, validate the primitives output:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Run post-build validation (checks dist/ structure)
|
|
132
|
+
bun run validate:build
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
This validates:
|
|
136
|
+
|
|
137
|
+
- All primitive JS files exist in `dist/primitives/`
|
|
138
|
+
- All type definitions exist in `dist/src/primitives/`
|
|
139
|
+
- Base UI is bundled (not externalized)
|
|
140
|
+
- Import paths reference bundled modules
|
|
141
|
+
- Source maps are present
|
|
142
|
+
|
|
143
|
+
## Development
|
|
144
|
+
|
|
145
|
+
**For comprehensive contributor documentation, see [AGENTS.md](../../AGENTS.md).**
|
|
146
|
+
|
|
147
|
+
### Creating New Components
|
|
148
|
+
|
|
149
|
+
Use the scaffolding tool to quickly create new components with all required files and configurations:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Create a new component
|
|
153
|
+
bun run new:component
|
|
154
|
+
|
|
155
|
+
# Or use the shorthand
|
|
156
|
+
bun run new
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**What it creates:**
|
|
160
|
+
|
|
161
|
+
- Component file: `src/components/{name}/{name}.tsx`
|
|
162
|
+
- Index file: `src/components/{name}/index.ts`
|
|
163
|
+
- Test file: `src/components/{name}/{name}.test.tsx`
|
|
164
|
+
|
|
165
|
+
**What it updates:**
|
|
166
|
+
|
|
167
|
+
- `src/index.ts` - Adds component export
|
|
168
|
+
- `vite.config.ts` - Adds build entry
|
|
169
|
+
- `package.json` - Adds export configuration
|
|
170
|
+
|
|
171
|
+
**Example:**
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
? Component name: Alert Banner
|
|
175
|
+
|
|
176
|
+
✅ Component scaffolded successfully!
|
|
177
|
+
|
|
178
|
+
📁 Files created:
|
|
179
|
+
- src/components/alert-banner/alert-banner.tsx
|
|
180
|
+
- src/components/alert-banner/index.ts
|
|
181
|
+
- src/components/alert-banner/alert-banner.test.tsx
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
The scaffolding tool handles naming automatically - input any format (spaces, PascalCase, kebab-case) and it will convert appropriately.
|
|
185
|
+
|
|
186
|
+
### Creating New Blocks
|
|
187
|
+
|
|
188
|
+
Blocks are higher-level components that compose multiple base components to create common page patterns. Use the block scaffolding tool:
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# Create a new block
|
|
192
|
+
bun run new:block
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**What it creates:**
|
|
196
|
+
|
|
197
|
+
- Block file: `src/blocks/{name}/{name}.tsx`
|
|
198
|
+
- Index file: `src/blocks/{name}/index.ts`
|
|
199
|
+
- Test file: `src/blocks/{name}/{name}.test.tsx`
|
|
200
|
+
|
|
201
|
+
**What it updates:**
|
|
202
|
+
|
|
203
|
+
- `src/index.ts` - Adds block export
|
|
204
|
+
- `vite.config.ts` - Adds build entry
|
|
205
|
+
- `package.json` - Adds export configuration
|
|
206
|
+
|
|
207
|
+
Blocks are higher-level components that compose multiple base components. See [AGENTS.md](../../AGENTS.md) for detailed documentation on blocks.
|
|
208
|
+
|
|
209
|
+
### Development Workflows
|
|
210
|
+
|
|
211
|
+
#### Option 1: Storybook Development (Recommended)
|
|
212
|
+
|
|
213
|
+
SF uses **Storybook** as a live development environment for building and testing components in isolation. Storybook provides instant feedback, interactive controls, and serves as living documentation for the component library.
|
|
214
|
+
|
|
215
|
+
**Start Storybook:**
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# From this directory
|
|
219
|
+
bun run storybook
|
|
220
|
+
|
|
221
|
+
# Or from workspace root
|
|
222
|
+
bun --filter @signalflare-ai/ui storybook
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Storybook runs at `http://localhost:6006` with hot module replacement enabled.
|
|
226
|
+
|
|
227
|
+
**Why use Storybook:**
|
|
228
|
+
|
|
229
|
+
- Full HMR with React Fast Refresh
|
|
230
|
+
- Changes reflect instantly without page reload
|
|
231
|
+
- Test all component variations and edge cases interactively
|
|
232
|
+
- Auto-generated docs from TypeScript types
|
|
233
|
+
- Best for isolated component development
|
|
234
|
+
- Test keyboard navigation and screen readers
|
|
235
|
+
|
|
236
|
+
**Story files** live alongside components:
|
|
237
|
+
|
|
238
|
+
- Components: `src/components/{name}/{name}.stories.tsx`
|
|
239
|
+
- Blocks: `src/blocks/{name}/{name}.stories.tsx`
|
|
240
|
+
|
|
241
|
+
**Storybook documentation** includes:
|
|
242
|
+
|
|
243
|
+
- Writing stories guide
|
|
244
|
+
- Development workflow
|
|
245
|
+
- Best practices
|
|
246
|
+
|
|
247
|
+
#### Option 2: Watch Build Mode
|
|
248
|
+
|
|
249
|
+
When you need to test components in the actual documentation site or consuming application:
|
|
250
|
+
|
|
251
|
+
**Start watch build:**
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
bun run dev
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
This runs Vite in watch mode with optimizations for fast rebuilds:
|
|
258
|
+
|
|
259
|
+
- ⚡~400ms rebuild time (10x faster than production builds)
|
|
260
|
+
- Skips minification in development
|
|
261
|
+
- Incremental TypeScript compilation
|
|
262
|
+
- Selective file watching (ignores tests and stories)
|
|
263
|
+
- Validates components against production build output
|
|
264
|
+
|
|
265
|
+
**Using with documentation site:**
|
|
266
|
+
|
|
267
|
+
Terminal 1 (this directory):
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
bun run dev
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Terminal 2 (from workspace root or sf-docs):
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
cd ../sf-docs
|
|
277
|
+
bun run dev
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
When you edit a component:
|
|
281
|
+
|
|
282
|
+
1. SF rebuilds automatically (~400ms)
|
|
283
|
+
2. Refresh browser to see changes in docs site
|
|
284
|
+
3. Changes are validated against the actual build output
|
|
285
|
+
|
|
286
|
+
**Build modes:**
|
|
287
|
+
|
|
288
|
+
- `bun run dev` - Development mode (fast, optimized for iteration)
|
|
289
|
+
- `bun run build` - Production mode (full optimization, minification, CSS processing)
|
|
290
|
+
|
|
291
|
+
### Testing
|
|
292
|
+
|
|
293
|
+
The package includes comprehensive import validation tests that ensure all components are properly exported and consumable.
|
|
294
|
+
|
|
295
|
+
**Run tests:**
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
# Watch mode
|
|
299
|
+
bun run test
|
|
300
|
+
|
|
301
|
+
# Single run
|
|
302
|
+
bun run test:run
|
|
303
|
+
|
|
304
|
+
# With UI
|
|
305
|
+
bun run test:ui
|
|
306
|
+
|
|
307
|
+
# With coverage
|
|
308
|
+
bun run test:coverage
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**What's tested:**
|
|
312
|
+
|
|
313
|
+
- All components importable from main entry: `import { Component } from "@signalflare-ai/ui"`
|
|
314
|
+
- All components importable via deep imports: `import { Component } from "@signalflare-ai/ui/components/component-name"`
|
|
315
|
+
- All blocks importable from main entry: `import { Block } from "@signalflare-ai/ui"`
|
|
316
|
+
- All blocks importable via deep imports: `import { Block } from "@signalflare-ai/ui/blocks/block-name"`
|
|
317
|
+
- Package.json exports sync with actual components and blocks
|
|
318
|
+
- Export paths and formats are correct
|
|
319
|
+
- Build configuration consistency
|
|
320
|
+
|
|
321
|
+
**Zero maintenance:** Tests automatically discover components and blocks from the filesystem and validate against package.json. When adding new items, tests will fail with exact code snippets to fix configuration.
|
|
322
|
+
|
|
323
|
+
## Beta Releases
|
|
324
|
+
|
|
325
|
+
Beta releases allow you to test changes before publishing to production. Beta versions are automatically created for pull requests and include the commit hash for identification.
|
|
326
|
+
|
|
327
|
+
### Automated Beta Releases
|
|
328
|
+
|
|
329
|
+
Beta releases are automatically triggered for pull requests through GitHub Actions (`.github/workflows/preview.yml`):
|
|
330
|
+
|
|
331
|
+
**Workflow Configuration:**
|
|
332
|
+
|
|
333
|
+
- **Workflow**: `preview.yml`
|
|
334
|
+
- **Triggers**: Pull requests with changes to `packages/registry/**` or `.changeset/**`
|
|
335
|
+
- **Dependencies**: Requires changeset to exist for `@signalflare-ai/ui`
|
|
336
|
+
|
|
337
|
+
**Process Flow:**
|
|
338
|
+
|
|
339
|
+
1. **Validate**: Ensures changeset exists for `@signalflare-ai/ui`
|
|
340
|
+
2. **Version**: Runs `bun run version:beta`
|
|
341
|
+
- Consumes pending changesets
|
|
342
|
+
- Appends `-beta.{commit-hash}` to version number
|
|
343
|
+
3. **Build**: Runs `bun --filter @signalflare-ai/ui build`
|
|
344
|
+
4. **Publish**: Publishes to npm with `beta` tag
|
|
345
|
+
5. **Notify**: Posts PR comment with installation instructions
|
|
346
|
+
|
|
347
|
+
**Secrets Required:**
|
|
348
|
+
|
|
349
|
+
- `NPM_TOKEN`: Authentication for npm registry
|
|
350
|
+
- `GITHUB_TOKEN`: For posting PR comments (built-in)
|
|
351
|
+
|
|
352
|
+
### Beta Version Format
|
|
353
|
+
|
|
354
|
+
Beta versions follow this pattern:
|
|
355
|
+
|
|
356
|
+
```
|
|
357
|
+
{base-version}-beta.{commit-hash}
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
For example: `0.1.0-beta.a1b2c3d`
|
|
361
|
+
|
|
362
|
+
### Installing Beta Versions
|
|
363
|
+
|
|
364
|
+
When a beta is published, the PR will include a comment with installation instructions:
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# Install the specific beta version
|
|
368
|
+
npm install @signalflare-ai/ui@0.1.0-beta.a1b2c3d
|
|
369
|
+
|
|
370
|
+
# Or with bun
|
|
371
|
+
bun add @signalflare-ai/ui@0.1.0-beta.a1b2c3d
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Testing Beta Releases
|
|
375
|
+
|
|
376
|
+
1. **Create PR**: Submit your changes with a changeset
|
|
377
|
+
2. **Wait for Beta**: The beta job runs automatically after changeset validation passes
|
|
378
|
+
3. **Install Beta**: Use the version from the PR comment
|
|
379
|
+
4. **Test Changes**: Verify functionality in your project
|
|
380
|
+
5. **Merge**: Once tested, merge the PR for production release
|
|
381
|
+
|
|
382
|
+
### Changeset Validation
|
|
383
|
+
|
|
384
|
+
All pull requests with changes to `packages/registry/` must include a changeset:
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
# Create a changeset
|
|
388
|
+
bun run changeset
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
- Select `@signalflare-ai/ui` when prompted
|
|
392
|
+
- Choose the type of change: `patch`, `minor`, or `major`
|
|
393
|
+
- Write a clear description of what changed
|
|
394
|
+
|
|
395
|
+
The CI will automatically validate that a changeset exists before allowing beta publication.
|
|
396
|
+
|
|
397
|
+
## Production Releases
|
|
398
|
+
|
|
399
|
+
This package uses [Changesets](https://github.com/changesets/changesets) for version management and automated releases.
|
|
400
|
+
|
|
401
|
+
### Creating a Release
|
|
402
|
+
|
|
403
|
+
1. **Check for existing changesets**:
|
|
404
|
+
|
|
405
|
+
```bash
|
|
406
|
+
# List any pending changesets
|
|
407
|
+
ls .changeset/*.md 2>/dev/null | grep -v "README\|USAGE" || echo "No pending changesets"
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
2. **Create a changeset** for your changes (if necessary):
|
|
411
|
+
|
|
412
|
+
```bash
|
|
413
|
+
bun run changeset
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
- Select `@signalflare-ai/ui` from the list
|
|
417
|
+
- Select the type of change: `patch`, `minor`, or `major`
|
|
418
|
+
- Write a clear description of what changed
|
|
419
|
+
- This creates a `.changeset/*.md` file describing the change
|
|
420
|
+
|
|
421
|
+
### Release Workflow
|
|
422
|
+
|
|
423
|
+
1. **Development**: Make changes to components or blocks
|
|
424
|
+
2. **Changeset**: Create changeset describing the changes
|
|
425
|
+
3. **Review**: Submit PR with changes and changeset
|
|
426
|
+
4. **Beta Test**: Test the beta version published to the PR
|
|
427
|
+
5. **Merge**: Merge PR to main branch
|
|
428
|
+
6. **Release**: Run the production release process
|
|
429
|
+
|
|
430
|
+
### Production Release Process
|
|
431
|
+
|
|
432
|
+
To publish a production release:
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
# 1. Ensure you're on main branch with latest changes
|
|
436
|
+
git checkout main
|
|
437
|
+
git pull
|
|
438
|
+
|
|
439
|
+
# 2. Version all packages (consumes changesets)
|
|
440
|
+
bun run version
|
|
441
|
+
|
|
442
|
+
# 3. Build all packages
|
|
443
|
+
bun run build:all
|
|
444
|
+
|
|
445
|
+
# 4. Publish to npm
|
|
446
|
+
bun run release
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
This will:
|
|
450
|
+
|
|
451
|
+
- Update `package.json` with new version
|
|
452
|
+
- Generate/update `CHANGELOG.md`
|
|
453
|
+
- Remove consumed changeset files
|
|
454
|
+
- Publish to npm registry
|
|
455
|
+
- Create git tags
|
|
456
|
+
|
|
457
|
+
### Post-Release
|
|
458
|
+
|
|
459
|
+
After publishing:
|
|
460
|
+
|
|
461
|
+
1. **Commit version changes**:
|
|
462
|
+
|
|
463
|
+
```bash
|
|
464
|
+
git add .
|
|
465
|
+
git commit -m "chore: release @signalflare-ai/ui@{version}"
|
|
466
|
+
git push
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
2. **Push tags**:
|
|
470
|
+
|
|
471
|
+
```bash
|
|
472
|
+
git push --tags
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
3. **Verify publication**:
|
|
476
|
+
```bash
|
|
477
|
+
npm view @signalflare-ai/ui versions
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
### Semantic Versioning
|
|
481
|
+
|
|
482
|
+
Follow semantic versioning guidelines:
|
|
483
|
+
|
|
484
|
+
- **Patch** (`0.0.1`): Bug fixes, small component updates, style tweaks
|
|
485
|
+
- **Minor** (`0.1.0`): New components, new features, backwards-compatible changes
|
|
486
|
+
- **Major** (`1.0.0`): Breaking changes, removed components, API changes
|
|
487
|
+
|
|
488
|
+
### Release Notes
|
|
489
|
+
|
|
490
|
+
Changesets automatically generate:
|
|
491
|
+
|
|
492
|
+
- Updated `package.json` version
|
|
493
|
+
- `CHANGELOG.md` with release notes
|
|
494
|
+
- Git tags for each release
|
|
495
|
+
|
|
496
|
+
The changelog includes all changeset descriptions, providing clear documentation of what changed in each release.
|
|
497
|
+
|
|
498
|
+
## Troubleshooting
|
|
499
|
+
|
|
500
|
+
### Common Issues
|
|
501
|
+
|
|
502
|
+
**Changeset Validation Failed**
|
|
503
|
+
|
|
504
|
+
If the CI fails with a changeset validation error:
|
|
505
|
+
|
|
506
|
+
1. **Check if changeset exists**: Run `ls .changeset/*.md` to see pending changesets
|
|
507
|
+
2. **Create changeset**: Run `bun run changeset` and select `@signalflare-ai/ui`
|
|
508
|
+
3. **Verify changeset targets correct package**: Open the changeset file and ensure it includes `@signalflare-ai/ui`
|
|
509
|
+
4. **Commit changeset**: Add and commit the changeset file to your branch
|
|
510
|
+
|
|
511
|
+
**Beta Publication Failed**
|
|
512
|
+
|
|
513
|
+
If the beta release job fails:
|
|
514
|
+
|
|
515
|
+
1. **Check build**: Ensure `bun run build` succeeds locally
|
|
516
|
+
2. **Check npm token**: Verify npm authentication is configured in CI
|
|
517
|
+
3. **Check version format**: Ensure version follows semver format
|
|
518
|
+
4. **Review CI logs**: Check GitHub Actions logs for specific error messages
|
|
519
|
+
|
|
520
|
+
**Import Errors After Release**
|
|
521
|
+
|
|
522
|
+
If consumers report import errors:
|
|
523
|
+
|
|
524
|
+
1. **Verify exports**: Check `package.json` exports match actual files
|
|
525
|
+
2. **Run tests**: Ensure `bun run test:run` passes
|
|
526
|
+
3. **Check build output**: Verify `dist/` contains expected files
|
|
527
|
+
4. **Test locally**: Use `npm link` to test package locally before publishing
|