cursedbelt 5.19.0 → 5.19.1

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.
@@ -29,6 +29,6 @@ export function ColumnChecklist({ items, onToggle, onSelectAll, onSelectNone, se
29
29
  // guardrails-ignore no-raw-action-button: view-state bulk toggle, not a mutating action.
30
30
  type: 'button', onClick: onSelectNone, disabled: allOff, className: 'rounded px-1.5 py-1 text-caption font-semibold uppercase tracking-wide text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40', children: selectNoneLabel })] }), _jsx("div", { className: 'max-h-64 overflow-y-auto', children: items.map((item) => (_jsxs("button", {
31
31
  // guardrails-ignore no-raw-action-button: view-state checkbox row, not a mutating action.
32
- type: 'button', role: 'menuitemcheckbox', "aria-checked": item.checked, disabled: item.disabled, onClick: () => onToggle(item.key), className: cn('flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors', 'hover:bg-muted focus-visible:bg-muted focus-visible:outline-none', TAP_TARGET_HEIGHT, item.disabled && 'cursor-not-allowed opacity-50'), children: [_jsx("span", { "aria-hidden": true, className: cn('flex size-4 shrink-0 items-center justify-center rounded border', item.checked ? 'border-primary bg-primary text-primary-foreground' : 'border-border'), children: item.checked ? _jsx(Check, { className: 'size-3' }) : null }), _jsx("span", { className: 'min-w-0 truncate', children: item.label })] }, item.key))) })] }));
32
+ type: 'button', role: 'menuitemcheckbox', "aria-checked": item.checked, disabled: item.disabled, onClick: () => onToggle(item.key), className: cn('flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors', 'hover:bg-muted focus-visible:bg-muted focus-visible:outline-none', TAP_TARGET_HEIGHT, item.disabled && 'cursor-not-allowed opacity-50'), children: [_jsx("span", { "aria-hidden": true, className: cn('flex size-4 shrink-0 items-center justify-center rounded border', item.checked ? 'border-accent-solid bg-accent-solid text-accent-solid-foreground' : 'border-border'), children: item.checked ? _jsx(Check, { className: 'size-3' }) : null }), _jsx("span", { className: 'min-w-0 truncate', children: item.label })] }, item.key))) })] }));
33
33
  }
34
34
  //# sourceMappingURL=ColumnChecklist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnChecklist.js","sourceRoot":"","sources":["../../../../src/react/components/DataTable/ColumnChecklist.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAsB3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,cAAc,GAAG,YAAY,EAC7B,eAAe,GAAG,cAAc,EAChC,YAAY,EAAE,SAAS,EACvB,SAAS,GACY;IACrB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzD,OAAO,CAIL,oBAAU,SAAS,EAAE,EAAE,CAAC,mDAAmD,EAAE,SAAS,CAAC,gBAAc,SAAS,aAC5G,eAAK,SAAS,EAAC,uDAAuD,aACpE;wBACE,yFAAyF;wBACzF,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,KAAK,EACf,SAAS,EAAC,sLAAsL,YAE/L,cAAc,GACR,EACT,oCAAkB,SAAS,EAAC,uBAAuB,uBAE5C,EACP;wBACE,yFAAyF;wBACzF,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAC,sLAAsL,YAE/L,eAAe,GACT,IACL,EAKN,cAAK,SAAS,EAAC,0BAA0B,YACtC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB;oBACE,0FAA0F;oBAC1F,IAAI,EAAC,QAAQ,EAEb,IAAI,EAAC,kBAAkB,kBACT,IAAI,CAAC,OAAO,EAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EACjC,SAAS,EAAE,EAAE,CACX,2FAA2F,EAC3F,kEAAkE,EAClE,iBAAiB,EACjB,IAAI,CAAC,QAAQ,IAAI,+BAA+B,CACjD,aAED,oCAEE,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,eAAe,CACrF,YAEA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,GAC9C,EACP,eAAM,SAAS,EAAC,kBAAkB,YAAE,IAAI,CAAC,KAAK,GAAQ,KArBjD,IAAI,CAAC,GAAG,CAsBN,CACV,CAAC,GACE,IACG,CACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ColumnChecklist.js","sourceRoot":"","sources":["../../../../src/react/components/DataTable/ColumnChecklist.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAsB3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,cAAc,GAAG,YAAY,EAC7B,eAAe,GAAG,cAAc,EAChC,YAAY,EAAE,SAAS,EACvB,SAAS,GACY;IACrB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzD,OAAO,CAIL,oBAAU,SAAS,EAAE,EAAE,CAAC,mDAAmD,EAAE,SAAS,CAAC,gBAAc,SAAS,aAC5G,eAAK,SAAS,EAAC,uDAAuD,aACpE;wBACE,yFAAyF;wBACzF,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,KAAK,EACf,SAAS,EAAC,sLAAsL,YAE/L,cAAc,GACR,EACT,oCAAkB,SAAS,EAAC,uBAAuB,uBAE5C,EACP;wBACE,yFAAyF;wBACzF,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAC,sLAAsL,YAE/L,eAAe,GACT,IACL,EAKN,cAAK,SAAS,EAAC,0BAA0B,YACtC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB;oBACE,0FAA0F;oBAC1F,IAAI,EAAC,QAAQ,EAEb,IAAI,EAAC,kBAAkB,kBACT,IAAI,CAAC,OAAO,EAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EACjC,SAAS,EAAE,EAAE,CACX,2FAA2F,EAC3F,kEAAkE,EAClE,iBAAiB,EACjB,IAAI,CAAC,QAAQ,IAAI,+BAA+B,CACjD,aAED,oCAEE,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,eAAe,CACpG,YAEA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,GAC9C,EACP,eAAM,SAAS,EAAC,kBAAkB,YAAE,IAAI,CAAC,KAAK,GAAQ,KArBjD,IAAI,CAAC,GAAG,CAsBN,CACV,CAAC,GACE,IACG,CACZ,CAAC;AACJ,CAAC"}
