cursedbelt 5.63.0 → 5.66.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.
Files changed (104) hide show
  1. package/dist/looks.css +237 -0
  2. package/dist/react/components/Accordion.d.ts.map +1 -1
  3. package/dist/react/components/Accordion.js +6 -1
  4. package/dist/react/components/Accordion.js.map +1 -1
  5. package/dist/react/components/Button.d.ts.map +1 -1
  6. package/dist/react/components/Button.js +26 -5
  7. package/dist/react/components/Button.js.map +1 -1
  8. package/dist/react/components/CardTapTarget.d.ts.map +1 -1
  9. package/dist/react/components/CardTapTarget.js +5 -1
  10. package/dist/react/components/CardTapTarget.js.map +1 -1
  11. package/dist/react/components/ColorField.js +1 -1
  12. package/dist/react/components/ColorField.js.map +1 -1
  13. package/dist/react/components/ComboboxField.js +1 -1
  14. package/dist/react/components/ComboboxField.js.map +1 -1
  15. package/dist/react/components/CopyButton.d.ts.map +1 -1
  16. package/dist/react/components/CopyButton.js +2 -1
  17. package/dist/react/components/CopyButton.js.map +1 -1
  18. package/dist/react/components/SecretInput.js +1 -1
  19. package/dist/react/components/SecretInput.js.map +1 -1
  20. package/dist/react/components/TagsInput.js +1 -1
  21. package/dist/react/components/TagsInput.js.map +1 -1
  22. package/dist/react/components/auth/SignInCard.d.ts +9 -1
  23. package/dist/react/components/auth/SignInCard.d.ts.map +1 -1
  24. package/dist/react/components/auth/SignInCard.js +2 -2
  25. package/dist/react/components/auth/SignInCard.js.map +1 -1
  26. package/dist/react/components/searchInput.css +4 -2
  27. package/dist/react/index.d.ts +3 -0
  28. package/dist/react/index.d.ts.map +1 -1
  29. package/dist/react/index.js +3 -0
  30. package/dist/react/index.js.map +1 -1
  31. package/dist/react/lib/field.d.ts +2 -2
  32. package/dist/react/lib/field.d.ts.map +1 -1
  33. package/dist/react/lib/field.js +9 -3
  34. package/dist/react/lib/field.js.map +1 -1
  35. package/dist/react/look/LookPicker.d.ts +27 -0
  36. package/dist/react/look/LookPicker.d.ts.map +1 -0
  37. package/dist/react/look/LookPicker.js +29 -0
  38. package/dist/react/look/LookPicker.js.map +1 -0
  39. package/dist/react/look/lookStore.d.ts +88 -0
  40. package/dist/react/look/lookStore.d.ts.map +1 -0
  41. package/dist/react/look/lookStore.js +120 -0
  42. package/dist/react/look/lookStore.js.map +1 -0
  43. package/dist/react/look/useLook.d.ts +22 -0
  44. package/dist/react/look/useLook.d.ts.map +1 -0
  45. package/dist/react/look/useLook.js +16 -0
  46. package/dist/react/look/useLook.js.map +1 -0
  47. package/dist/react/media-gallery/MediaGallery.d.ts +22 -1
  48. package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
  49. package/dist/react/media-gallery/MediaGallery.js +13 -3
  50. package/dist/react/media-gallery/MediaGallery.js.map +1 -1
  51. package/dist/react/nav/TopBar.d.ts.map +1 -1
  52. package/dist/react/nav/TopBar.js +13 -2
  53. package/dist/react/nav/TopBar.js.map +1 -1
  54. package/dist/styles-areas/calendar.css +2 -2
  55. package/dist/styles-areas/chat.css +7 -7
  56. package/dist/styles-areas/core.css +62 -59
  57. package/dist/styles-areas/emoji.css +3 -3
  58. package/dist/styles-areas/folder-tree.css +3 -3
  59. package/dist/styles-areas/layout-engine.css +6 -6
  60. package/dist/styles-areas/media-gallery.css +3 -3
  61. package/dist/styles-areas/media.css +4 -4
  62. package/dist/styles-areas/overlays.css +4 -4
  63. package/dist/styles-areas/workbench.css +7 -7
  64. package/dist/styles-utilities.css +55 -2
  65. package/dist/theme.css +3 -0
  66. package/package.json +2 -1
  67. package/scripts/styleAreas.ts +2 -0
  68. package/src/looks.css +237 -0
  69. package/src/looks.spec.ts +128 -0
  70. package/src/react/components/Accordion.tsx +8 -1
  71. package/src/react/components/Button.spec.tsx +15 -0
  72. package/src/react/components/Button.tsx +27 -5
  73. package/src/react/components/CardTapTarget.tsx +4 -1
  74. package/src/react/components/ColorField.tsx +1 -1
  75. package/src/react/components/ComboboxField.tsx +1 -1
  76. package/src/react/components/CopyButton.tsx +2 -1
  77. package/src/react/components/SecretInput.tsx +1 -1
  78. package/src/react/components/TagsInput.tsx +1 -1
  79. package/src/react/components/auth/SignInCard.spec.tsx +9 -0
  80. package/src/react/components/auth/SignInCard.tsx +10 -1
  81. package/src/react/components/searchInput.css +4 -2
  82. package/src/react/index.ts +22 -0
  83. package/src/react/lib/field.ts +9 -3
  84. package/src/react/look/LookPicker.spec.tsx +40 -0
  85. package/src/react/look/LookPicker.tsx +112 -0
  86. package/src/react/look/lookStore.spec.ts +120 -0
  87. package/src/react/look/lookStore.ts +172 -0
  88. package/src/react/look/useLook.ts +37 -0
  89. package/src/react/media-gallery/MediaGallery.spec.tsx +65 -1
  90. package/src/react/media-gallery/MediaGallery.tsx +37 -2
  91. package/src/react/nav/TopBar.spec.tsx +34 -0
  92. package/src/react/nav/TopBar.tsx +22 -0
  93. package/src/styles-areas/calendar.css +2 -2
  94. package/src/styles-areas/chat.css +7 -7
  95. package/src/styles-areas/core.css +62 -59
  96. package/src/styles-areas/emoji.css +3 -3
  97. package/src/styles-areas/folder-tree.css +3 -3
  98. package/src/styles-areas/layout-engine.css +6 -6
  99. package/src/styles-areas/media-gallery.css +3 -3
  100. package/src/styles-areas/media.css +4 -4
  101. package/src/styles-areas/overlays.css +4 -4
  102. package/src/styles-areas/workbench.css +7 -7
  103. package/src/styles-utilities.css +55 -2
  104. package/src/theme.css +3 -0
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { ScrollArea } from '../components/ScrollArea.js';
3
3
  import { Tooltip } from '../components/Tooltip.js';
4
4
  import { useMediaQuery } from '../hooks/useMediaQuery.js';
