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,122 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* overlays-mount — composable overlay mount for basalt-ui apps.
|
|
3
|
-
*
|
|
4
|
-
* `BasaltOverlays` bundles ModalsProvider, Spotlight, and Notifications into a single mount point.
|
|
5
|
-
* Put it inside BasaltProvider, before the router. It is the ONLY notifications mount — the
|
|
6
|
-
* standalone `basalt-ui/notifications` overlay it superseded is gone (C1 consolidation); mounting
|
|
7
|
-
* a second, hand-rolled `<Notifications />` alongside `<BasaltOverlays notifications />` still
|
|
8
|
-
* double-mounts the overlay and is still wrong for the same reason.
|
|
9
|
-
*
|
|
10
|
-
* Every layer — ModalsProvider included — mounts as a SIBLING of `children`, never as a wrapper:
|
|
11
|
-
* see the comment in the component body (R1). `@mantine/modals`' imperative API (`modals.open*`,
|
|
12
|
-
* and so basalt's own `overlays.open`) is a window CustomEvent bus that ModalsProvider subscribes
|
|
13
|
-
* to, so nothing needs to be inside it; the one thing a sibling cannot serve is Mantine's
|
|
14
|
-
* `useModals()` context hook.
|
|
15
|
-
*
|
|
16
|
-
* Each overlay system is opt-in via props (all default to true). Use flags to disable layers the
|
|
17
|
-
* app does not need — e.g. a charts-only app that has no commands can set `spotlight={false}`.
|
|
18
|
-
* A disabled layer's optional peer is NEVER imported — each layer is lazy-loaded (React.lazy +
|
|
19
|
-
* dynamic import()) only when its flag is true, and degrades to a no-op fallback instead of
|
|
20
|
-
* crashing when the peer is absent.
|
|
21
|
-
*
|
|
22
|
-
* Optional peers required (only when the corresponding layer is enabled):
|
|
23
|
-
* @mantine/modals ^9.3.0 (for modals)
|
|
24
|
-
* @mantine/spotlight ^9.3.0 (for spotlight)
|
|
25
|
-
* @mantine/notifications ^9.3.0 (for notifications)
|
|
26
|
-
* @tanstack/react-hotkeys ^0.10.0 (optional — keybindings degrade to no-op when absent)
|
|
27
|
-
*
|
|
28
|
-
* Spotlight live store: BasaltOverlays uses a basalt-owned createSpotlight() store so the
|
|
29
|
-
* spotlight instance is separate from Mantine's default global. The store is created lazily (on
|
|
30
|
-
* first use, whether from mounting the spotlight layer or from calling openSpotlight()/
|
|
31
|
-
* closeSpotlight()) so @mantine/spotlight is never imported until actually needed. Import
|
|
32
|
-
* `basaltSpotlight` and call `basaltSpotlight.open()` / `basaltSpotlight.close()` from consumer
|
|
33
|
-
* code. The re-exported `openSpotlight` / `closeSpotlight` helpers delegate to this store.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* // main.tsx — mount <BasaltOverlays>. Use the layered bundle — the unlayered one outranks
|
|
37
|
-
* // basalt's `@layer basalt` styles regardless of specificity:
|
|
38
|
-
* import { BasaltOverlays } from 'basalt-ui/commands'
|
|
39
|
-
* import '@mantine/spotlight/styles.layer.css'
|
|
40
|
-
*
|
|
41
|
-
* createRoot(root).render(
|
|
42
|
-
* <BasaltProvider>
|
|
43
|
-
* <BasaltOverlays>
|
|
44
|
-
* <App />
|
|
45
|
-
* </BasaltOverlays>
|
|
46
|
-
* </BasaltProvider>
|
|
47
|
-
* )
|
|
48
|
-
*
|
|
49
|
-
* // Disable spotlight for apps without commands — @mantine/spotlight is then never imported:
|
|
50
|
-
* <BasaltOverlays spotlight={false}>
|
|
51
|
-
* <App />
|
|
52
|
-
* </BasaltOverlays>
|
|
53
|
-
*
|
|
54
|
-
* // Open/close programmatically:
|
|
55
|
-
* import { openSpotlight, closeSpotlight } from 'basalt-ui/commands'
|
|
56
|
-
* openSpotlight()
|
|
57
|
-
*/
|
|
58
|
-
import type { ReactNode } from 'react';
|
|
59
|
-
import type { NotificationsProps } from '@mantine/notifications';
|
|
60
|
-
import type { SpotlightActionData } from '@mantine/spotlight';
|
|
61
|
-
/**
|
|
62
|
-
* Basalt-owned Spotlight actions (open/close/toggle), backed by a lazily-created
|
|
63
|
-
* createSpotlight() store so @mantine/spotlight is only imported on first use.
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* import { basaltSpotlight } from 'basalt-ui/commands'
|
|
67
|
-
* basaltSpotlight.open()
|
|
68
|
-
*/
|
|
69
|
-
export declare const basaltSpotlight: {
|
|
70
|
-
open: () => void;
|
|
71
|
-
close: () => void;
|
|
72
|
-
toggle: () => void;
|
|
73
|
-
};
|
|
74
|
-
/** Open the basalt Spotlight palette programmatically. */
|
|
75
|
-
export declare function openSpotlight(): void;
|
|
76
|
-
/** Close the basalt Spotlight palette programmatically. */
|
|
77
|
-
export declare function closeSpotlight(): void;
|
|
78
|
-
export type BasaltOverlaysProps = {
|
|
79
|
-
/** Mount @mantine/modals ModalsProvider. Default: true. */
|
|
80
|
-
modals?: boolean;
|
|
81
|
-
/** Mount @mantine/spotlight Spotlight with mod+K shortcut. Default: true. */
|
|
82
|
-
spotlight?: boolean;
|
|
83
|
-
/** Mount @mantine/notifications Notifications overlay. Default: true. */
|
|
84
|
-
notifications?: boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Activate @tanstack/react-hotkeys keybindings for all registered commands. Default: true.
|
|
87
|
-
* Degrades to no-op when @tanstack/react-hotkeys peer is absent — safe to leave enabled.
|
|
88
|
-
*/
|
|
89
|
-
hotkeys?: boolean;
|
|
90
|
-
/** Override or extend the Notifications props (position, autoClose, limit, etc.). Defaults: position="bottom-right", autoClose=4000, limit=5. */
|
|
91
|
-
notificationsProps?: Omit<NotificationsProps, 'children'>;
|
|
92
|
-
/**
|
|
93
|
-
* Extra Spotlight actions merged with the command-projected actions — e.g.
|
|
94
|
-
* toRouteActions(nav, { onNavigate }) for page navigation. Rendered BEFORE the command actions
|
|
95
|
-
* and grouped by each action's `group`. A static snapshot, same as the command projection.
|
|
96
|
-
*/
|
|
97
|
-
spotlightActions?: SpotlightActionData[];
|
|
98
|
-
/**
|
|
99
|
-
* Auto-project the registered command bus into Spotlight actions. Default: true. Set false when
|
|
100
|
-
* the app supplies the FULL action list itself via `spotlightActions` (e.g. to decorate commands
|
|
101
|
-
* with kind badges built from `toSpotlightActions()`) — this avoids the commands appearing twice.
|
|
102
|
-
*/
|
|
103
|
-
projectCommands?: boolean;
|
|
104
|
-
/** App content (required). */
|
|
105
|
-
children: ReactNode;
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* Composable overlay mount — renders ModalsProvider, Spotlight and Notifications as siblings of
|
|
109
|
-
* `children`. All three layers are enabled by default; pass `false` to disable. A disabled layer's
|
|
110
|
-
* optional peer is never imported.
|
|
111
|
-
*
|
|
112
|
-
* Mount exactly ONE BasaltOverlays per app — a second instance double-mounts `<Notifications />`.
|
|
113
|
-
*
|
|
114
|
-
* @example
|
|
115
|
-
* <BasaltProvider>
|
|
116
|
-
* <BasaltOverlays>
|
|
117
|
-
* <RouterProvider router={router} />
|
|
118
|
-
* </BasaltOverlays>
|
|
119
|
-
* </BasaltProvider>
|
|
120
|
-
*/
|
|
121
|
-
export declare function BasaltOverlays({ modals: enableModals, spotlight: enableSpotlight, notifications: enableNotifications, hotkeys: enableHotkeys, notificationsProps, spotlightActions, projectCommands, children, }: BasaltOverlaysProps): import("react").JSX.Element;
|
|
122
|
-
//# sourceMappingURL=overlays-mount.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overlays-mount.d.ts","sourceRoot":"","sources":["../../src/commands/overlays-mount.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAmC7D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;gBAChB,IAAI;iBAGH,IAAI;kBAGH,IAAI;CAGjB,CAAA;AAID,0DAA0D;AAC1D,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAID,MAAM,MAAM,mBAAmB,GAAG;IAChC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iJAAiJ;IACjJ,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;IACzD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,8BAA8B;IAC9B,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAqHD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EAAE,YAAmB,EAC3B,SAAS,EAAE,eAAsB,EACjC,aAAa,EAAE,mBAA0B,EACzC,OAAO,EAAE,aAAoB,EAC7B,kBAAkB,EAClB,gBAAgB,EAChB,eAAsB,EACtB,QAAQ,GACT,EAAE,mBAAmB,+BAkCrB"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { lazy, Suspense } from "react";
|
|
3
|
-
import { runCommand } from "./define-commands.js";
|
|
4
|
-
import { useModalsLayer } from "./define-overlays.js";
|
|
5
|
-
import { toSpotlightActions } from "./projectors.js";
|
|
6
|
-
import { useCommandHotkeys } from "./useCommandHotkeys.js";
|
|
7
|
-
import { useNotificationsMountGuard } from "../notifications/mount-guard.js";
|
|
8
|
-
let spotlightHandlePromise;
|
|
9
|
-
function loadSpotlightHandle() {
|
|
10
|
-
spotlightHandlePromise ??= import("@mantine/spotlight").then(({ createSpotlight }) => {
|
|
11
|
-
const [store, actions] = createSpotlight();
|
|
12
|
-
return { store, actions };
|
|
13
|
-
}).catch(() => void 0);
|
|
14
|
-
return spotlightHandlePromise;
|
|
15
|
-
}
|
|
16
|
-
const basaltSpotlight = {
|
|
17
|
-
open: () => {
|
|
18
|
-
void loadSpotlightHandle().then((handle) => handle?.actions.open());
|
|
19
|
-
},
|
|
20
|
-
close: () => {
|
|
21
|
-
void loadSpotlightHandle().then((handle) => handle?.actions.close());
|
|
22
|
-
},
|
|
23
|
-
toggle: () => {
|
|
24
|
-
void loadSpotlightHandle().then((handle) => handle?.actions.toggle());
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
function openSpotlight() {
|
|
28
|
-
basaltSpotlight.open();
|
|
29
|
-
}
|
|
30
|
-
function closeSpotlight() {
|
|
31
|
-
basaltSpotlight.close();
|
|
32
|
-
}
|
|
33
|
-
function PassthroughFragment({ children }) {
|
|
34
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
35
|
-
}
|
|
36
|
-
const LazyModalsProvider = lazy(
|
|
37
|
-
() => import("@mantine/modals").then((m) => ({ default: m.ModalsProvider })).catch(() => ({ default: PassthroughFragment }))
|
|
38
|
-
);
|
|
39
|
-
Object.assign(LazyModalsProvider, { displayName: "LazyModalsProvider" });
|
|
40
|
-
function NullFallback() {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
const LazySpotlightMount = lazy(
|
|
44
|
-
() => Promise.all([import("@mantine/spotlight"), loadSpotlightHandle()]).then(([{ Spotlight }, handle]) => {
|
|
45
|
-
if (handle === void 0) return { default: NullFallback };
|
|
46
|
-
const spotlightHandle = handle;
|
|
47
|
-
function SpotlightMountInner({
|
|
48
|
-
extraActions,
|
|
49
|
-
projectCommands = true
|
|
50
|
-
}) {
|
|
51
|
-
const commandActions = projectCommands ? toSpotlightActions((id) => {
|
|
52
|
-
spotlightHandle.actions.close();
|
|
53
|
-
void runCommand(id);
|
|
54
|
-
}) : [];
|
|
55
|
-
const actions = [...extraActions ?? [], ...commandActions];
|
|
56
|
-
return /* @__PURE__ */ jsx(
|
|
57
|
-
Spotlight,
|
|
58
|
-
{
|
|
59
|
-
store: spotlightHandle.store,
|
|
60
|
-
actions,
|
|
61
|
-
shortcut: "mod + K",
|
|
62
|
-
maxHeight: 420
|
|
63
|
-
}
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
return { default: SpotlightMountInner };
|
|
67
|
-
}).catch(() => ({ default: NullFallback }))
|
|
68
|
-
);
|
|
69
|
-
Object.assign(LazySpotlightMount, { displayName: "LazySpotlightMount" });
|
|
70
|
-
function NotificationsFallback(_props) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
const LazyNotifications = lazy(
|
|
74
|
-
() => import("@mantine/notifications").then((m) => ({ default: m.Notifications })).catch(() => ({ default: NotificationsFallback }))
|
|
75
|
-
);
|
|
76
|
-
Object.assign(LazyNotifications, { displayName: "LazyNotifications" });
|
|
77
|
-
function NotificationsLayer({
|
|
78
|
-
notificationsProps
|
|
79
|
-
}) {
|
|
80
|
-
useNotificationsMountGuard();
|
|
81
|
-
return /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
|
|
82
|
-
LazyNotifications,
|
|
83
|
-
{
|
|
84
|
-
position: "bottom-right",
|
|
85
|
-
autoClose: 4e3,
|
|
86
|
-
limit: 5,
|
|
87
|
-
...notificationsProps
|
|
88
|
-
}
|
|
89
|
-
) });
|
|
90
|
-
}
|
|
91
|
-
function HotkeysMount() {
|
|
92
|
-
useCommandHotkeys();
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
function BasaltOverlays({
|
|
96
|
-
modals: enableModals = true,
|
|
97
|
-
spotlight: enableSpotlight = true,
|
|
98
|
-
notifications: enableNotifications = true,
|
|
99
|
-
hotkeys: enableHotkeys = true,
|
|
100
|
-
notificationsProps,
|
|
101
|
-
spotlightActions,
|
|
102
|
-
projectCommands = true,
|
|
103
|
-
children
|
|
104
|
-
}) {
|
|
105
|
-
useModalsLayer(enableModals);
|
|
106
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
107
|
-
enableSpotlight && /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
|
|
108
|
-
LazySpotlightMount,
|
|
109
|
-
{
|
|
110
|
-
projectCommands,
|
|
111
|
-
...spotlightActions !== void 0 && { extraActions: spotlightActions }
|
|
112
|
-
}
|
|
113
|
-
) }),
|
|
114
|
-
enableNotifications && /* @__PURE__ */ jsx(NotificationsLayer, { notificationsProps }),
|
|
115
|
-
enableHotkeys && /* @__PURE__ */ jsx(HotkeysMount, {}),
|
|
116
|
-
enableModals && /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(LazyModalsProvider, {}) }),
|
|
117
|
-
children
|
|
118
|
-
] });
|
|
119
|
-
}
|
|
120
|
-
export {
|
|
121
|
-
BasaltOverlays,
|
|
122
|
-
basaltSpotlight,
|
|
123
|
-
closeSpotlight,
|
|
124
|
-
openSpotlight
|
|
125
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reads the active command registry and binds each command's `shortcut` to its `run()` via
|
|
3
|
-
* the @tanstack/react-hotkeys HotkeyManager singleton. Degrades to a no-op when the optional
|
|
4
|
-
* peer is absent.
|
|
5
|
-
*
|
|
6
|
-
* Registers on mount, unregisters on unmount. Re-runs whenever the effect deps change.
|
|
7
|
-
* Commands without a shortcut are skipped. Commands where `when()` returns false at press time
|
|
8
|
-
* are silently skipped (the binding stays registered; the when-gate fires in the callback).
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* useCommandHotkeys()
|
|
12
|
-
*/
|
|
13
|
-
export declare function useCommandHotkeys(): void;
|
|
14
|
-
//# sourceMappingURL=useCommandHotkeys.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCommandHotkeys.d.ts","sourceRoot":"","sources":["../../src/commands/useCommandHotkeys.ts"],"names":[],"mappings":"AAqDA;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAgDxC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { useEffect } from "react";
|
|
2
|
-
import { getActiveCommands } from "./define-commands.js";
|
|
3
|
-
function useCommandHotkeys() {
|
|
4
|
-
useEffect(() => {
|
|
5
|
-
let handles = [];
|
|
6
|
-
let cancelled = false;
|
|
7
|
-
const bind = async () => {
|
|
8
|
-
let peer;
|
|
9
|
-
try {
|
|
10
|
-
peer = await import("@tanstack/react-hotkeys");
|
|
11
|
-
} catch {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (cancelled) return;
|
|
15
|
-
if (typeof peer.getHotkeyManager !== "function") return;
|
|
16
|
-
const manager = peer.getHotkeyManager();
|
|
17
|
-
const cmds = getActiveCommands();
|
|
18
|
-
for (const [, cmd] of Object.entries(cmds)) {
|
|
19
|
-
if (cmd.shortcut === void 0) continue;
|
|
20
|
-
const handle = manager.register(
|
|
21
|
-
cmd.shortcut,
|
|
22
|
-
(event) => {
|
|
23
|
-
if (cmd.when !== void 0 && !cmd.when()) return;
|
|
24
|
-
event.preventDefault();
|
|
25
|
-
void cmd.run();
|
|
26
|
-
},
|
|
27
|
-
// preventDefault: false — we handle it manually above, gated on when()
|
|
28
|
-
{ preventDefault: false }
|
|
29
|
-
);
|
|
30
|
-
handles.push(handle);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
void bind();
|
|
34
|
-
return () => {
|
|
35
|
-
cancelled = true;
|
|
36
|
-
for (const handle of handles) {
|
|
37
|
-
handle.unregister();
|
|
38
|
-
}
|
|
39
|
-
handles = [];
|
|
40
|
-
};
|
|
41
|
-
}, []);
|
|
42
|
-
}
|
|
43
|
-
export {
|
|
44
|
-
useCommandHotkeys
|
|
45
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* toArticleActions — projects an article list into Mantine Spotlight actions
|
|
3
|
-
* (docs/CONTENT-SPEC.md). A pure in-memory PROJECTOR into the already-shipped Spotlight surface —
|
|
4
|
-
* the same tier as `toRouteActions` (`basalt-ui/commands`). It does not tokenize, rank, index, or
|
|
5
|
-
* persist; an app that outgrows substring matching brings its own index.
|
|
6
|
-
*
|
|
7
|
-
* `SpotlightActionData` is imported TYPE-ONLY — it erases at build, so `./content` stays a types-
|
|
8
|
-
* only optional peer of `@mantine/spotlight` and adds no runtime edge. The consumer merges the
|
|
9
|
-
* result into its own `<Spotlight>`/`toSpotlightActions()` action array.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* const articleActions = toArticleActions(ARTICLES, {
|
|
13
|
-
* onNavigate: (href) => router.navigate({ to: href as never }),
|
|
14
|
-
* href: (article) => (article.slug === 'reading-dashboards' ? '/content' : '#'),
|
|
15
|
-
* group: 'Guides',
|
|
16
|
-
* })
|
|
17
|
-
*/
|
|
18
|
-
import type { SpotlightActionData } from '@mantine/spotlight';
|
|
19
|
-
import type { ReactNode } from 'react';
|
|
20
|
-
import type { Article } from './article-model.js';
|
|
21
|
-
export type ToArticleActionsOptions = {
|
|
22
|
-
/** Navigate to an article's href — e.g. `(href) => router.navigate({ to: href })`. */
|
|
23
|
-
onNavigate: (href: string) => void;
|
|
24
|
-
/** Consumer owns routing — maps an article to its destination href. */
|
|
25
|
-
href: (article: Article) => string;
|
|
26
|
-
/** Prefix for generated action ids so they never collide with route/command ids. Default 'article:'. */
|
|
27
|
-
idPrefix?: string;
|
|
28
|
-
/** Spotlight group for every produced action (e.g. 'Guides'). Omit for an ungrouped, flat list. */
|
|
29
|
-
group?: string;
|
|
30
|
-
/** Node rendered on the right of every action — e.g. a kind badge (`<Badge>Guide</Badge>`). */
|
|
31
|
-
rightSection?: ReactNode;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Project an article list into Mantine Spotlight actions. `keywords` joins title, description,
|
|
35
|
-
* category, tags, and slug — this is why tags/category live on the model, they make an article
|
|
36
|
-
* findable by topic even when the title itself doesn't mention it.
|
|
37
|
-
*/
|
|
38
|
-
export declare function toArticleActions(articles: readonly Article[], options: ToArticleActionsOptions): SpotlightActionData[];
|
|
39
|
-
//# sourceMappingURL=article-actions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"article-actions.d.ts","sourceRoot":"","sources":["../../src/content/article-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,MAAM,uBAAuB,GAAG;IACpC,sFAAsF;IACtF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,uEAAuE;IACvE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAA;IAClC,wGAAwG;IACxG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+FAA+F;IAC/F,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,uBAAuB,GAC/B,mBAAmB,EAAE,CA6BvB"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
function toArticleActions(articles, options) {
|
|
2
|
-
const { onNavigate, href, idPrefix = "article:", group, rightSection } = options;
|
|
3
|
-
const actions = [];
|
|
4
|
-
for (const article of articles) {
|
|
5
|
-
const target = href(article);
|
|
6
|
-
const keywords = [
|
|
7
|
-
article.title,
|
|
8
|
-
article.description,
|
|
9
|
-
article.category,
|
|
10
|
-
...article.tags ?? [],
|
|
11
|
-
article.slug
|
|
12
|
-
].filter((part) => part !== void 0).join(" ");
|
|
13
|
-
const action = {
|
|
14
|
-
id: `${idPrefix}${target}`,
|
|
15
|
-
label: article.title,
|
|
16
|
-
keywords,
|
|
17
|
-
onClick: () => onNavigate(target)
|
|
18
|
-
};
|
|
19
|
-
if (article.description !== void 0) action.description = article.description;
|
|
20
|
-
if (group !== void 0) action.group = group;
|
|
21
|
-
if (rightSection !== void 0) action.rightSection = rightSection;
|
|
22
|
-
actions.push(action);
|
|
23
|
-
}
|
|
24
|
-
return actions;
|
|
25
|
-
}
|
|
26
|
-
export {
|
|
27
|
-
toArticleActions
|
|
28
|
-
};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ArticleCard / ArticleGrid — the docs-landing overview building blocks (docs/CONTENT-SPEC.md
|
|
3
|
-
* §3/§7): an icon/title/description/meta card over the shipped `Card` chrome, and the responsive
|
|
4
|
-
* grid that lays a set of them out.
|
|
5
|
-
*
|
|
6
|
-
* `ArticleCard` is clickable three ways — pick whichever fits: `href` alone renders the `Card`
|
|
7
|
-
* itself as an anchor; `href` + `renderLink` hands the card to a router bridge (e.g. TanStack
|
|
8
|
-
* `Link`); `onClick` alone renders a keyboard-operable button-role card. Omit all three for a
|
|
9
|
-
* static, non-interactive card.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* import { ArticleCard, ArticleGrid } from 'basalt-ui/content'
|
|
13
|
-
* import { Link } from '@tanstack/react-router'
|
|
14
|
-
*
|
|
15
|
-
* <ArticleGrid>
|
|
16
|
-
* <ArticleCard
|
|
17
|
-
* title="Reading dashboards"
|
|
18
|
-
* description="Why most internal dashboards fail the five-second glance test."
|
|
19
|
-
* date="2026-07-16"
|
|
20
|
-
* readingTime={6}
|
|
21
|
-
* category="guide"
|
|
22
|
-
* tags={['dashboards', 'ux']}
|
|
23
|
-
* href="/content"
|
|
24
|
-
* renderLink={(target, node) => <Link to={target.href}>{node}</Link>}
|
|
25
|
-
* />
|
|
26
|
-
* </ArticleGrid>
|
|
27
|
-
*/
|
|
28
|
-
import type { CSSProperties, ReactNode } from 'react';
|
|
29
|
-
import type { ArticleNavTarget } from './article-layout.js';
|
|
30
|
-
export type ArticleCardProps = {
|
|
31
|
-
readonly title: string;
|
|
32
|
-
readonly description?: string;
|
|
33
|
-
readonly icon?: ReactNode;
|
|
34
|
-
/** ISO 8601 — rendered via `formatArticleDate`. */
|
|
35
|
-
readonly date?: string;
|
|
36
|
-
readonly category?: string;
|
|
37
|
-
readonly tags?: readonly string[];
|
|
38
|
-
/** Minutes; rendered as `"N min read"`. */
|
|
39
|
-
readonly readingTime?: number;
|
|
40
|
-
/** Locale passed to `formatArticleDate`. Default `'en-US'` — see its JSDoc for why this is
|
|
41
|
-
* pinned rather than defaulting to the runtime locale. */
|
|
42
|
-
readonly locale?: string;
|
|
43
|
-
readonly href?: string;
|
|
44
|
-
/** Router bridge — when given alongside `href`, the card is handed to it instead of rendering a
|
|
45
|
-
* plain anchor itself. */
|
|
46
|
-
readonly renderLink?: (target: ArticleNavTarget, node: ReactNode) => ReactNode;
|
|
47
|
-
readonly onClick?: () => void;
|
|
48
|
-
readonly className?: string;
|
|
49
|
-
readonly style?: CSSProperties;
|
|
50
|
-
};
|
|
51
|
-
export declare function ArticleCard({ title, description, icon, date, category, tags, readingTime, locale, href, renderLink, onClick, className, style, }: ArticleCardProps): import("react").JSX.Element;
|
|
52
|
-
export type ArticleGridProps = {
|
|
53
|
-
readonly children: ReactNode;
|
|
54
|
-
/** Columns at the `lg` breakpoint. Default `3`. */
|
|
55
|
-
readonly cols?: number;
|
|
56
|
-
};
|
|
57
|
-
export declare function ArticleGrid({ children, cols }: ArticleGridProps): import("react").JSX.Element;
|
|
58
|
-
//# sourceMappingURL=article-card.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"article-card.d.ts","sourceRoot":"","sources":["../../src/content/article-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;8DAC0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;8BAC0B;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,KAAK,SAAS,CAAA;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAC/B,CAAA;AAMD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,MAAgB,EAChB,IAAI,EACJ,UAAU,EACV,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,+BAqFlB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAQ,EAAE,EAAE,gBAAgB,+BAOnE"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Card, SimpleGrid } from "@mantine/core";
|
|
3
|
-
import classes from "./article-card.module.css";
|
|
4
|
-
import { formatArticleDate } from "./article-model.js";
|
|
5
|
-
const CARD_STYLE = {
|
|
6
|
-
padding: "var(--mantine-spacing-xs) var(--mantine-spacing-sm)"
|
|
7
|
-
};
|
|
8
|
-
function ArticleCard({
|
|
9
|
-
title,
|
|
10
|
-
description,
|
|
11
|
-
icon,
|
|
12
|
-
date,
|
|
13
|
-
category,
|
|
14
|
-
tags,
|
|
15
|
-
readingTime,
|
|
16
|
-
locale = "en-US",
|
|
17
|
-
href,
|
|
18
|
-
renderLink,
|
|
19
|
-
onClick,
|
|
20
|
-
className,
|
|
21
|
-
style
|
|
22
|
-
}) {
|
|
23
|
-
const cardClass = [
|
|
24
|
-
classes.card,
|
|
25
|
-
(href !== void 0 || onClick !== void 0) && classes.clickable,
|
|
26
|
-
className
|
|
27
|
-
].filter(Boolean).join(" ");
|
|
28
|
-
const mergedStyle = { ...CARD_STYLE, ...style };
|
|
29
|
-
const meta = [
|
|
30
|
-
date !== void 0 ? formatArticleDate(date, locale) : void 0,
|
|
31
|
-
readingTime !== void 0 ? `${readingTime} min read` : void 0,
|
|
32
|
-
category
|
|
33
|
-
].filter((part) => part !== void 0).join(" \xB7 ");
|
|
34
|
-
const body = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
35
|
-
icon !== void 0 && /* @__PURE__ */ jsx("span", { className: classes.icon, children: icon }),
|
|
36
|
-
/* @__PURE__ */ jsx("span", { className: classes.title, children: title }),
|
|
37
|
-
description !== void 0 && /* @__PURE__ */ jsx("span", { className: classes.description, children: description }),
|
|
38
|
-
tags !== void 0 && tags.length > 0 && /* @__PURE__ */ jsx("span", { className: classes.tags, children: tags.map((tag) => /* @__PURE__ */ jsx("span", { className: classes.tag, children: tag }, tag)) }),
|
|
39
|
-
meta !== "" && /* @__PURE__ */ jsx("span", { className: classes.meta, children: meta })
|
|
40
|
-
] });
|
|
41
|
-
if (href !== void 0 && renderLink !== void 0) {
|
|
42
|
-
const target = {
|
|
43
|
-
label: title,
|
|
44
|
-
href,
|
|
45
|
-
...description !== void 0 && { description }
|
|
46
|
-
};
|
|
47
|
-
return /* @__PURE__ */ jsx("span", { className: classes.linkWrap, children: renderLink(
|
|
48
|
-
target,
|
|
49
|
-
/* @__PURE__ */ jsx(Card, { className: cardClass, style: mergedStyle, children: body })
|
|
50
|
-
) });
|
|
51
|
-
}
|
|
52
|
-
if (href !== void 0) {
|
|
53
|
-
return /* @__PURE__ */ jsx(Card, { component: "a", href, className: cardClass, style: mergedStyle, children: body });
|
|
54
|
-
}
|
|
55
|
-
if (onClick !== void 0) {
|
|
56
|
-
return /* @__PURE__ */ jsx(
|
|
57
|
-
Card,
|
|
58
|
-
{
|
|
59
|
-
component: "button",
|
|
60
|
-
type: "button",
|
|
61
|
-
onClick,
|
|
62
|
-
className: cardClass,
|
|
63
|
-
style: mergedStyle,
|
|
64
|
-
children: body
|
|
65
|
-
}
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
return /* @__PURE__ */ jsx(Card, { className: cardClass, style: mergedStyle, children: body });
|
|
69
|
-
}
|
|
70
|
-
function ArticleGrid({ children, cols = 3 }) {
|
|
71
|
-
return (
|
|
72
|
-
// theme-allow raw-breakpoint — `cols` is documented per viewport `lg`; container keys would re-flow every consumer's grid, so that move ships opt-in
|
|
73
|
-
/* @__PURE__ */ jsx(SimpleGrid, { cols: { base: 1, sm: 2, lg: cols }, spacing: "sm", children })
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
export {
|
|
77
|
-
ArticleCard,
|
|
78
|
-
ArticleGrid
|
|
79
|
-
};
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ArticleCard — the docs-landing overview building block (docs/CONTENT-SPEC.md §3/§7): panel bg +
|
|
3
|
-
* shadow-card + card-radius (inherited from the shipped `Card` theme, same as StatCard/
|
|
4
|
-
* SettingsSection), a clickable whole-card affordance when `href`/`onClick` is given.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
.card {
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
gap: var(--vx-space-stack-sm);
|
|
11
|
-
text-decoration: none;
|
|
12
|
-
color: inherit;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/* The `renderLink` router bridge renders a consumer anchor around the card — neutralize the
|
|
16
|
-
* browser anchor defaults it brings, and keep the grid cell's full height flowing through. */
|
|
17
|
-
.linkWrap {
|
|
18
|
-
display: block;
|
|
19
|
-
height: 100%;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.linkWrap a {
|
|
23
|
-
display: block;
|
|
24
|
-
height: 100%;
|
|
25
|
-
text-decoration: none;
|
|
26
|
-
color: inherit;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.clickable {
|
|
30
|
-
cursor: pointer;
|
|
31
|
-
transition: background-color 120ms ease;
|
|
32
|
-
/* Native-`<button>` reset — ArticleCard's `onClick`-only variant renders `Card component="button"`
|
|
33
|
-
* for real keyboard/AT semantics. The browser's UA-origin button chrome (border, font, text-align)
|
|
34
|
-
* always loses to Card's own authored background/shadow/radius, but these three properties are
|
|
35
|
-
* NOT set by Card itself, so the button's UA defaults would otherwise leak through. */
|
|
36
|
-
width: 100%;
|
|
37
|
-
border: none;
|
|
38
|
-
font: inherit;
|
|
39
|
-
text-align: inherit;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.clickable:hover,
|
|
43
|
-
.clickable:focus-visible {
|
|
44
|
-
background-color: var(--vx-surface-panel-hover);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.clickable:hover .title,
|
|
48
|
-
.clickable:focus-visible .title {
|
|
49
|
-
color: var(--vx-accent);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.clickable:focus-visible {
|
|
53
|
-
/* Focus-ring width/offset — paired with (and sized off) the outline's own 2px stroke, not a
|
|
54
|
-
* spacing gap; out of scope like a border-shorthand width. */
|
|
55
|
-
outline: 2px solid var(--vx-accent);
|
|
56
|
-
outline-offset: 2px;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.icon {
|
|
60
|
-
display: flex;
|
|
61
|
-
color: var(--vx-muted);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.title {
|
|
65
|
-
font-family: var(--basalt-font-head);
|
|
66
|
-
font-stretch: 88%;
|
|
67
|
-
font-weight: 550;
|
|
68
|
-
font-size: var(--vx-text-md);
|
|
69
|
-
color: var(--vx-ink);
|
|
70
|
-
transition: color 120ms ease;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.description {
|
|
74
|
-
font-size: var(--vx-text-sm);
|
|
75
|
-
color: var(--vx-ink2);
|
|
76
|
-
display: -webkit-box;
|
|
77
|
-
-webkit-line-clamp: 2;
|
|
78
|
-
-webkit-box-orient: vertical;
|
|
79
|
-
overflow: hidden;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/* Quiet — a data label, not a status. Muted text on a faint ink tint, same recipe as the code
|
|
83
|
-
* block/callout/prose surfaces (`color-mix(in srgb, var(--vx-ink) 6%, transparent)`); no accent,
|
|
84
|
-
* no status color. */
|
|
85
|
-
.tags {
|
|
86
|
-
display: flex;
|
|
87
|
-
flex-wrap: wrap;
|
|
88
|
-
gap: var(--vx-space-article-card-tags-gap);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.tag {
|
|
92
|
-
padding: var(--vx-space-article-card-tag-inset-y) var(--vx-space-article-card-tag-inset-x);
|
|
93
|
-
border-radius: var(--vx-radius-fine);
|
|
94
|
-
background-color: color-mix(in srgb, var(--vx-ink) 6%, transparent);
|
|
95
|
-
color: var(--vx-muted);
|
|
96
|
-
font-size: var(--vx-text-micro);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/* Pinned to the card's floor, not floated up behind a short description: the grid stretches every
|
|
100
|
-
* card in a row to one height, so a content-following meta line lands at a different y in each
|
|
101
|
-
* card and the row reads ragged. `margin-top: auto` in the card's flex column gives the row one
|
|
102
|
-
* meta baseline regardless of how many lines each description clamps to. */
|
|
103
|
-
.meta {
|
|
104
|
-
margin-top: auto;
|
|
105
|
-
padding-top: var(--vx-space-article-card-meta-gap-top);
|
|
106
|
-
font-family: var(--basalt-font-mono);
|
|
107
|
-
font-size: var(--vx-text-micro);
|
|
108
|
-
letter-spacing: 0.06em;
|
|
109
|
-
text-transform: uppercase;
|
|
110
|
-
color: var(--vx-faint);
|
|
111
|
-
}
|
package/dist/content/mdx.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Components } from 'react-markdown';
|
|
2
|
-
import { SlugTracker } from './slug.js';
|
|
3
|
-
export type CreateMdxComponentsOptions = {
|
|
4
|
-
/** Reuse an existing tracker — e.g. to share heading ids with a `TableOfContents` collecting
|
|
5
|
-
* over the same rendered document. Omit for a fresh, page-scoped tracker. */
|
|
6
|
-
readonly slugTracker?: SlugTracker;
|
|
7
|
-
};
|
|
8
|
-
/** Builds the MDX element map (slugged/anchored headings, code/mermaid fences, alert-aware
|
|
9
|
-
* blockquotes, external-link treatment). Pass `slugTracker` to share ids across components
|
|
10
|
-
* rendering the same document; omit it to get a fresh tracker per call. */
|
|
11
|
-
export declare function createMdxComponents(options?: CreateMdxComponentsOptions): Components;
|
|
12
|
-
/**
|
|
13
|
-
* A ready-to-use element map for simple cases. Built ONCE at module scope with its own
|
|
14
|
-
* `SlugTracker` — every consumer of this constant shares that single tracker for the lifetime of
|
|
15
|
-
* the app, so a heading text repeated across two DIFFERENT MDX documents will get a `-1`-suffixed
|
|
16
|
-
* id on the second document, not a fresh `overview` on both. Reach for `createMdxComponents()`
|
|
17
|
-
* (called per document/render) instead when that matters — e.g. a multi-document docs site.
|
|
18
|
-
*/
|
|
19
|
-
export declare const mdxComponents: Components;
|
|
20
|
-
//# sourceMappingURL=mdx.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mdx.d.ts","sourceRoot":"","sources":["../../src/content/mdx.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,gBAAgB,CAAA;AAM5D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAgEpC,MAAM,MAAM,0BAA0B,GAAG;IACvC;iFAC6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC,CAAA;AAED;;2EAE2E;AAC3E,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,UAAU,CAQxF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,UAAkC,CAAA"}
|