basalt-ui 1.40.3 → 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 +50 -45
- package/CHANGELOG.md +543 -513
- package/MIGRATING.md +969 -37
- package/README.md +172 -367
- 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 +30 -0
- package/agent/templates/DESIGN.md.tpl +2 -2
- package/agent/templates/__root.tpl +9 -16
- package/agent/templates/main.tpl +21 -0
- package/agent/templates/nav.tpl +18 -0
- package/configs/check.yml +1 -1
- package/configs/oxlint-basalt.json +4 -10
- package/configs/oxlint-plugin.js +468 -847
- package/configs/oxlint-plugin.test.ts +662 -710
- 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/foreign.d.ts +3 -2
- package/dist/agent/foreign.d.ts.map +1 -1
- 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 -26
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +79 -8
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +2 -4
- package/dist/cli/index.d.ts +68 -135
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +89 -76
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +43 -27
- package/dist/cli/sync.d.ts +5 -21
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +4 -6
- 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/copy-action.d.ts +1 -1
- package/dist/content/glyphs.d.ts +1 -1
- 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/foreign.ts +3 -2
- 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 +120 -68
- package/src/cli/help.ts +2 -4
- package/src/cli/index.ts +161 -276
- package/src/cli/init.ts +60 -37
- package/src/cli/sync.ts +13 -45
- 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/copy-action.tsx +1 -1
- package/src/content/glyphs.tsx +1 -1
- 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 +37 -192
- 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/CLAUDE-block.md.tpl +0 -40
- 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,178 +0,0 @@
|
|
|
1
|
-
import { scaleBand } from "@visx/scale";
|
|
2
|
-
import { useCallback, useMemo, useRef } from "react";
|
|
3
|
-
import { autoMargin } from "../layout/auto-margin.js";
|
|
4
|
-
import {
|
|
5
|
-
isTightClass,
|
|
6
|
-
planXLabels,
|
|
7
|
-
resolveMarginFloor,
|
|
8
|
-
resolveYPlacement
|
|
9
|
-
} from "../primitives/chart-layout.js";
|
|
10
|
-
import { useChartContainerClass, useChartMetrics } from "../primitives/chart-tier.js";
|
|
11
|
-
import { maxTextWidth } from "../utils/measure-text.js";
|
|
12
|
-
import { smartTicks, xLabelPxFor } from "../utils/ticks.js";
|
|
13
|
-
import { useChartCursor } from "./useChartCursor.js";
|
|
14
|
-
const DEFAULT_MIN_BAND_PX = 3;
|
|
15
|
-
const TERMINAL_GUTTER_MAX_FRACTION = { left: 0.14, right: 0.12 };
|
|
16
|
-
function foldBands(data, cap, merge) {
|
|
17
|
-
if (cap <= 0) return [];
|
|
18
|
-
if (data.length <= cap) return [...data];
|
|
19
|
-
const groupSize = Math.ceil(data.length / cap);
|
|
20
|
-
const out = [];
|
|
21
|
-
for (let i = 0; i < data.length; i += groupSize) out.push(merge(data.slice(i, i + groupSize)));
|
|
22
|
-
return out;
|
|
23
|
-
}
|
|
24
|
-
function useBandPlot(input) {
|
|
25
|
-
const {
|
|
26
|
-
data,
|
|
27
|
-
chartId,
|
|
28
|
-
getX,
|
|
29
|
-
formatX,
|
|
30
|
-
width,
|
|
31
|
-
fold,
|
|
32
|
-
cursorResolution,
|
|
33
|
-
xTickValues,
|
|
34
|
-
leftLabels,
|
|
35
|
-
margin: marginOverride,
|
|
36
|
-
tooltip
|
|
37
|
-
} = input;
|
|
38
|
-
const tier = useChartMetrics();
|
|
39
|
-
const containerClass = useChartContainerClass();
|
|
40
|
-
const tight = isTightClass(containerClass);
|
|
41
|
-
const hasLeftAxis = leftLabels !== void 0 && leftLabels.length > 0;
|
|
42
|
-
const yPlacement = resolveYPlacement(containerClass, {
|
|
43
|
-
hasLeftAxis,
|
|
44
|
-
marginOverrideLeft: marginOverride?.left
|
|
45
|
-
});
|
|
46
|
-
const xLabelsAll = useMemo(() => data.map((d) => formatX(getX(d))), [data, getX, formatX]);
|
|
47
|
-
const xPlan = useMemo(
|
|
48
|
-
() => planXLabels({
|
|
49
|
-
labels: xLabelsAll,
|
|
50
|
-
plotWidth: width - tier.margin.left - tier.margin.right,
|
|
51
|
-
fontPx: tier.axisFont,
|
|
52
|
-
categorical: tight
|
|
53
|
-
}),
|
|
54
|
-
[xLabelsAll, width, tier.margin, tier.axisFont, tight]
|
|
55
|
-
);
|
|
56
|
-
const xWrapWidth = xPlan.wrap ? xPlan.wrapPx : void 0;
|
|
57
|
-
const margin = useMemo(() => {
|
|
58
|
-
const measured = autoMargin({
|
|
59
|
-
...leftLabels !== void 0 && { left: yPlacement === "outside" ? leftLabels : [] },
|
|
60
|
-
bottom: xLabelsAll,
|
|
61
|
-
fontPx: tier.axisFont,
|
|
62
|
-
// An inside-placed left axis paints IN the plot, so the outside label-width floor is dead
|
|
63
|
-
// space there — same law as `CartesianChart`'s `marginInput.floor`.
|
|
64
|
-
floor: resolveMarginFloor(yPlacement, tier.margin),
|
|
65
|
-
anchorTerminals: tight,
|
|
66
|
-
bottomLines: xPlan.lines,
|
|
67
|
-
...marginOverride !== void 0 && { override: marginOverride }
|
|
68
|
-
});
|
|
69
|
-
if (marginOverride?.left !== void 0 && marginOverride.right !== void 0) return measured;
|
|
70
|
-
const halfXLabel = Math.ceil(maxTextWidth(xLabelsAll, tier.axisFont) / 2);
|
|
71
|
-
const left = hasLeftAxis || tight ? measured.left : Math.max(measured.left, halfXLabel);
|
|
72
|
-
return {
|
|
73
|
-
...measured,
|
|
74
|
-
...marginOverride?.left === void 0 && {
|
|
75
|
-
left: hasLeftAxis || tight ? left : capTerminalGutter(left, width, TERMINAL_GUTTER_MAX_FRACTION.left, tier.margin.left)
|
|
76
|
-
},
|
|
77
|
-
...marginOverride?.right === void 0 && {
|
|
78
|
-
right: tight ? measured.right : capTerminalGutter(
|
|
79
|
-
measured.right,
|
|
80
|
-
width,
|
|
81
|
-
TERMINAL_GUTTER_MAX_FRACTION.right,
|
|
82
|
-
tier.margin.right
|
|
83
|
-
)
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
}, [
|
|
87
|
-
leftLabels,
|
|
88
|
-
xLabelsAll,
|
|
89
|
-
marginOverride,
|
|
90
|
-
hasLeftAxis,
|
|
91
|
-
width,
|
|
92
|
-
tier.axisFont,
|
|
93
|
-
tier.margin,
|
|
94
|
-
tight,
|
|
95
|
-
yPlacement,
|
|
96
|
-
xPlan.lines
|
|
97
|
-
]);
|
|
98
|
-
const plotWidth = Math.max(width - margin.left - margin.right, 0);
|
|
99
|
-
const minBandPx = fold?.minBandPx ?? DEFAULT_MIN_BAND_PX;
|
|
100
|
-
const merge = fold?.merge;
|
|
101
|
-
const bands = useMemo(
|
|
102
|
-
() => merge === void 0 ? [...data] : foldBands(data, Math.floor(plotWidth / minBandPx), merge),
|
|
103
|
-
[data, plotWidth, minBandPx, merge]
|
|
104
|
-
);
|
|
105
|
-
const keys = useMemo(() => bands.map(getX), [bands, getX]);
|
|
106
|
-
const scale = useMemo(
|
|
107
|
-
() => scaleBand({ domain: keys, range: [0, plotWidth] }),
|
|
108
|
-
[keys, plotWidth]
|
|
109
|
-
);
|
|
110
|
-
const bandCenter = useCallback(
|
|
111
|
-
(key) => {
|
|
112
|
-
const v = scale(key);
|
|
113
|
-
return v === void 0 ? void 0 : v + scale.bandwidth() / 2;
|
|
114
|
-
},
|
|
115
|
-
[scale]
|
|
116
|
-
);
|
|
117
|
-
const svgRef = useRef(null);
|
|
118
|
-
const cursor = useChartCursor({
|
|
119
|
-
data: bands,
|
|
120
|
-
chartId,
|
|
121
|
-
getKey: getX,
|
|
122
|
-
xScale: bandCenter,
|
|
123
|
-
marginLeft: margin.left,
|
|
124
|
-
// Both callers (`BandStrip`, `MirroredBars`) mount exactly one `<svg ref={band.svgRef}>`, so
|
|
125
|
-
// it doubles as the tap-outside boundary (`docs/CHARTS-SPEC.md` §4, Tooltip) with no separate
|
|
126
|
-
// passthrough option — reusing the ref this hook already returns, not a new one.
|
|
127
|
-
boundaryRef: svgRef,
|
|
128
|
-
...cursorResolution !== void 0 && { resolution: cursorResolution }
|
|
129
|
-
});
|
|
130
|
-
const xLabelPx = useMemo(
|
|
131
|
-
() => xWrapWidth === void 0 ? xLabelPxFor(keys.map(formatX), tier.axisFont) : xPlan.labelPx,
|
|
132
|
-
[keys, formatX, tier.axisFont, xWrapWidth, xPlan.labelPx]
|
|
133
|
-
);
|
|
134
|
-
const tickValues = useMemo(() => {
|
|
135
|
-
if (xTickValues !== void 0) return [...xTickValues(keys, plotWidth)];
|
|
136
|
-
if (containerClass === "micro")
|
|
137
|
-
return keys.length > 1 ? [keys[0], keys[keys.length - 1]] : [...keys];
|
|
138
|
-
return [...smartTicks(keys, plotWidth, xLabelPx, tight)];
|
|
139
|
-
}, [keys, plotWidth, xTickValues, xLabelPx, containerClass, tight]);
|
|
140
|
-
const point = cursor.point;
|
|
141
|
-
const crosshairX = point === null ? null : bandCenter(getX(point)) ?? null;
|
|
142
|
-
const cfg = tooltip === false ? void 0 : tooltip;
|
|
143
|
-
const isFollowerRender = !cursor.isSource && cfg?.onFollow === true;
|
|
144
|
-
const showTooltip = tooltip !== false && point !== null && (cursor.isSource || isFollowerRender);
|
|
145
|
-
const useAnchored = cfg?.follow === false || cfg?.follow === void 0 && cursor.isTouch || isFollowerRender;
|
|
146
|
-
const anchorX = useAnchored ? crosshairX : null;
|
|
147
|
-
const svgRect = anchorX === null ? void 0 : svgRef.current?.getBoundingClientRect();
|
|
148
|
-
const tooltipAnchor = svgRect === void 0 || anchorX === null ? cursor.anchor : { x: svgRect.left + margin.left + anchorX, y: svgRect.top + margin.top };
|
|
149
|
-
const step = bands.length > 0 ? plotWidth / bands.length : 0;
|
|
150
|
-
const bandWidth = Math.max(step - 1, 1);
|
|
151
|
-
return {
|
|
152
|
-
bands,
|
|
153
|
-
keys,
|
|
154
|
-
margin,
|
|
155
|
-
plotWidth,
|
|
156
|
-
scale,
|
|
157
|
-
cursor,
|
|
158
|
-
point,
|
|
159
|
-
crosshairX,
|
|
160
|
-
step,
|
|
161
|
-
bandWidth,
|
|
162
|
-
tickValues,
|
|
163
|
-
yPlacement,
|
|
164
|
-
xAnchorTerminals: tight,
|
|
165
|
-
xWrapWidth,
|
|
166
|
-
svgRef,
|
|
167
|
-
tooltipAnchor,
|
|
168
|
-
showTooltip,
|
|
169
|
-
ariaLive: cursor.isSource
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
function capTerminalGutter(gutter, width, fraction, floor) {
|
|
173
|
-
return Math.min(gutter, Math.max(floor, Math.round(width * fraction)));
|
|
174
|
-
}
|
|
175
|
-
export {
|
|
176
|
-
foldBands,
|
|
177
|
-
useBandPlot
|
|
178
|
-
};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import type { KeyboardEvent, PointerEvent, RefObject } from 'react';
|
|
2
|
-
import type { CursorResolution } from '../cursor/resolve.js';
|
|
3
|
-
/** Viewport-space pointer anchor the tooltip positions against. */
|
|
4
|
-
export type CursorAnchor = {
|
|
5
|
-
x: number;
|
|
6
|
-
y: number;
|
|
7
|
-
};
|
|
8
|
-
export type ChartCursor<T> = {
|
|
9
|
-
/** The point this chart paints its crosshair + dots at — own hover, or a resolved sibling key. */
|
|
10
|
-
point: T | null;
|
|
11
|
-
/** True when the pointer is over THIS chart. Only the source chart shows the floating tooltip. */
|
|
12
|
-
isSource: boolean;
|
|
13
|
-
/** Latest pointer position in viewport coords, or null when not hovered. */
|
|
14
|
-
anchor: CursorAnchor | null;
|
|
15
|
-
/**
|
|
16
|
-
* True when the interaction that most recently placed THIS chart's cursor had
|
|
17
|
-
* `event.pointerType !== 'mouse'` (touch or pen). Callers fold it into the anchored-tooltip
|
|
18
|
-
* condition (`tooltip.follow` defaulting to `false` on touch, docs/CHARTS-SPEC.md §4) — a follower's own
|
|
19
|
-
* anchoring is unaffected, since a follower is never the one whose pointer set this flag.
|
|
20
|
-
*/
|
|
21
|
-
isTouch: boolean;
|
|
22
|
-
onPointerMove: (event: PointerEvent<SVGRectElement>) => void;
|
|
23
|
-
/** Coarse-pointer equivalent of hover: resolves the nearest point and shows the tooltip
|
|
24
|
-
* immediately, with no preceding `pointermove` — a plain tap otherwise fires only
|
|
25
|
-
* `pointerdown`/`pointerup`. The press is PROVISIONAL: it shows the tooltip but does not commit a
|
|
26
|
-
* pin, which only `onPointerUp` does. Also what MOVES an existing touch pin to a new tap elsewhere
|
|
27
|
-
* in the same chart (fine pointers ignore it; `onPointerMove` already covers hover for them). */
|
|
28
|
-
onPointerDown: (event: PointerEvent<SVGRectElement>) => void;
|
|
29
|
-
/** Commits the provisional touch press — the same `pointerId` as the matching `onPointerDown` —
|
|
30
|
-
* so the pin survives the lift. A `pointerup` for any other pointer is ignored. */
|
|
31
|
-
onPointerUp: (event: PointerEvent<SVGRectElement>) => void;
|
|
32
|
-
/** `pointerleave`/`pointercancel`, sharing one handler. A still-UNCOMMITTED touch press cancelled
|
|
33
|
-
* here is the browser taking the gesture (a scroll) and clears; once committed, touch no-ops so a
|
|
34
|
-
* stray `pointercancel` cannot undo the pin. A fine pointer always clears. */
|
|
35
|
-
onPointerLeave: (event: PointerEvent<SVGRectElement>) => void;
|
|
36
|
-
onKeyDown: (event: KeyboardEvent<SVGRectElement>) => void;
|
|
37
|
-
onBlur: () => void;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Wires a chart into the ambient cursor store: snaps the pointer to the nearest own point,
|
|
41
|
-
* broadcasts it, and reads back a sibling's broadcast through domain-aware resolution — automatic,
|
|
42
|
-
* no `resolveKey` escape hatch.
|
|
43
|
-
*
|
|
44
|
-
* The tooltip anchor is coalesced through `requestAnimationFrame` (one local write per frame on a
|
|
45
|
-
* fast scrub); the BROADCAST is deduped instead, so a within-bucket scrub costs nothing and a real
|
|
46
|
-
* bucket change reaches siblings on the same tick.
|
|
47
|
-
*
|
|
48
|
-
* Touch model (`docs/CHARTS-SPEC.md` §4): a fine pointer keeps hovering. A coarse pointer
|
|
49
|
-
* (`onPointerDown`) resolves and shows the tooltip immediately, drag-scrubs via `onPointerMove`,
|
|
50
|
-
* and COMMITS a pin on `onPointerUp` — `onPointerLeave` (also wired to `pointercancel`) no-ops once
|
|
51
|
-
* committed. A press the browser turns into a scroll clears instead. The pin moves on a fresh tap,
|
|
52
|
-
* clears on a `document` tap outside `boundaryRef`, on any scroll, or on Escape.
|
|
53
|
-
*/
|
|
54
|
-
export declare function useChartCursor<T>({ data, chartId, getKey, xScale, marginLeft, resolution, boundaryRef, }: {
|
|
55
|
-
data: readonly T[];
|
|
56
|
-
chartId: string;
|
|
57
|
-
getKey: (d: T) => string;
|
|
58
|
-
/** Own x scale — maps a domain key to a plot-local x offset. */
|
|
59
|
-
xScale: (key: string) => number | undefined;
|
|
60
|
-
marginLeft: number;
|
|
61
|
-
/**
|
|
62
|
-
* How a sibling's broadcast key resolves against this chart's own points. Default `'nearest'`
|
|
63
|
-
* (point domains). Pass `'leading'` when `getKey` returns a bucket's leading edge (a weekly
|
|
64
|
-
* series keyed by its Monday, a monthly series keyed by its 1st) — see {@link CursorResolution}.
|
|
65
|
-
*/
|
|
66
|
-
resolution?: CursorResolution;
|
|
67
|
-
/**
|
|
68
|
-
* Element a touch tap OUTSIDE dismisses the pin against (`docs/CHARTS-SPEC.md` §4). One
|
|
69
|
-
* capture-phase `document` `pointerdown` listener clears the pin when the target falls outside
|
|
70
|
-
* this ref — added on pinning, removed on unpin/unmount. Omit to skip outside-dismiss (a tap
|
|
71
|
-
* elsewhere in the chart and Escape still work); never throws for a missing ref.
|
|
72
|
-
*/
|
|
73
|
-
boundaryRef?: RefObject<Element | null>;
|
|
74
|
-
}): ChartCursor<T>;
|
|
75
|
-
//# sourceMappingURL=useChartCursor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useChartCursor.d.ts","sourceRoot":"","sources":["../../../src/charts/hooks/useChartCursor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAMzD,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,kGAAkG;IAClG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACf,kGAAkG;IAClG,QAAQ,EAAE,OAAO,CAAA;IACjB,4EAA4E;IAC5E,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC5D;;;;qGAIiG;IACjG,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC5D;uFACmF;IACnF,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC1D;;kFAE8E;IAC9E,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC7D,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IACzD,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAChC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAsB,EACtB,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,SAAS,CAAC,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACxB,gEAAgE;IAChE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;CACxC,GAAG,WAAW,CAAC,CAAC,CAAC,CAuRjB"}
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
import { localPoint } from "@visx/event";
|
|
2
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
-
import { buildDomainIndex, classifyDomain, resolveCursorPoint } from "../cursor/resolve.js";
|
|
4
|
-
import { useCursorState, useCursorStore } from "../cursor/scope.js";
|
|
5
|
-
import { useDismissOnOutside, useTouchPin } from "../cursor/touch-pin.js";
|
|
6
|
-
function useChartCursor({
|
|
7
|
-
data,
|
|
8
|
-
chartId,
|
|
9
|
-
getKey,
|
|
10
|
-
xScale,
|
|
11
|
-
marginLeft,
|
|
12
|
-
resolution = "nearest",
|
|
13
|
-
boundaryRef
|
|
14
|
-
}) {
|
|
15
|
-
const store = useCursorStore();
|
|
16
|
-
const cursor = useCursorState();
|
|
17
|
-
const [anchor, setAnchor] = useState(null);
|
|
18
|
-
const [isTouch, setIsTouch] = useState(false);
|
|
19
|
-
const pinnedRef = useRef(false);
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
if (cursor.source !== chartId) pinnedRef.current = false;
|
|
22
|
-
}, [cursor.source, chartId]);
|
|
23
|
-
const getKeyRef = useRef(getKey);
|
|
24
|
-
getKeyRef.current = getKey;
|
|
25
|
-
const xScaleRef = useRef(xScale);
|
|
26
|
-
xScaleRef.current = xScale;
|
|
27
|
-
const index = useMemo(
|
|
28
|
-
() => buildDomainIndex(data, getKeyRef.current, resolution),
|
|
29
|
-
[data, resolution]
|
|
30
|
-
);
|
|
31
|
-
const kind = useMemo(() => classifyDomain(data.map((d) => getKeyRef.current(d))), [data]);
|
|
32
|
-
const frameRef = useRef(null);
|
|
33
|
-
const pendingRef = useRef(null);
|
|
34
|
-
const moveFrameRef = useRef(null);
|
|
35
|
-
const pendingMoveRef = useRef(
|
|
36
|
-
null
|
|
37
|
-
);
|
|
38
|
-
useEffect(
|
|
39
|
-
() => () => {
|
|
40
|
-
if (frameRef.current !== null) cancelAnimationFrame(frameRef.current);
|
|
41
|
-
if (moveFrameRef.current !== null) cancelAnimationFrame(moveFrameRef.current);
|
|
42
|
-
if (store.get().source === chartId) store.set(null, null, null);
|
|
43
|
-
},
|
|
44
|
-
[store, chartId]
|
|
45
|
-
);
|
|
46
|
-
const scheduleAnchor = useCallback((next) => {
|
|
47
|
-
pendingRef.current = next;
|
|
48
|
-
if (frameRef.current !== null) return;
|
|
49
|
-
frameRef.current = requestAnimationFrame(() => {
|
|
50
|
-
frameRef.current = null;
|
|
51
|
-
setAnchor(pendingRef.current);
|
|
52
|
-
});
|
|
53
|
-
}, []);
|
|
54
|
-
const touchPin = useTouchPin({
|
|
55
|
-
getCommitted: () => store.get(),
|
|
56
|
-
setCommitted: (v) => store.set(v.key, v.source, v.kind)
|
|
57
|
-
});
|
|
58
|
-
const resolveNearestAt = useCallback(
|
|
59
|
-
(px, anchor2, pointerType) => {
|
|
60
|
-
if (data.length === 0) return;
|
|
61
|
-
if (pointerType === "mouse" && pinnedRef.current && store.get().source === chartId) return;
|
|
62
|
-
let closest = data[0];
|
|
63
|
-
let minDist = Infinity;
|
|
64
|
-
for (const d of data) {
|
|
65
|
-
const x = xScaleRef.current(getKeyRef.current(d)) ?? 0;
|
|
66
|
-
const dist = Math.abs(x - px);
|
|
67
|
-
if (dist < minDist) {
|
|
68
|
-
minDist = dist;
|
|
69
|
-
closest = d;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
setIsTouch(pointerType !== "mouse");
|
|
73
|
-
scheduleAnchor(anchor2);
|
|
74
|
-
store.set(getKeyRef.current(closest), chartId, kind);
|
|
75
|
-
},
|
|
76
|
-
[data, chartId, store, scheduleAnchor, kind]
|
|
77
|
-
);
|
|
78
|
-
const localX = useCallback(
|
|
79
|
-
(event) => {
|
|
80
|
-
const local = localPoint(event.currentTarget, event.nativeEvent);
|
|
81
|
-
return local === null ? null : local.x - marginLeft;
|
|
82
|
-
},
|
|
83
|
-
[marginLeft]
|
|
84
|
-
);
|
|
85
|
-
const resolveImmediate = useCallback(
|
|
86
|
-
(event) => {
|
|
87
|
-
const px = localX(event);
|
|
88
|
-
if (px === null) return;
|
|
89
|
-
resolveNearestAt(px, { x: event.clientX, y: event.clientY }, event.pointerType);
|
|
90
|
-
},
|
|
91
|
-
[localX, resolveNearestAt]
|
|
92
|
-
);
|
|
93
|
-
const onPointerMove = useCallback(
|
|
94
|
-
(event) => {
|
|
95
|
-
const px = localX(event);
|
|
96
|
-
if (px === null) return;
|
|
97
|
-
pendingMoveRef.current = {
|
|
98
|
-
px,
|
|
99
|
-
anchor: { x: event.clientX, y: event.clientY },
|
|
100
|
-
pointerType: event.pointerType
|
|
101
|
-
};
|
|
102
|
-
if (moveFrameRef.current !== null) return;
|
|
103
|
-
moveFrameRef.current = requestAnimationFrame(() => {
|
|
104
|
-
moveFrameRef.current = null;
|
|
105
|
-
const pending = pendingMoveRef.current;
|
|
106
|
-
pendingMoveRef.current = null;
|
|
107
|
-
if (pending !== null) resolveNearestAt(pending.px, pending.anchor, pending.pointerType);
|
|
108
|
-
});
|
|
109
|
-
},
|
|
110
|
-
[localX, resolveNearestAt]
|
|
111
|
-
);
|
|
112
|
-
const onPointerDown = useCallback(
|
|
113
|
-
(event) => {
|
|
114
|
-
if (event.pointerType !== "mouse") touchPin.begin(event.pointerId);
|
|
115
|
-
resolveImmediate(event);
|
|
116
|
-
},
|
|
117
|
-
[resolveImmediate, touchPin]
|
|
118
|
-
);
|
|
119
|
-
const onPointerUp = useCallback(
|
|
120
|
-
(event) => {
|
|
121
|
-
if (event.pointerType === "mouse") return;
|
|
122
|
-
if (touchPin.commit(event.pointerId)) pinnedRef.current = true;
|
|
123
|
-
},
|
|
124
|
-
[touchPin]
|
|
125
|
-
);
|
|
126
|
-
const clear = useCallback(() => {
|
|
127
|
-
if (frameRef.current !== null) {
|
|
128
|
-
cancelAnimationFrame(frameRef.current);
|
|
129
|
-
frameRef.current = null;
|
|
130
|
-
}
|
|
131
|
-
if (moveFrameRef.current !== null) {
|
|
132
|
-
cancelAnimationFrame(moveFrameRef.current);
|
|
133
|
-
moveFrameRef.current = null;
|
|
134
|
-
}
|
|
135
|
-
pendingRef.current = null;
|
|
136
|
-
pendingMoveRef.current = null;
|
|
137
|
-
touchPin.reset();
|
|
138
|
-
pinnedRef.current = false;
|
|
139
|
-
setAnchor(null);
|
|
140
|
-
if (store.get().source === chartId) store.set(null, null, null);
|
|
141
|
-
}, [store, chartId, touchPin]);
|
|
142
|
-
const onPointerLeave = useCallback(
|
|
143
|
-
(event) => {
|
|
144
|
-
if (touchPin.cancel(event.pointerId)) return;
|
|
145
|
-
if (isTouch) return;
|
|
146
|
-
clear();
|
|
147
|
-
},
|
|
148
|
-
[isTouch, clear, touchPin]
|
|
149
|
-
);
|
|
150
|
-
const onKeyDown = useCallback(
|
|
151
|
-
(event) => {
|
|
152
|
-
if (data.length === 0) return;
|
|
153
|
-
if (event.key === "Escape") {
|
|
154
|
-
clear();
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
const delta = event.key === "ArrowRight" ? 1 : event.key === "ArrowLeft" ? -1 : 0;
|
|
158
|
-
if (delta === 0) return;
|
|
159
|
-
event.preventDefault();
|
|
160
|
-
const current = store.get().key;
|
|
161
|
-
const currentIndex = data.findIndex((d) => getKeyRef.current(d) === current);
|
|
162
|
-
const nextIndex = Math.min(
|
|
163
|
-
Math.max((currentIndex === -1 ? delta > 0 ? -1 : data.length : currentIndex) + delta, 0),
|
|
164
|
-
data.length - 1
|
|
165
|
-
);
|
|
166
|
-
const next = data[nextIndex];
|
|
167
|
-
const rect = event.currentTarget.getBoundingClientRect();
|
|
168
|
-
const x = xScaleRef.current(getKeyRef.current(next)) ?? 0;
|
|
169
|
-
scheduleAnchor({ x: rect.left + x, y: rect.top });
|
|
170
|
-
store.set(getKeyRef.current(next), chartId, kind);
|
|
171
|
-
},
|
|
172
|
-
[data, store, chartId, clear, scheduleAnchor, kind]
|
|
173
|
-
);
|
|
174
|
-
const point = cursor.key === null || cursor.kind !== kind ? null : resolveCursorPoint(index, cursor.key);
|
|
175
|
-
const isSource = cursor.source === chartId;
|
|
176
|
-
const isInsideBoundary = useCallback(
|
|
177
|
-
(target) => boundaryRef?.current?.contains(target) === true,
|
|
178
|
-
[boundaryRef]
|
|
179
|
-
);
|
|
180
|
-
useDismissOnOutside({
|
|
181
|
-
enabled: isTouch && isSource && boundaryRef !== void 0,
|
|
182
|
-
isInside: isInsideBoundary,
|
|
183
|
-
onDismiss: clear
|
|
184
|
-
});
|
|
185
|
-
return {
|
|
186
|
-
point,
|
|
187
|
-
isSource,
|
|
188
|
-
anchor,
|
|
189
|
-
isTouch,
|
|
190
|
-
onPointerMove,
|
|
191
|
-
onPointerDown,
|
|
192
|
-
onPointerUp,
|
|
193
|
-
onPointerLeave,
|
|
194
|
-
onKeyDown,
|
|
195
|
-
onBlur: clear
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
export {
|
|
199
|
-
useChartCursor
|
|
200
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export type ChartSize = {
|
|
2
|
-
width: number;
|
|
3
|
-
height: number;
|
|
4
|
-
};
|
|
5
|
-
export type UseChartSizeResult = ChartSize & {
|
|
6
|
-
/** Attach to the container element to measure its dimensions. */
|
|
7
|
-
ref: (node: HTMLDivElement | null) => void;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Measures the width and height of a container element via a ResizeObserver.
|
|
11
|
-
* A thin basalt wrapper over `@visx/responsive`'s `useParentSize` — keeps the
|
|
12
|
-
* `@visx/*` import inside `src/charts/**` per the Mantine-free boundary rule.
|
|
13
|
-
*
|
|
14
|
-
* Charts do not call this directly — `ChartFrame` (and `CartesianChart` above it) measure for
|
|
15
|
-
* them, including the legend band. Reach for it when something OUTSIDE the chart system needs a
|
|
16
|
-
* measured box, e.g. sizing a sparkline to its table cell.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* function CellSparkline({ points }: { points: number[] }) {
|
|
20
|
-
* const { ref, width } = useChartSize()
|
|
21
|
-
* return (
|
|
22
|
-
* <div ref={ref} style={{ width: '100%', height: 24 }}>
|
|
23
|
-
* {width > 0 && <LineSparkline data={points} width={width} height={24} />}
|
|
24
|
-
* </div>
|
|
25
|
-
* )
|
|
26
|
-
* }
|
|
27
|
-
*/
|
|
28
|
-
export declare function useChartSize(debounceMs?: number): UseChartSizeResult;
|
|
29
|
-
//# sourceMappingURL=useChartSize.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useChartSize.d.ts","sourceRoot":"","sources":["../../../src/charts/hooks/useChartSize.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG;IAC3C,iEAAiE;IACjE,GAAG,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,UAAU,SAAI,GAAG,kBAAkB,CAG/D"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import type { BasaltProps } from '../../common/props.js';
|
|
2
|
-
import type { ChartMargin } from '../../tokens/index.js';
|
|
3
|
-
import type { CursorResolution } from '../cursor/resolve.js';
|
|
4
|
-
import type { BandFold, BandTooltipConfig } from '../hooks/useBandPlot.js';
|
|
5
|
-
import type { ResponsiveChartHeight } from '../primitives/ChartFrame.js';
|
|
6
|
-
import type { ChartState } from '../primitives/ChartPending.js';
|
|
7
|
-
import type { ChartLegendConfig, SeriesStyle } from '../series.js';
|
|
8
|
-
/**
|
|
9
|
-
* A state a strip can draw. Extends `SeriesStyle` rather than `ChartSeries` because a band has no
|
|
10
|
-
* numeric value to plot — `formatValue` reads the datum directly.
|
|
11
|
-
*/
|
|
12
|
-
export type BandStripSeries<T> = SeriesStyle & {
|
|
13
|
-
/**
|
|
14
|
-
* The derived tooltip row's value for a band in this state.
|
|
15
|
-
*
|
|
16
|
-
* Return `null` for a datum in this state whose reading is ABSENT — the row renders
|
|
17
|
-
* {@link NO_READING} instead, which is the escape `ChartSeries.getValue` has and this shape did
|
|
18
|
-
* not: with no value accessor, an absent reading had to come back as `''` and render as a label
|
|
19
|
-
* with an empty value, indistinguishable from a state whose name is the whole reading.
|
|
20
|
-
*
|
|
21
|
-
* Omit the function entirely for a state whose NAME *is* the whole reading ("Not measured").
|
|
22
|
-
*/
|
|
23
|
-
formatValue?: (d: T) => string | null;
|
|
24
|
-
};
|
|
25
|
-
/** One drawn band — which state it is in, and the three ways a state can be qualified. */
|
|
26
|
-
export type BandSpan = {
|
|
27
|
-
/**
|
|
28
|
-
* Series key naming this band's state: the tie to its legend entry, its fill, and its derived
|
|
29
|
-
* tooltip row.
|
|
30
|
-
*
|
|
31
|
-
* A key not present in `series` is a bug TypeScript cannot catch (this is a `string`), and it
|
|
32
|
-
* used to draw NOTHING — which on a strip whose vocabulary is measured/not-measured is
|
|
33
|
-
* indistinguishable from a real coverage gap, so a typo silently asserted "not measured". It now
|
|
34
|
-
* throws in development and draws an explicit unknown band in production; see
|
|
35
|
-
* {@link unknownStateError} for why the two differ.
|
|
36
|
-
*/
|
|
37
|
-
state: string;
|
|
38
|
-
/**
|
|
39
|
-
* Overrides the fill derived from the state's series entry — the seam for an intensity ramp
|
|
40
|
-
* WITHIN one state (5% loss vs 0.5% loss are the same state at different strengths). Build it
|
|
41
|
-
* with `alpha(VX.*, …)`, never a raw hex.
|
|
42
|
-
*/
|
|
43
|
-
fill?: string;
|
|
44
|
-
/**
|
|
45
|
-
* 0..1 of this band's width that no source sample covers, drawn hatched from the band's right.
|
|
46
|
-
*
|
|
47
|
-
* This is what a fold owes the reader. A 1-of-3-measured slot whose merge reports the one
|
|
48
|
-
* measured member's reading paints, without this, as a fully-measured band — a reading asserted
|
|
49
|
-
* over two slots that reported nothing either way.
|
|
50
|
-
*/
|
|
51
|
-
absentFraction?: number;
|
|
52
|
-
/**
|
|
53
|
-
* A shorter, inset bar drawn over the band — for a fact that must NOT be readable off the fill
|
|
54
|
-
* ramp (a renegotiation, a restart, a config change). Its colour comes from a `series` entry, so
|
|
55
|
-
* it cannot be drawn in a hue the legend does not name.
|
|
56
|
-
*/
|
|
57
|
-
marker?: {
|
|
58
|
-
/** Series key naming the marker's colour. Defaults to the band's own `state`. */
|
|
59
|
-
state?: string;
|
|
60
|
-
/** Vertical inset from the band's top and bottom, in px. Default 6. */
|
|
61
|
-
inset?: number;
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
export type BandStripProps<T> = BasaltProps & {
|
|
65
|
-
data: readonly T[];
|
|
66
|
-
/** Stable id — identifies this chart as the cursor's source. */
|
|
67
|
-
chartId: string;
|
|
68
|
-
/** Extracts the x-domain key. On a band strip this is a SLOT START, so `cursorResolution`
|
|
69
|
-
* defaults to `'leading'` (see below) rather than `CartesianChart`'s `'nearest'`. */
|
|
70
|
-
getX: (d: T) => string;
|
|
71
|
-
/** The states this strip can draw — the single source of truth for legend entries, band fills,
|
|
72
|
-
* and the derived tooltip row. */
|
|
73
|
-
series: readonly BandStripSeries<T>[];
|
|
74
|
-
/** Which state each datum is in. */
|
|
75
|
-
getBand: (d: T) => BandSpan;
|
|
76
|
-
/** Height in px, or one per size step (`{ base, sm?, md?, lg? }`), forwarded to `ChartFrame`.
|
|
77
|
-
* The band row gets whatever the measured margins and legend band leave. Default 240.
|
|
78
|
-
* `ChartFrameProps.height` owns the law — steps resolve off the MEASURED width. */
|
|
79
|
-
height?: number | ResponsiveChartHeight;
|
|
80
|
-
/** Fill the parent flex/grid cell's measured height instead of a fixed one. */
|
|
81
|
-
fill?: boolean;
|
|
82
|
-
/** X tick label formatter. Default `fmtAxisDate` (DD.MM). */
|
|
83
|
-
formatX?: (key: string) => string;
|
|
84
|
-
/** Which keys get a tick. Default `smartTicks`. */
|
|
85
|
-
xTickValues?: (keys: readonly string[], plotWidth: number) => readonly string[];
|
|
86
|
-
/** Collapse adjacent data at widths where one band per datum sub-pixels. */
|
|
87
|
-
fold?: BandFold<T>;
|
|
88
|
-
/**
|
|
89
|
-
* How a sibling's broadcast cursor key resolves against this strip's slots. Default
|
|
90
|
-
* `'leading'` — strict containment, "the slot that swallowed this key" — because a band IS a
|
|
91
|
-
* span keyed by its leading edge, and it stays correct at every fold width. `'nearest'` puts
|
|
92
|
-
* the crosshair one slot right for every source key in the back half of a slot.
|
|
93
|
-
*/
|
|
94
|
-
cursorResolution?: CursorResolution;
|
|
95
|
-
tooltip?: BandTooltipConfig<T> | false;
|
|
96
|
-
legend?: ChartLegendConfig | false;
|
|
97
|
-
/** Colour of the absence hatch, AND the state that is absent. Names a `series` entry, so absence
|
|
98
|
-
* is legended like any other state — a hatched band is the one mark a reader cannot decode from
|
|
99
|
-
* an axis. A slot in this state hatches across its whole width unless its own `absentFraction`
|
|
100
|
-
* says otherwise; a slot in any other state hatches only its `absentFraction`. Default
|
|
101
|
-
* `VX.neutral`, unnamed. A key naming no `series` entry throws (a PROP, so a typo can only be a
|
|
102
|
-
* wiring error) rather than falling back to the unnamed default. */
|
|
103
|
-
absentState?: string;
|
|
104
|
-
/** Per-side overrides of the measured margins — applied last. */
|
|
105
|
-
margin?: Partial<ChartMargin>;
|
|
106
|
-
/** Accessible text alternative, forwarded to `ChartFrame` (+ `role="group"`) and to the
|
|
107
|
-
* focusable hover overlay's slider label. */
|
|
108
|
-
ariaLabel?: string;
|
|
109
|
-
/** Forwarded to `ChartFrame` — see `ChartPending`'s JSDoc. */
|
|
110
|
-
isPending?: boolean;
|
|
111
|
-
/** The three "nothing to draw" states in one prop — pending → error → empty. See
|
|
112
|
-
* `ChartState`; `isPending` stays a supported alias for `state={{ pending: true }}`. */
|
|
113
|
-
state?: ChartState;
|
|
114
|
-
};
|
|
115
|
-
/**
|
|
116
|
-
* A 1-D categorical band strip: one rect per slot over a shared x axis, no y dimension at all.
|
|
117
|
-
*
|
|
118
|
-
* `CartesianChart` cannot host this. It renders `AxisLeftNumeric` unconditionally, so composing it
|
|
119
|
-
* would draw a numeric axis over a chart that measures nothing vertically — and its `scalePoint` x
|
|
120
|
-
* scale has positions but no widths, which is the whole content of a strip. This is the
|
|
121
|
-
* non-single-plot escape `docs/CHARTS-SPEC.md` § "The contract" describes, assembled from the same
|
|
122
|
-
* parts every other chart gets (`ChartFrame`, `autoMargin`, `useChartCursor`, `ChartTooltipFloat`)
|
|
123
|
-
* via `useBandPlot`, never re-implemented.
|
|
124
|
-
*
|
|
125
|
-
* The three qualifications on {@link BandSpan} — `fill`, `absentFraction`, `marker` — are the ones
|
|
126
|
-
* a state strip cannot do without: an intensity ramp inside a state, the share of a folded slot
|
|
127
|
-
* nothing measured, and a fact that must not be read off the ramp.
|
|
128
|
-
*/
|
|
129
|
-
declare function BandStripInner<T>(props: BandStripProps<T>): import("react").JSX.Element;
|
|
130
|
-
export declare const BandStrip: typeof BandStripInner;
|
|
131
|
-
export {};
|
|
132
|
-
//# sourceMappingURL=BandStrip.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BandStrip.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/BandStrip.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAIrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAI/D;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,WAAW,GAAG;IAC7C;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;CACtC,CAAA;AAED,0FAA0F;AAC1F,MAAM,MAAM,QAAQ,GAAG;IACrB;;;;;;;;;OASG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QACP,iFAAiF;QACjF,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,uEAAuE;QACvE,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,WAAW,GAAG;IAC5C,IAAI,EAAE,SAAS,CAAC,EAAE,CAAA;IAClB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAA;IACf;yFACqF;IACrF,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;sCACkC;IAClC,MAAM,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACrC,oCAAoC;IACpC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAA;IAC3B;;uFAEmF;IACnF,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;IACvC,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IACjC,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAA;IAC/E,4EAA4E;IAC5E,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IACtC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC;;;;;wEAKoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC7B;iDAC6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;4FACwF;IACxF,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB,CAAA;AA2CD;;;;;;;;;;;;;GAaG;AACH,iBAAS,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,+BAwBlD;AA+OD,eAAO,MAAM,SAAS,EAAoB,OAAO,cAAc,CAAA"}
|