@@ -53,7 +53,18 @@ const WIDE_QUERY = '(min-width: 768px)';
53
53
  export function TopBarPlaces({ items, iconOnly = false, phonePlaces = 'icons', linkComponent, navLabel = 'Places', }) {
54
54
  const fade = useScrollEdgeFade();
55
55
  const wide = useMediaQuery(WIDE_QUERY);
56
- return (_jsx("nav", { "aria-label": navLabel, "data-cb-topbar-nav": '', "data-cb-primary-nav": iconOnly ? undefined : '', "data-cb-nav-utility": iconOnly ? '' : undefined, className: cn('h-full min-w-0', phonePlaces === 'none' && !iconOnly && 'max-md:hidden'), style: fade.maskStyle, children: _jsx(ScrollArea, { axis: 'x', space: 'none', safeArea: false, scrollRef: fade.ref, onScroll: fade.onScroll, className: 'h-full w-full [scrollbar-width:none] [&::-webkit-scrollbar]:hidden', children: _jsx("div", { className: 'flex h-full w-max items-center gap-1', children: items.map((item) => (_jsx(TopBarLink, { item: item, hint: iconOnly || !wide, iconOnly: iconOnly, linkComponent: linkComponent }, item.id))) }) }) }));
56
+ /**
57
+ * NAV-14: the phone's top bar names the page. With `phonePlaces='none'` the places ride the
58
+ * bottom `PlaceBar` and the bar's centre was empty below 768px — a brand glyph, a bell and an
59
+ * avatar, and nothing saying where the reader is (family's 390 captures, forge task
60
+ * family-app-ux-overhaul, 2026-10-06). The active place's own word fills it; the strip of
61
+ * places is still rendered (hidden) so a router's primary nav keeps one DOM shape at every
62
+ * width, which is what the design audit and every app's selectors read. The title itself is
63
+ * NOT in the DOM from md up: the header's midline check measures every child of a zone, and a
64
+ * `display: none` span measures as a box at 0 (`e2e/app-shell.spec.ts`).
65
+ */
66
+ const current = phonePlaces === 'none' && !iconOnly && !wide ? items.find((item) => item.active) : undefined;
67
+ return (_jsxs(_Fragment, { children: [current ? (_jsx("span", { "data-cb-topbar-title": '', "aria-hidden": 'true', className: 'min-w-0 truncate text-sm font-semibold text-foreground md:hidden', children: current.label })) : null, _jsx("nav", { "aria-label": navLabel, "data-cb-topbar-nav": '', "data-cb-primary-nav": iconOnly ? undefined : '', "data-cb-nav-utility": iconOnly ? '' : undefined, className: cn('h-full min-w-0', phonePlaces === 'none' && !iconOnly && 'max-md:hidden'), style: fade.maskStyle, children: _jsx(ScrollArea, { axis: 'x', space: 'none', safeArea: false, scrollRef: fade.ref, onScroll: fade.onScroll, className: 'h-full w-full [scrollbar-width:none] [&::-webkit-scrollbar]:hidden', children: _jsx("div", { className: 'flex h-full w-max items-center gap-1', children: items.map((item) => (_jsx(TopBarLink, { item: item, hint: iconOnly || !wide, iconOnly: iconOnly, linkComponent: linkComponent }, item.id))) }) }) })] }));
57
68
  }
