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/theme/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { CSSVariablesResolver, MantineThemeOverride } from '@mantine/core';
|
|
2
2
|
import type { RadiusValues, SpaceValues } from '../tokens/palette.js';
|
|
3
3
|
import type { DeriveConfig } from '../tokens/derive.js';
|
|
4
|
-
import type { BasaltFontsConfig } from '../tokens/
|
|
4
|
+
import type { BasaltFontsConfig } from '../tokens/core.js';
|
|
5
5
|
/**
|
|
6
|
-
* The `fonts` option's resolved shape — defined in
|
|
7
|
-
*
|
|
6
|
+
* The `fonts` option's resolved shape — defined in `../tokens/core` (`BasaltFontsConfig`, paired
|
|
7
|
+
* with its pure builder `buildFontsCss` there, internal to the package); re-exported here since
|
|
8
8
|
* `CreateBasaltThemeOptions.fonts` below is its primary production entry point. See
|
|
9
9
|
* {@link CreateBasaltThemeOptions.fonts}.
|
|
10
10
|
*/
|
|
11
|
-
export type { BasaltFontsConfig } from '../tokens/
|
|
11
|
+
export type { BasaltFontsConfig } from '../tokens/core.js';
|
|
12
12
|
export { useBasaltSpacing } from './use-basalt-spacing.js';
|
|
13
13
|
export { CTL_THEME, CtlSlot, type CtlSlotProps } from './ctl-theme.js';
|
|
14
14
|
declare module '@mantine/core' {
|
|
@@ -22,6 +22,10 @@ declare module '@mantine/core' {
|
|
|
22
22
|
/** The static, shipped-identity theme — `buildTheme` evaluated once at
|
|
23
23
|
* `DEFAULT_DERIVE_CONFIG` (memoized by `buildPaletteData`), not per import. */
|
|
24
24
|
export declare const baseTheme: MantineThemeOverride;
|
|
25
|
+
/** `radius` knob: an integer level, so an out-of-range value is a tsc error (V2-SPEC §3). */
|
|
26
|
+
export type BasaltRadiusLevel = -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5;
|
|
27
|
+
/** `density` knob: an integer level, so an out-of-range value is a tsc error (V2-SPEC §3). */
|
|
28
|
+
export type BasaltDensityLevel = -3 | -2 | -1 | 0 | 1 | 2 | 3;
|
|
25
29
|
/** The static, shipped-identity resolver — `buildCssVariablesResolver` evaluated once at
|
|
26
30
|
* `DEFAULT_DERIVE_CONFIG`. Unchanged call signature (`cssVariablesResolver(theme)`), so it drops
|
|
27
31
|
* straight into `<MantineProvider cssVariablesResolver={cssVariablesResolver}>` as before. */
|
|
@@ -76,7 +80,7 @@ export type CreateBasaltThemeOptions = {
|
|
|
76
80
|
* @example
|
|
77
81
|
* createBasaltTheme(undefined, { radius: 2 })
|
|
78
82
|
*/
|
|
79
|
-
radius?:
|
|
83
|
+
radius?: BasaltRadiusLevel;
|
|
80
84
|
/**
|
|
81
85
|
* Retune spacing DENSITY from a single integer level in `[-3, 3]` (default `0` = the shipped
|
|
82
86
|
* identity) — narrower than `radius`'s `[-5, 5]` on purpose (see `deriveSpacing`'s JSDoc,
|
|
@@ -98,22 +102,7 @@ export type CreateBasaltThemeOptions = {
|
|
|
98
102
|
* @example
|
|
99
103
|
* createBasaltTheme(undefined, { density: -2 })
|
|
100
104
|
*/
|
|
101
|
-
density?:
|
|
102
|
-
/**
|
|
103
|
-
* Input sizing for the platform the app runs on. `'touch'` (default) keeps the shipped identity:
|
|
104
|
-
* `md` inputs (42px) with the 16px font floor that stops iOS Safari's focus-zoom. `'desktop'` is
|
|
105
|
-
* for an app that never runs in a mobile browser (a Tauri/Electron shell): the Input family
|
|
106
|
-
* (`TextInput`, `NumberInput`, `PasswordInput`, `Select`, `Textarea`, `Input`) defaults to
|
|
107
|
-
* Mantine's `sm` (36px, `--vx-text-sm` font) and the provider drops the 16px floor, so every
|
|
108
|
-
* input Mantine ships — `MultiSelect`/`TagsInput`/pills included, they already default to `sm` —
|
|
109
|
-
* renders at its own size. An explicit `size` prop still wins. Stashed on
|
|
110
|
-
* `theme.other.basaltInputs` (only when non-default); `BasaltProvider` emits the floor override,
|
|
111
|
-
* so `injectPalette={false}` also opts it out.
|
|
112
|
-
*
|
|
113
|
-
* @example
|
|
114
|
-
* createBasaltTheme(undefined, { inputs: 'desktop' })
|
|
115
|
-
*/
|
|
116
|
-
inputs?: 'touch' | 'desktop';
|
|
105
|
+
density?: BasaltDensityLevel;
|
|
117
106
|
};
|
|
118
107
|
/**
|
|
119
108
|
* Build the Basalt theme, optionally merged with consumer overrides. Overrides win on conflict
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EACV,oBAAoB,EAGpB,oBAAoB,EAErB,MAAM,eAAe,CAAA;AAStB,OAAO,KAAK,EAAe,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EACV,oBAAoB,EAGpB,oBAAoB,EAErB,MAAM,eAAe,CAAA;AAStB,OAAO,KAAK,EAAe,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAQvD;;;;;GAKG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAIvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAMvD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAenE,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,iBAAiB;QACzB,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAA;QAC/B,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,aAAa,CAAC,EAAE,WAAW,CAAA;KAC5B;CACF;AAyiCD;+EAC+E;AAC/E,eAAO,MAAM,SAAS,EAAE,oBAAuD,CAAA;AA8O/E,6FAA6F;AAC7F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAE9E,8FAA8F;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAsF7D;;8FAE8F;AAC9F,eAAO,MAAM,oBAAoB,EAAE,oBACc,CAAA;AAEjD,kEAAkE;AAClE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAE9B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAEzB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAE1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B,CAAA;AAYD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,EACrD,OAAO,CAAC,EAAE,wBAAwB,GACjC,oBAAoB,CAiCtB"}
|
package/dist/theme/index.js
CHANGED
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
SPACE_FIXED
|
|
56
56
|
} from "../tokens/palette.js";
|
|
57
57
|
import { DEFAULT_DERIVE_CONFIG, isDefaultDeriveConfig, resolveDeriveConfig } from "../tokens/derive.js";
|
|
58
|
-
import { pxRem, VX } from "../tokens/
|
|
58
|
+
import { pxRem, VX } from "../tokens/core.js";
|
|
59
59
|
import { SIZE_CLASS_BREAKPOINTS } from "../tokens/size-classes.js";
|
|
60
60
|
import controlsClasses from "./controls.module.css";
|
|
61
61
|
import floatingClasses from "./floating.module.css";
|
|
@@ -181,6 +181,8 @@ function buildTheme(data, options = {}) {
|
|
|
181
181
|
// Mantine's dark `--mantine-color-{c}-text`, which is hardcoded to shade 4 = `ACCENT.accent.dark`.
|
|
182
182
|
primaryShade: 6,
|
|
183
183
|
autoContrast: true,
|
|
184
|
+
// V2-SPEC § 5: Mantine's own transitions (modal, drawer, popover, menu) follow the OS setting.
|
|
185
|
+
respectReducedMotion: true,
|
|
184
186
|
luminanceThreshold: 0.45,
|
|
185
187
|
// Force the `light` variant to a faint, AA-legible tint in both schemes (see resolver above).
|
|
186
188
|
variantColorResolver: basaltVariantColorResolver,
|
|
@@ -1056,17 +1058,6 @@ const cssVariablesResolver = buildCssVariablesResolver(DEFAULT_PALETTE_DATA);
|
|
|
1056
1058
|
function hasFontsConfig(fonts) {
|
|
1057
1059
|
return fonts !== void 0 && Object.values(fonts).some((value) => value !== void 0);
|
|
1058
1060
|
}
|
|
1059
|
-
const DESKTOP_INPUTS_THEME = {
|
|
1060
|
-
components: {
|
|
1061
|
-
Input: Input.extend({ defaultProps: { size: "sm" } }),
|
|
1062
|
-
TextInput: TextInput.extend({ defaultProps: { size: "sm" } }),
|
|
1063
|
-
NumberInput: NumberInput.extend({ defaultProps: { size: "sm" } }),
|
|
1064
|
-
PasswordInput: PasswordInput.extend({ defaultProps: { size: "sm" } }),
|
|
1065
|
-
Select: Select.extend({ defaultProps: { size: "sm" } }),
|
|
1066
|
-
Textarea: Textarea.extend({ defaultProps: { size: "sm" } })
|
|
1067
|
-
},
|
|
1068
|
-
other: { basaltInputs: "desktop" }
|
|
1069
|
-
};
|
|
1070
1061
|
function createBasaltTheme(overrides, options) {
|
|
1071
1062
|
const resolvedConfig = resolveDeriveConfig(options?.derive);
|
|
1072
1063
|
const radiusLevel = options?.radius ?? 0;
|
|
@@ -1076,7 +1067,6 @@ function createBasaltTheme(overrides, options) {
|
|
|
1076
1067
|
const spaceValues = deriveSpacing(densityLevel);
|
|
1077
1068
|
const isDefaultDensity = densityLevel === 0;
|
|
1078
1069
|
const isDefaultDerive = isDefaultDeriveConfig(resolvedConfig);
|
|
1079
|
-
const desktopInputs = options?.inputs === "desktop";
|
|
1080
1070
|
let theme;
|
|
1081
1071
|
if (isDefaultDerive && isDefaultRadius && isDefaultDensity) {
|
|
1082
1072
|
theme = baseTheme;
|
|
@@ -1097,7 +1087,6 @@ function createBasaltTheme(overrides, options) {
|
|
|
1097
1087
|
if (hasFontsConfig(fontsConfig)) {
|
|
1098
1088
|
theme = mergeThemeOverrides(theme, { other: { basaltFonts: fontsConfig } });
|
|
1099
1089
|
}
|
|
1100
|
-
if (desktopInputs) theme = mergeThemeOverrides(theme, DESKTOP_INPUTS_THEME);
|
|
1101
1090
|
if (!overrides) return theme;
|
|
1102
1091
|
return { ...mergeThemeOverrides(theme, overrides), breakpoints: SIZE_CLASS_BREAKPOINTS };
|
|
1103
1092
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../src/theme/theme-toggle.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../src/theme/theme-toggle.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AA8DlD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAC3C,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAOD,wBAAgB,WAAW,CAAC,EAC1B,SAAe,EACf,UAAgB,EAChB,SAAS,EACT,KAAK,GACN,GAAE,gBAAqB,+BA8DvB"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import {
|
|
3
3
|
ActionIcon,
|
|
4
|
-
Center,
|
|
5
4
|
Popover,
|
|
6
5
|
SegmentedControl,
|
|
7
6
|
useComputedColorScheme,
|
|
8
7
|
useMantineColorScheme
|
|
9
8
|
} from "@mantine/core";
|
|
10
|
-
import { useReducedMotion } from "@mantine/hooks";
|
|
11
|
-
import { AnimatePresence, motion } from "motion/react";
|
|
12
9
|
import { useRef, useState } from "react";
|
|
13
|
-
import
|
|
10
|
+
import classes from "./theme-toggle.module.css";
|
|
14
11
|
const CYCLE = ["light", "dark", "auto"];
|
|
15
12
|
const LABEL = {
|
|
16
13
|
light: "Light",
|
|
@@ -53,33 +50,11 @@ function MoonGlyph() {
|
|
|
53
50
|
}
|
|
54
51
|
) });
|
|
55
52
|
}
|
|
56
|
-
function SchemeGlyph({ dark
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
motion.span,
|
|
62
|
-
{
|
|
63
|
-
style: { display: "inline-flex" },
|
|
64
|
-
initial: { opacity: 0, scale: 0.6, rotate: 30 },
|
|
65
|
-
animate: { opacity: 1, scale: 1, rotate: 0 },
|
|
66
|
-
exit: { opacity: 0, scale: 0.6, rotate: -30 },
|
|
67
|
-
transition: MOTION_SPRING,
|
|
68
|
-
children: /* @__PURE__ */ jsx(MoonGlyph, {})
|
|
69
|
-
},
|
|
70
|
-
"moon"
|
|
71
|
-
) : /* @__PURE__ */ jsx(
|
|
72
|
-
motion.span,
|
|
73
|
-
{
|
|
74
|
-
style: { display: "inline-flex" },
|
|
75
|
-
initial: { opacity: 0, scale: 0.6, rotate: -30 },
|
|
76
|
-
animate: { opacity: 1, scale: 1, rotate: 0 },
|
|
77
|
-
exit: { opacity: 0, scale: 0.6, rotate: 30 },
|
|
78
|
-
transition: MOTION_SPRING,
|
|
79
|
-
children: /* @__PURE__ */ jsx(SunGlyph, {})
|
|
80
|
-
},
|
|
81
|
-
"sun"
|
|
82
|
-
) });
|
|
53
|
+
function SchemeGlyph({ dark }) {
|
|
54
|
+
return /* @__PURE__ */ jsxs("span", { className: classes.glyph, "data-dark": dark, children: [
|
|
55
|
+
/* @__PURE__ */ jsx("span", { className: classes.sun, children: /* @__PURE__ */ jsx(SunGlyph, {}) }),
|
|
56
|
+
/* @__PURE__ */ jsx("span", { className: classes.moon, children: /* @__PURE__ */ jsx(MoonGlyph, {}) })
|
|
57
|
+
] });
|
|
83
58
|
}
|
|
84
59
|
function nextScheme(current) {
|
|
85
60
|
return CYCLE[(CYCLE.indexOf(current) + 1) % CYCLE.length];
|
|
@@ -92,7 +67,6 @@ function ThemeToggle({
|
|
|
92
67
|
} = {}) {
|
|
93
68
|
const { colorScheme, setColorScheme } = useMantineColorScheme();
|
|
94
69
|
const resolved = useComputedColorScheme("dark");
|
|
95
|
-
const reduceMotion = useReducedMotion();
|
|
96
70
|
const [opened, setOpened] = useState(false);
|
|
97
71
|
const timer = useRef(void 0);
|
|
98
72
|
const scheduleOpen = () => {
|
|
@@ -127,7 +101,7 @@ function ThemeToggle({
|
|
|
127
101
|
onMouseLeave: scheduleClose,
|
|
128
102
|
onFocus: scheduleOpen,
|
|
129
103
|
onBlur: scheduleClose,
|
|
130
|
-
children: /* @__PURE__ */ jsx(SchemeGlyph, { dark
|
|
104
|
+
children: /* @__PURE__ */ jsx(SchemeGlyph, { dark })
|
|
131
105
|
}
|
|
132
106
|
) }),
|
|
133
107
|
/* @__PURE__ */ jsx(
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The sun/moon glyph: both icons stacked in one grid cell, the inactive one faded, shrunk and
|
|
3
|
+
* rotated away. A CSS transition, not `motion` (V2-SPEC § 5); reduced motion swaps instantly.
|
|
4
|
+
*/
|
|
5
|
+
.glyph {
|
|
6
|
+
display: inline-grid;
|
|
7
|
+
place-items: center;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.sun,
|
|
11
|
+
.moon {
|
|
12
|
+
grid-area: 1 / 1;
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
transition:
|
|
15
|
+
opacity 150ms ease,
|
|
16
|
+
transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.glyph[data-dark='true'] .sun,
|
|
20
|
+
.glyph[data-dark='false'] .moon {
|
|
21
|
+
opacity: 0;
|
|
22
|
+
transform: scale(0.6) rotate(30deg);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@media (prefers-reduced-motion: reduce) {
|
|
26
|
+
.sun,
|
|
27
|
+
.moon {
|
|
28
|
+
transition: none;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed CSS-module declaration (the S4 CSS-modules path). Named string props — not an index
|
|
3
|
+
* signature — so dot access stays verbatim under the package's strict flags.
|
|
4
|
+
*/
|
|
5
|
+
declare const classes: {
|
|
6
|
+
readonly glyph: string
|
|
7
|
+
readonly sun: string
|
|
8
|
+
readonly moon: string
|
|
9
|
+
}
|
|
10
|
+
export default classes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-controls.d.ts","sourceRoot":"","sources":["../../src/theme-lab/derive-controls.tsx"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAiBtC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAiDpG,MAAM,MAAM,mBAAmB,GAAG;IAChC,uFAAuF;IACvF,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,+
|
|
1
|
+
{"version":3,"file":"derive-controls.d.ts","sourceRoot":"","sources":["../../src/theme-lab/derive-controls.tsx"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAiBtC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAiDpG,MAAM,MAAM,mBAAmB,GAAG;IAChC,uFAAuF;IACvF,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,+BA4FhE"}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
Text
|
|
11
11
|
} from "@mantine/core";
|
|
12
12
|
import { useEffect, useState } from "react";
|
|
13
|
-
import { buildDensityCss, buildPaletteCss, buildRadiusCss } from "../tokens/
|
|
13
|
+
import { buildDensityCss, buildPaletteCss, buildRadiusCss } from "../tokens/core.js";
|
|
14
14
|
import { buildPaletteData, deriveRadius, deriveSpacing } from "../tokens/palette.js";
|
|
15
15
|
import {
|
|
16
16
|
DEFAULT_STATE,
|
|
@@ -56,9 +56,11 @@ if (typeof document !== "undefined") {
|
|
|
56
56
|
function DeriveControls({ resetIcon }) {
|
|
57
57
|
const [state, setState] = useDeriveControlsState();
|
|
58
58
|
const [accentDraft, setAccentDraft] = useState(state.accent);
|
|
59
|
-
|
|
59
|
+
const [draftSource, setDraftSource] = useState(state.accent);
|
|
60
|
+
if (draftSource !== state.accent) {
|
|
61
|
+
setDraftSource(state.accent);
|
|
60
62
|
setAccentDraft(state.accent);
|
|
61
|
-
}
|
|
63
|
+
}
|
|
62
64
|
const handleAccentChange = (value) => {
|
|
63
65
|
setAccentDraft(value);
|
|
64
66
|
if (isAccentHex(value)) setState({ ...state, accent: value });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-state.d.ts","sourceRoot":"","sources":["../../src/theme-lab/derive-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"derive-state.d.ts","sourceRoot":"","sources":["../../src/theme-lab/derive-state.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AASpD,mGAAmG;AACnG,eAAO,MAAM,eAAe;;;GAK3B,CAAA;AAKD,uGAAuG;AACvG,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,OAA6B,CAAA;AAEzE,mGAAmG;AACnG,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG;IAChD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,oBAK3B,CAAA;AAWD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CA2BrF;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,6EAgBjC,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhG;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc,GAAG,IAAI,CAcnF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,cAAc,GAAG,IAAI,CAGjE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { createPersistedState
|
|
1
|
+
import { createPersistedState } from "../state.js";
|
|
2
|
+
import { readPersistedValue } from "../state/persisted.js";
|
|
2
3
|
import { DEFAULT_DERIVE_CONFIG, resolveDeriveConfig } from "../tokens/derive.js";
|
|
3
4
|
const STORAGE_KEY = "theme-lab-derive";
|
|
4
5
|
const STORAGE_VERSION = 4;
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mantine-free token + palette layer.
|
|
3
|
+
*
|
|
4
|
+
* This module is PURE DATA + string helpers — ZERO `@mantine/*` imports (lint-enforced).
|
|
5
|
+
* Colors are CSS custom properties under the `--vx-*` prefix (do NOT rename the prefix).
|
|
6
|
+
* They resolve per color scheme in CSS, so `VX.*` works in components AND in non-component
|
|
7
|
+
* files. Apply opacity via `alpha(token, a)` (never raw `rgba()`) so the hue keeps resolving.
|
|
8
|
+
*
|
|
9
|
+
* Grounded in argo `packages/charts/src/{tokens,palette,theme-vars,utils/color}.ts`.
|
|
10
|
+
*/
|
|
11
|
+
import type { PaletteData, RadiusValues, SpaceValues } from './palette.js';
|
|
12
|
+
export { BP, p } from './palette.js';
|
|
13
|
+
export { DEFAULT_DERIVE_CONFIG, deriveTokens, resolveDeriveConfig } from './derive.js';
|
|
14
|
+
export type { DeriveConfig, DerivedPalette } from './derive.js';
|
|
15
|
+
export { deriveRadius } from './palette.js';
|
|
16
|
+
export type { RadiusValues } from './palette.js';
|
|
17
|
+
export { deriveSpacing } from './palette.js';
|
|
18
|
+
export type { SpaceValues } from './palette.js';
|
|
19
|
+
export { CONTAINER_CLASSES, CONTAINER_GRID_BREAKPOINTS, CONTAINER_KEYS, resolveContainerClass, SIZE_CLASSES, } from './size-classes.js';
|
|
20
|
+
export type { ContainerClass } from './size-classes.js';
|
|
21
|
+
/** A per-theme color pair: a hue keeps its identity but shifts shade across schemes. */
|
|
22
|
+
export type ColorPair = {
|
|
23
|
+
light: string;
|
|
24
|
+
dark: string;
|
|
25
|
+
};
|
|
26
|
+
/** A map of token name → per-theme color pair (the input shape for series/group builders). */
|
|
27
|
+
export type SeriesMap = Record<string, ColorPair>;
|
|
28
|
+
/**
|
|
29
|
+
* Apply opacity to any palette token, theme-aware. Use instead of raw `rgba()` so the
|
|
30
|
+
* underlying hue still resolves per color scheme.
|
|
31
|
+
*
|
|
32
|
+
* alpha(VX.neutral, 0.5) // muted hairline
|
|
33
|
+
* alpha(VX.status.warn, 0.1) // zone-band fill
|
|
34
|
+
*/
|
|
35
|
+
export declare const alpha: (token: string, a: number) => string;
|
|
36
|
+
export declare const VX: {
|
|
37
|
+
readonly lineWidth: 2.5;
|
|
38
|
+
readonly line2Width: 2;
|
|
39
|
+
readonly axisFont: 11;
|
|
40
|
+
readonly dotR: number;
|
|
41
|
+
readonly dashArray: "6 4";
|
|
42
|
+
readonly legendGap: number;
|
|
43
|
+
readonly legendFontSize: 13.5;
|
|
44
|
+
readonly text: {
|
|
45
|
+
readonly nano: 10;
|
|
46
|
+
readonly micro: 11;
|
|
47
|
+
readonly xs: 12.5;
|
|
48
|
+
readonly sm: 13.5;
|
|
49
|
+
readonly md: 15;
|
|
50
|
+
readonly lg: 16;
|
|
51
|
+
readonly xl: 18;
|
|
52
|
+
readonly h2: 21;
|
|
53
|
+
readonly kpi: 24;
|
|
54
|
+
readonly h1: 26;
|
|
55
|
+
readonly display: 30;
|
|
56
|
+
};
|
|
57
|
+
readonly radiusCard: "var(--vx-radius-card)";
|
|
58
|
+
readonly radiusCtrl: "var(--vx-radius-ctrl)";
|
|
59
|
+
readonly radiusPill: "var(--vx-radius-pill)";
|
|
60
|
+
readonly hit: "var(--vx-hit)";
|
|
61
|
+
readonly space: {
|
|
62
|
+
readonly controlHeightTag: "var(--vx-space-control-height-tag)";
|
|
63
|
+
readonly controlHeightWidget: "var(--vx-space-control-height-widget)";
|
|
64
|
+
readonly controlHeightCtl: "var(--vx-space-control-height-ctl)";
|
|
65
|
+
readonly pageBarRowHeight: "var(--vx-space-page-bar-row-height)";
|
|
66
|
+
readonly sectionHeaderHeight: "var(--vx-space-section-header-height)";
|
|
67
|
+
readonly widgetHeaderHeight: "var(--vx-space-widget-header-height)";
|
|
68
|
+
readonly sidebarBlockRowHeight: "var(--vx-space-sidebar-block-row-height)";
|
|
69
|
+
readonly controlGap: "var(--vx-space-control-gap)";
|
|
70
|
+
readonly sheetRowHeight: "var(--vx-space-sheet-row-height)";
|
|
71
|
+
};
|
|
72
|
+
readonly line2Dark: "var(--vx-line2)";
|
|
73
|
+
readonly good: "var(--vx-good)";
|
|
74
|
+
readonly goodSoft: "var(--vx-good-soft)";
|
|
75
|
+
readonly bad: "var(--vx-bad)";
|
|
76
|
+
readonly warn: "var(--vx-warn)";
|
|
77
|
+
readonly goodSolid: "var(--vx-good-solid)";
|
|
78
|
+
readonly badSolid: "var(--vx-bad-solid)";
|
|
79
|
+
readonly warnSolid: "var(--vx-warn-solid)";
|
|
80
|
+
readonly goodRef: "var(--vx-good-ref)";
|
|
81
|
+
readonly badRef: "var(--vx-bad-ref)";
|
|
82
|
+
readonly warnRef: "var(--vx-warn-ref)";
|
|
83
|
+
readonly line: "var(--vx-line)";
|
|
84
|
+
readonly line2: "var(--vx-line2)";
|
|
85
|
+
readonly axis: "var(--vx-axis)";
|
|
86
|
+
readonly axisStroke: "var(--vx-axis-stroke)";
|
|
87
|
+
readonly grid: "var(--vx-grid)";
|
|
88
|
+
readonly crosshair: "var(--vx-crosshair)";
|
|
89
|
+
readonly dotStroke: "var(--vx-dot-stroke)";
|
|
90
|
+
readonly legendText: "var(--vx-legend-text)";
|
|
91
|
+
readonly tooltipMuted: "var(--vx-tooltip-muted)";
|
|
92
|
+
readonly neutral: "var(--vx-neutral)";
|
|
93
|
+
readonly ink: "var(--vx-ink)";
|
|
94
|
+
readonly ink2: "var(--vx-ink2)";
|
|
95
|
+
readonly muted: "var(--vx-muted)";
|
|
96
|
+
readonly faint: "var(--vx-faint)";
|
|
97
|
+
readonly accent: "var(--vx-accent)";
|
|
98
|
+
readonly accentHover: "var(--vx-accent-hover)";
|
|
99
|
+
readonly accentFill: "var(--vx-accent-fill)";
|
|
100
|
+
readonly accentFillHover: "var(--vx-accent-fill-hover)";
|
|
101
|
+
readonly onAccent: "var(--vx-on-accent)";
|
|
102
|
+
readonly divider: "var(--vx-divider)";
|
|
103
|
+
readonly shadowCard: "var(--vx-shadow-card)";
|
|
104
|
+
readonly shadowCtrl: "var(--vx-shadow-ctrl)";
|
|
105
|
+
readonly shadowRaised: "var(--vx-shadow-raised)";
|
|
106
|
+
readonly shadowOverlay: "var(--vx-shadow-overlay)";
|
|
107
|
+
readonly surface: {
|
|
108
|
+
readonly bg: "var(--vx-surface-bg)";
|
|
109
|
+
readonly panel: "var(--vx-surface-panel)";
|
|
110
|
+
readonly panelHover: "var(--vx-surface-panel-hover)";
|
|
111
|
+
readonly elevated: "var(--vx-surface-elevated)";
|
|
112
|
+
readonly subtle: "var(--vx-surface-subtle)";
|
|
113
|
+
readonly overlay: "var(--vx-surface-overlay)";
|
|
114
|
+
readonly field: "var(--vx-surface-field)";
|
|
115
|
+
readonly border: "var(--vx-surface-border)";
|
|
116
|
+
readonly hairline: "var(--vx-surface-hairline)";
|
|
117
|
+
};
|
|
118
|
+
readonly status: {
|
|
119
|
+
readonly excellent: "var(--vx-status-excellent)";
|
|
120
|
+
readonly good: "var(--vx-status-good)";
|
|
121
|
+
readonly warn: "var(--vx-status-warn)";
|
|
122
|
+
readonly bad: "var(--vx-status-bad)";
|
|
123
|
+
readonly neutral: "var(--vx-status-neutral)";
|
|
124
|
+
};
|
|
125
|
+
readonly margin: {
|
|
126
|
+
readonly top: number;
|
|
127
|
+
readonly right: number;
|
|
128
|
+
readonly bottom: number;
|
|
129
|
+
readonly left: number;
|
|
130
|
+
};
|
|
131
|
+
readonly minPxPerTick: 55;
|
|
132
|
+
/**
|
|
133
|
+
* Floor on a chart's plot rect height, in px (the 1.x chart frame). A legend wrapping to five rows at
|
|
134
|
+
* phone width used to eat a fixed `height={240}` toward zero and the plot simply stopped
|
|
135
|
+
* rendering — the plot never shrinks past this, the frame grows instead (or, under `fill`, the
|
|
136
|
+
* legend rolls up).
|
|
137
|
+
*/
|
|
138
|
+
readonly minPlotHeight: 120;
|
|
139
|
+
/** Every floating chart overlay portalled to `document.body` — a pinned tooltip, the legend's
|
|
140
|
+
* `All N` disclosure and its backdrop — shares one stacking value, so they always stack the same
|
|
141
|
+
* way relative to page chrome and to each other. */
|
|
142
|
+
readonly zIndexFloating: 9999;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Layout breakpoints, in px, for the places CSS cannot read a custom property.
|
|
146
|
+
*
|
|
147
|
+
* A `@media` query's condition is resolved before custom properties exist, so
|
|
148
|
+
* `@media (max-width: var(--x))` is invalid CSS — a stylesheet with a responsive rule has no
|
|
149
|
+
* choice but to write the number. This constant is the other half of that literal: the CSS states
|
|
150
|
+
* the number and names the token beside it, and a test asserts the two agree
|
|
151
|
+
* (`content/article-layout.breakpoint.test.ts`, the same "literal must match the token" idiom as
|
|
152
|
+
* `styles.floor.test.ts`).
|
|
153
|
+
*
|
|
154
|
+
* Only breakpoints that are genuinely a CSS-authored `@media` belong here. A component that can
|
|
155
|
+
* measure its own box uses the measurement instead (`CONTAINER_CLASSES`), and Mantine chrome uses
|
|
156
|
+
* `theme.breakpoints`.
|
|
157
|
+
*/
|
|
158
|
+
export declare const BREAKPOINTS: {
|
|
159
|
+
/**
|
|
160
|
+
* `content/article-layout.module.css` — below this the TOC rail is dropped and the article
|
|
161
|
+
* collapses to a single centred column. Well above the `sm` (52.5em/840px) shell breakpoint on
|
|
162
|
+
* purpose: the rail needs the prose measure PLUS its own width plus the column gap, which runs
|
|
163
|
+
* out long before the shell goes mobile.
|
|
164
|
+
*/
|
|
165
|
+
readonly article: 1200;
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* A px number expressed as the plain rem STRING literal (16px base: `pxRem(6)` → `'0.375rem'`) —
|
|
169
|
+
* NOT Mantine's own `rem()` helper, which instead emits a `calc(...)` expression bound to
|
|
170
|
+
* `--mantine-scale` (a different value; that scaling happens at the Mantine-coupled call site
|
|
171
|
+
* instead — see `theme/index.ts`'s `Input.extend` `vars` for why `--vx-space-input-height` needs
|
|
172
|
+
* both halves). The SINGLE source for this conversion — `theme/index.ts` imports this instead of
|
|
173
|
+
* keeping its own copy, so the radius/spacing size-scale steps and this module's own rem-emitting
|
|
174
|
+
* vars (`--vx-space-input-height`) can never compute the conversion two different ways.
|
|
175
|
+
*/
|
|
176
|
+
export declare function pxRem(px: number): string;
|
|
177
|
+
/**
|
|
178
|
+
* Wrap a map of `{ name: ColorPair }` into `var(--vx-<prefix><name>)` token refs — the runtime
|
|
179
|
+
* companion to `buildPaletteCss`. Lets a consumer define its own series and read stable refs.
|
|
180
|
+
*
|
|
181
|
+
* Returns an exact-keyed object: the return type mirrors the keys of the input map, so a renamed
|
|
182
|
+
* or removed key becomes a tsc error rather than silently widening to `Record<string, string>`.
|
|
183
|
+
*/
|
|
184
|
+
export declare function seriesTokens<const T extends SeriesMap>(map: T, prefix?: string): {
|
|
185
|
+
[K in keyof T]: string;
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Define a named series map. Identity passthrough — gives consumers a typed authoring entry
|
|
189
|
+
* point and preserves the exact literal keys of the input (const-generic so callers get back T,
|
|
190
|
+
* not the widened SeriesMap, enabling downstream exact-key checks in groupTokens / seriesTokens).
|
|
191
|
+
*/
|
|
192
|
+
export declare function defineSeries<const T extends SeriesMap>(map: T): T;
|
|
193
|
+
/** Runtime key of the {@link SeriesGroup} brand. */
|
|
194
|
+
declare const SERIES_GROUP: unique symbol;
|
|
195
|
+
/**
|
|
196
|
+
* The brand `groupTokens` puts on its return value. `BuildPaletteOpts.groups` takes these, so the
|
|
197
|
+
* `${name}-` key that emits the variables and the one that references them come from one call and
|
|
198
|
+
* cannot be spelled two ways.
|
|
199
|
+
*/
|
|
200
|
+
export type SeriesGroup = {
|
|
201
|
+
readonly [SERIES_GROUP]: {
|
|
202
|
+
readonly prefix: string;
|
|
203
|
+
readonly map: SeriesMap;
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Build a single namespaced group's token refs (`var(--vx-<name>-<key>)`).
|
|
208
|
+
*
|
|
209
|
+
* Returns an exact-keyed object matching the keys of `map` — a stale or renamed key is a tsc
|
|
210
|
+
* error at the call site rather than a silent `Record<string, string>` widening.
|
|
211
|
+
*/
|
|
212
|
+
export declare function groupTokens<const T extends SeriesMap>(name: string, map: T): {
|
|
213
|
+
[K in keyof T]: string;
|
|
214
|
+
} & SeriesGroup;
|
|
215
|
+
/**
|
|
216
|
+
* The attribute + values the per-scheme blocks key off. Defaults reproduce Mantine's own toggle
|
|
217
|
+
* (`data-mantine-color-scheme` = `dark` / `light`), so a consumer only names the axis it differs
|
|
218
|
+
* on. Supplying this object at all switches the emitter onto the framework-neutral selector shape
|
|
219
|
+
* — see {@link BuildPaletteOpts.scheme}.
|
|
220
|
+
*/
|
|
221
|
+
export type ColorSchemeSelector = {
|
|
222
|
+
attribute?: string;
|
|
223
|
+
darkValue?: string;
|
|
224
|
+
lightValue?: string;
|
|
225
|
+
};
|
|
226
|
+
/** Options for {@link buildPaletteCss}. */
|
|
227
|
+
export type BuildPaletteOpts = {
|
|
228
|
+
/** Extra named series maps to emit under the given prefixes (each one is the return value of `groupTokens`). */
|
|
229
|
+
groups?: readonly SeriesGroup[];
|
|
230
|
+
/** Theme-independent derived declarations (gradients, semantic fills) emitted once on `:root`. */
|
|
231
|
+
derived?: string[];
|
|
232
|
+
/**
|
|
233
|
+
* Attribute + values the per-scheme blocks key off — for a consumer whose scheme toggle is not
|
|
234
|
+
* Mantine's (a static site on `data-theme`, say). Default: Mantine's own
|
|
235
|
+
* `data-mantine-color-scheme` = `dark` / `light`.
|
|
236
|
+
*
|
|
237
|
+
* Setting ANY of `scheme` / `defaultScheme` / `mediaFallback` moves the emitter off the legacy
|
|
238
|
+
* `html[…]` selector onto `:root[…]`. That is deliberate and load-bearing, NOT cosmetic:
|
|
239
|
+
*
|
|
240
|
+
* `:root[data-theme='dark']` 0-2-0 ← what this path emits
|
|
241
|
+
* `html[data-theme='dark']` 0-1-1
|
|
242
|
+
* `[data-theme='dark']` 0-1-0 ← same as a bare `:root`, so source order decides
|
|
243
|
+
*
|
|
244
|
+
* A light-default site whose own `:root` block happens to come last would beat the third form
|
|
245
|
+
* outright — dark mode silently does nothing. `:root[…]` sits above both a bare `:root` and
|
|
246
|
+
* `html[…]`, and carries no assumption about the element the attribute lands on.
|
|
247
|
+
*
|
|
248
|
+
* The no-options path keeps emitting `html[data-mantine-color-scheme='…']` verbatim, because a
|
|
249
|
+
* basalt consumer may already override `--vx-*` under that exact selector — raising basalt's own
|
|
250
|
+
* specificity would silently win over their override.
|
|
251
|
+
*/
|
|
252
|
+
scheme?: ColorSchemeSelector;
|
|
253
|
+
/**
|
|
254
|
+
* Which scheme rides along on the bare `:root` block — the one that applies when the attribute
|
|
255
|
+
* is absent. Default: `'dark'` (the framework's own default scheme).
|
|
256
|
+
*
|
|
257
|
+
* `'none'` emits no bare-`:root` primitives at all: each scheme gets only its attribute block,
|
|
258
|
+
* and an unattributed document falls back to the theme-independent scalars alone. Pair it with
|
|
259
|
+
* `mediaFallback` unless the consumer always sets the attribute.
|
|
260
|
+
*/
|
|
261
|
+
defaultScheme?: 'dark' | 'light' | 'none';
|
|
262
|
+
/**
|
|
263
|
+
* Also emit an `@media (prefers-color-scheme: …)` block for every scheme that is not the bare
|
|
264
|
+
* `:root` default, so a document with no attribute set follows the OS. Default: `false`.
|
|
265
|
+
*
|
|
266
|
+
* The block is a bare `:root` (0-1-0), so an explicit attribute block (0-2-0) always wins over
|
|
267
|
+
* it regardless of source order — the OS preference is a fallback, never an override.
|
|
268
|
+
*/
|
|
269
|
+
mediaFallback?: boolean;
|
|
270
|
+
/**
|
|
271
|
+
* How much of the SPACING set to emit. Default: `'all'` (every one of the 108 `--vx-space-*`
|
|
272
|
+
* declarations the framework's own components read).
|
|
273
|
+
*
|
|
274
|
+
* `'core'` keeps the 9 generic anchors — the stack rhythm, the two control heights, the row
|
|
275
|
+
* insets — and drops the 99 named for a specific basalt component
|
|
276
|
+
* (`--vx-space-agent-transcript-inset`, `--vx-space-toc-sub-indent`, …), taking the emitted set
|
|
277
|
+
* from 204 variables to 105. Nothing outside basalt's own React components reads those, so a
|
|
278
|
+
* framework-free consumer is carrying them for nothing.
|
|
279
|
+
*
|
|
280
|
+
* This is a SPACING filter only: color, radius, shadow, type and status variables are identical
|
|
281
|
+
* in both modes. The partition is derived from the `SPACE` key set rather than a maintained list
|
|
282
|
+
* — see {@link CORE_SPACE_VARS}.
|
|
283
|
+
*/
|
|
284
|
+
only?: 'core' | 'all';
|
|
285
|
+
/**
|
|
286
|
+
* Whether to also emit the 32 deprecated camelCase aliases (`--vx-accentFill`, `--vx-tooltipBg`,
|
|
287
|
+
* `--vx-fillHover-gray`, …) alongside the canonical kebab-case names the 1.4.0 normalization
|
|
288
|
+
* introduced. Default: `true`, so an existing consumer's hand-written CSS referencing a
|
|
289
|
+
* camelCase name keeps resolving. Each alias is defined as `var(--vx-<canonical>)` — it can
|
|
290
|
+
* never drift from the value it aliases. Pass `false` once every reference in your own code has
|
|
291
|
+
* migrated to the kebab names to drop the extra 32 lines.
|
|
292
|
+
*/
|
|
293
|
+
legacyAliases?: boolean;
|
|
294
|
+
};
|
|
295
|
+
/**
|
|
296
|
+
* Emit the `--vx-*` stylesheet: a `:root` block of theme-independent scalars, then the
|
|
297
|
+
* dark (default) and light primitive blocks under `html[data-mantine-color-scheme='…']`.
|
|
298
|
+
*
|
|
299
|
+
* The framework chrome (STATUS/SEMANTIC/SURFACE pairs + the framework DERIVED defaults) is
|
|
300
|
+
* built in, so an empty `buildPaletteCss()` already emits every framework var. Consumer
|
|
301
|
+
* `opts.groups` / `opts.derived` append on top (e.g. argo's domain SERIES/ACTIVITY/USAGE).
|
|
302
|
+
*
|
|
303
|
+
* `data` defaults to the static, shipped palette (`buildPaletteData()` at `DEFAULT_DERIVE_CONFIG`)
|
|
304
|
+
* — pass the result of `buildPaletteData(config)` to emit CSS for a retuned derive config instead
|
|
305
|
+
* (this is how `BasaltProvider` follows `createBasaltTheme`'s `{ derive }` option; see `../theme`
|
|
306
|
+
* and `../provider`).
|
|
307
|
+
*
|
|
308
|
+
* Dark is the default (`:root`) since the framework defaults to dark; the
|
|
309
|
+
* `[data-mantine-color-scheme]` selectors track Mantine's toggle on `<html>`.
|
|
310
|
+
*
|
|
311
|
+
* A non-Mantine consumer retargets all three of those choices — the attribute, which scheme rides
|
|
312
|
+
* the bare `:root`, and whether the OS preference is honoured — via `opts.scheme` /
|
|
313
|
+
* `opts.defaultScheme` / `opts.mediaFallback`. Setting any of them also moves the per-scheme
|
|
314
|
+
* selector from `html[…]` to the framework-neutral, higher-specificity `:root[…]`; see
|
|
315
|
+
* `BuildPaletteOpts.scheme` for why that is not cosmetic. With none of them set the output is
|
|
316
|
+
* byte-identical to what the framework has always emitted (pinned by
|
|
317
|
+
* `tests/palette-css.test.ts`).
|
|
318
|
+
*/
|
|
319
|
+
export declare function buildPaletteCss(opts?: BuildPaletteOpts, data?: PaletteData): string;
|
|
320
|
+
/**
|
|
321
|
+
* The `fonts` option's resolved shape — a full CSS font-family stack string per slot (with its own
|
|
322
|
+
* fallback chain), riding the `--basalt-font-sans/head/mono` override seam `styles.css` ships
|
|
323
|
+
* fallbacks for. Omitted keys keep the shipped fallback untouched. Lives here (not in `../theme`,
|
|
324
|
+
* which only re-exports the type) because its builder `buildFontsCss` below is a pure, Mantine-free
|
|
325
|
+
* string builder that belongs in the tokens layer — see `../theme`'s
|
|
326
|
+
* `CreateBasaltThemeOptions.fonts` for the production entry point that sets it.
|
|
327
|
+
*/
|
|
328
|
+
export type BasaltFontsConfig = {
|
|
329
|
+
sans?: string;
|
|
330
|
+
head?: string;
|
|
331
|
+
mono?: string;
|
|
332
|
+
};
|
|
333
|
+
/**
|
|
334
|
+
* Build the `:root` block of `--basalt-font-*` declarations for a resolved `basaltFonts` config —
|
|
335
|
+
* only for the keys the consumer actually set (`createBasaltTheme(overrides, { fonts })`); an
|
|
336
|
+
* omitted key keeps the shipped `styles.css` fallback chain untouched. Empty string when `fonts` is
|
|
337
|
+
* absent or every key is omitted, so callers can unconditionally concatenate the result. Internal
|
|
338
|
+
* (not on the `basalt-ui/tokens` barrel) — `BasaltProvider`'s bridge (`../provider`) calls this
|
|
339
|
+
* directly to append declarations to its injected `<style>`.
|
|
340
|
+
*/
|
|
341
|
+
export declare function buildFontsCss(fonts: BasaltFontsConfig | undefined): string;
|
|
342
|
+
/**
|
|
343
|
+
* Build the `:root` block of overriding `--vx-radius-*` declarations for a resolved
|
|
344
|
+
* `basaltRadius` value (`createBasaltTheme(overrides, { radius })`) — analog of {@link buildFontsCss}.
|
|
345
|
+
* Empty string when `radius` is absent (the default level-0 path never sets `theme.other.basaltRadius`
|
|
346
|
+
* in the first place), so callers can unconditionally concatenate the result. Internal, like
|
|
347
|
+
* `buildFontsCss` above.
|
|
348
|
+
*/
|
|
349
|
+
export declare function buildRadiusCss(radius: RadiusValues | undefined): string;
|
|
350
|
+
/**
|
|
351
|
+
* Build the `:root` block of overriding `--vx-space-*` declarations for a resolved `basaltDensity`
|
|
352
|
+
* value (`createBasaltTheme(overrides, { density })`) — analog of {@link buildRadiusCss}, reusing
|
|
353
|
+
* the SAME `spaceDecls` list `frameworkDerived` emits the shipped defaults from (so the two can
|
|
354
|
+
* never drift). Empty string when `space` is absent (the default level-0 path never sets
|
|
355
|
+
* `theme.other.basaltDensity` in the first place), so callers can unconditionally concatenate the
|
|
356
|
+
* result. Importable from `basalt-ui/tokens`, same SSR/custom-injection use as `buildRadiusCss`
|
|
357
|
+
* above.
|
|
358
|
+
*/
|
|
359
|
+
export declare function buildDensityCss(space: SpaceValues | undefined): string;
|
|
360
|
+
//# sourceMappingURL=core.d.ts.map
|