basalt-ui 1.19.1 → 1.20.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 +15 -1
- package/CHANGELOG.md +20 -0
- package/MIGRATING.md +228 -0
- package/README.md +53 -9
- package/agent/rules/basalt-app.md +43 -0
- package/agent/rules/basalt-charts.md +26 -14
- package/agent/rules/basalt-mantine.md +25 -10
- package/agent/rules/basalt-router.md +22 -10
- package/agent/rules/basalt-tokens.md +75 -6
- package/agent/skills/basalt-app/SKILL.md +42 -6
- package/configs/check.yml +11 -4
- package/configs/lefthook.yml +21 -2
- package/configs/oxlint-plugin.js +515 -25
- package/configs/oxlint-plugin.test.ts +383 -10
- package/configs/oxlint.json +10 -1
- package/dist/agent/stick-to-bottom.js +1 -1
- package/dist/agent-chat/thread-detail-panel.js +1 -1
- package/dist/agent-chat/thread-message.js +2 -2
- package/dist/agent-chat/tool-chip.js +1 -1
- package/dist/charts/kinds/Donut.d.ts.map +1 -1
- package/dist/charts/kinds/Donut.js +1 -1
- package/dist/charts/primitives/ChartLegend.js +2 -2
- package/dist/charts/primitives/ChartTooltip.js +1 -1
- package/dist/cli/index.d.ts +107 -15
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +610 -72
- package/dist/cli/toolchain-wiring.test.d.ts +2 -0
- package/dist/cli/toolchain-wiring.test.d.ts.map +1 -0
- package/dist/dashboard/delta-badge.js +2 -2
- package/dist/dashboard/stat-card.js +1 -1
- package/dist/data/virtual-list.js +5 -5
- package/dist/guard/index.d.ts +56 -2
- package/dist/guard/index.d.ts.map +1 -1
- package/dist/guard/index.js +326 -59
- package/dist/guard/types.d.ts +25 -5
- package/dist/guard/types.d.ts.map +1 -1
- package/dist/register.d.ts +25 -0
- package/dist/register.d.ts.map +1 -1
- package/dist/shell/app-mobile-nav.module.css +11 -3
- package/dist/surfaces.d.ts +1 -1
- package/dist/surfaces.js +1 -1
- package/dist/tokens/index.d.ts +3 -3
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +2 -0
- package/dist/tokens/palette.d.ts +35 -27
- package/dist/tokens/palette.d.ts.map +1 -1
- package/dist/tokens/palette.js +24 -18
- package/dist/tokens.css +19 -17
- package/dist/vite-color-mix.js +2 -2
- package/llms.txt +3 -3
- package/package.json +4 -3
- package/src/agent/stick-to-bottom.tsx +1 -1
- package/src/agent-chat/thread-detail-panel.tsx +1 -1
- package/src/agent-chat/thread-message.tsx +3 -3
- package/src/agent-chat/tool-chip.tsx +1 -1
- package/src/charts/kinds/Donut.tsx +2 -1
- package/src/charts/primitives/ChartLegend.tsx +2 -2
- package/src/charts/primitives/ChartTooltip.tsx +1 -1
- package/src/cli/index.ts +1070 -99
- package/src/cli/init-sync.test.ts +19 -3
- package/src/cli/tokens-css.test.ts +27 -14
- package/src/cli/toolchain-wiring.test.ts +694 -0
- package/src/dashboard/delta-badge.tsx +3 -3
- package/src/dashboard/stat-card.tsx +1 -1
- package/src/data/virtual-list.tsx +8 -8
- package/src/guard/check-source.test.ts +663 -11
- package/src/guard/index.ts +727 -94
- package/src/guard/types.ts +29 -4
- package/src/register.ts +32 -0
- package/src/shell/app-mobile-nav.module.css +11 -3
- package/src/shell/app-mobile-nav.tsx +1 -1
- package/src/surfaces.ts +1 -1
- package/src/theme/density-relations.test.ts +8 -5
- package/src/theme/spacing.test.ts +2 -0
- package/src/theme-toggle/index.tsx +2 -2
- package/src/tokens/index.ts +5 -3
- package/src/tokens/palette.ts +24 -18
- package/src/vite-color-mix.ts +2 -2
|
@@ -49,9 +49,9 @@ export function DeltaBadge({
|
|
|
49
49
|
height: 'auto',
|
|
50
50
|
},
|
|
51
51
|
label: {
|
|
52
|
-
display: 'inline-flex', // theme-allow
|
|
52
|
+
display: 'inline-flex', // theme-allow inline-display — a Badge `styles.label` part, not a layout node Flex could replace
|
|
53
53
|
alignItems: 'center',
|
|
54
|
-
gap: 3, // theme-allow
|
|
54
|
+
gap: 3, // theme-allow inline-spacing — sub-scale glyph-to-label gap, below the smallest scale stop
|
|
55
55
|
fontFamily: 'var(--basalt-font-mono)',
|
|
56
56
|
fontSize: VX.text.xs,
|
|
57
57
|
fontWeight: 600,
|
|
@@ -66,7 +66,7 @@ export function DeltaBadge({
|
|
|
66
66
|
{format(value)}
|
|
67
67
|
{period && (
|
|
68
68
|
<span
|
|
69
|
-
style={{ marginLeft: 4, fontWeight: 500, opacity: 0.6 }} // theme-allow
|
|
69
|
+
style={{ marginLeft: 4, fontWeight: 500, opacity: 0.6 }} // theme-allow inline-spacing — sub-scale optical period offset, below the smallest scale stop
|
|
70
70
|
>
|
|
71
71
|
{period}
|
|
72
72
|
</span>
|
|
@@ -110,7 +110,7 @@ export function StatCard({
|
|
|
110
110
|
// explicit for intent.
|
|
111
111
|
padding: 'var(--mantine-spacing-xs) var(--mantine-spacing-sm)',
|
|
112
112
|
minHeight: 118,
|
|
113
|
-
display: 'flex', // theme-allow
|
|
113
|
+
display: 'flex', // theme-allow inline-display — Card root as a flex column; Mantine Card takes no layout props
|
|
114
114
|
flexDirection: 'column',
|
|
115
115
|
gap: 'var(--vx-space-stat-card-gap)',
|
|
116
116
|
overflow: 'hidden',
|
|
@@ -126,10 +126,10 @@ export function BasaltVirtualList<T>({
|
|
|
126
126
|
|
|
127
127
|
if (isLoading) {
|
|
128
128
|
return (
|
|
129
|
-
// theme-allow — matches the virtualizer's own scroll box below, so the skeleton doesn't reflow.
|
|
129
|
+
// theme-allow raw-scroll-container — matches the virtualizer's own scroll box below, so the skeleton doesn't reflow.
|
|
130
130
|
<Box style={{ height, overflow: 'auto' }}>
|
|
131
131
|
{Array.from({ length: skeletonRows }, (_, i) => (
|
|
132
|
-
<
|
|
132
|
+
<Box
|
|
133
133
|
key={`skeleton-${i}`}
|
|
134
134
|
style={{
|
|
135
135
|
height: estimateSize,
|
|
@@ -144,7 +144,7 @@ export function BasaltVirtualList<T>({
|
|
|
144
144
|
height={`calc(${estimateSize}px - 2 * var(--vx-space-virtual-row-inset-y))`}
|
|
145
145
|
radius="sm"
|
|
146
146
|
/>
|
|
147
|
-
</
|
|
147
|
+
</Box>
|
|
148
148
|
))}
|
|
149
149
|
</Box>
|
|
150
150
|
)
|
|
@@ -155,12 +155,12 @@ export function BasaltVirtualList<T>({
|
|
|
155
155
|
ref={parentRef}
|
|
156
156
|
style={{
|
|
157
157
|
height,
|
|
158
|
-
// theme-allow — TanStack Virtual measures this element as the scroll container.
|
|
158
|
+
// theme-allow raw-scroll-container — TanStack Virtual measures this element as the scroll container.
|
|
159
159
|
overflow: 'auto',
|
|
160
160
|
}}
|
|
161
161
|
>
|
|
162
162
|
{/* Inner sizer — defines total scroll height for the virtualizer */}
|
|
163
|
-
<
|
|
163
|
+
<Box
|
|
164
164
|
style={{
|
|
165
165
|
height: rowVirtualizer.getTotalSize(),
|
|
166
166
|
position: 'relative',
|
|
@@ -170,7 +170,7 @@ export function BasaltVirtualList<T>({
|
|
|
170
170
|
const item = items[virtualItem.index]
|
|
171
171
|
if (item === undefined) return null
|
|
172
172
|
return (
|
|
173
|
-
<
|
|
173
|
+
<Box
|
|
174
174
|
key={virtualItem.key}
|
|
175
175
|
style={{
|
|
176
176
|
position: 'absolute',
|
|
@@ -182,10 +182,10 @@ export function BasaltVirtualList<T>({
|
|
|
182
182
|
}}
|
|
183
183
|
>
|
|
184
184
|
{renderItem(item, virtualItem.index)}
|
|
185
|
-
</
|
|
185
|
+
</Box>
|
|
186
186
|
)
|
|
187
187
|
})}
|
|
188
|
-
</
|
|
188
|
+
</Box>
|
|
189
189
|
</Box>
|
|
190
190
|
)
|
|
191
191
|
}
|