58
69
  function TopBarLink({ item, hint, iconOnly, linkComponent, }) {
59
70
  const Link = item.unavailable ? 'span' : (linkComponent ?? 'a');
@@ -1 +1 @@
1
- {"version":3,"file":"TopBar.js","sourceRoot":"","sources":["../../../src/react/nav/TopBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopBar.js","sourceRoot":"","sources":["../../../src/react/nav/TopBar.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
- * 78 candidate(s).
21
+ * 77 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
@@ -34,7 +34,7 @@
34
34
  @source inline("dark:text-rose-200 dark:text-sky-200 dark:text-slate-200 dark:text-teal-200 dark:text-violet-200");
35
35
  @source inline("focus:opacity-100 grid-cols-[repeat(7,minmax(0,1fr))] group-focus-within:opacity-100 h-3.5");
36
36
  @source inline("hover:bg-muted/30 hover:bg-muted/40 hover:border-border/80 last:border-r-0 line-through min-h-28");
37
- @source inline("min-h-40 opacity-85 outline-1 outline-dashed outline-tone-amber-ink p-1.5 sm:inline sm:min-h-0");
37
+ @source inline("min-h-40 opacity-85 outline-1 outline-dashed outline-tone-amber-ink sm:inline sm:min-h-0");
38
38
  @source inline("sm:min-h-24 sm:px-1.5 sm:text-xs text-accent-solid-foreground text-amber-900 text-blue-800");
39
39
  @source inline("text-emerald-800 text-green-800 text-purple-800 text-rose-800 text-sky-800 text-slate-800");
40
40
  @source inline("text-teal-800 text-tone-amber-ink text-violet-800 w-20 w-3.5");
@@ -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
- * 68 candidate(s).
21
+ * 67 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
@@ -28,9 +28,9 @@
28
28
  @source inline("bg-background/30 bg-black/10 bg-gradient-to-t border-border/40 bottom-3 col collapse");
29
29
  @source inline("dark:bg-white/10 first:mt-0 flex-row flex-row-reverse flex-shrink focus-visible:outline-2");
30
30
  @source inline("focus-visible:outline-offset-2 focus-visible:outline-ring from-surface h-105 h-3.5");
31
- @source inline("hover:bg-background/50 hover:border-border-strong hover:border-field-ring hover:opacity-80");
32
- @source inline("italic list-decimal list-disc max-w-4/5 min-h-20 min-w-16 ml-0.5 ml-1.5 mr-9 outline-2");
33
- @source inline("outline-accent outline-dashed pl-5 pointer-coarse:mr-12 pt-0.5 px-0.5 px-3.5 resize-none right-1");
34
- @source inline("rounded-2xl rounded-bl-md rounded-bl-sm rounded-br-md rounded-br-sm size-7");
35
- @source inline("text-[length:var(--text-code-block)] text-[length:var(--text-code-inline)] text-xl");
36
- @source inline("to-transparent top-1 underline-offset-2 w-1.5 w-3 w-3.5 w-40 w-48 w-56 w-88 z-[9]");
31
+ @source inline("hover:bg-background/50 hover:border-field-ring hover:opacity-80 italic list-decimal list-disc");
32
+ @source inline("max-w-4/5 min-h-20 min-w-16 ml-0.5 ml-1.5 mr-9 outline-2 outline-accent outline-dashed pl-5");
33
+ @source inline("pointer-coarse:mr-12 pt-0.5 px-0.5 px-3.5 resize-none right-1 rounded-2xl rounded-bl-md");
34
+ @source inline("rounded-bl-sm rounded-br-md rounded-br-sm size-7 text-[length:var(--text-code-block)]");
35
+ @source inline("text-[length:var(--text-code-inline)] text-xl to-transparent top-1 underline-offset-2 w-1.5 w-3");
36
+ @source inline("w-3.5 w-40 w-48 w-56 w-88 z-[9]");
@@ -15,7 +15,7 @@
15
15
  * after an app's responsive variant (task 2124). An app that imports every area gets exactly
16
16
  * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
17
17
  * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
18
- * 864 candidate(s).
18
+ * 879 candidate(s).
19
19
  *
20
20
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
21
21
  * `bun run build` runs. The map of what is in which area, and why the areas are
@@ -39,28 +39,29 @@
39
39
  @source inline("[&_[data-icon]]:text-warning [&_sup]:leading-none [&_svg]:shrink-0 [&_svg]:size-12");
40
40
  @source inline("[&_svg]:size-4 [&_svg]:size-5 [&_svg]:size-6 [--cbfk-sticky-top:-1rem]");
41
41
  @source inline("[-webkit-touch-callout:none] [overflow-clip-margin:calc(var(--spacing)*1)] a absolute act active");
42
- @source inline("active:bg-accent alert alert-icon align align-middle an animate-in");
43
- @source inline("animate-progress-indeterminate animate-pulse animate-spin aria");
42
+ @source inline("active:bg-accent active:scale-100 active:scale-[var(--press-scale)] alert alert-icon align");
43
+ @source inline("align-middle an animate-in animate-progress-indeterminate animate-pulse animate-spin aria");
44
44
  @source inline("aria-[invalid=true]:border-field-error aria-[invalid=true]:ring-field-error/30 aria-disabled");
45
- @source inline("aria-disabled:cursor-not-allowed aria-disabled:hover:bg-transparent aria-disabled:opacity-30");
46
- @source inline("aria-disabled:opacity-50 aria-disabled:pointer-events-none aria-pressed");
47
- @source inline("aria-pressed:bg-accent/10 aria-pressed:border aria-pressed:border-accent");
48
- @source inline("aria-pressed:text-accent auto auto-cols-fr b back backdrop backdrop-blur backdrop-blur-md");
49
- @source inline("backdrop-blur-sm bg bg-accent bg-accent-solid bg-accent/10 bg-accent/5 bg-background");
50
- @source inline("bg-background/80 bg-background/90 bg-background/95 bg-black/50 bg-border bg-border-strong");
51
- @source inline("bg-card bg-current bg-destructive bg-destructive-solid bg-destructive/15 bg-destructive/5");
52
- @source inline("bg-destructive/8 bg-emerald-100 bg-field-bg bg-muted bg-muted-foreground bg-muted-foreground/40");
53
- @source inline("bg-muted-foreground/50 bg-muted-foreground/60 bg-muted/20 bg-muted/40 bg-popover bg-popover!");
54
- @source inline("bg-success bg-success-solid bg-success/15 bg-success/5 bg-surface bg-surface-sunken");
55
- @source inline("bg-tone-amber-bg bg-tone-amber-fg bg-tone-cyan-bg bg-tone-cyan-fg bg-tone-emerald-bg");
56
- @source inline("bg-tone-emerald-fg bg-tone-fuchsia-bg bg-tone-fuchsia-fg bg-tone-lime-bg bg-tone-lime-fg");
57
- @source inline("bg-tone-orange-bg bg-tone-orange-fg bg-tone-purple-bg bg-tone-purple-fg bg-tone-rose-bg");
58
- @source inline("bg-tone-rose-fg bg-tone-sky-bg bg-tone-sky-fg bg-tone-slate-bg bg-tone-slate-fg bg-tone-teal-bg");
59
- @source inline("bg-tone-teal-fg bg-tone-violet-bg bg-tone-violet-fg bg-transparent bg-warning bg-warning/15");
60
- @source inline("bg-warning/5 bg-warning/8 bg-white block blur border border-0 border-accent border-accent/40");
61
- @source inline("border-accent/50 border-b border-b-0 border-b-2 border-b-[length:var(--status-glyph-h)]");
62
- @source inline("border-b-current border-border border-border! border-border-strong border-border/60");
63
- @source inline("border-collapse border-current border-destructive/30 border-destructive/40 border-destructive/50");
45
+ @source inline("aria-disabled:active:scale-100 aria-disabled:cursor-not-allowed");
46
+ @source inline("aria-disabled:hover:bg-transparent aria-disabled:opacity-30 aria-disabled:opacity-50");
47
+ @source inline("aria-disabled:pointer-events-none aria-pressed aria-pressed:bg-accent/10 aria-pressed:border");
48
+ @source inline("aria-pressed:border-accent aria-pressed:text-accent auto auto-cols-fr b back backdrop");
49
+ @source inline("backdrop-blur backdrop-blur-md backdrop-blur-sm bg bg-accent bg-accent-solid bg-accent/10");
50
+ @source inline("bg-accent/5 bg-background bg-background/80 bg-background/90 bg-background/95 bg-black/50");
51
+ @source inline("bg-border bg-border-strong bg-card bg-card-raised bg-current bg-destructive bg-destructive-solid");
52
+ @source inline("bg-destructive/15 bg-destructive/5 bg-destructive/8 bg-emerald-100 bg-field-bg bg-foreground/70");
53
+ @source inline("bg-muted bg-muted-foreground bg-muted-foreground/40 bg-muted-foreground/50");
54
+ @source inline("bg-muted-foreground/60 bg-muted/20 bg-muted/40 bg-popover bg-popover! bg-success");
55
+ @source inline("bg-success-solid bg-success/15 bg-success/5 bg-surface bg-surface-sunken bg-tone-amber-bg");
56
+ @source inline("bg-tone-amber-fg bg-tone-cyan-bg bg-tone-cyan-fg bg-tone-emerald-bg bg-tone-emerald-fg");
57
+ @source inline("bg-tone-fuchsia-bg bg-tone-fuchsia-fg bg-tone-lime-bg bg-tone-lime-fg bg-tone-orange-bg");
58
+ @source inline("bg-tone-orange-fg bg-tone-purple-bg bg-tone-purple-fg bg-tone-rose-bg bg-tone-rose-fg");
59
+ @source inline("bg-tone-sky-bg bg-tone-sky-fg bg-tone-slate-bg bg-tone-slate-fg bg-tone-teal-bg bg-tone-teal-fg");
60
+ @source inline("bg-tone-violet-bg bg-tone-violet-fg bg-transparent bg-warning bg-warning/15 bg-warning/5");
61
+ @source inline("bg-warning/8 bg-white block blur border border-0 border-accent border-accent/40 border-accent/50");
62
+ @source inline("border-b border-b-0 border-b-2 border-b-[length:var(--status-glyph-h)] border-b-current");
63
+ @source inline("border-border border-border! border-border-strong border-border/60 border-collapse");
64
+ @source inline("border-current border-destructive/30 border-destructive/40 border-destructive/50");
64
65
  @source inline("border-field-border border-rule border-success/30 border-success/40 border-success/50 border-t");
65
66
  @source inline("border-tone-sky-fg/30 border-tone-slate-fg/30 border-transparent border-warning/30");
66
67
  @source inline("border-warning/40 border-warning/50 border-x-4 border-x-transparent bot bottom bottom-0 break");
@@ -79,10 +80,10 @@
79
80
  @source inline("data-[state=active]:text-accent data-[state=active]:text-foreground");
80
81
  @source inline("data-[state=checked]:bg-accent-solid data-[state=checked]:bg-accent/10");
81
82
  @source inline("data-[state=checked]:border-accent data-[state=checked]:border-accent-solid");
82
- @source inline("data-[state=checked]:font-medium data-[state=checked]:ring-2 data-[state=checked]:ring-accent");
83
- @source inline("data-[state=checked]:text-white data-[state=checked]:translate-x-4");
84
- @source inline("data-[state=closed]:animate-collapsible-up data-[state=closed]:animate-out");
85
- @source inline("data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95");
83
+ @source inline("data-[state=checked]:font-medium data-[state=checked]:ring-1 data-[state=checked]:ring-2");
84
+ @source inline("data-[state=checked]:ring-accent data-[state=checked]:text-white");
85
+ @source inline("data-[state=checked]:translate-x-4 data-[state=closed]:animate-collapsible-up");
86
+ @source inline("data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95");
86
87
  @source inline("data-[state=indeterminate]:bg-accent-solid data-[state=indeterminate]:border-accent-solid");
87
88
  @source inline("data-[state=indeterminate]:text-white data-[state=open]:animate-collapsible-down");
88
89
  @source inline("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95");
@@ -90,7 +91,7 @@
90
91
  @source inline("disabled:bg-muted disabled:border-transparent disabled:cursor-not-allowed");
91
92
  @source inline("disabled:hover:bg-transparent disabled:hover:border-border disabled:hover:text-muted-foreground");
92
93
  @source inline("disabled:opacity-50 disabled:pointer-events-none disabled:text-muted-foreground div");
93
- @source inline("divide-border divide-y duration duration-200 duration-300 duration-[var(--duration-fast)] e");
94
+ @source inline("divide-border divide-y duration duration-200 duration-300 duration-[var(--duration-fast)] e ease");
94
95
  @source inline("ease-[var(--ease-out)] empty empty:hidden fade fade-out file file:bg-transparent file:border-0");
95
96
  @source inline("file:font-medium file:mr-3 file:text-foreground file:text-sm fill fill-[var(--color-popover)]");
96
97
  @source inline("fill-border fill-current filter fix fixed flex flex-1 flex-col flex-none flex-wrap focus");
@@ -108,19 +109,19 @@
108
109
  @source inline("grid-cols-[minmax(0,var(--property-label-w))_minmax(0,1fr)]");
109
110
  @source inline("grid-cols-[repeat(auto-fit,minmax(min(var(--cb-grid-min),100%),1fr))] grid-flow-col group");
110
111
  @source inline("group-active/sep:opacity-100 group-data-[density=compact]/properties:items-start");
111
- @source inline("group-data-[density=compact]/properties:min-h-6 group-data-[state=open]:rotate-90");
112
- @source inline("group-focus-visible/sep:opacity-100 group-hover group-hover/path:opacity-100");
113
- @source inline("group-hover/sep:opacity-100 group-hover:opacity-100 group/path group/properties group/sep grow h");
114
- @source inline("h-0.5 h-1 h-1.5 h-10 h-14 h-16 h-2 h-2.5 h-24 h-3 h-32 h-4 h-5 h-6 h-7 h-8 h-9");
115
- @source inline("h-[calc(100dvh-…)] h-[min(var(--region-h-lg),var(--region-h-phone))]");
112
+ @source inline("group-data-[density=compact]/properties:min-h-6 group-data-[state=checked]:opacity-100");
113
+ @source inline("group-data-[state=open]:rotate-90 group-focus-visible/sep:opacity-100 group-hover");
114
+ @source inline("group-hover/path:opacity-100 group-hover/sep:opacity-100 group-hover:opacity-100 group/path");
115
+ @source inline("group/properties group/sep grow h h-0.5 h-1 h-1.5 h-10 h-14 h-16 h-2 h-2.5 h-24 h-3 h-32 h-4 h-5");
116
+ @source inline("h-6 h-7 h-8 h-9 h-[calc(100dvh-…)] h-[min(var(--region-h-lg),var(--region-h-phone))]");
116
117
  @source inline("h-[min(var(--region-h-md),var(--region-h-phone))]");
117
118
  @source inline("h-[min(var(--region-h-sm),var(--region-h-phone))] h-[var(--control-h-lg)]");
118
119
  @source inline("h-[var(--control-h-md)] h-[var(--control-h-sm)] h-[var(--indicator-w)] h-auto h-full h-px hi hid");
119
120
  @source inline("hidden hover hover:bg-accent hover:bg-accent-solid-hover hover:bg-accent/10 hover:bg-accent/20");
120
121
  @source inline("hover:bg-border hover:bg-destructive-solid hover:bg-destructive-solid-hover");
121
122
  @source inline("hover:bg-destructive/10 hover:bg-muted hover:bg-success-solid-hover hover:bg-transparent");
122
- @source inline("hover:border-accent hover:border-destructive-solid hover:opacity-70 hover:text-accent");
123
- @source inline("hover:text-destructive hover:text-destructive-foreground hover:text-foreground");
123
+ @source inline("hover:border-accent hover:border-border-strong hover:border-destructive-solid hover:opacity-70");
124
+ @source inline("hover:text-accent hover:text-destructive hover:text-destructive-foreground hover:text-foreground");
124
125
  @source inline("hover:text-foreground! hover:underline i in inline inline-block inline-flex inline-grid inset");
125
126
  @source inline("inset-0 inset-x-0 inset-y-0 invisible is iso isolate it item items items-baseline items-center");
126
127
  @source inline("items-end items-start just justify-between justify-center justify-end justify-start l last");
@@ -139,29 +140,30 @@
139
140
  @source inline("md:grid-cols-4 md:inline md:w-1/3 md:w-2/5 min min-h-0 min-h-11 min-h-[1lh]");
140
141
  @source inline("min-h-[var(--control-h-lg)] min-h-[var(--control-h-md)] min-h-[var(--control-h-sm)] min-h-row");
141
142
  @source inline("min-w-0 min-w-11 min-w-32 min-w-[var(--radix-select-trigger-width)] ml-1 ml-auto motion");
142
- @source inline("motion-reduce:animate-none mt-0.5 mt-1 mt-2 mx-auto my my-1 object object-cover opacity");
143
- @source inline("opacity-0 opacity-30 opacity-40 opacity-50 opacity-60 opacity-70 out outline outline-none over");
144
- @source inline("overflow overflow-auto overflow-hidden overflow-x-auto overflow-x-clip overflow-y-auto");
145
- @source inline("overscroll-contain p p-0 p-0.5 p-1 p-2 p-3 p-4 p-6 p-[7px] p-[var(--panel-pad)] pause paused");
146
- @source inline("pb-0 pb-1 pb-2 pb-3 pb-4 pb-[max(env(safe-area-inset-bottom,0px),0.75rem)]");
147
- @source inline("pb-[var(--empty-lift)] pl-4 pl-8 place placeholder placeholder:text-field-placeholder point");
148
- @source inline("pointer pointer-coarse pointer-coarse:-m-2 pointer-coarse:data-[state=checked]:translate-x-8");
149
- @source inline("pointer-coarse:h-11 pointer-coarse:min-h-11 pointer-coarse:min-w-11 pointer-coarse:opacity-100");
150
- @source inline("pointer-coarse:size-5 pointer-coarse:size-9 pointer-coarse:w-11 pointer-coarse:w-18");
151
- @source inline("pointer-events pointer-events-auto pointer-events-none pr-8 pt-2 pt-3 px px-0 px-1 px-1.5 px-2");
152
- @source inline("px-2.5 px-3 px-4 px-5 px-6 px-row-x py-0 py-0.5 py-1 py-1.5 py-12 py-2 py-2.5 py-3 py-4 py-6");
153
- @source inline("py-[var(--panel-pad)] py-px py-row-y r re relative res resize right right-0 right-2 ring ring-2");
154
- @source inline("ring-background ro rotate-90 round rounded rounded-[calc(var(--radius-md)-0.25rem)]");
155
- @source inline("rounded-field rounded-full rounded-l-full rounded-lg rounded-md rounded-none rounded-r-full");
156
- @source inline("rounded-sm rounded-xl ru run running s select select-all select-none self-start shadow");
157
- @source inline("shadow-[var(--shadow-overlay)] shadow-[var(--shadow-popover)] shadow-none shadow-overlay");
158
- @source inline("shadow-raised shadow-sm shrink shrink-0 size size-0 size-1.5 size-10 size-12 size-14 size-2");
159
- @source inline("size-2.5 size-20 size-3 size-3.5 size-4 size-5 size-6 size-8 sm sm:-translate-x-1/2");
160
- @source inline("sm:-translate-y-1/2 sm:block sm:data-[state=closed]:zoom-out-95 sm:data-[state=open]:zoom-in-95");
161
- @source inline("sm:h-[var(--region-h-lg)] sm:h-[var(--region-h-md)] sm:h-[var(--region-h-sm)] sm:hidden");
162
- @source inline("sm:left-1/2 sm:max-h-[calc(100dvh-2rem)] sm:max-h-[min(90dvh,calc(100dvh-2rem))]");
163
- @source inline("sm:max-w-[calc(100vw-2rem)] sm:max-w-[var(--modal-w-lg)] sm:max-w-[var(--modal-w-md)]");
164
- @source inline("sm:max-w-[var(--modal-w-sm)] sm:p-4 sm:p-5 sm:p-8 sm:px-6 sm:rounded-xl sm:text-sm sm:top-1/2");
143
+ @source inline("motion-reduce:active:scale-100 motion-reduce:animate-none motion-reduce:transition-none mt-0.5");
144
+ @source inline("mt-1 mt-2 mx-auto my my-1 object object-cover opacity opacity-0 opacity-30 opacity-40 opacity-50");
145
+ @source inline("opacity-60 opacity-70 out outline outline-none over overflow overflow-auto overflow-hidden");
146
+ @source inline("overflow-x-auto overflow-x-clip overflow-y-auto overscroll-contain p p-0 p-0.5 p-1 p-1.5 p-2 p-3");
147
+ @source inline("p-4 p-6 p-[7px] p-[var(--panel-pad)] pause paused pb-0 pb-1 pb-2 pb-3 pb-4");
148
+ @source inline("pb-[max(env(safe-area-inset-bottom,0px),0.75rem)] pb-[var(--empty-lift)] pl-4 pl-8 place");
149
+ @source inline("placeholder placeholder:text-field-placeholder point pointer pointer-coarse pointer-coarse:-m-2");
150
+ @source inline("pointer-coarse:data-[state=checked]:translate-x-8 pointer-coarse:h-11 pointer-coarse:min-h-11");
151
+ @source inline("pointer-coarse:min-w-11 pointer-coarse:opacity-100 pointer-coarse:size-5 pointer-coarse:size-9");
152
+ @source inline("pointer-coarse:w-11 pointer-coarse:w-18 pointer-events pointer-events-auto pointer-events-none");
153
+ @source inline("pr-8 pt-2 pt-3 px px-0 px-1 px-1.5 px-2 px-2.5 px-3 px-4 px-5 px-6 px-row-x py-0 py-0.5 py-1");
154
+ @source inline("py-1.5 py-12 py-2 py-2.5 py-3 py-4 py-6 py-[var(--panel-pad)] py-px py-row-y r re relative res");
155
+ @source inline("resize right right-0 right-2 ring ring-2 ring-background ro rotate-90 round rounded");
156
+ @source inline("rounded-[calc(var(--radius-md)-0.25rem)] rounded-field rounded-full rounded-l-full rounded-lg");
157
+ @source inline("rounded-md rounded-none rounded-r-full rounded-sm rounded-xl ru run running s select select-all");
158
+ @source inline("select-none self-start shadow shadow-[var(--shadow-overlay)] shadow-[var(--shadow-popover)]");
159
+ @source inline("shadow-none shadow-overlay shadow-raised shadow-sm shrink shrink-0 size size-0 size-1.5 size-10");
160
+ @source inline("size-12 size-14 size-2 size-2.5 size-20 size-3 size-3.5 size-4 size-5 size-6 size-8 sm");
161
+ @source inline("sm:-translate-x-1/2 sm:-translate-y-1/2 sm:block sm:data-[state=closed]:zoom-out-95");
162
+ @source inline("sm:data-[state=open]:zoom-in-95 sm:grid-cols-4 sm:h-[var(--region-h-lg)]");
163
+ @source inline("sm:h-[var(--region-h-md)] sm:h-[var(--region-h-sm)] sm:hidden sm:left-1/2");
164
+ @source inline("sm:max-h-[calc(100dvh-2rem)] sm:max-h-[min(90dvh,calc(100dvh-2rem))] sm:max-w-[calc(100vw-2rem)]");
165
+ @source inline("sm:max-w-[var(--modal-w-lg)] sm:max-w-[var(--modal-w-md)] sm:max-w-[var(--modal-w-sm)] sm:p-4");
166
+ @source inline("sm:p-5 sm:p-8 sm:pointer-fine:text-sm sm:px-6 sm:rounded-xl sm:text-sm sm:top-1/2");
165
167
  @source inline("sm:w-[calc(100vw-2rem)] space space-y-1 space-y-3 sr-only stat static sticky stroke");
166
168
  @source inline("stroke-accent-solid stroke-destructive stroke-muted stroke-warning t ta tab table tabular-nums");
167
169
  @source inline("text text-2xl text-[length:var(--text-glyph-relative)] text-[var(--foreground)]");
@@ -174,6 +176,7 @@
174
176
  @source inline("text-tone-sky-fg text-tone-slate-fg text-tone-teal-fg text-tone-violet-fg text-warning");
175
177
  @source inline("text-warning-strong text-white text-xs to top top-0 top-1/2 top-2 touch touch-manipulation");
176
178
  @source inline("touch-none track tracking tracking-tight tracking-wide tracking-wider transform transition");
179
+ @source inline("transition-[color,background-color,border-color,box-shadow,transform]");
177
180
  @source inline("transition-[stroke-dashoffset] transition-[width] transition-all transition-colors");
178
181
  @source inline("transition-opacity transition-transform translate-x-1/2 translate-y-1/2 truncate under underline");
179
182
  @source inline("underline-offset-4 up uppercase v visible w w-0.5 w-1 w-1/2 w-1/3 w-10 w-16 w-2.5 w-2/3 w-24");
@@ -185,11 +188,11 @@
185
188
  /*
186
189
  * Theme variables cursedbelt's components read BY NAME (`var(--color-card)` in a style prop).
187
190
  * Tailwind emits a theme variable only when the app's own pass sees it used, and a `var()` here is
188
- * that use — `@source inline` cannot mark one. 10 variable(s), derived by
191
+ * that use — `@source inline` cannot mark one. 11 variable(s), derived by
189
192
  * scripts/generateUtilityStyles.ts → themeVariablesReadByName(). Nothing reads this property.
190
193
  */
191
194
  @layer theme {
192
195
  :root, :host {
193
- --cb-theme-read-by-name: var(--color-accent) var(--color-border) var(--color-card) var(--color-muted) var(--color-popover) var(--duration-base) var(--ease-out) var(--spacing) var(--text-caption) var(--text-sm);
196
+ --cb-theme-read-by-name: var(--color-accent) var(--color-border) var(--color-card) var(--color-muted) var(--color-popover) var(--duration-base) var(--ease-out) var(--press-scale) var(--spacing) var(--text-caption) var(--text-sm);
194
197
  }
195
198
  }
@@ -18,11 +18,11 @@
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
- * 10 candidate(s).
21
+ * 9 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
- @source inline("h-105 hover:border-border-strong hover:border-field-ring max-h-64 min-w-48 shadow-popover size-7");
28
- @source inline("text-field-placeholder text-xl w-88");
27
+ @source inline("h-105 hover:border-field-ring max-h-64 min-w-48 shadow-popover size-7 text-field-placeholder");
28
+ @source inline("text-xl w-88");
@@ -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
- * 23 candidate(s).
21
+ * 22 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
@@ -26,5 +26,5 @@
26
26
  */
27
27
  @source inline("[&>*]:min-w-0 bg-[var(--card)] bg-[var(--muted)]/10 bg-[var(--muted)]/20 bg-accent/15 collapse");
28
28
  @source inline("duration-150 hover:decoration-border hover:underline-offset-4 max-h-72 max-w max-w-48 max-w-80");
29
- @source inline("min-w-8 mx-0.5 p-1.5 place-items-center px-0.5 ring-1 ring-[var(--accent)] rotate-180");
30
- @source inline("self-stretch text-[var(--danger)]");
29
+ @source inline("min-w-8 mx-0.5 place-items-center px-0.5 ring-1 ring-[var(--accent)] rotate-180 self-stretch");
30
+ @source inline("text-[var(--danger)]");
@@ -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
- * 61 candidate(s).
21
+ * 59 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
@@ -30,8 +30,8 @@
30
30
  @source inline("bg-tone-purple-bg/50 bg-tone-rose-bg/50 bg-tone-sky-bg/50 bg-tone-slate-bg/50 border-2");
31
31
  @source inline("border-current/20 border-dashed col-span-12 col-span-6 collapse focus:border-accent focus:ring-1");
32
32
  @source inline("focus:ring-ring gap-y-3 grid-cols-1 grid-cols-12 group-focus-within:opacity-100");
33
- @source inline("hover:bg-accent/5 hover:border-border-strong lg:flex-row lg:inset-8 lg:items-start lg:w-72 p-1.5");
34
- @source inline("p-5 pt-1 ring-1 ring-accent ring-accent/40 self-stretch sm:border sm:border-border sm:inset-4");
35
- @source inline("text-3xl text-muted-foreground/60 text-muted-foreground/70 text-tone-amber-ink");
36
- @source inline("text-tone-cyan-ink text-tone-emerald-ink text-tone-purple-ink text-tone-rose-ink");
37
- @source inline("text-tone-sky-ink text-tone-slate-ink text-xl");
33
+ @source inline("hover:bg-accent/5 lg:flex-row lg:inset-8 lg:items-start lg:w-72 p-5 pt-1 ring-1 ring-accent");
34
+ @source inline("ring-accent/40 self-stretch sm:border sm:border-border sm:inset-4 text-3xl");
35
+ @source inline("text-muted-foreground/60 text-muted-foreground/70 text-tone-amber-ink text-tone-cyan-ink");
36
+ @source inline("text-tone-emerald-ink text-tone-purple-ink text-tone-rose-ink text-tone-sky-ink");
37
+ @source inline("text-tone-slate-ink text-xl");
@@ -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
- * 57 candidate(s).
21
+ * 56 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
@@ -28,8 +28,8 @@
28
28
  @source inline("bg-black/95 bg-white/10 border-none bottom-1 col collapse ease-in-out f");
29
29
  @source inline("focus-visible:ring-offset-black focus-within:border-field-ring focus-within:ring-2");
30
30
  @source inline("focus-within:ring-field-ring/30 hover:bg-white/20 hover:border-accent-solid hover:text-white");
31
- @source inline("inset-4 left-1 max-h-[40vh] min-h-20 min-h-dvh min-w-12 min-w-16 min-w-20 min-w-24 mx-1 p-1.5");
32
- @source inline("pl-2 place-items-center pr-1 resize-none right-1 right-4 size-9 text-tone-amber-ink");
31
+ @source inline("inset-4 left-1 max-h-[40vh] min-h-20 min-h-dvh min-w-12 min-w-16 min-w-20 min-w-24 mx-1 pl-2");
32
+ @source inline("place-items-center pr-1 resize-none right-1 right-4 size-9 text-tone-amber-ink");
33
33
  @source inline("text-tone-cyan-ink text-tone-emerald-ink text-tone-orange-ink text-tone-purple-ink");
34
34
  @source inline("text-tone-rose-ink text-tone-sky-ink text-tone-slate-ink text-white/70 top-1 top-4 translate");
35
35
  @source inline("translate-x-px w-40 w-48 zoom zoom-in");
@@ -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
- * 82 candidate(s).
21
+ * 81 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
@@ -26,9 +26,9 @@
26
26
  */
27
27
  @source inline("[&_svg]:max-h-10 [&_svg]:min-h-5 [&_svg]:size-1/3 accent-white active:cursor-grabbing");
28
28
  @source inline("appearance-none aspect-square aspect-video backdrop-blur-xs bg-accent/15 bg-background/65");
29
- @source inline("bg-background/85 bg-black bg-black/55 bg-black/60 bg-black/85 bg-black/90 bg-card-raised");
30
- @source inline("bg-center bg-cover bg-linear-to-t bg-white/90 border-2 border-accent-solid border-white/90");
31
- @source inline("border-y-2 bottom-1 bottom-1.5 bottom-2 cursor-crosshair cursor-grab cursor-zoom-in ease-in-out");
29
+ @source inline("bg-background/85 bg-black bg-black/55 bg-black/60 bg-black/85 bg-black/90 bg-center bg-cover");
30
+ @source inline("bg-linear-to-t bg-white/90 border-2 border-accent-solid border-white/90 border-y-2 bottom-1");
31
+ @source inline("bottom-1.5 bottom-2 cursor-crosshair cursor-grab cursor-zoom-in ease-in-out");
32
32
  @source inline("focus-within:opacity-100 from-black/80 g grayscale group-focus-within:opacity-100 h-11");
33
33
  @source inline("hover:bg-black/75 hover:bg-destructive hover:bg-white/20 hover:border-accent-solid invert left-0");
34
34
  @source inline("left-1 max-h-[40vh] max-h-[var(--media-max-h)] max-h-full max-w-50 min-h-64 min-h-dvh min-w-10");
@@ -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
- * 25 candidate(s).
21
+ * 24 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
@@ -28,6 +28,6 @@
28
28
  @source inline("data-[state=closed]:slide-out-to-bottom data-[state=closed]:slide-out-to-left");
29
29
  @source inline("data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-bottom");
30
30
  @source inline("data-[state=open]:slide-in-from-left data-[state=open]:slide-in-from-right hover:border-border");
31
- @source inline("hover:border-border-strong left-0 max-h-[var(--radix-popover-content-available-height)]");
32
- @source inline("max-h-[var(--sheet-h-lg)] max-h-[var(--sheet-h-md)] max-h-[var(--sheet-h-sm)]");
33
- @source inline("max-w-[var(--overlay-max-w)] max-w-sm rounded-l-xl rounded-r-xl rounded-t-xl w-64");
31
+ @source inline("left-0 max-h-[var(--radix-popover-content-available-height)] max-h-[var(--sheet-h-lg)]");
32
+ @source inline("max-h-[var(--sheet-h-md)] max-h-[var(--sheet-h-sm)] max-w-[var(--overlay-max-w)] max-w-sm");
33
+ @source inline("rounded-l-xl rounded-r-xl rounded-t-xl w-64");
@@ -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
- * 109 candidate(s).
21
+ * 108 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
@@ -32,12 +32,12 @@
32
32
  @source inline("data-[state=open]:slide-in-from-bottom data-[state=open]:slide-in-from-left");
33
33
  @source inline("data-[state=open]:slide-in-from-right disabled:opacity-0 duration-150 first:pt-1 flex-row");
34
34
  @source inline("group-hover:disabled:opacity-50 h-105 h-40 hover:bg-card-overlay hover:bg-muted-foreground/10");
35
- @source inline("hover:bg-muted/80 hover:border-border-strong hover:border-field-ring hover:shadow-popover italic");
36
- @source inline("left-0 left-2.5 max-h-[var(--sheet-h-lg)] max-h-[var(--sheet-h-md)] max-h-[var(--sheet-h-sm)]");
37
- @source inline("max-h-full max-w-sm min-h min-h-20 min-h-8 min-h-9 min-h-dvh min-h-full min-w-20 min-w-40");
38
- @source inline("opacity-100 pb-0.5 pb-[max(env(safe-area-inset-bottom,0px),0.5rem)] peer-focus");
39
- @source inline("peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-field-ring/40 peer-focus:rounded-lg");
40
- @source inline("pl-1 pl-3 pointer-coarse:disabled:opacity-50 pointer-coarse:h-12 pointer-coarse:w-12 pr-16 pr-9");
35
+ @source inline("hover:bg-muted/80 hover:border-field-ring hover:shadow-popover italic left-0 left-2.5");
36
+ @source inline("max-h-[var(--sheet-h-lg)] max-h-[var(--sheet-h-md)] max-h-[var(--sheet-h-sm)] max-h-full");
37
+ @source inline("max-w-sm min-h min-h-20 min-h-8 min-h-9 min-h-dvh min-h-full min-w-20 min-w-40 opacity-100");
38
+ @source inline("pb-0.5 pb-[max(env(safe-area-inset-bottom,0px),0.5rem)] peer-focus peer-focus:outline-none");
39
+ @source inline("peer-focus:ring-2 peer-focus:ring-field-ring/40 peer-focus:rounded-lg pl-1 pl-3");
40
+ @source inline("pointer-coarse:disabled:opacity-50 pointer-coarse:h-12 pointer-coarse:w-12 pr-16 pr-9");
41
41
  @source inline("resize-none right-4 ring-1 ring-4 ring-accent/20 ring-accent/30 ring-accent/40 ring-border");
42
42
  @source inline("ring-inset ring-ring rounded-[var(--radius-device)] rounded-l-xl rounded-r-xl rounded-t-xl");
43
43
  @source inline("scale-[1.01] self-stretch shrink-[2] size-7 sm:flex-1 sm:flex-nowrap sm:shrink-0 sm:w-56");
@@ -2135,6 +2135,12 @@
2135
2135
  .bg-field-bg {
2136
2136
  background-color: var(--field-bg);
2137
2137
  }
2138
+ .bg-foreground\/70 {
2139
+ background-color: var(--foreground);
2140
+ @supports (color: color-mix(in lab, red, red)) {
2141
+ background-color: color-mix(in oklab, var(--foreground) 70%, transparent);
2142
+ }
2143
+ }
2138
2144
  .bg-green-100 {
2139
2145
  background-color: var(--color-green-100);
2140
2146
  }
@@ -3338,6 +3344,11 @@
3338
3344
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
3339
3345
  transition-duration: var(--tw-duration, var(--default-transition-duration));
3340
3346
  }
3347
+ .transition-\[color\,background-color\,border-color\,box-shadow\,transform\] {
3348
+ transition-property: color,background-color,border-color,box-shadow,transform;
3349
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
3350
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
3351
+ }
3341
3352
  .transition-\[opacity\,transform\] {
3342
3353
  transition-property: opacity,transform;
3343
3354
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -3540,6 +3551,9 @@
3540
3551
  .group-data-\[density\=compact\]\/properties\:items-start:is(:where(.group\/properties)[data-density="compact"] *) {
3541
3552
  align-items: flex-start;
3542
3553
  }
3554
+ .group-data-\[state\=checked\]\:opacity-100:is(:where(.group)[data-state="checked"] *) {
3555
+ opacity: 100%;
3556
+ }
3543
3557
  .group-data-\[state\=open\]\:rotate-90:is(:where(.group)[data-state="open"] *) {
3544
3558
  rotate: 90deg;
3545
3559
  }
@@ -4017,6 +4031,15 @@
4017
4031
  --tw-outline-style: none;
4018
4032
  outline-style: none;
4019
4033
  }
4034
+ .active\:scale-100:active {
4035
+ --tw-scale-x: 100%;
4036
+ --tw-scale-y: 100%;
4037
+ --tw-scale-z: 100%;
4038
+ scale: var(--tw-scale-x) var(--tw-scale-y);
4039
+ }
4040
+ .active\:scale-\[var\(--press-scale\)\]:active {
4041
+ scale: var(--press-scale);
4042
+ }
4020
4043
  .active\:cursor-grabbing:active {
4021
4044
  cursor: grabbing;
4022
4045
  }
@@ -4104,6 +4127,12 @@
4104
4127
  background-color: transparent;
4105
4128
  }
4106
4129
  }
4130
+ .aria-disabled\:active\:scale-100[aria-disabled="true"]:active {
4131
+ --tw-scale-x: 100%;
4132
+ --tw-scale-y: 100%;
4133
+ --tw-scale-z: 100%;
4134
+ scale: var(--tw-scale-x) var(--tw-scale-y);
4135
+ }
4107
4136
  .aria-pressed\:border[aria-pressed="true"] {
4108
4137
  border-style: var(--tw-border-style);
4109
4138
  border-width: 1px;
@@ -4273,6 +4302,10 @@
4273
4302
  .data-\[state\=checked\]\:text-white[data-state="checked"] {
4274
4303
  color: var(--color-white);
4275
4304
  }
4305
+ .data-\[state\=checked\]\:ring-1[data-state="checked"] {
4306
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
4307
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4308
+ }
4276
4309
  .data-\[state\=checked\]\:ring-2[data-state="checked"] {
4277
4310
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
4278
4311
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -4356,6 +4389,15 @@
4356
4389
  .motion-reduce\:animate-none {
4357
4390
  animation: none;
4358
4391
  }
4392
+ .motion-reduce\:transition-none {
4393
+ transition-property: none;
4394
+ }
4395
+ .motion-reduce\:active\:scale-100:active {
4396
+ --tw-scale-x: 100%;
4397
+ --tw-scale-y: 100%;
4398
+ --tw-scale-z: 100%;
4399
+ scale: var(--tw-scale-x) var(--tw-scale-y);
4400
+ }
4359
4401
  }
4360
4402
  @media (width < 48rem) {
4361
4403
  .max-md\:absolute {
@@ -4557,6 +4599,9 @@
4557
4599
  .sm\:grid-cols-3 {
4558
4600
  grid-template-columns: repeat(3, minmax(0, 1fr));
4559
4601
  }
4602
+ .sm\:grid-cols-4 {
4603
+ grid-template-columns: repeat(4, minmax(0, 1fr));
4604
+ }
4560
4605
  .sm\:grid-cols-\[minmax\(7rem\,18rem\)_minmax\(4rem\,1fr\)_auto\] {
4561
4606
  grid-template-columns: minmax(7rem,18rem) minmax(4rem,1fr) auto;
4562
4607
  }
@@ -5055,6 +5100,14 @@
5055
5100
  }
5056
5101
  }
5057
5102
  }
5103
+ @media (width >= 40rem) {
5104
+ @media (pointer: fine) {
5105
+ .sm\:pointer-fine\:text-sm {
5106
+ font-size: var(--text-sm);
5107
+ line-height: var(--tw-leading, var(--text-sm--line-height));
5108
+ }
5109
+ }
5110
+ }
5058
5111
  .\[\&_\.alert-icon\]\:text-accent .alert-icon {
5059
5112
  color: var(--accent);
5060
5113
  }
@@ -5752,11 +5805,11 @@
5752
5805
  /*
5753
5806
  * Theme variables cursedbelt's components read BY NAME (`var(--color-card)` in a style prop).
5754
5807
  * Tailwind emits a theme variable only when the app's own pass sees it used, and a `var()` here is
5755
- * that use — `@source inline` cannot mark one. 10 variable(s), derived by
5808
+ * that use — `@source inline` cannot mark one. 11 variable(s), derived by
5756
5809
  * scripts/generateUtilityStyles.ts → themeVariablesReadByName(). Nothing reads this property.
5757
5810
  */
5758
5811
  @layer theme {
5759
5812
  :root, :host {
5760
- --cb-theme-read-by-name: var(--color-accent) var(--color-border) var(--color-card) var(--color-muted) var(--color-popover) var(--duration-base) var(--ease-out) var(--spacing) var(--text-caption) var(--text-sm);
5813
+ --cb-theme-read-by-name: var(--color-accent) var(--color-border) var(--color-card) var(--color-muted) var(--color-popover) var(--duration-base) var(--ease-out) var(--press-scale) var(--spacing) var(--text-caption) var(--text-sm);
5761
5814
  }
5762
5815
  }
package/dist/theme.css CHANGED
@@ -1099,6 +1099,9 @@ option:disabled {
1099
1099
  --duration-fast: 120ms; /* hover / press */
1100
1100
  --duration-base: 200ms; /* popover */
1101
1101
  --duration-slow: 300ms; /* modal */
1102
+ /* How far a control dips while it is held (Button: `active:scale-[var(--press-scale)]`). One
1103
+ token so every pressable surface answers a finger the same amount; 1 turns it off. */
1104
+ --press-scale: 0.97;
1102
1105
 
1103
1106
  /* Fluid typography — headings only (fluid body text causes line-length drift).
1104
1107
  Exposed as text-h1 / text-h2 / text-h3 font-size utilities. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursedbelt",
3
- "version": "5.63.0",
3
+ "version": "5.66.0",
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.",
@@ -689,6 +689,7 @@
689
689
  "default": "./dist/testing/_noBun.js"
690
690
  },
691
691
  "./theme.css": "./src/theme.css",
692
+ "./looks.css": "./src/looks.css",
692
693
  "./workspace.css": "./src/workspace.css"
693
694
  },
694
695
  "files": [