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
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { measureText } from "../utils/measure-text.js";
|
|
2
|
-
const END_LABEL_GAP = 6;
|
|
3
|
-
const MAX_END_LABELS = 3;
|
|
4
|
-
const END_LABEL_LINE_HEIGHT = 1.3;
|
|
5
|
-
const MAX_GUTTER_SHARE = 0.25;
|
|
6
|
-
function nudgeLabels(input) {
|
|
7
|
-
const { ys, minGap, min, max } = input;
|
|
8
|
-
if (ys.length === 0) return [];
|
|
9
|
-
if (ys.some((y) => !Number.isFinite(y))) return null;
|
|
10
|
-
if ((ys.length - 1) * minGap > max - min) return null;
|
|
11
|
-
const order = ys.map((y, i) => ({ y, i })).toSorted((a, b) => a.y - b.y);
|
|
12
|
-
let prev = Number.NEGATIVE_INFINITY;
|
|
13
|
-
const forward = order.map(({ y, i }) => {
|
|
14
|
-
prev = Math.max(y, min, prev + minGap);
|
|
15
|
-
return { i, y: prev };
|
|
16
|
-
});
|
|
17
|
-
let next = Number.POSITIVE_INFINITY;
|
|
18
|
-
const back = forward.toReversed().map(({ i, y }) => {
|
|
19
|
-
next = Math.min(y, max, next - minGap);
|
|
20
|
-
return { i, y: next };
|
|
21
|
-
});
|
|
22
|
-
if (next < min) return null;
|
|
23
|
-
return back.toSorted((a, b) => a.i - b.i).map((p) => p.y);
|
|
24
|
-
}
|
|
25
|
-
function endLabelGutter(input) {
|
|
26
|
-
const { labels, fontPx, plotWidth } = input;
|
|
27
|
-
if (labels.length === 0) return null;
|
|
28
|
-
const widest = labels.reduce((max, label) => Math.max(max, measureText(label, fontPx)), 0);
|
|
29
|
-
const gutter = Math.ceil(widest) + END_LABEL_GAP;
|
|
30
|
-
return gutter > plotWidth * MAX_GUTTER_SHARE ? null : gutter;
|
|
31
|
-
}
|
|
32
|
-
function planEndLabels(input) {
|
|
33
|
-
const {
|
|
34
|
-
containerClass,
|
|
35
|
-
hasY2,
|
|
36
|
-
hasMarginRight,
|
|
37
|
-
hasHeaderLegend,
|
|
38
|
-
visible,
|
|
39
|
-
data,
|
|
40
|
-
yScale,
|
|
41
|
-
yMax,
|
|
42
|
-
fontPx,
|
|
43
|
-
plotWidth
|
|
44
|
-
} = input;
|
|
45
|
-
if (containerClass !== "wide" || hasY2 || hasMarginRight || hasHeaderLegend) return null;
|
|
46
|
-
if (visible.length < 2 || visible.length > MAX_END_LABELS) return null;
|
|
47
|
-
if (!visible.every((s) => s.mark === "line")) return null;
|
|
48
|
-
const gutter = endLabelGutter({ labels: visible.map((s) => s.label), fontPx, plotWidth });
|
|
49
|
-
if (gutter === null) return null;
|
|
50
|
-
const placed = visible.flatMap((s) => {
|
|
51
|
-
const last = data.findLast((d) => s.getValue(d) !== null);
|
|
52
|
-
if (last === void 0) return [];
|
|
53
|
-
const value = s.getValue(last);
|
|
54
|
-
if (value === null) return [];
|
|
55
|
-
const y = yScale(value);
|
|
56
|
-
return Number.isFinite(y) ? [{ series: s, y }] : [];
|
|
57
|
-
});
|
|
58
|
-
if (placed.length !== visible.length) return null;
|
|
59
|
-
const lineHeight = Math.ceil(fontPx * END_LABEL_LINE_HEIGHT);
|
|
60
|
-
const ys = nudgeLabels({
|
|
61
|
-
ys: placed.map((p) => p.y),
|
|
62
|
-
minGap: lineHeight,
|
|
63
|
-
min: lineHeight / 2,
|
|
64
|
-
max: yMax - lineHeight / 2
|
|
65
|
-
});
|
|
66
|
-
if (ys === null) return null;
|
|
67
|
-
return { gutter, labels: placed.map((p, i) => ({ series: p.series, y: ys[i] ?? p.y })) };
|
|
68
|
-
}
|
|
69
|
-
export {
|
|
70
|
-
END_LABEL_GAP,
|
|
71
|
-
END_LABEL_LINE_HEIGHT,
|
|
72
|
-
MAX_END_LABELS,
|
|
73
|
-
endLabelGutter,
|
|
74
|
-
nudgeLabels,
|
|
75
|
-
planEndLabels
|
|
76
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 1-2-5 mantissa tick law for a log axis (`docs/CHARTS-SPEC.md` §2).
|
|
3
|
-
*
|
|
4
|
-
* d3's own `scaleLog().ticks()` multiplies the mantissa density by the number of decades the
|
|
5
|
-
* domain spans, so a wide financial range (e.g. $10k–$300k) reads `$316,228 / $100,000 / $31,623 /
|
|
6
|
-
* $10,000` — every finance reference instead ticks a log price axis at `{1, 2, 5} × 10^n`
|
|
7
|
-
* (`$10,000 · $20,000 · $50,000 · $100,000`). Pure, no visx dependency, so both the measured
|
|
8
|
-
* (`probeAxisLabels`) and painted (`CartesianChart`) sides can share the exact same tick list.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Every `{1, 2, 5} × 10^k` value for every decade touching `[min, max]`, filtered to the domain —
|
|
12
|
-
* escalating through {@link MANTISSA_SETS} while a set leaves fewer than {@link DENSIFY_BELOW}
|
|
13
|
-
* candidates (a short span collapses the strict law to one tick). The exact same list is what
|
|
14
|
-
* `probeAxisLabels` measures and what `CartesianChart` paints, so the two can never disagree.
|
|
15
|
-
* An over-budget result collapses to whole decades only when the decades ALONE form a readable
|
|
16
|
-
* axis ({@link DENSIFY_BELOW}+ in-domain); otherwise it is thinned by a budget-derived stride
|
|
17
|
-
* (may exceed `ticks` by one — see {@link thinToBudget}). Collapsing to decades unconditionally
|
|
18
|
-
* is the bug this ordering exists to prevent: a 4-year BTC window ($15.5k–$139k) holds ONE whole
|
|
19
|
-
* decade, so the collapse produced a single-tick axis. Never returns a non-positive value; a
|
|
20
|
-
* non-positive or inverted domain (a log axis has no zero and no reversed extent) returns `[]`.
|
|
21
|
-
*/
|
|
22
|
-
export declare function logTickValues([min, max]: readonly [number, number], ticks: number): number[];
|
|
23
|
-
/** Round a domain outward to the nearest enclosing power-of-10 bounds — the log analog of
|
|
24
|
-
* `scale.nice()`, used to keep `probeAxisLabels` (measurement) and the real niced scale
|
|
25
|
-
* (rendering) computing ticks from the same rounded domain. */
|
|
26
|
-
export declare function niceLogDomain([min, max]: readonly [number, number]): [number, number];
|
|
27
|
-
//# sourceMappingURL=log-ticks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-ticks.d.ts","sourceRoot":"","sources":["../../../src/charts/layout/log-ticks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0CH;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB5F;AAED;;+DAE+D;AAC/D,wBAAgB,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAErF"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
const MANTISSA_SETS = [
|
|
2
|
-
[1, 2, 5],
|
|
3
|
-
[1, 1.5, 2, 3, 4, 5, 7],
|
|
4
|
-
[1, 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8, 9]
|
|
5
|
-
];
|
|
6
|
-
const DENSIFY_BELOW = 4;
|
|
7
|
-
function decadeExponents(min, max) {
|
|
8
|
-
const lo = Math.floor(Math.log10(min));
|
|
9
|
-
const hi = Math.ceil(Math.log10(max));
|
|
10
|
-
const exponents = [];
|
|
11
|
-
for (let k = lo; k <= hi; k++) exponents.push(k);
|
|
12
|
-
return exponents;
|
|
13
|
-
}
|
|
14
|
-
function thinToBudget(values, ticks) {
|
|
15
|
-
if (values.length <= ticks) return values;
|
|
16
|
-
const stride = Math.ceil(values.length / ticks);
|
|
17
|
-
const thinned = values.filter((_, i) => i % stride === 0);
|
|
18
|
-
const last = values[values.length - 1];
|
|
19
|
-
return thinned[thinned.length - 1] === last ? thinned : [...thinned, last];
|
|
20
|
-
}
|
|
21
|
-
function logTickValues([min, max], ticks) {
|
|
22
|
-
if (min <= 0 || max <= 0 || min >= max) return [];
|
|
23
|
-
const exponents = decadeExponents(min, max);
|
|
24
|
-
const inDomain = (v) => v >= min && v <= max;
|
|
25
|
-
const collect = (mantissas) => exponents.flatMap((k) => mantissas.map((m) => m * 10 ** k)).filter(inDomain);
|
|
26
|
-
let resolved = [];
|
|
27
|
-
for (const mantissas of MANTISSA_SETS) {
|
|
28
|
-
resolved = collect(mantissas);
|
|
29
|
-
if (resolved.length >= DENSIFY_BELOW) break;
|
|
30
|
-
}
|
|
31
|
-
if (resolved.length <= ticks) return resolved;
|
|
32
|
-
const decades = exponents.map((k) => 10 ** k).filter(inDomain);
|
|
33
|
-
if (decades.length >= DENSIFY_BELOW) return thinToBudget(decades, ticks);
|
|
34
|
-
return thinToBudget(resolved, ticks);
|
|
35
|
-
}
|
|
36
|
-
function niceLogDomain([min, max]) {
|
|
37
|
-
return [10 ** Math.floor(Math.log10(min)), 10 ** Math.ceil(Math.log10(max))];
|
|
38
|
-
}
|
|
39
|
-
export {
|
|
40
|
-
logTickValues,
|
|
41
|
-
niceLogDomain
|
|
42
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AreaGradient — the single source for the soft single-hue area fill under a line.
|
|
3
|
-
*
|
|
4
|
-
* Renders a vertical <linearGradient> that fades a series/line color from `--vx-area-top`
|
|
5
|
-
* opacity at the data peak to `--vx-area-bottom` at the baseline. Both stops are
|
|
6
|
-
* `color-mix` of a CSS-var color, so they stay theme-aware AND the dev theme lab can retune
|
|
7
|
-
* the whole app's gradient strength by overriding two vars on :root — no chart edits.
|
|
8
|
-
*
|
|
9
|
-
* Usage (inside an <svg>):
|
|
10
|
-
* <defs><AreaGradient id={`${chartId}-area`} color={VX.line} /></defs>
|
|
11
|
-
* <AreaClosed ... fill={areaFillUrl(`${chartId}-area`)} />
|
|
12
|
-
*/
|
|
13
|
-
export declare function AreaGradient({ id, color }: {
|
|
14
|
-
id: string;
|
|
15
|
-
color: string;
|
|
16
|
-
}): import("react").JSX.Element;
|
|
17
|
-
export declare const areaFillUrl: (id: string) => string;
|
|
18
|
-
//# sourceMappingURL=AreaGradient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AreaGradient.d.ts","sourceRoot":"","sources":["../../../src/charts/primitives/AreaGradient.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,+BAOxE;AAED,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,KAAG,MAAuB,CAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
const areaStop = (color, edge) => `color-mix(in srgb, ${color} var(--vx-area-${edge}), transparent)`;
|
|
3
|
-
function AreaGradient({ id, color }) {
|
|
4
|
-
return /* @__PURE__ */ jsxs("linearGradient", { id, x1: "0", x2: "0", y1: "0", y2: "1", children: [
|
|
5
|
-
/* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: areaStop(color, "top") }),
|
|
6
|
-
/* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: areaStop(color, "bottom") })
|
|
7
|
-
] });
|
|
8
|
-
}
|
|
9
|
-
const areaFillUrl = (id) => `url(#${id})`;
|
|
10
|
-
export {
|
|
11
|
-
AreaGradient,
|
|
12
|
-
areaFillUrl
|
|
13
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import type { AxisScale, TickFormatter } from '@visx/axis';
|
|
2
|
-
/**
|
|
3
|
-
* Tick label font — mono, per `docs/DESIGN-SPEC.md` §5 ("ticks mono 10.5px faint"). Not a `VX.*`
|
|
4
|
-
* ref (the token layer is off-limits to font-family additions here) — a plain reference to the
|
|
5
|
-
* `--basalt-font-mono` var that `styles.css` already defines. Exported so `CartesianChart`'s own
|
|
6
|
-
* end-of-line labels (the same mono tick font, painted outside any `Axis*` primitive here) read it
|
|
7
|
-
* rather than keeping a second, driftable copy of the literal.
|
|
8
|
-
*/
|
|
9
|
-
export declare const TICK_FONT_FAMILY = "var(--basalt-font-mono)";
|
|
10
|
-
/** Tick label colour. Default `VX.faint`; a dual-axis chart tints it with its series' colour. */
|
|
11
|
-
type TickColor = {
|
|
12
|
-
tickColor?: string;
|
|
13
|
-
};
|
|
14
|
-
/** Themed left numeric axis — baked-in theme colors + font size. The tick font tracks the ambient
|
|
15
|
-
* chart tier (`docs/CHARTS-SPEC.md` §8); a caller measuring its own gutter must measure at the
|
|
16
|
-
* SAME size (`chartMetrics().axisFont` into `autoMargin`'s `fontPx`), or the measured label
|
|
17
|
-
* and the painted one stop being the same string's width. */
|
|
18
|
-
export declare function AxisLeftNumeric({ scale, numTicks, tickFormat, tickValues, inside, tickColor, }: TickColor & {
|
|
19
|
-
scale: AxisScale;
|
|
20
|
-
numTicks?: number;
|
|
21
|
-
tickFormat?: TickFormatter<number>;
|
|
22
|
-
/** Exact tick positions (e.g. a compass axis at 0/90/180/270). Overrides `numTicks`. */
|
|
23
|
-
tickValues?: readonly number[];
|
|
24
|
-
/** Labels drawn over the grid, left-aligned on a surface-coloured background chip (above their
|
|
25
|
-
* line, or below it for a tick within one line-height of the plot's top edge) — the caller
|
|
26
|
-
* reserves no gutter for them (`docs/CHARTS-SPEC.md` §8). */
|
|
27
|
-
inside?: boolean;
|
|
28
|
-
}): import("react").JSX.Element;
|
|
29
|
-
/** Themed right numeric axis — mirrors AxisLeftNumeric for dual-axis charts. */
|
|
30
|
-
export declare function AxisRightNumeric({ scale, left, numTicks, tickFormat, tickValues, tickColor, }: TickColor & {
|
|
31
|
-
scale: AxisScale;
|
|
32
|
-
/** Left offset inside the Group (typically xMax). Required since AxisRight needs positioning. */
|
|
33
|
-
left: number;
|
|
34
|
-
numTicks?: number;
|
|
35
|
-
tickFormat?: TickFormatter<number>;
|
|
36
|
-
/** Exact tick positions (e.g. a compass axis at 0/90/180/270). Overrides `numTicks`. */
|
|
37
|
-
tickValues?: readonly number[];
|
|
38
|
-
}): import("react").JSX.Element;
|
|
39
|
-
/**
|
|
40
|
-
* Themed bottom numeric axis — the numeric twin of {@link AxisLeftNumeric}, for a plot whose x is
|
|
41
|
-
* a continuous number rather than a date/category (e.g. `sky-panorama.tsx`'s azimuth 0–360°,
|
|
42
|
-
* `docs/CHARTS-SPEC.md` issue #52). Exists so a bespoke continuous-x plot — declared exempt from
|
|
43
|
-
* `CartesianChart` by a `theme-allow-file hand-rolled-plot` waiver, since the point-scale x axis
|
|
44
|
-
* that primitive builds cannot represent one — stops re-implementing tick text/color/font by hand.
|
|
45
|
-
*/
|
|
46
|
-
export declare function AxisBottomNumeric({ scale, top, numTicks, tickFormat, tickValues, }: {
|
|
47
|
-
scale: AxisScale;
|
|
48
|
-
top: number;
|
|
49
|
-
numTicks?: number;
|
|
50
|
-
tickFormat?: TickFormatter<number>;
|
|
51
|
-
/** Exact tick positions (e.g. a compass axis at 0/90/180/270). Overrides `numTicks`. */
|
|
52
|
-
tickValues?: readonly number[];
|
|
53
|
-
}): import("react").JSX.Element;
|
|
54
|
-
/** `textAnchor` of one x label: inward at the two terminals when asked, centred otherwise. */
|
|
55
|
-
export declare function terminalAnchor(input: {
|
|
56
|
-
anchorTerminals: boolean;
|
|
57
|
-
index: number;
|
|
58
|
-
count: number;
|
|
59
|
-
}): 'start' | 'middle' | 'end';
|
|
60
|
-
/** Themed bottom date axis — baked-in smartTicks + DD.MM formatting. */
|
|
61
|
-
export declare function AxisBottomDate({ scale, top, tickValues, tickFormat, rotate, anchorTerminals, wrapWidth, }: {
|
|
62
|
-
scale: AxisScale;
|
|
63
|
-
top: number;
|
|
64
|
-
tickValues: string[];
|
|
65
|
-
/** First label anchored `start`, last `end`, so the terminals stay inside the plot instead of
|
|
66
|
-
* overflowing it. Ignored when rotated. */
|
|
67
|
-
anchorTerminals?: boolean;
|
|
68
|
-
/** Wrap each label to this many px (SVG tspans) instead of thinning or rotating it. */
|
|
69
|
-
wrapWidth?: number;
|
|
70
|
-
/**
|
|
71
|
-
* Defaults to `fmtAxisDate` (DD.MM). Override for a sub-day window, where DD.MM collapses every
|
|
72
|
-
* tick to the same label.
|
|
73
|
-
*/
|
|
74
|
-
tickFormat?: TickFormatter<string>;
|
|
75
|
-
/**
|
|
76
|
-
* Tilt each tick label counter-clockwise by 45° or 90°, anchored at its right edge — the answer
|
|
77
|
-
* to labels too wide to sit side by side. The caller owns the deepened bottom gutter it needs
|
|
78
|
-
* (`autoMargin({ rotate })`, `docs/CHARTS-SPEC.md` §1); this only paints them.
|
|
79
|
-
*/
|
|
80
|
-
rotate?: 45 | 90;
|
|
81
|
-
}): import("react").JSX.Element;
|
|
82
|
-
export {};
|
|
83
|
-
//# sourceMappingURL=Axes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Axes.d.ts","sourceRoot":"","sources":["../../../src/charts/primitives/Axes.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAM7E;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,4BAA4B,CAAA;AAezD,iGAAiG;AACjG,KAAK,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAoCvC;;;6DAG6D;AAC7D,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAY,EACZ,UAAU,EACV,UAAU,EACV,MAAc,EACd,SAA8B,GAC/B,EAAE,SAAS,GAAG;IACb,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC,wFAAwF;IACxF,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B;;iEAE6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,+BAuBA;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,QAAY,EACZ,UAAU,EACV,UAAU,EACV,SAA8B,GAC/B,EAAE,SAAS,GAAG;IACb,KAAK,EAAE,SAAS,CAAA;IAChB,iGAAiG;IACjG,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC,wFAAwF;IACxF,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,+BAmBA;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,GAAG,EACH,QAAY,EACZ,UAAU,EACV,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC,wFAAwF;IACxF,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,+BAmBA;AAYD,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,eAAe,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAK7B;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,GAAG,EACH,UAAU,EACV,UAAwB,EACxB,MAAM,EACN,eAAuB,EACvB,SAAS,GACV,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;+CAC2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CACjB,+BA6BA"}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { AxisBottom, AxisLeft, AxisRight } from "@visx/axis";
|
|
3
|
-
import { VX } from "../../tokens/index.js";
|
|
4
|
-
import { ROTATED_LABEL_OFFSET } from "../layout/auto-margin.js";
|
|
5
|
-
import { fmtAxisDate } from "../utils/format.js";
|
|
6
|
-
import { useChartMetrics } from "./chart-tier.js";
|
|
7
|
-
const TICK_FONT_FAMILY = "var(--basalt-font-mono)";
|
|
8
|
-
const INSIDE_LABEL_PAD_X = 4;
|
|
9
|
-
const INSIDE_LABEL_GAP = 3;
|
|
10
|
-
const INSIDE_LABEL_HALO_WIDTH = 3;
|
|
11
|
-
const TOP_CLEARANCE_LINES = 1;
|
|
12
|
-
const DEFAULT_TICK_COLOR = VX.faint;
|
|
13
|
-
function InsideTickLabel({ x, y, formattedValue, fontSize, fill }) {
|
|
14
|
-
if (formattedValue === void 0) return null;
|
|
15
|
-
const size = typeof fontSize === "number" ? fontSize : VX.axisFont;
|
|
16
|
-
const lineHeight = Math.round(size * 1.3);
|
|
17
|
-
const nearTop = y <= lineHeight * TOP_CLEARANCE_LINES;
|
|
18
|
-
const centerY = nearTop ? y + INSIDE_LABEL_GAP + lineHeight / 2 : y - INSIDE_LABEL_GAP - lineHeight / 2;
|
|
19
|
-
return /* @__PURE__ */ jsx(
|
|
20
|
-
"text",
|
|
21
|
-
{
|
|
22
|
-
x: x + INSIDE_LABEL_PAD_X,
|
|
23
|
-
y: centerY,
|
|
24
|
-
dominantBaseline: "middle",
|
|
25
|
-
textAnchor: "start",
|
|
26
|
-
fill,
|
|
27
|
-
stroke: VX.surface.panel,
|
|
28
|
-
strokeWidth: INSIDE_LABEL_HALO_WIDTH,
|
|
29
|
-
paintOrder: "stroke",
|
|
30
|
-
fontFamily: TICK_FONT_FAMILY,
|
|
31
|
-
fontSize: size,
|
|
32
|
-
children: formattedValue
|
|
33
|
-
}
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
function AxisLeftNumeric({
|
|
37
|
-
scale,
|
|
38
|
-
numTicks = 5,
|
|
39
|
-
tickFormat,
|
|
40
|
-
tickValues,
|
|
41
|
-
inside = false,
|
|
42
|
-
tickColor = DEFAULT_TICK_COLOR
|
|
43
|
-
}) {
|
|
44
|
-
const { axisFont } = useChartMetrics();
|
|
45
|
-
return /* @__PURE__ */ jsx(
|
|
46
|
-
AxisLeft,
|
|
47
|
-
{
|
|
48
|
-
scale,
|
|
49
|
-
numTicks,
|
|
50
|
-
...tickFormat !== void 0 && { tickFormat },
|
|
51
|
-
...tickValues !== void 0 && { tickValues: [...tickValues] },
|
|
52
|
-
...inside && { tickLength: 0, hideTicks: true, tickComponent: InsideTickLabel },
|
|
53
|
-
tickLabelProps: inside ? { fill: tickColor, fontSize: axisFont } : {
|
|
54
|
-
fill: tickColor,
|
|
55
|
-
fontFamily: TICK_FONT_FAMILY,
|
|
56
|
-
fontSize: axisFont,
|
|
57
|
-
dx: -4
|
|
58
|
-
},
|
|
59
|
-
stroke: VX.surface.border,
|
|
60
|
-
tickStroke: VX.surface.border
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
function AxisRightNumeric({
|
|
65
|
-
scale,
|
|
66
|
-
left,
|
|
67
|
-
numTicks = 5,
|
|
68
|
-
tickFormat,
|
|
69
|
-
tickValues,
|
|
70
|
-
tickColor = DEFAULT_TICK_COLOR
|
|
71
|
-
}) {
|
|
72
|
-
const { axisFont } = useChartMetrics();
|
|
73
|
-
return /* @__PURE__ */ jsx(
|
|
74
|
-
AxisRight,
|
|
75
|
-
{
|
|
76
|
-
left,
|
|
77
|
-
scale,
|
|
78
|
-
numTicks,
|
|
79
|
-
...tickFormat !== void 0 && { tickFormat },
|
|
80
|
-
...tickValues !== void 0 && { tickValues: [...tickValues] },
|
|
81
|
-
tickLabelProps: {
|
|
82
|
-
fill: tickColor,
|
|
83
|
-
fontFamily: TICK_FONT_FAMILY,
|
|
84
|
-
fontSize: axisFont,
|
|
85
|
-
dx: 4
|
|
86
|
-
},
|
|
87
|
-
stroke: VX.surface.border,
|
|
88
|
-
tickStroke: VX.surface.border
|
|
89
|
-
}
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
function AxisBottomNumeric({
|
|
93
|
-
scale,
|
|
94
|
-
top,
|
|
95
|
-
numTicks = 5,
|
|
96
|
-
tickFormat,
|
|
97
|
-
tickValues
|
|
98
|
-
}) {
|
|
99
|
-
const { axisFont } = useChartMetrics();
|
|
100
|
-
return /* @__PURE__ */ jsx(
|
|
101
|
-
AxisBottom,
|
|
102
|
-
{
|
|
103
|
-
top,
|
|
104
|
-
scale,
|
|
105
|
-
numTicks,
|
|
106
|
-
...tickFormat !== void 0 && { tickFormat },
|
|
107
|
-
...tickValues !== void 0 && { tickValues: [...tickValues] },
|
|
108
|
-
tickLabelProps: {
|
|
109
|
-
fill: VX.faint,
|
|
110
|
-
fontFamily: TICK_FONT_FAMILY,
|
|
111
|
-
fontSize: axisFont,
|
|
112
|
-
textAnchor: "middle"
|
|
113
|
-
},
|
|
114
|
-
stroke: VX.surface.border,
|
|
115
|
-
tickStroke: VX.surface.border
|
|
116
|
-
}
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
const ROTATED_OFFSET = ROTATED_LABEL_OFFSET;
|
|
120
|
-
function terminalAnchor(input) {
|
|
121
|
-
const { anchorTerminals, index, count } = input;
|
|
122
|
-
if (!anchorTerminals || count < 2) return "middle";
|
|
123
|
-
if (index === 0) return "start";
|
|
124
|
-
return index === count - 1 ? "end" : "middle";
|
|
125
|
-
}
|
|
126
|
-
function AxisBottomDate({
|
|
127
|
-
scale,
|
|
128
|
-
top,
|
|
129
|
-
tickValues,
|
|
130
|
-
tickFormat = fmtAxisDate,
|
|
131
|
-
rotate,
|
|
132
|
-
anchorTerminals = false,
|
|
133
|
-
wrapWidth
|
|
134
|
-
}) {
|
|
135
|
-
const { axisFont } = useChartMetrics();
|
|
136
|
-
const rotated = rotate === void 0 ? void 0 : ROTATED_OFFSET[rotate];
|
|
137
|
-
return /* @__PURE__ */ jsx(
|
|
138
|
-
AxisBottom,
|
|
139
|
-
{
|
|
140
|
-
top,
|
|
141
|
-
scale,
|
|
142
|
-
tickValues,
|
|
143
|
-
tickFormat,
|
|
144
|
-
tickLabelProps: (_value, index, values) => ({
|
|
145
|
-
fill: VX.faint,
|
|
146
|
-
fontFamily: TICK_FONT_FAMILY,
|
|
147
|
-
fontSize: axisFont,
|
|
148
|
-
textAnchor: rotated !== void 0 ? "end" : terminalAnchor({ anchorTerminals, index, count: values.length }),
|
|
149
|
-
...rotate !== void 0 && { angle: -rotate },
|
|
150
|
-
...rotated !== void 0 && { dx: rotated.dx, dy: rotated.dy },
|
|
151
|
-
// A wrapped label's default baseline anchors its LAST line, which stacks the earlier ones
|
|
152
|
-
// UPWARD into the axis line and ticks (R2C-7) — `autoMargin`'s `bottomLines` reserves room
|
|
153
|
-
// BELOW the axis, so the reservation and the paint have to agree on which line anchors.
|
|
154
|
-
...wrapWidth !== void 0 && rotated === void 0 && { width: wrapWidth, verticalAnchor: "start", dy: "-0.35em" }
|
|
155
|
-
}),
|
|
156
|
-
stroke: VX.surface.border,
|
|
157
|
-
tickStroke: VX.surface.border
|
|
158
|
-
}
|
|
159
|
-
);
|
|
160
|
-
}
|
|
161
|
-
export {
|
|
162
|
-
AxisBottomDate,
|
|
163
|
-
AxisBottomNumeric,
|
|
164
|
-
AxisLeftNumeric,
|
|
165
|
-
AxisRightNumeric,
|
|
166
|
-
TICK_FONT_FAMILY,
|
|
167
|
-
terminalAnchor
|
|
168
|
-
};
|