basalt-ui 1.41.0 → 2.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/AGENTS.md +46 -43
- package/CHANGELOG.md +535 -518
- package/MIGRATING.md +945 -37
- package/README.md +171 -366
- package/agent/rules/basalt-batteries.md +19 -74
- package/agent/rules/basalt-charts.md +21 -95
- package/agent/rules/basalt-controls.md +23 -131
- package/agent/rules/basalt-mantine.md +26 -99
- package/agent/rules/basalt-state.md +21 -103
- package/agent/rules/basalt-tokens.md +33 -114
- package/agent/skills/basalt-app/SKILL.md +229 -72
- package/agent/skills/basalt-charts/SKILL.md +23 -57
- package/agent/skills/basalt-design/SKILL.md +12 -70
- package/agent/templates/AGENTS-block.md.tpl +16 -26
- package/agent/templates/DESIGN.md.tpl +1 -1
- package/agent/templates/__root.tpl +9 -16
- package/agent/templates/main.tpl +21 -0
- package/agent/templates/nav.tpl +18 -0
- package/configs/oxlint-basalt.json +4 -10
- package/configs/oxlint-plugin.js +465 -844
- package/configs/oxlint-plugin.test.ts +661 -709
- package/configs/oxlint.json +10 -2
- package/dist/agent/ai-sdk-transport.d.ts +19 -7
- package/dist/agent/ai-sdk-transport.d.ts.map +1 -1
- package/dist/agent/ai-sdk-transport.js +10 -7
- package/dist/{agent-chat → agent/chat}/composer.d.ts +16 -16
- package/dist/agent/chat/composer.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/composer.js +10 -9
- package/dist/{agent-chat → agent/chat}/message-affordances.d.ts +7 -6
- package/dist/agent/chat/message-affordances.d.ts.map +1 -0
- package/dist/agent/chat/relative-time.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-feed-row.d.ts +18 -16
- package/dist/agent/chat/thread-feed-row.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-feed-row.js +12 -11
- package/dist/{agent-chat → agent/chat}/thread-feed.d.ts +8 -8
- package/dist/agent/chat/thread-feed.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-feed.js +12 -10
- package/dist/{agent-chat → agent/chat}/thread-message.d.ts +12 -9
- package/dist/agent/chat/thread-message.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-message.js +15 -13
- package/dist/{agent-chat → agent/chat}/thread-outcome-card.d.ts +2 -2
- package/dist/agent/chat/thread-outcome-card.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/thread-outcome-card.js +3 -3
- package/dist/{agent-chat → agent/chat}/tool-chip.d.ts +5 -5
- package/dist/agent/chat/tool-chip.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/tool-chip.js +4 -4
- package/dist/agent/chat/use-keyboard-inset.d.ts.map +1 -0
- package/dist/{agent-chat → agent/chat}/use-keyboard-inset.js +1 -1
- package/dist/{agent-chat → agent/chat}/virtualize.d.ts +7 -7
- package/dist/agent/chat/virtualize.d.ts.map +1 -0
- package/dist/agent/error.d.ts +31 -0
- package/dist/agent/error.d.ts.map +1 -0
- package/dist/agent/error.js +18 -0
- package/dist/agent/history.d.ts +2 -36
- package/dist/agent/history.d.ts.map +1 -1
- package/dist/agent/history.js +0 -32
- package/dist/agent/id.d.ts +4 -5
- package/dist/agent/id.d.ts.map +1 -1
- package/dist/agent/index.d.ts +19 -52
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +10 -32
- package/dist/agent/outcome.d.ts +3 -14
- package/dist/agent/outcome.d.ts.map +1 -1
- package/dist/agent/outcome.js +0 -30
- package/dist/agent/part-list.d.ts +3 -3
- package/dist/agent/part-list.d.ts.map +1 -1
- package/dist/agent/parts.d.ts +23 -24
- package/dist/agent/parts.d.ts.map +1 -1
- package/dist/agent/run-committer.d.ts +23 -0
- package/dist/agent/run-committer.d.ts.map +1 -0
- package/dist/agent/run-committer.js +41 -0
- package/dist/agent/run-records.d.ts +77 -0
- package/dist/agent/run-records.d.ts.map +1 -0
- package/dist/agent/run-records.js +69 -0
- package/dist/agent/thread.d.ts +23 -47
- package/dist/agent/thread.d.ts.map +1 -1
- package/dist/agent/thread.js +3 -134
- package/dist/agent/transport.d.ts +6 -69
- package/dist/agent/transport.d.ts.map +1 -1
- package/dist/agent/transport.js +0 -18
- package/dist/agent/use-agent-thread-runs.d.ts +63 -26
- package/dist/agent/use-agent-thread-runs.d.ts.map +1 -1
- package/dist/agent/use-agent-thread-runs.js +202 -66
- package/dist/charts/BandStrip.d.ts +46 -0
- package/dist/charts/BandStrip.d.ts.map +1 -0
- package/dist/charts/BandStrip.js +151 -0
- package/dist/charts/Bars.d.ts +19 -0
- package/dist/charts/Bars.d.ts.map +1 -0
- package/dist/charts/Bars.js +77 -0
- package/dist/charts/CartesianChart.d.ts +57 -0
- package/dist/charts/CartesianChart.d.ts.map +1 -0
- package/dist/charts/CartesianChart.js +121 -0
- package/dist/charts/ChartCard.d.ts +34 -0
- package/dist/charts/ChartCard.d.ts.map +1 -0
- package/dist/charts/ChartCard.js +115 -0
- package/dist/charts/Donut.d.ts +25 -0
- package/dist/charts/Donut.d.ts.map +1 -0
- package/dist/charts/Donut.js +191 -0
- package/dist/charts/DualPanel.d.ts +47 -0
- package/dist/charts/DualPanel.d.ts.map +1 -0
- package/dist/charts/DualPanel.js +214 -0
- package/dist/charts/Heatmap.d.ts +41 -0
- package/dist/charts/Heatmap.d.ts.map +1 -0
- package/dist/charts/Heatmap.js +216 -0
- package/dist/charts/Lines.d.ts +11 -0
- package/dist/charts/Lines.d.ts.map +1 -0
- package/dist/charts/Lines.js +114 -0
- package/dist/charts/MirroredBars.d.ts +44 -0
- package/dist/charts/MirroredBars.d.ts.map +1 -0
- package/dist/charts/MirroredBars.js +190 -0
- package/dist/charts/Sparkline.d.ts +22 -0
- package/dist/charts/Sparkline.d.ts.map +1 -0
- package/dist/charts/Sparkline.js +129 -0
- package/dist/charts/StackedArea.d.ts +15 -0
- package/dist/charts/StackedArea.d.ts.map +1 -0
- package/dist/charts/StackedArea.js +46 -0
- package/dist/charts/box.d.ts +38 -0
- package/dist/charts/box.d.ts.map +1 -0
- package/dist/charts/box.js +72 -0
- package/dist/charts/card-context.d.ts +3 -0
- package/dist/charts/card-context.d.ts.map +1 -0
- package/dist/charts/card-context.js +7 -0
- package/dist/charts/chart-box.module.css +64 -0
- package/{src/content/article-card.module.css.d.ts → dist/charts/chart-box.module.css.d.ts} +5 -9
- package/dist/charts/chart-card.module.css +25 -0
- package/dist/{dashboard/widget-grid.module.css.d.ts → charts/chart-card.module.css.d.ts} +1 -3
- package/dist/charts/chart-legend.module.css +38 -0
- package/{src/dashboard/widget-grid.module.css.d.ts → dist/charts/chart-legend.module.css.d.ts} +3 -3
- package/dist/charts/compile.d.ts +62 -0
- package/dist/charts/compile.d.ts.map +1 -0
- package/dist/charts/compile.js +386 -0
- package/dist/charts/cursor.d.ts +50 -0
- package/dist/charts/cursor.d.ts.map +1 -0
- package/dist/charts/cursor.js +157 -0
- package/dist/charts/curves.d.ts +12 -0
- package/dist/charts/curves.d.ts.map +1 -0
- package/dist/charts/curves.js +86 -0
- package/dist/charts/donut.module.css +54 -0
- package/dist/{content/article-card.module.css.d.ts → charts/donut.module.css.d.ts} +2 -9
- package/dist/charts/host.d.ts +17 -0
- package/dist/charts/host.d.ts.map +1 -0
- package/dist/charts/host.js +35 -0
- package/dist/charts/index.d.ts +18 -53
- package/dist/charts/index.d.ts.map +1 -1
- package/dist/charts/index.js +17 -189
- package/dist/charts/legend.d.ts +23 -0
- package/dist/charts/legend.d.ts.map +1 -0
- package/dist/charts/legend.js +160 -0
- package/dist/charts/marks.d.ts +25 -0
- package/dist/charts/marks.d.ts.map +1 -0
- package/dist/charts/marks.js +128 -0
- package/dist/charts/panel.d.ts +56 -0
- package/dist/charts/panel.d.ts.map +1 -0
- package/dist/charts/panel.js +123 -0
- package/dist/charts/scales.d.ts +44 -0
- package/dist/charts/scales.d.ts.map +1 -0
- package/dist/charts/scales.js +163 -0
- package/dist/charts/sizing.d.ts +12 -0
- package/dist/charts/sizing.d.ts.map +1 -0
- package/dist/charts/sizing.js +33 -0
- package/dist/charts/state.d.ts +17 -0
- package/dist/charts/state.d.ts.map +1 -0
- package/dist/charts/state.js +53 -0
- package/dist/charts/theme.d.ts +38 -19
- package/dist/charts/theme.d.ts.map +1 -1
- package/dist/charts/theme.js +48 -26
- package/dist/charts/types.d.ts +227 -0
- package/dist/charts/types.d.ts.map +1 -0
- package/dist/charts/types.js +4 -0
- package/dist/cli/audit-allows.d.ts +4 -17
- package/dist/cli/audit-allows.d.ts.map +1 -1
- package/dist/cli/config.d.ts +14 -43
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/doctor-upgrade.d.ts +31 -0
- package/dist/cli/doctor-upgrade.d.ts.map +1 -0
- package/dist/cli/doctor-upgrade.js +269 -0
- package/dist/cli/doctor.d.ts +13 -29
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +51 -9
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +2 -4
- package/dist/cli/index.d.ts +48 -172
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +39 -132
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +43 -37
- package/dist/cli/sync.d.ts +5 -21
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +4 -23
- package/dist/cli/tokens-css.d.ts +7 -28
- package/dist/cli/tokens-css.d.ts.map +1 -1
- package/dist/commands/ShortcutsHelp.d.ts.map +1 -1
- package/dist/commands/ShortcutsHelp.js +4 -5
- package/dist/commands/define-commands.d.ts +15 -31
- package/dist/commands/define-commands.d.ts.map +1 -1
- package/dist/commands/define-commands.js +1 -11
- package/dist/commands/define-overlays.d.ts +5 -19
- package/dist/commands/define-overlays.d.ts.map +1 -1
- package/dist/commands/define-overlays.js +3 -11
- package/dist/commands/index.d.ts +10 -40
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +9 -46
- package/dist/{notifications → commands/notifications}/bell.d.ts +1 -1
- package/dist/commands/notifications/bell.d.ts.map +1 -0
- package/dist/{notifications → commands/notifications}/center.d.ts +2 -2
- package/dist/commands/notifications/center.d.ts.map +1 -0
- package/dist/{notifications → commands/notifications}/center.js +2 -2
- package/dist/{notifications → commands/notifications}/define-notifications.d.ts +3 -3
- package/dist/commands/notifications/define-notifications.d.ts.map +1 -0
- package/dist/commands/notifications/notify.d.ts +44 -0
- package/dist/commands/notifications/notify.d.ts.map +1 -0
- package/dist/commands/notifications/notify.js +79 -0
- package/dist/{notifications → commands/notifications}/store.d.ts +2 -0
- package/dist/commands/notifications/store.d.ts.map +1 -0
- package/dist/{notifications → commands/notifications}/store.js +4 -0
- package/dist/commands/projectors.d.ts +1 -131
- package/dist/commands/projectors.d.ts.map +1 -1
- package/dist/commands/projectors.js +2 -73
- package/dist/commands/shell-bridge.d.ts +3 -3
- package/dist/commands/shortcut-format.d.ts +5 -4
- package/dist/commands/shortcut-format.d.ts.map +1 -1
- package/dist/common/errors.d.ts +3 -3
- package/dist/common/use-measured-widths.d.ts.map +1 -1
- package/dist/common/use-measured-widths.js +5 -3
- package/dist/common/validate.d.ts +2 -2
- package/dist/content/article-layout.d.ts.map +1 -1
- package/dist/content/article-layout.js +3 -3
- package/dist/content/article-model.d.ts +1 -46
- package/dist/content/article-model.d.ts.map +1 -1
- package/dist/content/article-model.js +1 -29
- package/dist/content/index.d.ts +11 -41
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +3 -35
- package/dist/content/markdown.d.ts +1 -1
- package/dist/content/markdown.d.ts.map +1 -1
- package/dist/content/markdown.js +1 -1
- package/dist/content/mermaid.d.ts.map +1 -1
- package/dist/content/mermaid.js +7 -7
- package/dist/content/slug.d.ts +1 -8
- package/dist/content/slug.d.ts.map +1 -1
- package/dist/content/slug.js +1 -8
- package/dist/content/url-hardening.d.ts +2 -2
- package/dist/content/url-hardening.d.ts.map +1 -1
- package/dist/content/url-hardening.js +2 -0
- package/dist/controls/actions.d.ts +16 -1
- package/dist/controls/actions.d.ts.map +1 -1
- package/dist/controls/enum-filter.d.ts +1 -1
- package/dist/controls/enum-filter.d.ts.map +1 -1
- package/dist/controls/filter-context.d.ts.map +1 -1
- package/dist/controls/filter-context.js +3 -1
- package/dist/controls/filter-set.js +4 -6
- package/dist/controls/form-layout.d.ts +1 -1
- package/dist/controls/form-layout.d.ts.map +1 -1
- package/dist/controls/form-layout.js +1 -1
- package/dist/controls/glyphs.d.ts +0 -2
- package/dist/controls/glyphs.d.ts.map +1 -1
- package/dist/controls/glyphs.js +0 -7
- package/dist/controls/index.d.ts +12 -17
- package/dist/controls/index.d.ts.map +1 -1
- package/dist/controls/index.js +5 -39
- package/dist/controls/multi-select-filter.d.ts +4 -3
- package/dist/controls/multi-select-filter.d.ts.map +1 -1
- package/dist/controls/number-filter.d.ts +4 -3
- package/dist/controls/number-filter.d.ts.map +1 -1
- package/dist/controls/number-filter.js +3 -1
- package/dist/controls/range-filter.d.ts +4 -3
- package/dist/controls/range-filter.d.ts.map +1 -1
- package/dist/controls/search-filter.d.ts +4 -3
- package/dist/controls/search-filter.d.ts.map +1 -1
- package/dist/controls/search-filter.js +19 -14
- package/dist/controls/select-filter.d.ts +4 -3
- package/dist/controls/select-filter.d.ts.map +1 -1
- package/dist/controls/sync-button.d.ts.map +1 -1
- package/dist/controls/sync-button.js +12 -15
- package/dist/controls/toggle-filter.d.ts +4 -3
- package/dist/controls/toggle-filter.d.ts.map +1 -1
- package/dist/controls/uncontrolled.d.ts +12 -0
- package/dist/controls/uncontrolled.d.ts.map +1 -0
- package/dist/controls/view-tabs.d.ts +2 -2
- package/dist/controls/view-tabs.d.ts.map +1 -1
- package/dist/controls-dates/index.d.ts +0 -1
- package/dist/controls-dates/index.d.ts.map +1 -1
- package/dist/dashboard/index.d.ts +7 -9
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +3 -23
- package/dist/dashboard/section.d.ts +4 -6
- package/dist/dashboard/section.d.ts.map +1 -1
- package/dist/dashboard/section.js +4 -10
- package/dist/dashboard/stat-card.d.ts +4 -4
- package/dist/dashboard/stat-card.d.ts.map +1 -1
- package/dist/dashboard/stat-card.js +3 -3
- package/dist/dashboard/widget-header.module.css +9 -7
- package/dist/dev-dock.d.ts.map +1 -1
- package/dist/dev-dock.js +6 -1
- package/dist/format/date.d.ts +0 -34
- package/dist/format/date.d.ts.map +1 -1
- package/dist/format/date.js +0 -54
- package/dist/format/index.d.ts +7 -22
- package/dist/format/index.d.ts.map +1 -1
- package/dist/format/index.js +2 -43
- package/dist/format/number.d.ts +3 -14
- package/dist/format/number.d.ts.map +1 -1
- package/dist/format/number.js +0 -13
- package/dist/format/shared.d.ts +2 -3
- package/dist/format/shared.d.ts.map +1 -1
- package/dist/forms/index.d.ts +0 -11
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +1 -14
- package/dist/guard/index.d.ts +6 -21
- package/dist/guard/index.d.ts.map +1 -1
- package/dist/guard/index.js +27 -115
- package/dist/guard/types.d.ts +7 -18
- package/dist/guard/types.d.ts.map +1 -1
- package/dist/index.d.ts +16 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -117
- package/dist/provider/create-router.d.ts +44 -0
- package/dist/provider/create-router.d.ts.map +1 -0
- package/dist/provider/create-router.js +62 -0
- package/dist/provider/hotkeys.d.ts +8 -0
- package/dist/provider/hotkeys.d.ts.map +1 -0
- package/dist/provider/hotkeys.js +50 -0
- package/dist/provider/index.d.ts +33 -110
- package/dist/provider/index.d.ts.map +1 -1
- package/dist/provider/index.js +182 -82
- package/dist/provider/lab-theme.d.ts.map +1 -1
- package/dist/provider/route-transition.d.ts +76 -0
- package/dist/provider/route-transition.d.ts.map +1 -0
- package/dist/provider/route-transition.js +98 -0
- package/dist/provider/spotlight-actions.d.ts +10 -0
- package/dist/provider/spotlight-actions.d.ts.map +1 -0
- package/dist/provider/spotlight-actions.js +55 -0
- package/dist/provider/test-router.d.ts +6 -0
- package/dist/provider/test-router.d.ts.map +1 -0
- package/dist/provider/test-router.js +18 -0
- package/dist/query-client.d.ts +4 -20
- package/dist/query-client.d.ts.map +1 -1
- package/dist/query-client.js +2 -2
- package/dist/router-tanstack/index.d.ts +18 -64
- package/dist/router-tanstack/index.d.ts.map +1 -1
- package/dist/router-tanstack/index.js +2 -16
- package/dist/router-tanstack/nav.d.ts +12 -1
- package/dist/router-tanstack/nav.d.ts.map +1 -1
- package/dist/router-tanstack/nav.js +8 -1
- package/dist/router-tanstack/search-store.d.ts +1 -1
- package/dist/router-tanstack/search-store.d.ts.map +1 -1
- package/dist/router-tanstack/use-nav.d.ts +8 -9
- package/dist/router-tanstack/use-nav.d.ts.map +1 -1
- package/dist/router-tanstack/use-nav.js +20 -1
- package/dist/shell/app-mobile-nav.d.ts.map +1 -1
- package/dist/shell/app-sidebar.js +1 -1
- package/dist/shell/index.d.ts +31 -10
- package/dist/shell/index.d.ts.map +1 -1
- package/dist/shell/index.js +14 -3
- package/dist/shell/page-aside.d.ts +2 -2
- package/dist/shell/page-aside.d.ts.map +1 -1
- package/dist/shell/page-aside.js +31 -12
- package/dist/shell/page-bar.d.ts +2 -2
- package/dist/shell/page-bar.d.ts.map +1 -1
- package/dist/shell/page-bar.js +1 -1
- package/dist/state.d.ts +10 -12
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +4 -6
- package/dist/styles.css +107 -7
- package/dist/surfaces.d.ts +28 -103
- package/dist/surfaces.d.ts.map +1 -1
- package/dist/surfaces.js +54 -143
- package/dist/{data → table}/data-table-state.d.ts +1 -1
- package/dist/table/data-table-state.d.ts.map +1 -0
- package/dist/{data → table}/data-table-state.js +4 -3
- package/dist/{data → table}/data-table.d.ts +28 -49
- package/dist/table/data-table.d.ts.map +1 -0
- package/dist/{data → table}/data-table.js +74 -60
- package/dist/table/index.d.ts +18 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/{data/table.js → table/index.js} +1 -1
- package/dist/table/query-branch.d.ts.map +1 -0
- package/dist/table/table-features.d.ts +69 -0
- package/dist/table/table-features.d.ts.map +1 -0
- package/dist/table/table-features.js +49 -0
- package/dist/telemetry.d.ts +77 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +33 -0
- package/dist/theme/index.d.ts +10 -21
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +3 -14
- package/dist/theme/theme-toggle.d.ts.map +1 -1
- package/dist/theme/theme-toggle.js +7 -33
- package/dist/theme/theme-toggle.module.css +30 -0
- package/dist/theme/theme-toggle.module.css.d.ts +10 -0
- package/dist/theme-lab/derive-controls.d.ts.map +1 -1
- package/dist/theme-lab/derive-controls.js +5 -3
- package/dist/theme-lab/derive-state.d.ts.map +1 -1
- package/dist/theme-lab/derive-state.js +2 -1
- package/dist/tokens/core.d.ts +360 -0
- package/dist/tokens/core.d.ts.map +1 -0
- package/dist/tokens/core.js +708 -0
- package/dist/tokens/derive.d.ts +1 -1
- package/dist/tokens/derive.d.ts.map +1 -1
- package/dist/tokens/index.d.ts +5 -373
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +8 -700
- package/dist/tokens/palette.d.ts +2 -6
- package/dist/tokens/palette.d.ts.map +1 -1
- package/dist/tokens/palette.js +1 -4
- package/dist/vite.d.ts +4 -3
- package/dist/vite.d.ts.map +1 -1
- package/llms.txt +43 -85
- package/package.json +77 -170
- package/src/agent/ai-sdk-transport.ts +57 -37
- package/src/{agent-chat → agent/chat}/composer.tsx +29 -30
- package/src/{agent-chat → agent/chat}/message-affordances.ts +8 -5
- package/src/{agent-chat → agent/chat}/thread-feed-row.tsx +30 -35
- package/src/{agent-chat → agent/chat}/thread-feed.tsx +40 -35
- package/src/{agent-chat → agent/chat}/thread-message.tsx +37 -35
- package/src/{agent-chat → agent/chat}/thread-outcome-card.tsx +5 -5
- package/src/{agent-chat → agent/chat}/tool-chip.tsx +12 -12
- package/src/{agent-chat → agent/chat}/use-keyboard-inset.ts +1 -1
- package/src/{agent-chat → agent/chat}/virtualize.ts +5 -5
- package/src/agent/error.ts +43 -0
- package/src/agent/history.ts +2 -107
- package/src/agent/id.ts +4 -5
- package/src/agent/index.ts +23 -112
- package/src/agent/outcome.ts +3 -56
- package/src/agent/part-list.tsx +3 -3
- package/src/agent/parts.ts +23 -22
- package/src/agent/run-committer.ts +64 -0
- package/src/agent/run-records.ts +147 -0
- package/src/agent/thread.ts +24 -231
- package/src/agent/transport.ts +6 -96
- package/src/agent/use-agent-thread-runs.ts +364 -199
- package/src/charts/BandStrip.tsx +276 -0
- package/src/charts/Bars.tsx +141 -0
- package/src/charts/CartesianChart.tsx +206 -0
- package/src/charts/ChartCard.tsx +178 -0
- package/src/charts/Donut.tsx +256 -0
- package/src/charts/DualPanel.tsx +326 -0
- package/src/charts/Heatmap.tsx +282 -0
- package/src/charts/Lines.tsx +151 -0
- package/src/charts/MirroredBars.tsx +303 -0
- package/src/charts/Sparkline.tsx +176 -0
- package/src/charts/StackedArea.tsx +80 -0
- package/src/charts/box.tsx +96 -0
- package/src/charts/card-context.ts +11 -0
- package/src/charts/chart-box.module.css +64 -0
- package/src/charts/chart-box.module.css.d.ts +12 -0
- package/src/charts/chart-card.module.css +25 -0
- package/src/charts/chart-card.module.css.d.ts +8 -0
- package/src/charts/chart-legend.module.css +38 -0
- package/src/charts/chart-legend.module.css.d.ts +10 -0
- package/src/charts/compile.ts +585 -0
- package/src/charts/cursor.ts +282 -0
- package/src/charts/curves.ts +111 -0
- package/src/charts/donut.module.css +54 -0
- package/src/charts/donut.module.css.d.ts +9 -0
- package/src/charts/host.tsx +60 -0
- package/src/charts/index.ts +41 -178
- package/src/charts/legend.tsx +204 -0
- package/src/charts/marks.ts +201 -0
- package/src/charts/panel.tsx +227 -0
- package/src/charts/scales.ts +237 -0
- package/src/charts/sizing.ts +47 -0
- package/src/charts/state.tsx +80 -0
- package/src/charts/theme.ts +65 -0
- package/src/charts/types.ts +242 -0
- package/src/cli/audit-allows.ts +8 -30
- package/src/cli/config.ts +14 -43
- package/src/cli/doctor-upgrade.ts +392 -0
- package/src/cli/doctor.ts +81 -72
- package/src/cli/help.ts +2 -4
- package/src/cli/index.ts +100 -384
- package/src/cli/init.ts +60 -51
- package/src/cli/sync.ts +13 -68
- package/src/cli/tokens-css.ts +7 -28
- package/src/commands/ShortcutsHelp.tsx +8 -9
- package/src/commands/define-commands.ts +16 -43
- package/src/commands/define-overlays.ts +12 -36
- package/src/commands/index.ts +11 -94
- package/src/{notifications → commands/notifications}/bell.tsx +2 -2
- package/src/{notifications → commands/notifications}/center.tsx +7 -5
- package/src/{notifications → commands/notifications}/define-notifications.ts +3 -3
- package/src/commands/notifications/notify.tsx +158 -0
- package/src/{notifications → commands/notifications}/store.ts +10 -2
- package/src/commands/projectors.ts +5 -225
- package/src/commands/shell-bridge.ts +5 -5
- package/src/commands/shortcut-format.ts +5 -4
- package/src/common/errors.ts +3 -3
- package/src/common/use-measured-widths.ts +6 -3
- package/src/common/validate.ts +2 -2
- package/src/content/article-layout.tsx +37 -38
- package/src/content/article-model.ts +1 -84
- package/src/content/index.ts +12 -83
- package/src/content/markdown.tsx +4 -3
- package/src/content/mermaid.tsx +9 -7
- package/src/content/slug.ts +1 -16
- package/src/content/url-hardening.ts +8 -2
- package/src/controls/actions.tsx +24 -1
- package/src/controls/enum-filter.tsx +1 -1
- package/src/controls/filter-context.tsx +3 -1
- package/src/controls/filter-set.tsx +5 -7
- package/src/controls/form-layout.tsx +2 -2
- package/src/controls/glyphs.tsx +0 -10
- package/src/controls/index.ts +13 -64
- package/src/controls/multi-select-filter.tsx +5 -4
- package/src/controls/number-filter.tsx +8 -4
- package/src/controls/range-filter.tsx +5 -4
- package/src/controls/search-filter.tsx +25 -19
- package/src/controls/select-filter.tsx +5 -4
- package/src/controls/sync-button.tsx +18 -20
- package/src/controls/toggle-filter.tsx +5 -4
- package/src/controls/uncontrolled.ts +12 -0
- package/src/controls/view-tabs.tsx +3 -3
- package/src/controls-dates/date-range-picker.tsx +1 -1
- package/src/controls-dates/index.ts +0 -1
- package/src/dashboard/index.ts +7 -48
- package/src/dashboard/section.tsx +11 -40
- package/src/dashboard/stat-card.tsx +14 -16
- package/src/dashboard/widget-header.module.css +9 -7
- package/src/dev-dock.tsx +14 -27
- package/src/format/date.ts +2 -92
- package/src/format/index.ts +7 -53
- package/src/format/number.ts +3 -26
- package/src/format/shared.ts +2 -3
- package/src/forms/index.ts +0 -23
- package/src/guard/index.ts +36 -191
- package/src/guard/types.ts +6 -19
- package/src/index.ts +30 -282
- package/src/provider/create-router.tsx +138 -0
- package/src/provider/hotkeys.ts +70 -0
- package/src/provider/index.tsx +260 -230
- package/src/provider/lab-theme.ts +3 -2
- package/src/provider/route-transition.ts +199 -0
- package/src/provider/spotlight-actions.tsx +69 -0
- package/src/provider/test-router.tsx +25 -0
- package/src/query-client.ts +4 -22
- package/src/router-tanstack/index.ts +18 -112
- package/src/router-tanstack/nav.ts +28 -2
- package/src/router-tanstack/search-store.ts +9 -2
- package/src/router-tanstack/use-nav.ts +47 -13
- package/src/shell/app-mobile-nav.tsx +3 -2
- package/src/shell/app-sidebar.tsx +1 -1
- package/src/shell/aside-docking.ts +1 -1
- package/src/shell/index.tsx +61 -20
- package/src/shell/page-aside.tsx +47 -23
- package/src/shell/page-bar.tsx +3 -3
- package/src/shell/page-title.tsx +1 -1
- package/src/state.ts +11 -37
- package/src/styles.css +107 -7
- package/src/surfaces.ts +56 -151
- package/src/{data → table}/data-table-state.ts +5 -4
- package/src/{data → table}/data-table.tsx +170 -161
- package/src/table/index.ts +18 -0
- package/src/table/table-features.ts +102 -0
- package/src/telemetry.ts +110 -0
- package/src/theme/index.ts +22 -47
- package/src/theme/theme-toggle.module.css +30 -0
- package/src/theme/theme-toggle.module.css.d.ts +10 -0
- package/src/theme/theme-toggle.tsx +15 -43
- package/src/theme-lab/derive-controls.tsx +5 -3
- package/src/theme-lab/derive-state.ts +2 -1
- package/src/tokens/core.ts +1163 -0
- package/src/tokens/derive.ts +1 -1
- package/src/tokens/index.ts +14 -1181
- package/src/tokens/palette.ts +3 -7
- package/src/vite.ts +3 -3
- package/agent/templates/query-client.ts.tpl +0 -26
- package/dist/agent/adapter.d.ts +0 -150
- package/dist/agent/adapter.d.ts.map +0 -1
- package/dist/agent/adapter.js +0 -482
- package/dist/agent/use-agent-stream.d.ts +0 -35
- package/dist/agent/use-agent-stream.d.ts.map +0 -1
- package/dist/agent/use-agent-stream.js +0 -59
- package/dist/agent-chat/composer.d.ts.map +0 -1
- package/dist/agent-chat/index.d.ts +0 -31
- package/dist/agent-chat/index.d.ts.map +0 -1
- package/dist/agent-chat/index.js +0 -19
- package/dist/agent-chat/message-affordances.d.ts.map +0 -1
- package/dist/agent-chat/relative-time.d.ts.map +0 -1
- package/dist/agent-chat/thread-detail-panel.d.ts +0 -28
- package/dist/agent-chat/thread-detail-panel.d.ts.map +0 -1
- package/dist/agent-chat/thread-detail-panel.js +0 -115
- package/dist/agent-chat/thread-feed-row.d.ts.map +0 -1
- package/dist/agent-chat/thread-feed.d.ts.map +0 -1
- package/dist/agent-chat/thread-message.d.ts.map +0 -1
- package/dist/agent-chat/thread-outcome-card.d.ts.map +0 -1
- package/dist/agent-chat/thread-workspace.d.ts +0 -44
- package/dist/agent-chat/thread-workspace.d.ts.map +0 -1
- package/dist/agent-chat/thread-workspace.js +0 -153
- package/dist/agent-chat/tool-chip.d.ts.map +0 -1
- package/dist/agent-chat/use-keyboard-inset.d.ts.map +0 -1
- package/dist/agent-chat/virtualize.d.ts.map +0 -1
- package/dist/charts/cursor/resolve.d.ts +0 -75
- package/dist/charts/cursor/resolve.d.ts.map +0 -1
- package/dist/charts/cursor/resolve.js +0 -91
- package/dist/charts/cursor/scope.d.ts +0 -20
- package/dist/charts/cursor/scope.d.ts.map +0 -1
- package/dist/charts/cursor/scope.js +0 -20
- package/dist/charts/cursor/store.d.ts +0 -35
- package/dist/charts/cursor/store.d.ts.map +0 -1
- package/dist/charts/cursor/store.js +0 -25
- package/dist/charts/cursor/touch-pin.d.ts +0 -45
- package/dist/charts/cursor/touch-pin.d.ts.map +0 -1
- package/dist/charts/cursor/touch-pin.js +0 -79
- package/dist/charts/hooks/use-discrete-cursor.d.ts +0 -66
- package/dist/charts/hooks/use-discrete-cursor.d.ts.map +0 -1
- package/dist/charts/hooks/use-discrete-cursor.js +0 -198
- package/dist/charts/hooks/use-hysteresis.d.ts +0 -18
- package/dist/charts/hooks/use-hysteresis.d.ts.map +0 -1
- package/dist/charts/hooks/use-hysteresis.js +0 -12
- package/dist/charts/hooks/useBandPlot.d.ts +0 -145
- package/dist/charts/hooks/useBandPlot.d.ts.map +0 -1
- package/dist/charts/hooks/useBandPlot.js +0 -178
- package/dist/charts/hooks/useChartCursor.d.ts +0 -75
- package/dist/charts/hooks/useChartCursor.d.ts.map +0 -1
- package/dist/charts/hooks/useChartCursor.js +0 -200
- package/dist/charts/hooks/useChartSize.d.ts +0 -29
- package/dist/charts/hooks/useChartSize.d.ts.map +0 -1
- package/dist/charts/hooks/useChartSize.js +0 -8
- package/dist/charts/kinds/BandStrip.d.ts +0 -132
- package/dist/charts/kinds/BandStrip.d.ts.map +0 -1
- package/dist/charts/kinds/BandStrip.js +0 -241
- package/dist/charts/kinds/Bars.d.ts +0 -141
- package/dist/charts/kinds/Bars.d.ts.map +0 -1
- package/dist/charts/kinds/Bars.js +0 -343
- package/dist/charts/kinds/Donut.d.ts +0 -77
- package/dist/charts/kinds/Donut.d.ts.map +0 -1
- package/dist/charts/kinds/Donut.js +0 -245
- package/dist/charts/kinds/DualPanel.d.ts +0 -111
- package/dist/charts/kinds/DualPanel.d.ts.map +0 -1
- package/dist/charts/kinds/DualPanel.js +0 -471
- package/dist/charts/kinds/Heatmap.d.ts +0 -85
- package/dist/charts/kinds/Heatmap.d.ts.map +0 -1
- package/dist/charts/kinds/Heatmap.js +0 -243
- package/dist/charts/kinds/MirroredBars.d.ts +0 -98
- package/dist/charts/kinds/MirroredBars.d.ts.map +0 -1
- package/dist/charts/kinds/MirroredBars.js +0 -292
- package/dist/charts/kinds/MultiLine.d.ts +0 -87
- package/dist/charts/kinds/MultiLine.d.ts.map +0 -1
- package/dist/charts/kinds/MultiLine.js +0 -176
- package/dist/charts/kinds/StackedArea.d.ts +0 -73
- package/dist/charts/kinds/StackedArea.d.ts.map +0 -1
- package/dist/charts/kinds/StackedArea.js +0 -135
- package/dist/charts/kinds/ZonedLine.d.ts +0 -97
- package/dist/charts/kinds/ZonedLine.d.ts.map +0 -1
- package/dist/charts/kinds/ZonedLine.js +0 -155
- package/dist/charts/kinds/band-chrome.d.ts +0 -31
- package/dist/charts/kinds/band-chrome.d.ts.map +0 -1
- package/dist/charts/kinds/band-chrome.js +0 -71
- package/dist/charts/kinds/donut-layout.d.ts +0 -47
- package/dist/charts/kinds/donut-layout.d.ts.map +0 -1
- package/dist/charts/kinds/donut-layout.js +0 -52
- package/dist/charts/layout/auto-margin.d.ts +0 -122
- package/dist/charts/layout/auto-margin.d.ts.map +0 -1
- package/dist/charts/layout/auto-margin.js +0 -81
- package/dist/charts/layout/end-labels.d.ts +0 -64
- package/dist/charts/layout/end-labels.d.ts.map +0 -1
- package/dist/charts/layout/end-labels.js +0 -76
- package/dist/charts/layout/log-ticks.d.ts +0 -27
- package/dist/charts/layout/log-ticks.d.ts.map +0 -1
- package/dist/charts/layout/log-ticks.js +0 -42
- package/dist/charts/primitives/AreaGradient.d.ts +0 -18
- package/dist/charts/primitives/AreaGradient.d.ts.map +0 -1
- package/dist/charts/primitives/AreaGradient.js +0 -13
- package/dist/charts/primitives/Axes.d.ts +0 -83
- package/dist/charts/primitives/Axes.d.ts.map +0 -1
- package/dist/charts/primitives/Axes.js +0 -168
- package/dist/charts/primitives/CartesianChart.d.ts +0 -257
- package/dist/charts/primitives/CartesianChart.d.ts.map +0 -1
- package/dist/charts/primitives/CartesianChart.js +0 -549
- package/dist/charts/primitives/ChartCard.d.ts +0 -66
- package/dist/charts/primitives/ChartCard.d.ts.map +0 -1
- package/dist/charts/primitives/ChartCard.js +0 -143
- package/dist/charts/primitives/ChartFrame.d.ts +0 -156
- package/dist/charts/primitives/ChartFrame.d.ts.map +0 -1
- package/dist/charts/primitives/ChartFrame.js +0 -241
- package/dist/charts/primitives/ChartLegend.d.ts +0 -67
- package/dist/charts/primitives/ChartLegend.d.ts.map +0 -1
- package/dist/charts/primitives/ChartLegend.js +0 -292
- package/dist/charts/primitives/ChartPending.d.ts +0 -113
- package/dist/charts/primitives/ChartPending.d.ts.map +0 -1
- package/dist/charts/primitives/ChartPending.js +0 -117
- package/dist/charts/primitives/ChartTooltip.d.ts +0 -59
- package/dist/charts/primitives/ChartTooltip.d.ts.map +0 -1
- package/dist/charts/primitives/ChartTooltip.js +0 -197
- package/dist/charts/primitives/Crosshair.d.ts +0 -26
- package/dist/charts/primitives/Crosshair.d.ts.map +0 -1
- package/dist/charts/primitives/Crosshair.js +0 -23
- package/dist/charts/primitives/HatchPattern.d.ts +0 -31
- package/dist/charts/primitives/HatchPattern.d.ts.map +0 -1
- package/dist/charts/primitives/HatchPattern.js +0 -31
- package/dist/charts/primitives/HoverOverlay.d.ts +0 -45
- package/dist/charts/primitives/HoverOverlay.d.ts.map +0 -1
- package/dist/charts/primitives/HoverOverlay.js +0 -72
- package/dist/charts/primitives/HoverOverlay.module.css +0 -13
- package/dist/charts/primitives/HoverOverlay.module.css.d.ts +0 -8
- package/dist/charts/primitives/XZoneRects.d.ts +0 -54
- package/dist/charts/primitives/XZoneRects.d.ts.map +0 -1
- package/dist/charts/primitives/XZoneRects.js +0 -65
- package/dist/charts/primitives/ZoneRects.d.ts +0 -38
- package/dist/charts/primitives/ZoneRects.d.ts.map +0 -1
- package/dist/charts/primitives/ZoneRects.js +0 -30
- package/dist/charts/primitives/chart-card-context.d.ts +0 -33
- package/dist/charts/primitives/chart-card-context.d.ts.map +0 -1
- package/dist/charts/primitives/chart-card-context.js +0 -18
- package/dist/charts/primitives/chart-frame-layout.d.ts +0 -185
- package/dist/charts/primitives/chart-frame-layout.d.ts.map +0 -1
- package/dist/charts/primitives/chart-frame-layout.js +0 -175
- package/dist/charts/primitives/chart-layout.d.ts +0 -112
- package/dist/charts/primitives/chart-layout.d.ts.map +0 -1
- package/dist/charts/primitives/chart-layout.js +0 -175
- package/dist/charts/primitives/chart-tier.d.ts +0 -16
- package/dist/charts/primitives/chart-tier.d.ts.map +0 -1
- package/dist/charts/primitives/chart-tier.js +0 -44
- package/dist/charts/primitives/legend-disclosure.d.ts +0 -27
- package/dist/charts/primitives/legend-disclosure.d.ts.map +0 -1
- package/dist/charts/primitives/legend-disclosure.js +0 -153
- package/dist/charts/series.d.ts +0 -189
- package/dist/charts/series.d.ts.map +0 -1
- package/dist/charts/series.js +0 -84
- package/dist/charts/sparklines/BarSparkline.d.ts +0 -37
- package/dist/charts/sparklines/BarSparkline.d.ts.map +0 -1
- package/dist/charts/sparklines/BarSparkline.js +0 -53
- package/dist/charts/sparklines/LineSparkline.d.ts +0 -15
- package/dist/charts/sparklines/LineSparkline.d.ts.map +0 -1
- package/dist/charts/sparklines/LineSparkline.js +0 -51
- package/dist/charts/sparklines/index.d.ts +0 -3
- package/dist/charts/sparklines/index.d.ts.map +0 -1
- package/dist/charts/sparklines/index.js +0 -6
- package/dist/charts/utils/domain.d.ts +0 -35
- package/dist/charts/utils/domain.d.ts.map +0 -1
- package/dist/charts/utils/domain.js +0 -12
- package/dist/charts/utils/format.d.ts +0 -8
- package/dist/charts/utils/format.d.ts.map +0 -1
- package/dist/charts/utils/format.js +0 -20
- package/dist/charts/utils/measure-text.d.ts +0 -25
- package/dist/charts/utils/measure-text.d.ts.map +0 -1
- package/dist/charts/utils/measure-text.js +0 -64
- package/dist/charts/utils/ticks.d.ts +0 -103
- package/dist/charts/utils/ticks.d.ts.map +0 -1
- package/dist/charts/utils/ticks.js +0 -92
- package/dist/commands/overlays-mount.d.ts +0 -122
- package/dist/commands/overlays-mount.d.ts.map +0 -1
- package/dist/commands/overlays-mount.js +0 -125
- package/dist/commands/useCommandHotkeys.d.ts +0 -14
- package/dist/commands/useCommandHotkeys.d.ts.map +0 -1
- package/dist/commands/useCommandHotkeys.js +0 -45
- package/dist/content/article-actions.d.ts +0 -39
- package/dist/content/article-actions.d.ts.map +0 -1
- package/dist/content/article-actions.js +0 -28
- package/dist/content/article-card.d.ts +0 -58
- package/dist/content/article-card.d.ts.map +0 -1
- package/dist/content/article-card.js +0 -79
- package/dist/content/article-card.module.css +0 -111
- package/dist/content/mdx.d.ts +0 -20
- package/dist/content/mdx.d.ts.map +0 -1
- package/dist/content/mdx.js +0 -64
- package/dist/controls/compare-filter.d.ts +0 -42
- package/dist/controls/compare-filter.d.ts.map +0 -1
- package/dist/controls/compare-filter.js +0 -38
- package/dist/controls/slider-control.d.ts +0 -36
- package/dist/controls/slider-control.d.ts.map +0 -1
- package/dist/controls/slider-control.js +0 -64
- package/dist/dashboard/widget-grid.d.ts +0 -27
- package/dist/dashboard/widget-grid.d.ts.map +0 -1
- package/dist/dashboard/widget-grid.js +0 -40
- package/dist/dashboard/widget-grid.module.css +0 -69
- package/dist/data/data-table-state.d.ts.map +0 -1
- package/dist/data/data-table.d.ts.map +0 -1
- package/dist/data/query-branch.d.ts.map +0 -1
- package/dist/data/table.d.ts +0 -24
- package/dist/data/table.d.ts.map +0 -1
- package/dist/data/virtual-list.d.ts +0 -133
- package/dist/data/virtual-list.d.ts.map +0 -1
- package/dist/data/virtual-list.js +0 -157
- package/dist/data/virtual.d.ts +0 -21
- package/dist/data/virtual.d.ts.map +0 -1
- package/dist/data/virtual.js +0 -4
- package/dist/forms/FormErrorSummary.d.ts +0 -30
- package/dist/forms/FormErrorSummary.d.ts.map +0 -1
- package/dist/forms/FormErrorSummary.js +0 -30
- package/dist/forms/use-field-array.d.ts +0 -60
- package/dist/forms/use-field-array.d.ts.map +0 -1
- package/dist/forms/use-field-array.js +0 -20
- package/dist/forms/use-form-draft.d.ts +0 -76
- package/dist/forms/use-form-draft.d.ts.map +0 -1
- package/dist/forms/use-form-draft.js +0 -92
- package/dist/forms/use-form-submit.d.ts +0 -88
- package/dist/forms/use-form-submit.d.ts.map +0 -1
- package/dist/forms/use-form-submit.js +0 -63
- package/dist/notifications/bell.d.ts.map +0 -1
- package/dist/notifications/center.d.ts.map +0 -1
- package/dist/notifications/define-notifications.d.ts.map +0 -1
- package/dist/notifications/index.d.ts +0 -40
- package/dist/notifications/index.d.ts.map +0 -1
- package/dist/notifications/index.js +0 -54
- package/dist/notifications/mount-guard.d.ts +0 -8
- package/dist/notifications/mount-guard.d.ts.map +0 -1
- package/dist/notifications/mount-guard.js +0 -18
- package/dist/notifications/notify.d.ts +0 -149
- package/dist/notifications/notify.d.ts.map +0 -1
- package/dist/notifications/notify.js +0 -171
- package/dist/notifications/store.d.ts.map +0 -1
- package/dist/provider/connectivity-indicator.d.ts +0 -13
- package/dist/provider/connectivity-indicator.d.ts.map +0 -1
- package/dist/provider/connectivity-indicator.js +0 -205
- package/dist/provider/connectivity-provider.d.ts +0 -7
- package/dist/provider/connectivity-provider.d.ts.map +0 -1
- package/dist/provider/connectivity-provider.js +0 -128
- package/dist/provider/connectivity-types.d.ts +0 -36
- package/dist/provider/connectivity-types.d.ts.map +0 -1
- package/dist/provider/use-connectivity.d.ts +0 -3
- package/dist/provider/use-connectivity.d.ts.map +0 -1
- package/dist/provider/use-connectivity.js +0 -14
- package/dist/query-devtools.d.ts +0 -21
- package/dist/query-devtools.d.ts.map +0 -1
- package/dist/query-devtools.js +0 -13
- package/src/agent/adapter.ts +0 -945
- package/src/agent/use-agent-stream.ts +0 -154
- package/src/agent-chat/index.ts +0 -54
- package/src/agent-chat/thread-detail-panel.tsx +0 -201
- package/src/agent-chat/thread-workspace.tsx +0 -279
- package/src/charts/cursor/resolve.ts +0 -198
- package/src/charts/cursor/scope.tsx +0 -35
- package/src/charts/cursor/store.ts +0 -58
- package/src/charts/cursor/touch-pin.ts +0 -138
- package/src/charts/hooks/use-discrete-cursor.ts +0 -335
- package/src/charts/hooks/use-hysteresis.ts +0 -26
- package/src/charts/hooks/useBandPlot.ts +0 -383
- package/src/charts/hooks/useChartCursor.ts +0 -367
- package/src/charts/hooks/useChartSize.ts +0 -35
- package/src/charts/kinds/BandStrip.tsx +0 -449
- package/src/charts/kinds/Bars.tsx +0 -589
- package/src/charts/kinds/Donut.tsx +0 -368
- package/src/charts/kinds/DualPanel.tsx +0 -712
- package/src/charts/kinds/Heatmap.tsx +0 -396
- package/src/charts/kinds/MirroredBars.tsx +0 -469
- package/src/charts/kinds/MultiLine.tsx +0 -322
- package/src/charts/kinds/StackedArea.tsx +0 -267
- package/src/charts/kinds/ZonedLine.tsx +0 -301
- package/src/charts/kinds/band-chrome.tsx +0 -91
- package/src/charts/kinds/donut-layout.ts +0 -82
- package/src/charts/layout/auto-margin.ts +0 -242
- package/src/charts/layout/end-labels.ts +0 -135
- package/src/charts/layout/log-ticks.ts +0 -90
- package/src/charts/primitives/AreaGradient.tsx +0 -26
- package/src/charts/primitives/Axes.tsx +0 -271
- package/src/charts/primitives/CartesianChart.tsx +0 -1002
- package/src/charts/primitives/ChartCard.tsx +0 -280
- package/src/charts/primitives/ChartFrame.tsx +0 -493
- package/src/charts/primitives/ChartLegend.tsx +0 -422
- package/src/charts/primitives/ChartPending.tsx +0 -243
- package/src/charts/primitives/ChartTooltip.tsx +0 -265
- package/src/charts/primitives/Crosshair.tsx +0 -43
- package/src/charts/primitives/HatchPattern.tsx +0 -55
- package/src/charts/primitives/HoverOverlay.module.css +0 -13
- package/src/charts/primitives/HoverOverlay.module.css.d.ts +0 -8
- package/src/charts/primitives/HoverOverlay.tsx +0 -109
- package/src/charts/primitives/XZoneRects.tsx +0 -132
- package/src/charts/primitives/ZoneRects.tsx +0 -67
- package/src/charts/primitives/chart-card-context.ts +0 -46
- package/src/charts/primitives/chart-frame-layout.ts +0 -430
- package/src/charts/primitives/chart-layout.ts +0 -318
- package/src/charts/primitives/chart-tier.tsx +0 -76
- package/src/charts/primitives/legend-disclosure.tsx +0 -178
- package/src/charts/series.ts +0 -276
- package/src/charts/sparklines/BarSparkline.tsx +0 -94
- package/src/charts/sparklines/LineSparkline.tsx +0 -71
- package/src/charts/sparklines/index.ts +0 -2
- package/src/charts/theme.tsx +0 -53
- package/src/charts/utils/domain.ts +0 -41
- package/src/charts/utils/format.ts +0 -19
- package/src/charts/utils/measure-text.ts +0 -109
- package/src/charts/utils/ticks.ts +0 -239
- package/src/commands/overlays-mount.tsx +0 -333
- package/src/commands/useCommandHotkeys.ts +0 -114
- package/src/content/article-actions.ts +0 -72
- package/src/content/article-card.module.css +0 -111
- package/src/content/article-card.tsx +0 -174
- package/src/content/mdx.tsx +0 -127
- package/src/controls/compare-filter.tsx +0 -81
- package/src/controls/slider-control.tsx +0 -159
- package/src/dashboard/widget-grid.module.css +0 -69
- package/src/dashboard/widget-grid.tsx +0 -146
- package/src/data/table.ts +0 -39
- package/src/data/virtual-list.tsx +0 -356
- package/src/data/virtual.ts +0 -26
- package/src/forms/FormErrorSummary.tsx +0 -71
- package/src/forms/use-field-array.ts +0 -94
- package/src/forms/use-form-draft.ts +0 -262
- package/src/forms/use-form-submit.ts +0 -199
- package/src/notifications/index.ts +0 -88
- package/src/notifications/mount-guard.ts +0 -38
- package/src/notifications/notify.tsx +0 -379
- package/src/provider/connectivity-indicator.tsx +0 -267
- package/src/provider/connectivity-provider.tsx +0 -189
- package/src/provider/connectivity-types.ts +0 -42
- package/src/provider/use-connectivity.ts +0 -26
- package/src/query-devtools.tsx +0 -40
- /package/dist/{agent-chat → agent/chat}/message-affordances.js +0 -0
- /package/dist/{agent-chat → agent/chat}/relative-time.d.ts +0 -0
- /package/dist/{agent-chat → agent/chat}/relative-time.js +0 -0
- /package/dist/{agent-chat → agent/chat}/use-keyboard-inset.d.ts +0 -0
- /package/dist/{agent-chat → agent/chat}/virtualize.js +0 -0
- /package/dist/{notifications → commands/notifications}/bell.js +0 -0
- /package/dist/{notifications → commands/notifications}/define-notifications.js +0 -0
- /package/dist/{provider/connectivity-types.js → controls/uncontrolled.js} +0 -0
- /package/dist/{data → table}/data-table.module.css +0 -0
- /package/dist/{data → table}/data-table.module.css.d.ts +0 -0
- /package/dist/{data → table}/query-branch.d.ts +0 -0
- /package/dist/{data → table}/query-branch.js +0 -0
- /package/src/{agent-chat → agent/chat}/relative-time.ts +0 -0
- /package/src/{data → table}/data-table.module.css +0 -0
- /package/src/{data → table}/data-table.module.css.d.ts +0 -0
- /package/src/{data → table}/query-branch.ts +0 -0
package/dist/cli/index.js
CHANGED
|
@@ -34,9 +34,7 @@ const GUARD_PASSTHROUGH = {
|
|
|
34
34
|
rawHtmlLayout: true,
|
|
35
35
|
inlineSpacing: true,
|
|
36
36
|
inlineDisplay: true,
|
|
37
|
-
rawVisxAxis: true,
|
|
38
37
|
rawMotionValue: true,
|
|
39
|
-
chartMissingAriaLabel: true,
|
|
40
38
|
rawFormControl: true,
|
|
41
39
|
sub16InputFont: true,
|
|
42
40
|
severity: true
|
|
@@ -108,7 +106,7 @@ function readBasaltConfig(cwd) {
|
|
|
108
106
|
return {};
|
|
109
107
|
}
|
|
110
108
|
}
|
|
111
|
-
const SCANNABLE_EXT = /\.(?:tsx?|jsx|astro|vue|css|html?|webmanifest)$/;
|
|
109
|
+
const SCANNABLE_EXT = /\.(?:tsx?|jsx|[cm][jt]s|astro|vue|css|html?|webmanifest)$/;
|
|
112
110
|
function walkSourceFiles(dir, out = []) {
|
|
113
111
|
let entries;
|
|
114
112
|
try {
|
|
@@ -240,8 +238,11 @@ function sha256(text) {
|
|
|
240
238
|
return createHash("sha256").update(text, "utf8").digest("hex");
|
|
241
239
|
}
|
|
242
240
|
function readIfExists(abs) {
|
|
243
|
-
|
|
244
|
-
|
|
241
|
+
try {
|
|
242
|
+
return readFileSync(abs, "utf8");
|
|
243
|
+
} catch {
|
|
244
|
+
return null;
|
|
245
|
+
}
|
|
245
246
|
}
|
|
246
247
|
function readSource(pkgRoot, source) {
|
|
247
248
|
return readIfExists(resolve(pkgRoot, source));
|
|
@@ -345,57 +346,11 @@ function isAgentsImportLine(line) {
|
|
|
345
346
|
function importsAgentsMd(text) {
|
|
346
347
|
return text.split(/\r?\n/).some(isAgentsImportLine);
|
|
347
348
|
}
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
}
|
|
354
|
-
const none = { pending: false, deletedHost: false, problem: null };
|
|
355
|
-
const legacyAbs = resolve(cwd, LEGACY_BLOCK_HOST);
|
|
356
|
-
const agentsAbs = resolve(cwd, AGENTS_MD);
|
|
357
|
-
const legacy = readIfExists(legacyAbs);
|
|
358
|
-
if (legacy === null) return none;
|
|
359
|
-
try {
|
|
360
|
-
if (sameFile(legacyAbs, agentsAbs)) return none;
|
|
361
|
-
} catch (error) {
|
|
362
|
-
const why = error.code ?? error.message;
|
|
363
|
-
return { ...none, problem: `cannot tell whether ${LEGACY_BLOCK_HOST} is ${AGENTS_MD} (${why})` };
|
|
364
|
-
}
|
|
365
|
-
const legacyScan = scanBlock(legacy);
|
|
366
|
-
const { region } = legacyScan;
|
|
367
|
-
if (legacyScan.problem !== null) {
|
|
368
|
-
return { ...none, problem: `${LEGACY_BLOCK_HOST}: ${legacyScan.problem}` };
|
|
369
|
-
}
|
|
370
|
-
if (region === null) return none;
|
|
371
|
-
const agents = readIfExists(agentsAbs) ?? "";
|
|
372
|
-
const agentsScan = scanBlock(agents);
|
|
373
|
-
if (agentsScan.problem !== null)
|
|
374
|
-
return { ...none, problem: `${AGENTS_MD}: ${agentsScan.problem}` };
|
|
375
|
-
const legacyBlock = legacy.slice(region.start, region.end);
|
|
376
|
-
if (agentsScan.region !== null && normalizeForLedger(agents.slice(agentsScan.region.start, agentsScan.region.end)) !== normalizeForLedger(legacyBlock)) {
|
|
377
|
-
return {
|
|
378
|
-
...none,
|
|
379
|
-
problem: `${LEGACY_BLOCK_HOST} and ${AGENTS_MD} each carry a basalt block and they differ \u2014 delete the stale block from ${LEGACY_BLOCK_HOST} (or the one in ${AGENTS_MD}, if ${LEGACY_BLOCK_HOST}'s is the one you want kept), then re-run.`
|
|
380
|
-
};
|
|
381
|
-
}
|
|
382
|
-
const before = legacy.slice(0, region.start).trimEnd();
|
|
383
|
-
const after = legacy.slice(region.end).trimStart();
|
|
384
|
-
const remainder = before === "" || after === "" ? `${before}${after}` : `${before}
|
|
385
|
-
|
|
386
|
-
${after}`;
|
|
387
|
-
const deletedHost = remainder.split(/\r?\n/).every((l) => l.trim() === "" || isAgentsImportLine(l));
|
|
388
|
-
if (opts.dryRun === true) return { pending: true, deletedHost, problem: null };
|
|
389
|
-
if (agentsScan.region === null) writeFileEnsuringDir(agentsAbs, applyBlock(agents, legacyBlock));
|
|
390
|
-
if (deletedHost) unlinkSync(legacyAbs);
|
|
391
|
-
else writeFileSync(legacyAbs, `${remainder.trimEnd()}
|
|
392
|
-
`);
|
|
393
|
-
return { pending: true, deletedHost, problem: null };
|
|
394
|
-
}
|
|
395
|
-
function blockMigrationProblem(cwd) {
|
|
396
|
-
const { problem } = migrateBlockToAgentsMd(cwd, { version: 1, files: {} }, { dryRun: true });
|
|
397
|
-
return problem === null ? null : `${problem.replace(/\.$/, "")}. Nothing else was reconciled \u2014 resolve this by hand, then re-run.`;
|
|
398
|
-
}
|
|
349
|
+
const ROUTER_SEED_DESTS = {
|
|
350
|
+
nav: "src/lib/nav.tsx",
|
|
351
|
+
root: "src/routes/__root.tsx",
|
|
352
|
+
main: "src/main.tsx"
|
|
353
|
+
};
|
|
399
354
|
function hasDependency(cwd, pkgName) {
|
|
400
355
|
try {
|
|
401
356
|
const pkg = JSON.parse(readFileSync(resolve(cwd, "package.json"), "utf8"));
|
|
@@ -406,16 +361,9 @@ function hasDependency(cwd, pkgName) {
|
|
|
406
361
|
return false;
|
|
407
362
|
}
|
|
408
363
|
}
|
|
409
|
-
function resolvePeerFlags(cwd, flags) {
|
|
410
|
-
return {
|
|
411
|
-
hasRouter: flags.withRouter === true || hasDependency(cwd, "@tanstack/react-router"),
|
|
412
|
-
hasQuery: flags.withQuery === true || hasDependency(cwd, "@tanstack/react-query")
|
|
413
|
-
};
|
|
414
|
-
}
|
|
415
364
|
const ROOT_PLACEMENT = {
|
|
416
365
|
isPackageRepoRoot: true,
|
|
417
|
-
repoRoot: ""
|
|
418
|
-
relocatedQueryClient: null
|
|
366
|
+
repoRoot: ""
|
|
419
367
|
};
|
|
420
368
|
function findRepoRoot(dir) {
|
|
421
369
|
let current = dir;
|
|
@@ -434,45 +382,14 @@ function oxlintBinResolves(dir) {
|
|
|
434
382
|
if (d === root || dirname(d) === d) return false;
|
|
435
383
|
}
|
|
436
384
|
}
|
|
437
|
-
function findFileNamed(dir, filename) {
|
|
438
|
-
let entries;
|
|
439
|
-
try {
|
|
440
|
-
entries = readdirSync(dir);
|
|
441
|
-
} catch {
|
|
442
|
-
return null;
|
|
443
|
-
}
|
|
444
|
-
for (const name of entries) {
|
|
445
|
-
if (name === "node_modules" || name === ".git" || name === "dist") continue;
|
|
446
|
-
const abs = resolve(dir, name);
|
|
447
|
-
let isDir;
|
|
448
|
-
try {
|
|
449
|
-
isDir = statSync(abs).isDirectory();
|
|
450
|
-
} catch {
|
|
451
|
-
continue;
|
|
452
|
-
}
|
|
453
|
-
if (isDir) {
|
|
454
|
-
const found = findFileNamed(abs, filename);
|
|
455
|
-
if (found !== null) return found;
|
|
456
|
-
} else if (name === filename) {
|
|
457
|
-
return abs;
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
return null;
|
|
461
|
-
}
|
|
462
|
-
function findRelocatedQueryClient(cwd) {
|
|
463
|
-
const seedAbs = resolve(cwd, "src/query-client.ts");
|
|
464
|
-
const found = findFileNamed(resolve(cwd, "src"), "query-client.ts");
|
|
465
|
-
return found !== null && found !== seedAbs ? found : null;
|
|
466
|
-
}
|
|
467
385
|
function resolvePlacement(cwd) {
|
|
468
386
|
const repoRoot = findRepoRoot(cwd);
|
|
469
387
|
return {
|
|
470
388
|
isPackageRepoRoot: repoRoot === cwd,
|
|
471
|
-
repoRoot
|
|
472
|
-
relocatedQueryClient: findRelocatedQueryClient(cwd)
|
|
389
|
+
repoRoot
|
|
473
390
|
};
|
|
474
391
|
}
|
|
475
|
-
function managedFiles(
|
|
392
|
+
function managedFiles(placement = ROOT_PLACEMENT) {
|
|
476
393
|
const rules = RULE_NAMES.map((name) => ({
|
|
477
394
|
dest: `.claude/rules/basalt-${name}.md`,
|
|
478
395
|
mode: "managed",
|
|
@@ -562,18 +479,8 @@ pre-commit:
|
|
|
562
479
|
}
|
|
563
480
|
`
|
|
564
481
|
};
|
|
565
|
-
const queryClient = {
|
|
566
|
-
dest: "src/query-client.ts",
|
|
567
|
-
mode: "seed",
|
|
568
|
-
source: "agent/templates/query-client.ts.tpl",
|
|
569
|
-
render: (ctx) => {
|
|
570
|
-
const tpl = readSource(ctx.pkgRoot, "agent/templates/query-client.ts.tpl");
|
|
571
|
-
if (tpl === null) return null;
|
|
572
|
-
return fillTemplate(tpl, ctx.vars);
|
|
573
|
-
}
|
|
574
|
-
};
|
|
575
482
|
const rootRoute = {
|
|
576
|
-
dest:
|
|
483
|
+
dest: ROUTER_SEED_DESTS.root,
|
|
577
484
|
mode: "seed",
|
|
578
485
|
source: "agent/templates/__root.tpl",
|
|
579
486
|
render: (ctx) => {
|
|
@@ -582,9 +489,19 @@ pre-commit:
|
|
|
582
489
|
return fillTemplate(tpl, ctx.vars);
|
|
583
490
|
}
|
|
584
491
|
};
|
|
585
|
-
const
|
|
586
|
-
|
|
587
|
-
|
|
492
|
+
const navModule = {
|
|
493
|
+
dest: ROUTER_SEED_DESTS.nav,
|
|
494
|
+
mode: "seed",
|
|
495
|
+
source: "agent/templates/nav.tpl",
|
|
496
|
+
render: (ctx) => readSource(ctx.pkgRoot, "agent/templates/nav.tpl")
|
|
497
|
+
};
|
|
498
|
+
const mainEntry = {
|
|
499
|
+
dest: ROUTER_SEED_DESTS.main,
|
|
500
|
+
mode: "seed",
|
|
501
|
+
source: "agent/templates/main.tpl",
|
|
502
|
+
render: (ctx) => readSource(ctx.pkgRoot, "agent/templates/main.tpl")
|
|
503
|
+
};
|
|
504
|
+
const scaffolds = [navModule, rootRoute, mainEntry];
|
|
588
505
|
const rootTooling = placement.isPackageRepoRoot ? [lefthook, ci] : [];
|
|
589
506
|
return [...rules, ...skills, agentsBlock, design, oxfmt, ...rootTooling, oxlintrc, ...scaffolds];
|
|
590
507
|
}
|
|
@@ -600,11 +517,6 @@ function placementNotices(cwd, placement) {
|
|
|
600
517
|
`skipped .github/workflows/check.yml ${notRoot} \u2014 GitHub Actions only reads .github/ at the repo root; copy the steps from ${asset("configs/check.yml")} into your root CI workflow instead, and give each one \`working-directory: ${pkg}\` \u2014 the same relocation \`root:\` performs for lefthook, and needed for the same reason.`
|
|
601
518
|
);
|
|
602
519
|
}
|
|
603
|
-
if (placement.relocatedQueryClient !== null) {
|
|
604
|
-
out.push(
|
|
605
|
-
`skipped src/query-client.ts (found an existing query client at ${relative(cwd, placement.relocatedQueryClient)}) \u2014 import it from there instead of re-seeding at the original path.`
|
|
606
|
-
);
|
|
607
|
-
}
|
|
608
520
|
return out;
|
|
609
521
|
}
|
|
610
522
|
function readManifest(cwd) {
|
|
@@ -646,14 +558,6 @@ Retired but locally edited, so left in place \u2014 your agent still loads them.
|
|
|
646
558
|
` + pruned.drifted.map((dest) => ` \xB7 ${dest}`).join("\n")
|
|
647
559
|
);
|
|
648
560
|
}
|
|
649
|
-
function reportBlockMigration(migration, command) {
|
|
650
|
-
if (!migration.pending) return;
|
|
651
|
-
const tail = migration.deletedHost ? `${LEGACY_BLOCK_HOST} held nothing else and was deleted.` : `the rest of ${LEGACY_BLOCK_HOST} is yours; while it exists Claude Code loads it INSTEAD of ${AGENTS_MD} unless it imports @${AGENTS_MD} \u2014 move your content over and delete it.`;
|
|
652
|
-
console.log(
|
|
653
|
-
`
|
|
654
|
-
basalt-ui ${command}: moved the basalt block from ${LEGACY_BLOCK_HOST} to ${AGENTS_MD} \u2014 ${tail}`
|
|
655
|
-
);
|
|
656
|
-
}
|
|
657
561
|
function pruneRetiredManagedFiles(cwd, manifest, files, opts = {}) {
|
|
658
562
|
const result = { removed: [], drifted: [] };
|
|
659
563
|
for (const dest of retiredManagedDests(manifest, files)) {
|
|
@@ -845,7 +749,7 @@ function stripJsonc(text) {
|
|
|
845
749
|
}
|
|
846
750
|
function parseJsonc(text) {
|
|
847
751
|
try {
|
|
848
|
-
return JSON.parse(stripJsonc(text));
|
|
752
|
+
return JSON.parse(stripJsonc(text.replace(/^\uFEFF/, "")));
|
|
849
753
|
} catch {
|
|
850
754
|
return null;
|
|
851
755
|
}
|
|
@@ -898,6 +802,7 @@ function inspectLefthookGate(repoRoot) {
|
|
|
898
802
|
const wired = lefthookDumpRunLines(dump).some((run2) => /\bcheck-theme\b/.test(run2));
|
|
899
803
|
return wired ? { kind: "wired", file } : { kind: "absent", file };
|
|
900
804
|
}
|
|
805
|
+
const ONLY_EXPORT_COMPONENTS = "react/only-export-components";
|
|
901
806
|
function mergeOxlintExtends(cwd, presetPath) {
|
|
902
807
|
const abs = resolve(cwd, ".oxlintrc.json");
|
|
903
808
|
const raw = readIfExists(abs);
|
|
@@ -911,6 +816,13 @@ function mergeOxlintExtends(cwd, presetPath) {
|
|
|
911
816
|
for (const [key, value] of Object.entries(cfg)) {
|
|
912
817
|
merged[key] = key === "extends" ? [presetPath, ...existing] : value;
|
|
913
818
|
}
|
|
819
|
+
const rules = merged["rules"];
|
|
820
|
+
if (rules !== void 0 && ONLY_EXPORT_COMPONENTS in rules) {
|
|
821
|
+
const [level, options] = [rules[ONLY_EXPORT_COMPONENTS]].flat();
|
|
822
|
+
const opts = typeof options === "object" && options !== null ? options : {};
|
|
823
|
+
const allowExportNames = [.../* @__PURE__ */ new Set([...opts.allowExportNames ?? [], "Route"])];
|
|
824
|
+
rules[ONLY_EXPORT_COMPONENTS] = [level, { ...opts, allowExportNames }];
|
|
825
|
+
}
|
|
914
826
|
const indent = /\n([ \t]+)"/.exec(raw)?.[1] ?? " ";
|
|
915
827
|
writeFileSync(abs, JSON.stringify(merged, null, indent) + (raw.endsWith("\n") ? "\n" : ""));
|
|
916
828
|
return "added";
|
|
@@ -1011,9 +923,7 @@ function run(argv, cwd = process.cwd()) {
|
|
|
1011
923
|
switch (cmd) {
|
|
1012
924
|
case "init":
|
|
1013
925
|
return init(cwd, {
|
|
1014
|
-
|
|
1015
|
-
withQuery: flags.includes("--with-query"),
|
|
1016
|
-
mergeLint: flags.includes("--merge-lint")
|
|
926
|
+
noMergeLint: flags.includes("--no-merge-lint")
|
|
1017
927
|
});
|
|
1018
928
|
case "sync":
|
|
1019
929
|
return sync(
|
|
@@ -1046,13 +956,13 @@ export {
|
|
|
1046
956
|
OXLINT_FILES,
|
|
1047
957
|
OXLINT_NO_BIN,
|
|
1048
958
|
ROOT_PLACEMENT,
|
|
959
|
+
ROUTER_SEED_DESTS,
|
|
1049
960
|
RULE_NAMES,
|
|
1050
961
|
SERIES_MODULE_HINT_RE,
|
|
1051
962
|
SKILL_NAMES,
|
|
1052
963
|
SKIP,
|
|
1053
964
|
basaltBinCommand,
|
|
1054
965
|
basaltPresetEntry,
|
|
1055
|
-
blockMigrationProblem,
|
|
1056
966
|
checkTheme,
|
|
1057
967
|
classify,
|
|
1058
968
|
conflictingProfileFlags,
|
|
@@ -1073,7 +983,6 @@ export {
|
|
|
1073
983
|
isStringArray,
|
|
1074
984
|
managedFiles,
|
|
1075
985
|
mergeOxlintExtends,
|
|
1076
|
-
migrateBlockToAgentsMd,
|
|
1077
986
|
namesShipped,
|
|
1078
987
|
normalizeColorFunctions,
|
|
1079
988
|
normalizeForLedger,
|
|
@@ -1092,10 +1001,8 @@ export {
|
|
|
1092
1001
|
reconcileRoots,
|
|
1093
1002
|
relativePosix,
|
|
1094
1003
|
renderContext,
|
|
1095
|
-
reportBlockMigration,
|
|
1096
1004
|
reportPrune,
|
|
1097
1005
|
resolveGuardConfig,
|
|
1098
|
-
resolvePeerFlags,
|
|
1099
1006
|
resolvePlacement,
|
|
1100
1007
|
resolveProjectDir,
|
|
1101
1008
|
retiredManagedDests,
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAA;AA4D7D,yGAAyG;AACzG,wBAAgB,IAAI,CAAC,GAAG,GAAE,MAAsB,EAAE,aAAa,GAAE,aAAkB,GAAG,MAAM,CAkL3F"}
|
package/dist/cli/init.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
|
-
import { deriveSpacing } from "../tokens/
|
|
3
|
+
import { deriveSpacing } from "../tokens/core.js";
|
|
4
4
|
import {
|
|
5
5
|
MANIFEST_PATH,
|
|
6
|
-
|
|
6
|
+
declaredProfile,
|
|
7
|
+
readBasaltConfig,
|
|
8
|
+
ROUTER_SEED_DESTS,
|
|
7
9
|
findBasaltInstall,
|
|
8
10
|
managedFiles,
|
|
9
11
|
mergeOxlintExtends,
|
|
10
|
-
migrateBlockToAgentsMd,
|
|
11
12
|
normalizeForLedger,
|
|
12
13
|
patchPackageJson,
|
|
13
14
|
placementNotices,
|
|
@@ -15,9 +16,7 @@ import {
|
|
|
15
16
|
readManifest,
|
|
16
17
|
reconcileRoots,
|
|
17
18
|
renderContext,
|
|
18
|
-
reportBlockMigration,
|
|
19
19
|
reportPrune,
|
|
20
|
-
resolvePeerFlags,
|
|
21
20
|
resolvePlacement,
|
|
22
21
|
rootsNotices,
|
|
23
22
|
sha256,
|
|
@@ -25,20 +24,23 @@ import {
|
|
|
25
24
|
writeFileEnsuringDir,
|
|
26
25
|
writeUnit
|
|
27
26
|
} from "./index.js";
|
|
27
|
+
import { seedTsconfigExtends } from "./doctor-upgrade.js";
|
|
28
28
|
import { readOxlintPresetPlugins } from "./sync.js";
|
|
29
29
|
const KEPT_FILE_COST = {
|
|
30
|
-
".oxlintrc.json": "the shipped oxlint preset (the basalt/* design rules AND the jsx-a11y / import / promise / unicorn plugins) is NOT active \u2014 nothing else turns it on, and every gate stays green without it. Re-run with `--merge-lint` to splice the extends in, or add it by hand.",
|
|
31
30
|
"lefthook.yml": "the pre-commit oxlint / oxfmt / check-theme jobs are not wired \u2014 add `extends: [<preset>]` to your own file.",
|
|
32
31
|
".github/workflows/check.yml": "CI does not run check-theme or the sync drift gate \u2014 copy those steps into your own workflow.",
|
|
32
|
+
"src/main.tsx": "change it to match node_modules/basalt-ui/agent/templates/main.tpl: import 'basalt-ui/styles.css'; `const router = createBasaltRouter({ routeTree })`; declare `interface Register { router: typeof router }` in module '@tanstack/react-router'; render `<BasaltProvider router={router} />`. Without them the seeded src/lib/nav.tsx fails tsc.",
|
|
33
33
|
".oxfmtrc.json": "your existing formatter config stands; basalt formats nothing on its own.",
|
|
34
34
|
"DESIGN.md": "the design brief Claude reads is yours, not the seeded one."
|
|
35
35
|
};
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
console.error(`\u2716 basalt-ui init: ${blockProblem}`);
|
|
40
|
-
return 1;
|
|
36
|
+
function oxlintrcCost(merge) {
|
|
37
|
+
if (merge === "added" || merge === "already") {
|
|
38
|
+
return "now extends the shipped preset: the basalt/* design rules and the jsx-a11y / import / promise / unicorn plugins are on.";
|
|
41
39
|
}
|
|
40
|
+
const why = merge === null ? "init ran with --no-merge-lint" : "init could not splice the extends in";
|
|
41
|
+
return `the shipped oxlint preset (the basalt/* rules, jsx-a11y, import, promise, unicorn) is NOT active: ${why}, nothing else turns it on, and every gate stays green without it. Add the \`extends\` by hand.`;
|
|
42
|
+
}
|
|
43
|
+
function init(cwd = process.cwd(), scaffoldFlags = {}) {
|
|
42
44
|
const install = findBasaltInstall(cwd);
|
|
43
45
|
if (install.dir === null) {
|
|
44
46
|
console.error(
|
|
@@ -54,11 +56,26 @@ function init(cwd = process.cwd(), scaffoldFlags = {}) {
|
|
|
54
56
|
pkg["scripts"] = { ...scripts, "lint:basalt": lintScript };
|
|
55
57
|
return true;
|
|
56
58
|
});
|
|
59
|
+
let buildNote = null;
|
|
60
|
+
patchPackageJson(cwd, (pkg) => {
|
|
61
|
+
const scripts = pkg["scripts"] ?? {};
|
|
62
|
+
const build = scripts["build"];
|
|
63
|
+
if (typeof build !== "string" || !/\btsc\b/.test(build) || build.startsWith("vite build")) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
if (build !== "tsc -b && vite build") {
|
|
67
|
+
buildNote = `"build" (${build}) left as is: run \`vite build\` before \`tsc\` (vite generates routeTree.gen.ts).`;
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
pkg["scripts"] = { ...scripts, build: "vite build && tsc -b" };
|
|
71
|
+
buildNote = 'rewrote "build" to `vite build && tsc -b` (vite generates routeTree.gen.ts).';
|
|
72
|
+
return true;
|
|
73
|
+
});
|
|
57
74
|
const manifest = readManifest(cwd);
|
|
58
|
-
const peers = resolvePeerFlags(cwd, scaffoldFlags);
|
|
59
75
|
const placement = resolvePlacement(cwd);
|
|
60
|
-
const
|
|
61
|
-
const
|
|
76
|
+
const tokensOnly = declaredProfile(readBasaltConfig(cwd), []) === "tokens-only";
|
|
77
|
+
const routerSeeds = Object.values(ROUTER_SEED_DESTS);
|
|
78
|
+
const files = managedFiles(placement).filter((f) => !(tokensOnly && routerSeeds.includes(f.dest)));
|
|
62
79
|
const writtenFiles = [];
|
|
63
80
|
const keptFiles = [];
|
|
64
81
|
const missingSources = [];
|
|
@@ -79,7 +96,7 @@ function init(cwd = process.cwd(), scaffoldFlags = {}) {
|
|
|
79
96
|
writtenFiles.push(file.dest);
|
|
80
97
|
}
|
|
81
98
|
const pruned = pruneRetiredManagedFiles(cwd, manifest, files);
|
|
82
|
-
const mergeLint = scaffoldFlags.
|
|
99
|
+
const mergeLint = scaffoldFlags.noMergeLint === true ? null : mergeOxlintExtends(cwd, ctx.vars.OXLINT_PRESET_PATH);
|
|
83
100
|
manifest.basaltVersion = ctx.vars.BASALT_VERSION;
|
|
84
101
|
manifest.spacingScale = { ...deriveSpacing(0).scale };
|
|
85
102
|
writeFileEnsuringDir(resolve(cwd, MANIFEST_PATH), `${JSON.stringify(manifest, null, 2)}
|
|
@@ -88,7 +105,6 @@ function init(cwd = process.cwd(), scaffoldFlags = {}) {
|
|
|
88
105
|
`basalt-ui init: ${writtenFiles.length} written, ${keptFiles.length} kept, manifest at ${MANIFEST_PATH}`
|
|
89
106
|
);
|
|
90
107
|
reportPrune(pruned);
|
|
91
|
-
reportBlockMigration(migration, "init");
|
|
92
108
|
if (missingSources.length > 0) {
|
|
93
109
|
console.log(
|
|
94
110
|
`basalt-ui init: ${missingSources.length} shipped asset(s) not present, skipped: ${missingSources.join(", ")}`
|
|
@@ -98,20 +114,20 @@ function init(cwd = process.cwd(), scaffoldFlags = {}) {
|
|
|
98
114
|
console.log(`
|
|
99
115
|
Kept (already present \u2014 basalt did not touch them):`);
|
|
100
116
|
for (const dest of keptFiles) {
|
|
101
|
-
const cost = KEPT_FILE_COST[dest];
|
|
117
|
+
const cost = dest === ".oxlintrc.json" ? oxlintrcCost(mergeLint) : KEPT_FILE_COST[dest];
|
|
102
118
|
console.log(cost === void 0 ? ` \xB7 ${dest}` : ` \xB7 ${dest} \u2014 ${cost}`);
|
|
103
119
|
}
|
|
104
120
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
121
|
+
const mergeMessage = {
|
|
122
|
+
added: `spliced "${ctx.vars.OXLINT_PRESET_PATH}" into the existing .oxlintrc.json extends`,
|
|
123
|
+
unreadable: ".oxlintrc.json is not valid JSON \u2014 merge the extends entry by hand",
|
|
124
|
+
"has-comments": `.oxlintrc.json carries comments; rewriting it would delete them (usually the reason each rule is off). Add "extends": ["${ctx.vars.OXLINT_PRESET_PATH}"] as the first entry by hand.`
|
|
125
|
+
};
|
|
126
|
+
const mergeLine = mergeLint === null ? void 0 : mergeMessage[mergeLint];
|
|
127
|
+
if (mergeLine !== void 0) console.log(`basalt-ui init: oxlint \u2014 ${mergeLine}`);
|
|
128
|
+
const tsconfigLine = tokensOnly ? null : seedTsconfigExtends(cwd);
|
|
129
|
+
if (tsconfigLine !== null) console.log(`basalt-ui init: ${tsconfigLine}`);
|
|
130
|
+
if (buildNote !== null) console.log(`basalt-ui init: ${buildNote}`);
|
|
115
131
|
const rootsMessages = rootsNotices(rootsState);
|
|
116
132
|
for (const line of rootsMessages.log) console.log(`basalt-ui init: ${line}`);
|
|
117
133
|
for (const line of rootsMessages.error) console.error(`\u26A0 basalt-ui init: ${line}`);
|
|
@@ -121,16 +137,6 @@ Kept (already present \u2014 basalt did not touch them):`);
|
|
|
121
137
|
for (const line of placementNotices(cwd, placement)) {
|
|
122
138
|
console.log(`basalt-ui init: ${line}`);
|
|
123
139
|
}
|
|
124
|
-
if (!peers.hasQuery) {
|
|
125
|
-
console.log(
|
|
126
|
-
"basalt-ui init: skipped src/query-client.ts (no @tanstack/react-query dependency detected) \u2014 install it, or re-run with --with-query, to scaffold it."
|
|
127
|
-
);
|
|
128
|
-
}
|
|
129
|
-
if (!peers.hasRouter || !peers.hasQuery) {
|
|
130
|
-
console.log(
|
|
131
|
-
"basalt-ui init: skipped src/routes/__root.tsx (needs both @tanstack/react-router and @tanstack/react-query) \u2014 install both, or re-run with --with-router --with-query, to scaffold it."
|
|
132
|
-
);
|
|
133
|
-
}
|
|
134
140
|
console.log(
|
|
135
141
|
`
|
|
136
142
|
Theme guard hook: add to .claude/settings.json \u2192 hooks.PreToolUse to catch violations before they land:
|
package/dist/cli/sync.d.ts
CHANGED
|
@@ -7,24 +7,11 @@ export type SyncOptions = {
|
|
|
7
7
|
flags?: readonly string[];
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
* The
|
|
11
|
-
*
|
|
12
|
-
* `resolveProjectDir` resolves to exactly one directory — `BASALT_CWD` when set, else the
|
|
13
|
-
* invocation cwd — and never walks. The shape that produced this function is the one that resolver
|
|
14
|
-
* doesn't cover: a consumer standing in `apps/dashboard`, the package that actually depends on
|
|
15
|
-
* basalt-ui, whose install lives at the repo root above it. With nothing walking up, `sync` read
|
|
16
|
-
* "no manifest here" as "nothing scaffolded yet" and wrote a complete second consumer beside the
|
|
17
|
-
* real one.
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* The sentence `sync` prints when the cwd carries no install but an ancestor does.
|
|
21
|
-
*
|
|
22
|
-
* Shared with `doctor` deliberately. The two commands already share `resolveProjectDir`, but not
|
|
23
|
-
* the ADVICE: `sync` named the parent install (1.22.0's "stop scaffolding a second consumer" fix)
|
|
24
|
-
* while `doctor`, in the same directory, kept prescribing `basalt-ui init` — so following doctor
|
|
25
|
-
* literally performed the exact mistake that fix exists to prevent. One function, one sentence.
|
|
10
|
+
* The sentence `sync` and `doctor` both print when the cwd carries no install but an ancestor does
|
|
11
|
+
* (a package under a configured repo); one text, so neither prescribes a second `init`.
|
|
26
12
|
*/
|
|
27
13
|
export declare function parentInstallAdvice(cwd: string, parent: string, verb: string): string;
|
|
14
|
+
/** The nearest ANCESTOR of `dir` (exclusive) carrying a basalt manifest, or null. */
|
|
28
15
|
export declare function findManifestAbove(dir: string): string | null;
|
|
29
16
|
/**
|
|
30
17
|
* Reconcile managed files with the shipped versions via a sha256 three-way compare.
|
|
@@ -33,11 +20,8 @@ export declare function findManifestAbove(dir: string): string | null;
|
|
|
33
20
|
* (a CI freshness gate), exit 0 when all current.
|
|
34
21
|
* - `--force` overwrites locally-drifted files instead of skipping them.
|
|
35
22
|
*
|
|
36
|
-
* Runs against `resolveProjectDir(cwd)
|
|
37
|
-
*
|
|
38
|
-
* {@link findManifestAbove} for the failure that bought this: `sync` is the drift refresh and
|
|
39
|
-
* `init` is the scaffold, so placing twenty files on a cwd that was never a consumer is a decision
|
|
40
|
-
* `sync` does not get to make silently.
|
|
23
|
+
* Runs against `resolveProjectDir(cwd)` and REFUSES rather than scaffolding when that project has no
|
|
24
|
+
* manifest: `sync` refreshes, `init` scaffolds.
|
|
41
25
|
*/
|
|
42
26
|
export declare function sync(opts?: SyncOptions, invocationCwd?: string): number;
|
|
43
27
|
//# sourceMappingURL=sync.d.ts.map
|
package/dist/cli/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"AAwCA,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAGjE;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mGAAmG;IACnG,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrF;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,IAAI,GAAE,WAAgB,EAAE,aAAa,GAAE,MAAsB,GAAG,MAAM,CA0L1F"}
|
package/dist/cli/sync.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
|
-
import { deriveSpacing } from "../tokens/
|
|
3
|
+
import { deriveSpacing } from "../tokens/core.js";
|
|
4
4
|
import {
|
|
5
5
|
MANIFEST_PATH,
|
|
6
6
|
basaltPresetEntry,
|
|
@@ -10,12 +10,8 @@ import {
|
|
|
10
10
|
diffSummary,
|
|
11
11
|
findBasaltInstall,
|
|
12
12
|
inspectLefthookGate,
|
|
13
|
-
AGENTS_MD,
|
|
14
|
-
blockMigrationProblem,
|
|
15
13
|
isStringArray,
|
|
16
|
-
LEGACY_BLOCK_HOST,
|
|
17
14
|
managedFiles,
|
|
18
|
-
migrateBlockToAgentsMd,
|
|
19
15
|
normalizeForLedger,
|
|
20
16
|
noteRelocation,
|
|
21
17
|
OXLINT_FILES,
|
|
@@ -29,9 +25,7 @@ import {
|
|
|
29
25
|
reconcileRoots,
|
|
30
26
|
relativePosix,
|
|
31
27
|
renderContext,
|
|
32
|
-
reportBlockMigration,
|
|
33
28
|
reportPrune,
|
|
34
|
-
resolvePeerFlags,
|
|
35
29
|
resolvePlacement,
|
|
36
30
|
resolveProjectDir,
|
|
37
31
|
rootsNotices,
|
|
@@ -71,24 +65,17 @@ function sync(opts = {}, invocationCwd = process.cwd()) {
|
|
|
71
65
|
}
|
|
72
66
|
if (!existsSync(resolve(cwd, MANIFEST_PATH))) {
|
|
73
67
|
const elsewhere = findManifestAbove(cwd);
|
|
74
|
-
const wouldWrite = managedFiles(
|
|
68
|
+
const wouldWrite = managedFiles(resolvePlacement(cwd)).length;
|
|
75
69
|
console.error(
|
|
76
70
|
`\u2716 basalt-ui sync: no ${MANIFEST_PATH} at ${cwd} \u2014 refusing to scaffold. \`sync\` refreshes an EXISTING basalt install; creating one is \`basalt-ui init\`'s decision, and continuing here would write ${wouldWrite} managed file(s) into this directory.` + (elsewhere === null ? " No manifest exists at any ancestor either \u2014 run `basalt-ui init` here if this package really is meant to be a consumer." : ` ${parentInstallAdvice(cwd, elsewhere, "sync")}`)
|
|
77
71
|
);
|
|
78
72
|
return 1;
|
|
79
73
|
}
|
|
80
|
-
const blockProblem = blockMigrationProblem(cwd);
|
|
81
|
-
if (blockProblem !== null) {
|
|
82
|
-
console.error(`\u2716 basalt-ui sync: ${blockProblem}`);
|
|
83
|
-
return 1;
|
|
84
|
-
}
|
|
85
74
|
const rootsState = reconcileRoots(cwd, { write: opts.check !== true });
|
|
86
75
|
const ctx = renderContext(cwd);
|
|
87
76
|
const manifest = readManifest(cwd);
|
|
88
|
-
const peers = resolvePeerFlags(cwd, {});
|
|
89
77
|
const placement = resolvePlacement(cwd);
|
|
90
|
-
const files = managedFiles(
|
|
91
|
-
const migration = migrateBlockToAgentsMd(cwd, manifest, { dryRun: opts.check === true });
|
|
78
|
+
const files = managedFiles(placement);
|
|
92
79
|
let updated = 0;
|
|
93
80
|
let created = 0;
|
|
94
81
|
let recreated = 0;
|
|
@@ -166,15 +153,10 @@ function sync(opts = {}, invocationCwd = process.cwd()) {
|
|
|
166
153
|
`basalt-ui sync --check: ${retired.length} retired rule/skill file(s) still present: ${retired.join(", ")} \u2014 run \`basalt-ui sync\`.`
|
|
167
154
|
);
|
|
168
155
|
}
|
|
169
|
-
if (migration.pending) {
|
|
170
|
-
console.error(
|
|
171
|
-
`basalt-ui sync --check: the basalt block is still in ${LEGACY_BLOCK_HOST} \u2014 it now lives in ${AGENTS_MD}. Run \`basalt-ui sync\` to move it.`
|
|
172
|
-
);
|
|
173
|
-
}
|
|
174
156
|
if (staleForCheck > 0) {
|
|
175
157
|
console.error(`basalt-ui sync --check: ${staleForCheck} managed file(s) out of date.`);
|
|
176
158
|
}
|
|
177
|
-
if (staleForCheck > 0
|
|
159
|
+
if (staleForCheck > 0) return 1;
|
|
178
160
|
const n = placementSkips.length;
|
|
179
161
|
const skips = n === 0 ? "" : ` (${n} permanent placement skip(s) \u2014 --verbose for detail)`;
|
|
180
162
|
console.log(`\u2713 basalt-ui sync --check: all managed files current.${skips}`);
|
|
@@ -188,7 +170,6 @@ function sync(opts = {}, invocationCwd = process.cwd()) {
|
|
|
188
170
|
`basalt-ui sync: ${updated} updated, ${created} created, ${recreated} recreated, ${skippedDrift} skipped (drift), ${pruned.removed.length} retired.`
|
|
189
171
|
);
|
|
190
172
|
reportPrune(pruned);
|
|
191
|
-
reportBlockMigration(migration, "sync");
|
|
192
173
|
if (driftLines.length > 0) {
|
|
193
174
|
console.log("Locally-edited files were skipped (run with --force to overwrite):");
|
|
194
175
|
for (const l of driftLines) console.log(l);
|
package/dist/cli/tokens-css.d.ts
CHANGED
|
@@ -1,36 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Space- and number-normalize the argument list of a legacy color function so the emitted file
|
|
3
|
-
* survives a
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `buildPaletteCss` returned": `rgba(255,255,255,0.6)` and `rgba(255, 255, 255, 0.6)` are the same
|
|
7
|
-
* colour, the shipped palette emits the first form on the dark side and the second on the light
|
|
8
|
-
* side, and a consumer committing the output ate a lint-ignore entry for the difference. The token
|
|
9
|
-
* VALUES are untouched — nothing here can change what basalt's tokens are.
|
|
10
|
-
*
|
|
11
|
-
* Trailing zeros go the same way and for the same reason: prettier rewrites `0.10` → `0.1`, so the
|
|
12
|
-
* two `rgba(28, 25, 23, 0.10)` alphas in the light shadow tokens were the whole reason the one
|
|
13
|
-
* framework-free consumer still could not lint its committed sheet — `--fix` and `tokens:css
|
|
14
|
-
* --check` disagreed forever, and the lint-ignore entry survived two releases. Only a bare decimal
|
|
15
|
-
* literal is touched (never a `%`, a `var()` or a unit), and `0.10`/`0.1` are the same number.
|
|
16
|
-
*
|
|
17
|
-
* Exported for tests, so the expectation can be computed rather than restated.
|
|
3
|
+
* survives a repo's formatter (`rgba(255,255,255,0.6)` and `rgba(255, 255, 255, 0.6)` are the same
|
|
4
|
+
* colour; `0.10` becomes `0.1`). FORMATTING ONLY: token values are untouched, and only a bare decimal
|
|
5
|
+
* literal is touched (never a `%`, a `var()` or a unit). Exported for tests.
|
|
18
6
|
*/
|
|
19
7
|
export declare function normalizeColorFunctions(css: string): string;
|
|
20
8
|
/**
|
|
21
|
-
* tokens:css — emit the `--vx-*` stylesheet, optionally retargeted
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* system as plain CSS, with no package in its dependency tree at all. `basalt-ui/tokens.css` is the
|
|
26
|
-
* same artifact for a consumer that does install; this command exists for the ones that shouldn't
|
|
27
|
-
* have to just to change a selector.
|
|
28
|
-
*
|
|
29
|
-
* It parses flags and calls `buildPaletteCss` for the token VALUES — the CLI and the API must not
|
|
30
|
-
* be able to disagree about what basalt's tokens are. What it adds is strictly file framing for an
|
|
31
|
-
* artifact a consumer COMMITS: the `@generated` header (the guard's skip marker), a trailing
|
|
32
|
-
* newline, and `rgba()` argument spacing. All three were reported by the one framework-free
|
|
33
|
-
* consumer as the reasons the output could not simply be committed.
|
|
9
|
+
* tokens:css — emit the `--vx-*` stylesheet, optionally retargeted, for a static site that installs
|
|
10
|
+
* nothing (`bunx basalt-ui tokens:css --selector-attribute data-theme --out src/tokens.css`). Token
|
|
11
|
+
* VALUES come from `buildPaletteCss`, so the CLI and the API cannot disagree; the CLI adds only file
|
|
12
|
+
* framing for a committed artifact: the `@generated` header, a trailing newline, `rgba()` spacing.
|
|
34
13
|
*/
|
|
35
14
|
export declare function tokensCss(flags: string[], cwd?: string): number;
|
|
36
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens-css.d.ts","sourceRoot":"","sources":["../../src/cli/tokens-css.ts"],"names":[],"mappings":"AAkCA
|
|
1
|
+
{"version":3,"file":"tokens-css.d.ts","sourceRoot":"","sources":["../../src/cli/tokens-css.ts"],"names":[],"mappings":"AAkCA;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK3D;AA4DD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CA4E9E;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAa7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShortcutsHelp.d.ts","sourceRoot":"","sources":["../../src/commands/ShortcutsHelp.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"ShortcutsHelp.d.ts","sourceRoot":"","sources":["../../src/commands/ShortcutsHelp.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAUlD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAC7C,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,CAAA;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAA4B,EAC5B,GAAG,EACH,SAAS,EACT,KAAK,GACN,EAAE,kBAAkB,sCAsDpB"}
|