@@ -58,7 +58,7 @@ export function SearchBox({ value, onChange, columns, scope, onScopeChange, plac
58
58
  'inline-flex h-9 shrink-0 items-center gap-1 rounded-md border border-border px-2 text-caption transition-colors pointer-coarse:h-11', 'hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
59
59
  // Narrowed scope reads as ACTIVE state, not as another grey
60
60
  // control — the whole point is that it cannot hide.
61
- isAll ? 'text-muted-foreground' : 'border-primary/60 bg-primary/10 text-foreground'), children: [_jsx("span", { className: 'max-w-32 truncate', children: scopeLabel }), _jsx(ChevronDown, { className: 'size-3 shrink-0', "aria-hidden": true })] }), children: _jsxs("div", { className: 'flex flex-col gap-1.5', children: [_jsx("span", { className: 'cb-meta-label', children: "Search in" }), _jsx(ColumnChecklist, { "aria-label": 'Columns to search', items: columns.map((c) => ({
61
+ isAll ? 'text-muted-foreground' : 'border-accent/60 bg-accent/10 text-foreground'), children: [_jsx("span", { className: 'max-w-32 truncate', children: scopeLabel }), _jsx(ChevronDown, { className: 'size-3 shrink-0', "aria-hidden": true })] }), children: _jsxs("div", { className: 'flex flex-col gap-1.5', children: [_jsx("span", { className: 'cb-meta-label', children: "Search in" }), _jsx(ColumnChecklist, { "aria-label": 'Columns to search', items: columns.map((c) => ({
62
62
  key: c.key,
63
63
  label: c.label,
64
64
  checked: chosen.includes(c.key),
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBox.js","sourceRoot":"","sources":["../../../../src/react/components/DataTable/SearchBox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchBox.js","sourceRoot":"","sources":["../../../../src/react/components/DataTable/SearchBox.tsx"],"names":[],"mappings":"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"}
@@ -69,7 +69,7 @@ export function TableFilterBuilder({ columns, value, onChange, className, }) {
69
69
  });
70
70
  if (columns.length === 0)
71
71
  return null;
72
- return (_jsx(Popover, { open: open, onOpenChange: setOpen, align: 'start', width: 520, arrow: false, trigger: _jsxs(Button, { size: 'sm', variant: activeCount > 0 ? 'secondary' : 'ghost', leftIcon: _jsx(Filter, {}), tooltip: activeCount > 0 ? describeFilterQuery(value, labelOf) : 'Build a filter', children: ["Filter", activeCount > 0 ? (_jsx("span", { className: 'ml-1.5 rounded-full bg-primary px-1.5 py-0.5 text-caption font-bold text-primary-foreground', children: activeCount })) : null] }), children: _jsxs("div", { className: 'flex flex-col gap-2', children: [_jsxs("div", { className: 'flex items-center justify-between gap-2', children: [_jsx("span", { className: 'cb-meta-label', children: "Filter" }), _jsx("button", {
72
+ return (_jsx(Popover, { open: open, onOpenChange: setOpen, align: 'start', width: 520, arrow: false, trigger: _jsxs(Button, { size: 'sm', variant: activeCount > 0 ? 'secondary' : 'ghost', leftIcon: _jsx(Filter, {}), tooltip: activeCount > 0 ? describeFilterQuery(value, labelOf) : 'Build a filter', children: ["Filter", activeCount > 0 ? (_jsx("span", { className: 'ml-1.5 rounded-full bg-accent-solid px-1.5 py-0.5 text-caption font-bold text-accent-solid-foreground', children: activeCount })) : null] }), children: _jsxs("div", { className: 'flex flex-col gap-2', children: [_jsxs("div", { className: 'flex items-center justify-between gap-2', children: [_jsx("span", { className: 'cb-meta-label', children: "Filter" }), _jsx("button", {
73
73
  // guardrails-ignore no-raw-action-button: clears view state, mutates no record.
74
74
  type: 'button', onClick: () => onChange(EMPTY_FILTER_QUERY), disabled: value.groups.length === 0, className: 'rounded px-1.5 py-1 text-caption font-semibold uppercase tracking-wide text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40', children: "Clear all" })] }), value.groups.length === 0 ? (_jsxs("p", { className: 'px-1 py-2 text-sm text-muted-foreground', children: ["Match rows on any number of columns. Conditions inside a group must all match; add a second group to match ", _jsx("strong", { className: 'font-semibold text-foreground', children: "either" }), ' ', "set."] })) : null, _jsx("div", { className: 'flex max-h-[22rem] flex-col gap-2 overflow-y-auto', children: value.groups.map((group, groupIndex) => (_jsxs("div", { children: [groupIndex > 0 ? (_jsxs("div", { className: 'flex items-center gap-2 py-1.5', children: [_jsx("span", { className: 'h-px flex-1 bg-border' }), _jsx("span", { className: 'rounded-full border border-border bg-muted px-2 py-0.5 text-caption font-bold uppercase tracking-wider text-muted-foreground', children: "or" }), _jsx("span", { className: 'h-px flex-1 bg-border' })] })) : null, _jsxs("div", { className: 'rounded-lg border border-border bg-muted/30 p-2', children: [_jsx("div", { className: 'flex flex-col gap-1.5', children: group.conditions.map((condition, conditionIndex) => (_jsxs("div", { className: 'flex items-center gap-1.5', children: [_jsx("span", { className: 'w-9 shrink-0 text-right text-caption font-semibold uppercase tracking-wide text-muted-foreground', children: conditionIndex === 0 ? 'Where' : 'and' }), _jsx(NativeSelect, { size: 'sm', "aria-label": 'Column', className: 'min-w-0 flex-1', wrapperClassName: 'min-w-0 flex-1', value: condition.column, options: columns.map((c) => ({ value: c.key, label: c.label })), onChange: (e) => patchGroup(group.id, (list) => list.map((c) => (c.id === condition.id ? { ...c, column: e.target.value } : c))) }), _jsx(NativeSelect, { size: 'sm', "aria-label": 'Condition', className: 'min-w-0', wrapperClassName: 'w-40 shrink-0', value: condition.op, options: OP_OPTIONS, onChange: (e) => patchGroup(group.id, (list) => list.map((c) => c.id === condition.id ? { ...c, op: e.target.value } : c)) }), VALUELESS_OPS.has(condition.op) ? (_jsx("span", { "aria-hidden": true, className: 'w-36 shrink-0' })) : (_jsx(Input, { "aria-label": 'Value', className: 'h-8 w-36 shrink-0', value: condition.value, placeholder: 'value', onChange: (e) => patchGroup(group.id, (list) => list.map((c) => (c.id === condition.id ? { ...c, value: e.target.value } : c))) })), _jsx("button", {
75
75
  // guardrails-ignore no-raw-action-button: removes a filter row, mutates no record.
@@ -1 +1 @@
1
- {"version":3,"file":"TableFilterBuilder.js","sourceRoot":"","sources":["../../../../src/react/components/DataTable/TableFilterBuilder.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableFilterBuilder.js","sourceRoot":"","sources":["../../../../src/react/components/DataTable/TableFilterBuilder.tsx"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export function ViewOptionsMenu({ table, label = 'Columns' }) {
26
26
  if (!columns.length)
27
27
  return null;
28
28
  const hiddenCount = columns.filter((c) => !c.getIsVisible()).length;
29
- return (_jsx(Popover, { open: open, onOpenChange: setOpen, align: 'end', arrow: false, trigger: _jsxs(Button, { size: 'sm', variant: hiddenCount > 0 ? 'secondary' : 'ghost', leftIcon: _jsx(Columns3, {}), tooltip: hiddenCount > 0 ? `${hiddenCount} column(s) hidden` : label, children: [label, hiddenCount > 0 ? (_jsx("span", { className: 'ml-1.5 rounded-full bg-primary px-1.5 py-0.5 text-caption font-bold text-primary-foreground', children: hiddenCount })) : null] }), children: _jsxs("div", { className: 'flex flex-col gap-1.5', children: [_jsx("span", { className: 'cb-meta-label', children: "Columns" }), _jsx(ColumnChecklist, { "aria-label": 'Visible columns', selectAllLabel: 'Show all', selectNoneLabel: 'Hide all', items: columns.map((col) => ({
29
+ return (_jsx(Popover, { open: open, onOpenChange: setOpen, align: 'end', arrow: false, trigger: _jsxs(Button, { size: 'sm', variant: hiddenCount > 0 ? 'secondary' : 'ghost', leftIcon: _jsx(Columns3, {}), tooltip: hiddenCount > 0 ? `${hiddenCount} column(s) hidden` : label, children: [label, hiddenCount > 0 ? (_jsx("span", { className: 'ml-1.5 rounded-full bg-accent-solid px-1.5 py-0.5 text-caption font-bold text-accent-solid-foreground', children: hiddenCount })) : null] }), children: _jsxs("div", { className: 'flex flex-col gap-1.5', children: [_jsx("span", { className: 'cb-meta-label', children: "Columns" }), _jsx(ColumnChecklist, { "aria-label": 'Visible columns', selectAllLabel: 'Show all', selectNoneLabel: 'Hide all', items: columns.map((col) => ({
30
30
  key: col.id,
31
31
  label: col.columnDef.meta?.label ?? col.id,
32
32
  checked: col.getIsVisible(),
@@ -1 +1 @@
1
- {"version":3,"file":"ViewOptionsMenu.js","sourceRoot":"","sources":["../../../../src/react/components/DataTable/ViewOptionsMenu.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAO,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAA8B;IAC5F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;IAEpE,OAAO,CACL,KAAC,OAAO,IACN,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,OAAO,EACrB,KAAK,EAAC,KAAK,EACX,KAAK,EAAE,KAAK,EACZ,OAAO,EACL,MAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAChD,QAAQ,EAAE,KAAC,QAAQ,KAAG,EACtB,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC,CAAC,KAAK,aAEnE,KAAK,EACL,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,eAAM,SAAS,EAAC,6FAA6F,YAC1G,WAAW,GACP,CACR,CAAC,CAAC,CAAC,IAAI,IACD,YAGX,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAM,SAAS,EAAC,eAAe,wBAAe,EAC9C,KAAC,eAAe,kBACH,iBAAiB,EAC5B,cAAc,EAAC,UAAU,EACzB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC3B,GAAG,EAAE,GAAG,CAAC,EAAE;wBACX,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,EAAE;wBAC1C,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE;qBAC5B,CAAC,CAAC,EACH,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,EAC3D,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,EACtD,YAAY,EAAE,GAAG,EAAE;wBACjB,8DAA8D;wBAC9D,oEAAoE;wBACpE,kEAAkE;wBAClE,sCAAsC;wBACtC,KAAK,MAAM,GAAG,IAAI,OAAO;4BAAE,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACzD,CAAC,GACD,IACE,GACE,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ViewOptionsMenu.js","sourceRoot":"","sources":["../../../../src/react/components/DataTable/ViewOptionsMenu.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAO,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAA8B;IAC5F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;IAEpE,OAAO,CACL,KAAC,OAAO,IACN,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,OAAO,EACrB,KAAK,EAAC,KAAK,EACX,KAAK,EAAE,KAAK,EACZ,OAAO,EACL,MAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAChD,QAAQ,EAAE,KAAC,QAAQ,KAAG,EACtB,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC,CAAC,KAAK,aAEnE,KAAK,EACL,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,eAAM,SAAS,EAAC,uGAAuG,YACpH,WAAW,GACP,CACR,CAAC,CAAC,CAAC,IAAI,IACD,YAGX,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAM,SAAS,EAAC,eAAe,wBAAe,EAC9C,KAAC,eAAe,kBACH,iBAAiB,EAC5B,cAAc,EAAC,UAAU,EACzB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC3B,GAAG,EAAE,GAAG,CAAC,EAAE;wBACX,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,EAAE;wBAC1C,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE;qBAC5B,CAAC,CAAC,EACH,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,EAC3D,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,EACtD,YAAY,EAAE,GAAG,EAAE;wBACjB,8DAA8D;wBAC9D,oEAAoE;wBACpE,kEAAkE;wBAClE,sCAAsC;wBACtC,KAAK,MAAM,GAAG,IAAI,OAAO;4BAAE,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACzD,CAAC,GACD,IACE,GACE,CACX,CAAC;AACJ,CAAC"}
@@ -45,6 +45,6 @@ export function SearchInput({ value, onChange, syntax, showSyntaxBadge = true, c
45
45
  const pattern = useMemo(() => parseSearchPattern(value, syntax === false ? PLAIN_ONLY : syntax), [value, syntax]);
46
46
  const badge = showSyntaxBadge ? badgeFor(pattern) : null;
47
47
  const invalid = pattern.kind === 'invalid';
48
- return (_jsxs("div", { className: cn('relative min-w-0', className), children: [_jsx(Search, { "aria-hidden": true, className: '-translate-y-1/2 pointer-events-none absolute top-1/2 left-2.5 size-4 text-muted-foreground' }), _jsx(Input, { ...inputProps, type: 'search', value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, "aria-label": ariaLabel ?? (typeof placeholder === 'string' ? placeholder : 'Search'), "aria-invalid": invalid || undefined, className: cn('pl-8', badge && 'pr-9', inputClassName) }), badge ? (_jsx(Tooltip, { content: badge.tip, side: 'bottom', multiline: true, children: _jsx("span", { role: 'img', "aria-label": badge.label, "data-testid": 'search-syntax-badge', "data-kind": pattern.kind, className: cn('-translate-y-1/2 absolute top-1/2 right-2 inline-flex size-6 items-center justify-center rounded-full', invalid ? 'bg-destructive/15 text-destructive' : 'bg-primary/15 text-primary'), children: _jsx(badge.icon, { className: 'size-3.5', "aria-hidden": true }) }) })) : null] }));
48
+ return (_jsxs("div", { className: cn('relative min-w-0', className), children: [_jsx(Search, { "aria-hidden": true, className: '-translate-y-1/2 pointer-events-none absolute top-1/2 left-2.5 size-4 text-muted-foreground' }), _jsx(Input, { ...inputProps, type: 'search', value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, "aria-label": ariaLabel ?? (typeof placeholder === 'string' ? placeholder : 'Search'), "aria-invalid": invalid || undefined, className: cn('pl-8', badge && 'pr-9', inputClassName) }), badge ? (_jsx(Tooltip, { content: badge.tip, side: 'bottom', multiline: true, children: _jsx("span", { role: 'img', "aria-label": badge.label, "data-testid": 'search-syntax-badge', "data-kind": pattern.kind, className: cn('-translate-y-1/2 absolute top-1/2 right-2 inline-flex size-6 items-center justify-center rounded-full', invalid ? 'bg-destructive/15 text-destructive' : 'bg-accent/15 text-accent-strong'), children: _jsx(badge.icon, { className: 'size-3.5', "aria-hidden": true }) }) })) : null] }));
49
49
  }
50
50
  //# sourceMappingURL=SearchInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/react/components/SearchInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/react/components/SearchInput.tsx"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  * after an app's responsive variant (task 2124). An app that imports every area gets exactly
19
19
  * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
20
20
  * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
21
- * 125 candidate(s).
21
+ * 128 candidate(s).
22
22
  *
23
23
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
24
24
  * `bun run build` runs. The map of what is in which area, and why the areas are
@@ -27,23 +27,23 @@
27
27
  @source inline("-m-1 -mt-6 -mx-1 -my-2.5 @3xl:block @3xl:hidden @xl:block @xl:hidden [&_svg]:size-3");
28
28
  @source inline("[overflow-wrap:anywhere] active:cursor-grabbing appearance appearance-none");
29
29
  @source inline("bg-[var(--cb-frozen-bg)] bg-card/95 bg-gradient-to-t bg-muted/30 bg-muted/40 bg-muted/50");
30
- @source inline("border-0 border-field-error border-l border-r cursor-grab cursor-not-allowed");
31
- @source inline("data-[ending-style]:opacity-0 data-[ending-style]:scale-95 data-[highlighted]:bg-accent/10");
32
- @source inline("data-[highlighted]:text-accent-strong data-[starting-style]:opacity-0");
33
- @source inline("data-[starting-style]:scale-95 data-[state=closed]:slide-out-to-bottom");
34
- @source inline("data-[state=closed]:slide-out-to-left data-[state=closed]:slide-out-to-right");
35
- @source inline("data-[state=open]:slide-in-from-bottom data-[state=open]:slide-in-from-left");
36
- @source inline("data-[state=open]:slide-in-from-right disabled:opacity-40 duration duration-100 fade-in");
37
- @source inline("focus-visible:bg-muted focus-visible:ring-field-ring/40 focus-within:border-field-ring");
38
- @source inline("focus-within:ring-2 focus-within:ring-field-ring/30 font-sans from-card h-[420px]");
39
- @source inline("has-[[aria-invalid=true]]:border-field-error hover:bg-background hover:bg-border");
40
- @source inline("hover:bg-muted/40 hover:border-field-ring hover:text-warning italic justify-self-end");
41
- @source inline("last:border-0 left-0 left-2.5 line-clamp-2 list-none max-h-64 max-h-[22rem] max-h-[40dvh]");
42
- @source inline("max-h-[65dvh] max-h-[85dvh] max-w-32 max-w-36 max-w-48 max-w-[180px] max-w-[240px] min-h-20");
43
- @source inline("min-w-24 min-w-52 min-w-[5rem] min-w-[var(--anchor-width)] ml-1.5 mr-2 mt-1.5 mt-3 mt-4");
30
+ @source inline("border-0 border-accent-solid border-accent/60 border-field-error border-l border-r cursor-grab");
31
+ @source inline("cursor-not-allowed data-[ending-style]:opacity-0 data-[ending-style]:scale-95");
32
+ @source inline("data-[highlighted]:bg-accent/10 data-[highlighted]:text-accent-strong");
33
+ @source inline("data-[starting-style]:opacity-0 data-[starting-style]:scale-95");
34
+ @source inline("data-[state=closed]:slide-out-to-bottom data-[state=closed]:slide-out-to-left");
35
+ @source inline("data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-bottom");
36
+ @source inline("data-[state=open]:slide-in-from-left data-[state=open]:slide-in-from-right disabled:opacity-40");
37
+ @source inline("duration duration-100 fade-in focus-visible:bg-muted focus-visible:ring-field-ring/40");
38
+ @source inline("focus-within:border-field-ring focus-within:ring-2 focus-within:ring-field-ring/30 font-sans");
39
+ @source inline("from-card h-[420px] has-[[aria-invalid=true]]:border-field-error hover:bg-background");
40
+ @source inline("hover:bg-border hover:bg-muted/40 hover:border-field-ring hover:text-warning italic");
41
+ @source inline("justify-self-end last:border-0 left-0 left-2.5 line-clamp-2 list-none max-h-64 max-h-[22rem]");
42
+ @source inline("max-h-[40dvh] max-h-[65dvh] max-h-[85dvh] max-w-32 max-w-36 max-w-48 max-w-[180px] max-w-[240px]");
43
+ @source inline("min-h-20 min-w-24 min-w-52 min-w-[5rem] min-w-[var(--anchor-width)] ml-1.5 mr-2 mt-1.5 mt-3 mt-4");
44
44
  @source inline("not-italic ordinal pb-1.5 pl-1.5 pl-2 pr-0.5 pr-1 pr-10 pr-16 pr-3 pr-9 pt-1 resize-none");
45
45
  @source inline("resize-y right-3 ring-field-error/30 rounded-l-xl rounded-r-xl rounded-t-xl self-center");
46
46
  @source inline("self-stretch shadow-[1px_0_0_0_var(--color-border)] shrink-[2] size-2 size-7 slide-in-from-top-1");
47
- @source inline("table-fixed text-field-placeholder text-muted-foreground/60 text-right text-success text-warning");
48
- @source inline("text-xl to-transparent top-2 top-3 tracking-wider transition-[transform,opacity] w-20 w-28 w-36");
49
- @source inline("w-40 w-[352px]");
47
+ @source inline("table-fixed text-accent-solid-foreground text-field-placeholder text-muted-foreground/60");
48
+ @source inline("text-right text-success text-warning text-xl to-transparent top-2 top-3 tracking-wider");
49
+ @source inline("transition-[transform,opacity] w-20 w-28 w-36 w-40 w-[352px]");
@@ -18,7 +18,7 @@
18
18
  * after an app's responsive variant (task 2124). An app that imports every area gets exactly
19
19
  * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
20
20
  * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
21
- * 121 candidate(s).
21
+ * 124 candidate(s).
22
22
  *
23
23
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
24
24
  * `bun run build` runs. The map of what is in which area, and why the areas are
@@ -27,23 +27,23 @@
27
27
  @source inline("-m-1 -mt-6 -mx-1 -my-2.5 @3xl:block @3xl:hidden @xl:block @xl:hidden [&_svg]:size-3");
28
28
  @source inline("[overflow-wrap:anywhere] active:cursor-grabbing appearance appearance-none");
29
29
  @source inline("bg-[var(--cb-frozen-bg)] bg-card/95 bg-gradient-to-t bg-muted/30 bg-muted/50 border-0");
30
- @source inline("border-field-error border-l border-r cursor-grab cursor-not-allowed");
31
- @source inline("data-[ending-style]:opacity-0 data-[ending-style]:scale-95 data-[highlighted]:bg-accent/10");
32
- @source inline("data-[highlighted]:text-accent-strong data-[starting-style]:opacity-0");
33
- @source inline("data-[starting-style]:scale-95 data-[state=closed]:slide-out-to-bottom");
34
- @source inline("data-[state=closed]:slide-out-to-left data-[state=closed]:slide-out-to-right");
35
- @source inline("data-[state=open]:slide-in-from-bottom data-[state=open]:slide-in-from-left");
36
- @source inline("data-[state=open]:slide-in-from-right disabled:opacity-40 duration duration-100 fade-in");
37
- @source inline("focus-visible:bg-muted focus-visible:ring-field-ring/40 focus-within:border-field-ring");
38
- @source inline("focus-within:ring-2 focus-within:ring-field-ring/30 font-sans from-card h-[420px]");
39
- @source inline("has-[[aria-invalid=true]]:border-field-error hover:bg-background hover:bg-border");
40
- @source inline("hover:bg-muted/40 hover:border-field-ring hover:text-warning justify-self-end last:border-0");
41
- @source inline("left-0 left-2.5 line-clamp-2 list-none max-h-64 max-h-[22rem] max-h-[40dvh] max-h-[65dvh]");
42
- @source inline("max-h-[85dvh] max-w-32 max-w-36 max-w-48 max-w-[180px] max-w-[240px] min-h-20 min-w-24 min-w-52");
43
- @source inline("min-w-[var(--anchor-width)] ml-1.5 mr-2 mt-1.5 mt-3 mt-4 not-italic ordinal pb-1.5 pl-1.5 pl-2");
44
- @source inline("pr-0.5 pr-1 pr-10 pr-16 pr-3 pr-9 pt-1 resize-none resize-y right-3 ring-field-error/30");
45
- @source inline("rounded-l-xl rounded-r-xl rounded-t-xl self-center self-stretch");
30
+ @source inline("border-accent-solid border-accent/60 border-field-error border-l border-r cursor-grab");
31
+ @source inline("cursor-not-allowed data-[ending-style]:opacity-0 data-[ending-style]:scale-95");
32
+ @source inline("data-[highlighted]:bg-accent/10 data-[highlighted]:text-accent-strong");
33
+ @source inline("data-[starting-style]:opacity-0 data-[starting-style]:scale-95");
34
+ @source inline("data-[state=closed]:slide-out-to-bottom data-[state=closed]:slide-out-to-left");
35
+ @source inline("data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-bottom");
36
+ @source inline("data-[state=open]:slide-in-from-left data-[state=open]:slide-in-from-right disabled:opacity-40");
37
+ @source inline("duration duration-100 fade-in focus-visible:bg-muted focus-visible:ring-field-ring/40");
38
+ @source inline("focus-within:border-field-ring focus-within:ring-2 focus-within:ring-field-ring/30 font-sans");
39
+ @source inline("from-card h-[420px] has-[[aria-invalid=true]]:border-field-error hover:bg-background");
40
+ @source inline("hover:bg-border hover:bg-muted/40 hover:border-field-ring hover:text-warning justify-self-end");
41
+ @source inline("last:border-0 left-0 left-2.5 line-clamp-2 list-none max-h-64 max-h-[22rem] max-h-[40dvh]");
42
+ @source inline("max-h-[65dvh] max-h-[85dvh] max-w-32 max-w-36 max-w-48 max-w-[180px] max-w-[240px] min-h-20");
43
+ @source inline("min-w-24 min-w-52 min-w-[var(--anchor-width)] ml-1.5 mr-2 mt-1.5 mt-3 mt-4 not-italic ordinal");
44
+ @source inline("pb-1.5 pl-1.5 pl-2 pr-0.5 pr-1 pr-10 pr-16 pr-3 pr-9 pt-1 resize-none resize-y right-3");
45
+ @source inline("ring-field-error/30 rounded-l-xl rounded-r-xl rounded-t-xl self-center self-stretch");
46
46
  @source inline("shadow-[1px_0_0_0_var(--color-border)] size-2 size-7 slide-in-from-top-1 table-fixed");
47
- @source inline("text-field-placeholder text-muted-foreground/60 text-right text-success text-warning text-xl");
48
- @source inline("to-transparent top-2 top-3 tracking-wider transition-[transform,opacity] w-20 w-28 w-36 w-40");
49
- @source inline("w-[352px]");
47
+ @source inline("text-accent-solid-foreground text-field-placeholder text-muted-foreground/60 text-right");
48
+ @source inline("text-success text-warning text-xl to-transparent top-2 top-3 tracking-wider");
49
+ @source inline("transition-[transform,opacity] w-20 w-28 w-36 w-40 w-[352px]");
@@ -18,14 +18,14 @@
18
18
  * after an app's responsive variant (task 2124). An app that imports every area gets exactly
19
19
  * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
20
20
  * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
21
- * 115 candidate(s).
21
+ * 116 candidate(s).
22
22
  *
23
23
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
24
24
  * `bun run build` runs. The map of what is in which area, and why the areas are
25
25
  * import closures rather than a hand-written list, is scripts/styleAreas.ts.
26
26
  */
27
27
  @source inline("-mx-1 [&::-webkit-scrollbar]:hidden [&_svg]:size-3 [scrollbar-width:none] appearance");
28
- @source inline("appearance-none bg-surface-sunken/80 bg-warning/10 border-accent border-border/40");
28
+ @source inline("appearance-none bg-accent/15 bg-surface-sunken/80 bg-warning/10 border-accent border-border/40");
29
29
  @source inline("border-field-error border-l border-r caret-transparent cursor-not-allowed cursor-text");
30
30
  @source inline("data-[ending-style]:opacity-0 data-[ending-style]:scale-95 data-[highlighted]:bg-accent/10");
31
31
  @source inline("data-[highlighted]:text-accent-strong data-[starting-style]:opacity-0");
@@ -1612,6 +1612,12 @@
1612
1612
  border-color: color-mix(in oklab, var(--accent) 50%, transparent);
1613
1613
  }
1614
1614
  }
1615
+ .border-accent\/60 {
1616
+ border-color: var(--accent);
1617
+ @supports (color: color-mix(in lab, red, red)) {
1618
+ border-color: color-mix(in oklab, var(--accent) 60%, transparent);
1619
+ }
1620
+ }
1615
1621
  .border-accent\/70 {
1616
1622
  border-color: var(--accent);
1617
1623
  @supports (color: color-mix(in lab, red, red)) {
@@ -2626,6 +2632,9 @@
2626
2632
  .text-accent {
2627
2633
  color: var(--accent);
2628
2634
  }
2635
+ .text-accent-solid-foreground {
2636
+ color: var(--accent-solid-foreground);
2637
+ }
2629
2638
  .text-accent-strong {
2630
2639
  color: var(--accent-strong);
2631
2640
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursedbelt",
3
- "version": "5.19.0",
3
+ "version": "5.19.1",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "description": "The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.",
@@ -106,7 +106,7 @@ export function ColumnChecklist({
106
106
  aria-hidden
107
107
  className={cn(
108
108
  'flex size-4 shrink-0 items-center justify-center rounded border',
109
- item.checked ? 'border-primary bg-primary text-primary-foreground' : 'border-border',
109
+ item.checked ? 'border-accent-solid bg-accent-solid text-accent-solid-foreground' : 'border-border',
110
110
  )}
111
111
  >
112
112
  {item.checked ? <Check className='size-3' /> : null}
@@ -111,7 +111,7 @@ export function SearchBox({
111
111
  'hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
112
112
  // Narrowed scope reads as ACTIVE state, not as another grey
113
113
  // control — the whole point is that it cannot hide.
114
- isAll ? 'text-muted-foreground' : 'border-primary/60 bg-primary/10 text-foreground',
114
+ isAll ? 'text-muted-foreground' : 'border-accent/60 bg-accent/10 text-foreground',
115
115
  )}
116
116
  >
117
117
  <span className='max-w-32 truncate'>{scopeLabel}</span>
@@ -119,7 +119,7 @@ export function TableFilterBuilder({
119
119
  >
120
120
  Filter
121
121
  {activeCount > 0 ? (
122
- <span className='ml-1.5 rounded-full bg-primary px-1.5 py-0.5 text-caption font-bold text-primary-foreground'>
122
+ <span className='ml-1.5 rounded-full bg-accent-solid px-1.5 py-0.5 text-caption font-bold text-accent-solid-foreground'>
123
123
  {activeCount}
124
124
  </span>
125
125
  ) : null}
@@ -47,7 +47,7 @@ export function ViewOptionsMenu<TRow>({ table, label = 'Columns' }: ViewOptionsM
47
47
  >
48
48
  {label}
49
49
  {hiddenCount > 0 ? (
50
- <span className='ml-1.5 rounded-full bg-primary px-1.5 py-0.5 text-caption font-bold text-primary-foreground'>
50
+ <span className='ml-1.5 rounded-full bg-accent-solid px-1.5 py-0.5 text-caption font-bold text-accent-solid-foreground'>
51
51
  {hiddenCount}
52
52
  </span>
53
53
  ) : null}
@@ -105,7 +105,7 @@ export function SearchInput({
105
105
  data-kind={pattern.kind}
106
106
  className={cn(
107
107
  '-translate-y-1/2 absolute top-1/2 right-2 inline-flex size-6 items-center justify-center rounded-full',
108
- invalid ? 'bg-destructive/15 text-destructive' : 'bg-primary/15 text-primary',
108
+ invalid ? 'bg-destructive/15 text-destructive' : 'bg-accent/15 text-accent-strong',
109
109
  )}
110
110
  >
111
111
  <badge.icon className='size-3.5' aria-hidden />
@@ -18,7 +18,7 @@
18
18
  * after an app's responsive variant (task 2124). An app that imports every area gets exactly
19
19
  * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
20
20
  * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
21
- * 125 candidate(s).
21
+ * 128 candidate(s).
22
22
  *
23
23
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
24
24
  * `bun run build` runs. The map of what is in which area, and why the areas are
@@ -27,23 +27,23 @@
27
27
  @source inline("-m-1 -mt-6 -mx-1 -my-2.5 @3xl:block @3xl:hidden @xl:block @xl:hidden [&_svg]:size-3");
28
28
  @source inline("[overflow-wrap:anywhere] active:cursor-grabbing appearance appearance-none");
29
29
  @source inline("bg-[var(--cb-frozen-bg)] bg-card/95 bg-gradient-to-t bg-muted/30 bg-muted/40 bg-muted/50");
30
- @source inline("border-0 border-field-error border-l border-r cursor-grab cursor-not-allowed");
31
- @source inline("data-[ending-style]:opacity-0 data-[ending-style]:scale-95 data-[highlighted]:bg-accent/10");
32
- @source inline("data-[highlighted]:text-accent-strong data-[starting-style]:opacity-0");
33
- @source inline("data-[starting-style]:scale-95 data-[state=closed]:slide-out-to-bottom");
34
- @source inline("data-[state=closed]:slide-out-to-left data-[state=closed]:slide-out-to-right");
35
- @source inline("data-[state=open]:slide-in-from-bottom data-[state=open]:slide-in-from-left");
36
- @source inline("data-[state=open]:slide-in-from-right disabled:opacity-40 duration duration-100 fade-in");
37
- @source inline("focus-visible:bg-muted focus-visible:ring-field-ring/40 focus-within:border-field-ring");
38
- @source inline("focus-within:ring-2 focus-within:ring-field-ring/30 font-sans from-card h-[420px]");
39
- @source inline("has-[[aria-invalid=true]]:border-field-error hover:bg-background hover:bg-border");
40
- @source inline("hover:bg-muted/40 hover:border-field-ring hover:text-warning italic justify-self-end");
41
- @source inline("last:border-0 left-0 left-2.5 line-clamp-2 list-none max-h-64 max-h-[22rem] max-h-[40dvh]");
42
- @source inline("max-h-[65dvh] max-h-[85dvh] max-w-32 max-w-36 max-w-48 max-w-[180px] max-w-[240px] min-h-20");
43
- @source inline("min-w-24 min-w-52 min-w-[5rem] min-w-[var(--anchor-width)] ml-1.5 mr-2 mt-1.5 mt-3 mt-4");
30
+ @source inline("border-0 border-accent-solid border-accent/60 border-field-error border-l border-r cursor-grab");
31
+ @source inline("cursor-not-allowed data-[ending-style]:opacity-0 data-[ending-style]:scale-95");
32
+ @source inline("data-[highlighted]:bg-accent/10 data-[highlighted]:text-accent-strong");
33
+ @source inline("data-[starting-style]:opacity-0 data-[starting-style]:scale-95");
34
+ @source inline("data-[state=closed]:slide-out-to-bottom data-[state=closed]:slide-out-to-left");
35
+ @source inline("data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-bottom");
36
+ @source inline("data-[state=open]:slide-in-from-left data-[state=open]:slide-in-from-right disabled:opacity-40");
37
+ @source inline("duration duration-100 fade-in focus-visible:bg-muted focus-visible:ring-field-ring/40");
38
+ @source inline("focus-within:border-field-ring focus-within:ring-2 focus-within:ring-field-ring/30 font-sans");
39
+ @source inline("from-card h-[420px] has-[[aria-invalid=true]]:border-field-error hover:bg-background");
40
+ @source inline("hover:bg-border hover:bg-muted/40 hover:border-field-ring hover:text-warning italic");
41
+ @source inline("justify-self-end last:border-0 left-0 left-2.5 line-clamp-2 list-none max-h-64 max-h-[22rem]");
42
+ @source inline("max-h-[40dvh] max-h-[65dvh] max-h-[85dvh] max-w-32 max-w-36 max-w-48 max-w-[180px] max-w-[240px]");
43
+ @source inline("min-h-20 min-w-24 min-w-52 min-w-[5rem] min-w-[var(--anchor-width)] ml-1.5 mr-2 mt-1.5 mt-3 mt-4");
44
44
  @source inline("not-italic ordinal pb-1.5 pl-1.5 pl-2 pr-0.5 pr-1 pr-10 pr-16 pr-3 pr-9 pt-1 resize-none");
45
45
  @source inline("resize-y right-3 ring-field-error/30 rounded-l-xl rounded-r-xl rounded-t-xl self-center");
46
46
  @source inline("self-stretch shadow-[1px_0_0_0_var(--color-border)] shrink-[2] size-2 size-7 slide-in-from-top-1");
47
- @source inline("table-fixed text-field-placeholder text-muted-foreground/60 text-right text-success text-warning");
48
- @source inline("text-xl to-transparent top-2 top-3 tracking-wider transition-[transform,opacity] w-20 w-28 w-36");
49
- @source inline("w-40 w-[352px]");
47
+ @source inline("table-fixed text-accent-solid-foreground text-field-placeholder text-muted-foreground/60");
48
+ @source inline("text-right text-success text-warning text-xl to-transparent top-2 top-3 tracking-wider");
49
+ @source inline("transition-[transform,opacity] w-20 w-28 w-36 w-40 w-[352px]");
@@ -18,7 +18,7 @@
18
18
  * after an app's responsive variant (task 2124). An app that imports every area gets exactly
19
19
  * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
20
20
  * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
21
- * 121 candidate(s).
21
+ * 124 candidate(s).
22
22
  *
23
23
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
24
24
  * `bun run build` runs. The map of what is in which area, and why the areas are
@@ -27,23 +27,23 @@
27
27
  @source inline("-m-1 -mt-6 -mx-1 -my-2.5 @3xl:block @3xl:hidden @xl:block @xl:hidden [&_svg]:size-3");
28
28
  @source inline("[overflow-wrap:anywhere] active:cursor-grabbing appearance appearance-none");
29
29
  @source inline("bg-[var(--cb-frozen-bg)] bg-card/95 bg-gradient-to-t bg-muted/30 bg-muted/50 border-0");
30
- @source inline("border-field-error border-l border-r cursor-grab cursor-not-allowed");
31
- @source inline("data-[ending-style]:opacity-0 data-[ending-style]:scale-95 data-[highlighted]:bg-accent/10");
32
- @source inline("data-[highlighted]:text-accent-strong data-[starting-style]:opacity-0");
33
- @source inline("data-[starting-style]:scale-95 data-[state=closed]:slide-out-to-bottom");
34
- @source inline("data-[state=closed]:slide-out-to-left data-[state=closed]:slide-out-to-right");
35
- @source inline("data-[state=open]:slide-in-from-bottom data-[state=open]:slide-in-from-left");
36
- @source inline("data-[state=open]:slide-in-from-right disabled:opacity-40 duration duration-100 fade-in");
37
- @source inline("focus-visible:bg-muted focus-visible:ring-field-ring/40 focus-within:border-field-ring");
38
- @source inline("focus-within:ring-2 focus-within:ring-field-ring/30 font-sans from-card h-[420px]");
39
- @source inline("has-[[aria-invalid=true]]:border-field-error hover:bg-background hover:bg-border");
40
- @source inline("hover:bg-muted/40 hover:border-field-ring hover:text-warning justify-self-end last:border-0");
41
- @source inline("left-0 left-2.5 line-clamp-2 list-none max-h-64 max-h-[22rem] max-h-[40dvh] max-h-[65dvh]");
42
- @source inline("max-h-[85dvh] max-w-32 max-w-36 max-w-48 max-w-[180px] max-w-[240px] min-h-20 min-w-24 min-w-52");
43
- @source inline("min-w-[var(--anchor-width)] ml-1.5 mr-2 mt-1.5 mt-3 mt-4 not-italic ordinal pb-1.5 pl-1.5 pl-2");
44
- @source inline("pr-0.5 pr-1 pr-10 pr-16 pr-3 pr-9 pt-1 resize-none resize-y right-3 ring-field-error/30");
45
- @source inline("rounded-l-xl rounded-r-xl rounded-t-xl self-center self-stretch");
30
+ @source inline("border-accent-solid border-accent/60 border-field-error border-l border-r cursor-grab");
31
+ @source inline("cursor-not-allowed data-[ending-style]:opacity-0 data-[ending-style]:scale-95");
32
+ @source inline("data-[highlighted]:bg-accent/10 data-[highlighted]:text-accent-strong");
33
+ @source inline("data-[starting-style]:opacity-0 data-[starting-style]:scale-95");
34
+ @source inline("data-[state=closed]:slide-out-to-bottom data-[state=closed]:slide-out-to-left");
35
+ @source inline("data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-bottom");
36
+ @source inline("data-[state=open]:slide-in-from-left data-[state=open]:slide-in-from-right disabled:opacity-40");
37
+ @source inline("duration duration-100 fade-in focus-visible:bg-muted focus-visible:ring-field-ring/40");
38
+ @source inline("focus-within:border-field-ring focus-within:ring-2 focus-within:ring-field-ring/30 font-sans");
39
+ @source inline("from-card h-[420px] has-[[aria-invalid=true]]:border-field-error hover:bg-background");
40
+ @source inline("hover:bg-border hover:bg-muted/40 hover:border-field-ring hover:text-warning justify-self-end");
41
+ @source inline("last:border-0 left-0 left-2.5 line-clamp-2 list-none max-h-64 max-h-[22rem] max-h-[40dvh]");
42
+ @source inline("max-h-[65dvh] max-h-[85dvh] max-w-32 max-w-36 max-w-48 max-w-[180px] max-w-[240px] min-h-20");
43
+ @source inline("min-w-24 min-w-52 min-w-[var(--anchor-width)] ml-1.5 mr-2 mt-1.5 mt-3 mt-4 not-italic ordinal");
44
+ @source inline("pb-1.5 pl-1.5 pl-2 pr-0.5 pr-1 pr-10 pr-16 pr-3 pr-9 pt-1 resize-none resize-y right-3");
45
+ @source inline("ring-field-error/30 rounded-l-xl rounded-r-xl rounded-t-xl self-center self-stretch");
46
46
  @source inline("shadow-[1px_0_0_0_var(--color-border)] size-2 size-7 slide-in-from-top-1 table-fixed");
47
- @source inline("text-field-placeholder text-muted-foreground/60 text-right text-success text-warning text-xl");
48
- @source inline("to-transparent top-2 top-3 tracking-wider transition-[transform,opacity] w-20 w-28 w-36 w-40");
49
- @source inline("w-[352px]");
47
+ @source inline("text-accent-solid-foreground text-field-placeholder text-muted-foreground/60 text-right");
48
+ @source inline("text-success text-warning text-xl to-transparent top-2 top-3 tracking-wider");
49
+ @source inline("transition-[transform,opacity] w-20 w-28 w-36 w-40 w-[352px]");
@@ -18,14 +18,14 @@
18
18
  * after an app's responsive variant (task 2124). An app that imports every area gets exactly
19
19
  * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
20
20
  * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
21
- * 115 candidate(s).
21
+ * 116 candidate(s).
22
22
  *
23
23
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
24
24
  * `bun run build` runs. The map of what is in which area, and why the areas are
25
25
  * import closures rather than a hand-written list, is scripts/styleAreas.ts.
26
26
  */
27
27
  @source inline("-mx-1 [&::-webkit-scrollbar]:hidden [&_svg]:size-3 [scrollbar-width:none] appearance");
28
- @source inline("appearance-none bg-surface-sunken/80 bg-warning/10 border-accent border-border/40");
28
+ @source inline("appearance-none bg-accent/15 bg-surface-sunken/80 bg-warning/10 border-accent border-border/40");
29
29
  @source inline("border-field-error border-l border-r caret-transparent cursor-not-allowed cursor-text");
30
30
  @source inline("data-[ending-style]:opacity-0 data-[ending-style]:scale-95 data-[highlighted]:bg-accent/10");
31
31
  @source inline("data-[highlighted]:text-accent-strong data-[starting-style]:opacity-0");
@@ -1612,6 +1612,12 @@
1612
1612
  border-color: color-mix(in oklab, var(--accent) 50%, transparent);
1613
1613
  }
1614
1614
  }
1615
+ .border-accent\/60 {
1616
+ border-color: var(--accent);
1617
+ @supports (color: color-mix(in lab, red, red)) {
1618
+ border-color: color-mix(in oklab, var(--accent) 60%, transparent);
1619
+ }
1620
+ }
1615
1621
  .border-accent\/70 {
1616
1622
  border-color: var(--accent);
1617
1623
  @supports (color: color-mix(in lab, red, red)) {
@@ -2626,6 +2632,9 @@
2626
2632
  .text-accent {
2627
2633
  color: var(--accent);
2628
2634
  }
2635
+ .text-accent-solid-foreground {
2636
+ color: var(--accent-solid-foreground);
2637
+ }
2629
2638
  .text-accent-strong {
2630
2639
  color: var(--accent-strong);
2631
2640
  }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * A colour utility must name a colour Tailwind can GENERATE — not merely a CSS variable
3
+ * that exists.
4
+ *
5
+ * ── The measurement this exists because of (2026-09-28) ─────────────────────
6
+ * `theme.css` defines `--primary` and `--primary-foreground` as ALIASES — `var(--primary)`
7
+ * works — but registers no `--color-primary` in its `@theme`, so Tailwind emits nothing for
8
+ * `bg-primary`, `text-primary` or `border-primary/60`. Nothing fails: the class is simply
9
+ * absent from the built CSS. Read off Chromium in flix the day SearchInput shipped, its
10
+ * badge's background was `rgba(0, 0, 0, 0)`. The same vocabulary had been in the DataTable
11
+ * for weeks — the column checklist's CHECKED box had no fill, the Filter and Columns count
12
+ * badges no background, and SearchBox's "narrowed scope" highlight (whose own comment says
13
+ * "the whole point is that it cannot hide") was invisible. Five files, one gap.
14
+ *
15
+ * ── The rule ─────────────────────────────────────────────────────────────────
16
+ * For every colour-taking prefix (`bg-`, `text-`, `border-`, `ring-`, …) followed by a
17
+ * name that `theme.css` defines as a custom property, the `@theme` block must register
18
+ * `--<namespace>-<name>` for it. A name `theme.css` never defines (`text-sm`, `border-2`)
19
+ * is Tailwind's own and out of scope; a Tailwind PALETTE colour is `no-tailwind-palette`'s.
20
+ */
21
+ import { describe, expect, test } from 'bun:test';
22
+ import { readdirSync, readFileSync, statSync } from 'node:fs';
23
+ import { join } from 'node:path';
24
+
25
+ const ROOT = join(import.meta.dir, 'react');
26
+ const THEME = readFileSync(join(import.meta.dir, 'theme.css'), 'utf8');
27
+
28
+ const themeBlocks = [...THEME.matchAll(/@theme[^{]*\{([\s\S]*?)\n\}/g)].map((m) => m[1] ?? '');
29
+ /** Every `--x` the `@theme` blocks register — what Tailwind can make utilities from. */
30
+ const REGISTERED = new Set(themeBlocks.flatMap((b) => [...b.matchAll(/--([a-z0-9-]+)\s*:/g)].map((m) => m[1] ?? '')));
31
+ /** Every custom property the file defines anywhere — the names a utility could be MISTAKEN for. */
32
+ const DEFINED = new Set([...THEME.matchAll(/--([a-z0-9-]+)\s*:/g)].map((m) => m[1] ?? ''));
33
+
34
+ const PREFIXES = ['bg', 'text', 'border', 'ring', 'outline', 'fill', 'stroke', 'from', 'via', 'to', 'divide', 'decoration', 'placeholder', 'caret', 'ring-offset'];
35
+ const CLASS = new RegExp(`(?<![\\w-])(${PREFIXES.join('|')})-([a-z][a-z0-9-]*?)(?:/\\d+)?(?![\\w/-])`, 'g');
36
+
37
+ /** The utilities in `source` that name a defined-but-unregistered colour. */
38
+ export function unresolvedColours(source: string): string[] {
39
+ const out: string[] = [];
40
+ for (const m of source.matchAll(CLASS)) {
41
+ const name = m[2] ?? '';
42
+ if (!DEFINED.has(name)) continue;
43
+ const ok = REGISTERED.has(`color-${name}`) || REGISTERED.has(`${m[1]}-${name}`);
44
+ if (!ok) out.push(m[0]);
45
+ }
46
+ return out;
47
+ }
48
+
49
+ function files(dir: string): string[] {
50
+ return readdirSync(dir).flatMap((name) => {
51
+ const path = join(dir, name);
52
+ if (statSync(path).isDirectory()) return files(path);
53
+ return /\.tsx?$/.test(name) && !/\.spec\.tsx?$/.test(name) ? [path] : [];
54
+ });
55
+ }
56
+
57
+ describe('every colour utility the belt uses resolves to a registered theme colour', () => {
58
+ test('the check sees the 2026-09-28 shape, and passes the canonical names', () => {
59
+ expect(REGISTERED.has('color-accent-solid')).toBe(true);
60
+ expect(DEFINED.has('primary')).toBe(true);
61
+ expect(unresolvedColours("'border-primary/60 bg-primary/10 text-primary-foreground'")).toEqual([
62
+ 'border-primary/60',
63
+ 'bg-primary/10',
64
+ 'text-primary-foreground',
65
+ ]);
66
+ expect(unresolvedColours("'bg-accent/15 text-accent-strong border-border text-caption text-sm'")).toEqual([]);
67
+ });
68
+
69
+ test('no component names one', () => {
70
+ const found = files(ROOT).flatMap((path) =>
71
+ unresolvedColours(readFileSync(path, 'utf8')).map((cls) => `${path.slice(ROOT.length + 1)}: ${cls}`),
72
+ );
73
+ expect(found).toEqual([]);
74
+ });
75
+ });