cursedbelt 5.27.0 → 5.28.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/dist/react/charts/IntervalTimeline.d.ts.map +1 -1
- package/dist/react/charts/IntervalTimeline.js +6 -2
- package/dist/react/charts/IntervalTimeline.js.map +1 -1
- package/dist/react/components/CodeArea.d.ts.map +1 -1
- package/dist/react/components/CodeArea.js +3 -1
- package/dist/react/components/CodeArea.js.map +1 -1
- package/dist/react/components/DataTable/DataTable.js +2 -2
- package/dist/react/components/DataTable/DataTable.js.map +1 -1
- package/dist/react/components/DataTable/TableFilterBuilder.d.ts.map +1 -1
- package/dist/react/components/DataTable/TableFilterBuilder.js +2 -1
- package/dist/react/components/DataTable/TableFilterBuilder.js.map +1 -1
- package/dist/react/components/FindingsList.d.ts.map +1 -1
- package/dist/react/components/FindingsList.js +2 -1
- package/dist/react/components/FindingsList.js.map +1 -1
- package/dist/react/components/InfoHint.d.ts.map +1 -1
- package/dist/react/components/InfoHint.js +3 -1
- package/dist/react/components/InfoHint.js.map +1 -1
- package/dist/react/components/Section.d.ts.map +1 -1
- package/dist/react/components/Section.js +3 -1
- package/dist/react/components/Section.js.map +1 -1
- package/dist/react/components/calendar/MonthGrid.d.ts.map +1 -1
- package/dist/react/components/calendar/MonthGrid.js +33 -32
- package/dist/react/components/calendar/MonthGrid.js.map +1 -1
- package/dist/react/components/calendar/WeekView.d.ts.map +1 -1
- package/dist/react/components/calendar/WeekView.js +2 -1
- package/dist/react/components/calendar/WeekView.js.map +1 -1
- package/dist/react/components/sharing/RecipientPicker.d.ts.map +1 -1
- package/dist/react/components/sharing/RecipientPicker.js +3 -1
- package/dist/react/components/sharing/RecipientPicker.js.map +1 -1
- package/dist/react/dashboard-grid/WidgetFrame.d.ts.map +1 -1
- package/dist/react/dashboard-grid/WidgetFrame.js +2 -1
- package/dist/react/dashboard-grid/WidgetFrame.js.map +1 -1
- package/dist/react/diff-viewer/TextComparePane.d.ts.map +1 -1
- package/dist/react/diff-viewer/TextComparePane.js +2 -1
- package/dist/react/diff-viewer/TextComparePane.js.map +1 -1
- package/dist/react/emoji/EmojiAutocomplete.d.ts.map +1 -1
- package/dist/react/emoji/EmojiAutocomplete.js +3 -1
- package/dist/react/emoji/EmojiAutocomplete.js.map +1 -1
- package/dist/react/folder-tree/FolderPicker.d.ts.map +1 -1
- package/dist/react/folder-tree/FolderPicker.js +3 -2
- package/dist/react/folder-tree/FolderPicker.js.map +1 -1
- package/dist/react/layoutEngine/LayoutCanvas.d.ts.map +1 -1
- package/dist/react/layoutEngine/LayoutCanvas.js.map +1 -1
- package/dist/react/layoutEngine/NodeInspector.d.ts.map +1 -1
- package/dist/react/layoutEngine/NodeInspector.js +2 -1
- package/dist/react/layoutEngine/NodeInspector.js.map +1 -1
- package/dist/react/media/TrimRangeSlider.d.ts.map +1 -1
- package/dist/react/media/TrimRangeSlider.js +3 -1
- package/dist/react/media/TrimRangeSlider.js.map +1 -1
- package/dist/react/problem-detail/ProblemDetailView.d.ts.map +1 -1
- package/dist/react/problem-detail/ProblemDetailView.js +2 -1
- package/dist/react/problem-detail/ProblemDetailView.js.map +1 -1
- package/dist/scripts/guardrailsEnforce.d.ts.map +1 -1
- package/package.json +8 -2
- package/scripts/guardrails-baseline.json +2 -1
- package/scripts/guardrailsEnforce.spec.ts +36 -0
- package/scripts/guardrailsEnforce.ts +66 -0
- package/src/react/charts/IntervalTimeline.tsx +2 -0
- package/src/react/components/CodeArea.tsx +1 -0
- package/src/react/components/DataTable/DataTable.tsx +4 -4
- package/src/react/components/DataTable/TableFilterBuilder.tsx +3 -2
- package/src/react/components/FindingsList.tsx +9 -5
- package/src/react/components/InfoHint.tsx +1 -0
- package/src/react/components/Section.tsx +1 -0
- package/src/react/components/calendar/MonthGrid.tsx +3 -1
- package/src/react/components/calendar/WeekView.tsx +3 -2
- package/src/react/components/sharing/RecipientPicker.tsx +4 -1
- package/src/react/dashboard-grid/WidgetFrame.tsx +4 -6
- package/src/react/diff-viewer/TextComparePane.tsx +4 -6
- package/src/react/emoji/EmojiAutocomplete.tsx +1 -0
- package/src/react/folder-tree/FolderPicker.tsx +5 -4
- package/src/react/layoutEngine/LayoutCanvas.tsx +1 -0
- package/src/react/layoutEngine/NodeInspector.tsx +3 -2
- package/src/react/media/TrimRangeSlider.tsx +1 -0
- package/src/react/problem-detail/ProblemDetailView.tsx +14 -5
|
@@ -18,6 +18,7 @@ import { cn } from '../lib/cn.js';
|
|
|
18
18
|
import type { BindingResolver } from './LayoutRenderer.js';
|
|
19
19
|
import { compatibleWidgets, widgetDef } from './registry.js';
|
|
20
20
|
import type { WidgetRegistry } from './types.js';
|
|
21
|
+
import { Surface } from '../components/Surface.js';
|
|
21
22
|
|
|
22
23
|
// The property panel for the selected node — rebuilt for NON-TECHNICAL editing. The
|
|
23
24
|
// primary layer answers "what should this block look like?" in plain language: pick a
|
|
@@ -177,7 +178,7 @@ function Preview<F extends LayoutField>({
|
|
|
177
178
|
resolved.kind === 'column' || resolved.kind === 'aggregate' ? resolved.field : undefined;
|
|
178
179
|
return (
|
|
179
180
|
<Labeled label='Preview'>
|
|
180
|
-
<
|
|
181
|
+
<Surface level="flat" pad="sm" radius="md" className='min-w-0 break-words text-sm text-foreground'>
|
|
181
182
|
{def?.render({
|
|
182
183
|
node,
|
|
183
184
|
resolved,
|
|
@@ -187,7 +188,7 @@ function Preview<F extends LayoutField>({
|
|
|
187
188
|
row: sampleRow,
|
|
188
189
|
rows: sampleRows,
|
|
189
190
|
}) ?? <span className='text-muted-foreground'>No preview</span>}
|
|
190
|
-
</
|
|
191
|
+
</Surface>
|
|
191
192
|
</Labeled>
|
|
192
193
|
);
|
|
193
194
|
}
|
|
@@ -92,6 +92,7 @@ export function TrimRangeSlider({
|
|
|
92
92
|
return (
|
|
93
93
|
<div className='select-none' data-cb-trim-slider>
|
|
94
94
|
<div
|
|
95
|
+
// guardrails-ignore no-hand-rolled-surface: the trim slider's TRACK — a pointer-driven control, not a container
|
|
95
96
|
ref={trackRef}
|
|
96
97
|
className='relative h-16 w-full cursor-pointer overflow-hidden rounded-md border border-border bg-muted'
|
|
97
98
|
onPointerMove={onPointerMove}
|
|
@@ -5,6 +5,7 @@ import { Badge } from '../components/Badge.js';
|
|
|
5
5
|
import { CopyButton } from '../components/CopyButton.js';
|
|
6
6
|
import { PathText } from '../components/PathText.js';
|
|
7
7
|
import { cn } from '../lib/cn.js';
|
|
8
|
+
import { Surface } from '../components/Surface.js';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* A reusable, presentational "why is this problem happening" drill-down.
|
|
@@ -153,13 +154,13 @@ export function ProblemDetailView({
|
|
|
153
154
|
<section className='grid gap-2 sm:grid-cols-2'>
|
|
154
155
|
{EXPLAIN_ROWS.map(({ key, label, icon }) =>
|
|
155
156
|
explain[key] ? (
|
|
156
|
-
<
|
|
157
|
+
<Surface key={key} level="flat" pad="sm" radius="lg" className='bg-card'>
|
|
157
158
|
<div className='mb-1 flex items-center gap-1.5 text-muted-foreground'>
|
|
158
159
|
<span className='shrink-0'>{icon}</span>
|
|
159
160
|
<span className='text-caption font-semibold uppercase tracking-wide'>{label}</span>
|
|
160
161
|
</div>
|
|
161
162
|
<p className='leading-snug text-foreground'>{explain[key]}</p>
|
|
162
|
-
</
|
|
163
|
+
</Surface>
|
|
163
164
|
) : null,
|
|
164
165
|
)}
|
|
165
166
|
</section>
|
|
@@ -208,10 +209,15 @@ export function ProblemDetailView({
|
|
|
208
209
|
</div>
|
|
209
210
|
<ul className='flex flex-col gap-1'>
|
|
210
211
|
{ready.slice(0, 12).map((t) => (
|
|
211
|
-
<
|
|
212
|
+
<Surface
|
|
212
213
|
key={t.file}
|
|
213
|
-
|
|
214
|
+
asChild
|
|
215
|
+
level='flat'
|
|
216
|
+
pad='none'
|
|
217
|
+
radius='md'
|
|
218
|
+
className='flex items-center gap-2 rounded border-border/60 bg-card/50 px-2 py-1'
|
|
214
219
|
>
|
|
220
|
+
<li>
|
|
215
221
|
<span className='min-w-0 flex-1 truncate font-mono text-caption text-foreground'>
|
|
216
222
|
{t.file}
|
|
217
223
|
</span>
|
|
@@ -221,6 +227,7 @@ export function ProblemDetailView({
|
|
|
221
227
|
</Badge>
|
|
222
228
|
)}
|
|
223
229
|
</li>
|
|
230
|
+
</Surface>
|
|
224
231
|
))}
|
|
225
232
|
</ul>
|
|
226
233
|
{ready.length > 12 && (
|
|
@@ -268,7 +275,8 @@ export function ProblemDetailView({
|
|
|
268
275
|
)}
|
|
269
276
|
|
|
270
277
|
{triage && (
|
|
271
|
-
<
|
|
278
|
+
<Surface asChild level='flat' pad='sm' radius='lg' className='bg-muted/30 text-xs'>
|
|
279
|
+
<section>
|
|
272
280
|
<span className='text-caption font-semibold uppercase tracking-wide text-muted-foreground'>
|
|
273
281
|
System verdict · {triage.status}
|
|
274
282
|
</span>
|
|
@@ -278,6 +286,7 @@ export function ProblemDetailView({
|
|
|
278
286
|
<p className='mt-1 text-caption text-muted-foreground'>decided by {triage.decidedBy}</p>
|
|
279
287
|
)}
|
|
280
288
|
</section>
|
|
289
|
+
</Surface>
|
|
281
290
|
)}
|
|
282
291
|
|
|
283
292
|
{detail?.trim() && (
|