cursedbelt 5.0.1 → 5.2.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 (137) hide show
  1. package/dist/react/engagement/beacon.d.ts +38 -0
  2. package/dist/react/engagement/beacon.d.ts.map +1 -0
  3. package/dist/react/engagement/beacon.js +62 -0
  4. package/dist/react/engagement/beacon.js.map +1 -0
  5. package/dist/react/engagement/beaconClient.d.ts +119 -0
  6. package/dist/react/engagement/beaconClient.d.ts.map +1 -0
  7. package/dist/react/engagement/beaconClient.js +203 -0
  8. package/dist/react/engagement/beaconClient.js.map +1 -0
  9. package/dist/react/engagement/index.d.ts +3 -0
  10. package/dist/react/engagement/index.d.ts.map +1 -0
  11. package/dist/react/engagement/index.js +5 -0
  12. package/dist/react/engagement/index.js.map +1 -0
  13. package/dist/react/lib/directUpload.d.ts +130 -0
  14. package/dist/react/lib/directUpload.d.ts.map +1 -0
  15. package/dist/react/lib/directUpload.js +228 -0
  16. package/dist/react/lib/directUpload.js.map +1 -0
  17. package/dist/react/media/FocusViewer.d.ts.map +1 -1
  18. package/dist/react/media/FocusViewer.js.map +1 -1
  19. package/dist/react/media/MediaThumb.d.ts.map +1 -1
  20. package/dist/react/media/MediaThumb.js.map +1 -1
  21. package/dist/react/media/VideoTurner.d.ts.map +1 -1
  22. package/dist/react/media/VideoTurner.js.map +1 -1
  23. package/dist/react/media-gallery/GalleryTable.js.map +1 -1
  24. package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
  25. package/dist/react/media-gallery/MediaGallery.js.map +1 -1
  26. package/dist/styles-areas/activity-bar.css +8 -11
  27. package/dist/styles-areas/analytics.css +30 -653
  28. package/dist/styles-areas/auth.css +10 -135
  29. package/dist/styles-areas/calendar.css +22 -397
  30. package/dist/styles-areas/chart-table.css +8 -20
  31. package/dist/styles-areas/charts.css +9 -70
  32. package/dist/styles-areas/chat.css +17 -345
  33. package/dist/styles-areas/clipboard.css +7 -7
  34. package/dist/styles-areas/code-editor.css +8 -111
  35. package/dist/styles-areas/companion-link.css +8 -51
  36. package/dist/styles-areas/core.css +131 -2488
  37. package/dist/styles-areas/dashboard-grid.css +10 -65
  38. package/dist/styles-areas/data-table.css +30 -638
  39. package/dist/styles-areas/deep-link.css +7 -7
  40. package/dist/styles-areas/diff-viewer.css +8 -11
  41. package/dist/styles-areas/disk-usage.css +13 -243
  42. package/dist/styles-areas/emoji.css +9 -135
  43. package/dist/styles-areas/fields.css +32 -563
  44. package/dist/styles-areas/file-tree.css +8 -14
  45. package/dist/styles-areas/filter-rail.css +14 -216
  46. package/dist/styles-areas/folder-tree.css +12 -200
  47. package/dist/styles-areas/keep-awake.css +7 -7
  48. package/dist/styles-areas/layout-engine.css +12 -220
  49. package/dist/styles-areas/markdown.css +9 -68
  50. package/dist/styles-areas/master-detail.css +14 -220
  51. package/dist/styles-areas/master-lock.css +9 -113
  52. package/dist/styles-areas/media-gallery.css +15 -332
  53. package/dist/styles-areas/media.css +20 -623
  54. package/dist/styles-areas/nav.css +24 -469
  55. package/dist/styles-areas/notifications.css +12 -226
  56. package/dist/styles-areas/overlays.css +14 -114
  57. package/dist/styles-areas/palette.css +15 -121
  58. package/dist/styles-areas/pdf-viewer.css +8 -28
  59. package/dist/styles-areas/problem-detail.css +9 -78
  60. package/dist/styles-areas/rich-text.css +9 -148
  61. package/dist/styles-areas/sharing.css +13 -134
  62. package/dist/styles-areas/spreadsheet.css +8 -18
  63. package/dist/styles-areas/stats.css +19 -262
  64. package/dist/styles-areas/test-report.css +13 -114
  65. package/dist/styles-areas/virtual.css +8 -11
  66. package/dist/styles-areas/wizard.css +21 -362
  67. package/dist/styles-areas/workbench.css +27 -524
  68. package/dist/styles-areas/workbook-viewer.css +8 -25
  69. package/dist/styles-static.css +1 -0
  70. package/dist/styles.css +1 -0
  71. package/package.json +20 -2
  72. package/scripts/checkAreaStyles.spec.ts +158 -1
  73. package/scripts/checkAreaStyles.ts +226 -6
  74. package/scripts/cssRules.ts +8 -1
  75. package/scripts/gate.ts +1 -1
  76. package/scripts/generateAreaStyles.ts +130 -10
  77. package/scripts/paths.ts +1 -1
  78. package/scripts/styleAreas.ts +2 -0
  79. package/src/react/components/ActionBar.spec.tsx +1 -0
  80. package/src/react/engagement/beacon.tsx +63 -0
  81. package/src/react/engagement/beaconClient.spec.ts +138 -0
  82. package/src/react/engagement/beaconClient.ts +228 -0
  83. package/src/react/engagement/index.ts +13 -0
  84. package/src/react/file-tree/FileTree.tsx +3 -3
  85. package/src/react/lib/directUpload.spec.ts +128 -0
  86. package/src/react/lib/directUpload.ts +334 -0
  87. package/src/react/media/FocusViewer.tsx +1 -0
  88. package/src/react/media/MediaThumb.tsx +0 -1
  89. package/src/react/media/VideoTurner.tsx +0 -1
  90. package/src/react/media-gallery/GalleryTable.tsx +0 -1
  91. package/src/react/media-gallery/MediaGallery.tsx +0 -1
  92. package/src/styles-areas/activity-bar.css +8 -11
  93. package/src/styles-areas/analytics.css +30 -653
  94. package/src/styles-areas/auth.css +10 -135
  95. package/src/styles-areas/calendar.css +22 -397
  96. package/src/styles-areas/chart-table.css +8 -20
  97. package/src/styles-areas/charts.css +9 -70
  98. package/src/styles-areas/chat.css +17 -345
  99. package/src/styles-areas/clipboard.css +7 -7
  100. package/src/styles-areas/code-editor.css +8 -111
  101. package/src/styles-areas/companion-link.css +8 -51
  102. package/src/styles-areas/core.css +131 -2488
  103. package/src/styles-areas/dashboard-grid.css +10 -65
  104. package/src/styles-areas/data-table.css +30 -638
  105. package/src/styles-areas/deep-link.css +7 -7
  106. package/src/styles-areas/diff-viewer.css +8 -11
  107. package/src/styles-areas/disk-usage.css +13 -243
  108. package/src/styles-areas/emoji.css +9 -135
  109. package/src/styles-areas/fields.css +32 -563
  110. package/src/styles-areas/file-tree.css +8 -14
  111. package/src/styles-areas/filter-rail.css +14 -216
  112. package/src/styles-areas/folder-tree.css +12 -200
  113. package/src/styles-areas/keep-awake.css +7 -7
  114. package/src/styles-areas/layout-engine.css +12 -220
  115. package/src/styles-areas/markdown.css +9 -68
  116. package/src/styles-areas/master-detail.css +14 -220
  117. package/src/styles-areas/master-lock.css +9 -113
  118. package/src/styles-areas/media-gallery.css +15 -332
  119. package/src/styles-areas/media.css +20 -623
  120. package/src/styles-areas/nav.css +24 -469
  121. package/src/styles-areas/notifications.css +12 -226
  122. package/src/styles-areas/overlays.css +14 -114
  123. package/src/styles-areas/palette.css +15 -121
  124. package/src/styles-areas/pdf-viewer.css +8 -28
  125. package/src/styles-areas/problem-detail.css +9 -78
  126. package/src/styles-areas/rich-text.css +9 -148
  127. package/src/styles-areas/sharing.css +13 -134
  128. package/src/styles-areas/spreadsheet.css +8 -18
  129. package/src/styles-areas/stats.css +19 -262
  130. package/src/styles-areas/test-report.css +13 -114
  131. package/src/styles-areas/virtual.css +8 -11
  132. package/src/styles-areas/wizard.css +21 -362
  133. package/src/styles-areas/workbench.css +27 -524
  134. package/src/styles-areas/workbook-viewer.css +8 -25
  135. package/src/styles-static.css +1 -0
  136. package/src/styles.css +1 -0
  137. package/src/stylesAreas.spec.ts +12 -7
@@ -1,5 +1,5 @@
1
1
  /*
2
- * cursedbelt — the `auth` area. GENERATED BUILD ARTIFACT. Never hand-edit.
2
+ * cursedbelt — the `auth` area's utility candidates. GENERATED BUILD ARTIFACT. Never hand-edit.
3
3
  *
4
4
  * the sign-in / register surfaces and the aurora front door — one screen, and never in the app shell.
5
5
  *
@@ -13,142 +13,17 @@
13
13
  * @import "cursedbelt/styles-areas/auth.css";
14
14
  * @import "cursedbelt/theme.css";
15
15
  *
16
- * An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
17
- * emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
18
- * when this file is stale. 302 candidate(s) scanned.
16
+ * These are CANDIDATES (`@source inline`), not CSS: the app's own Tailwind pass generates
17
+ * them, sorted together with the app's utilities, so an area can never put a base utility
18
+ * after an app's responsive variant (task 2124). An app that imports every area gets exactly
19
+ * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
20
+ * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
21
+ * 10 candidate(s).
19
22
  *
20
23
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
21
24
  * `bun run build` runs. The map of what is in which area, and why the areas are
22
25
  * import closures rather than a hand-written list, is scripts/styleAreas.ts.
23
26
  */
24
- /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
25
- @layer properties;
26
- @layer theme, base, components, utilities;
27
- @layer theme {
28
- :root, :host {
29
- --spacing: 0.25rem;
30
- }
31
- }
32
- @layer utilities {
33
- .h-12 {
34
- height: calc(var(--spacing) * 12);
35
- }
36
- .min-h-dvh {
37
- min-height: 100dvh;
38
- }
39
- .self-start {
40
- align-self: flex-start;
41
- }
42
- .self-stretch {
43
- align-self: stretch;
44
- }
45
- .caret-transparent {
46
- caret-color: transparent;
47
- }
48
- .focus-within\:border-field-ring:focus-within {
49
- border-color: var(--field-ring);
50
- }
51
- .focus-within\:ring-2:focus-within {
52
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
53
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
54
- }
55
- .focus-within\:ring-field-ring\/30:focus-within {
56
- --tw-ring-color: var(--field-ring);
57
- @supports (color: color-mix(in lab, red, red)) {
58
- --tw-ring-color: color-mix(in oklab, var(--field-ring) 30%, transparent);
59
- }
60
- }
61
- .has-\[\[aria-invalid\=true\]\]\:border-field-error:has(:is([aria-invalid=true])) {
62
- border-color: var(--field-error);
63
- }
64
- @media (width >= 40rem) {
65
- .sm\:w-11 {
66
- width: calc(var(--spacing) * 11);
67
- }
68
- }
69
- }
70
- @property --tw-shadow {
71
- syntax: "*";
72
- inherits: false;
73
- initial-value: 0 0 #0000;
74
- }
75
- @property --tw-shadow-color {
76
- syntax: "*";
77
- inherits: false;
78
- }
79
- @property --tw-shadow-alpha {
80
- syntax: "<percentage>";
81
- inherits: false;
82
- initial-value: 100%;
83
- }
84
- @property --tw-inset-shadow {
85
- syntax: "*";
86
- inherits: false;
87
- initial-value: 0 0 #0000;
88
- }
89
- @property --tw-inset-shadow-color {
90
- syntax: "*";
91
- inherits: false;
92
- }
93
- @property --tw-inset-shadow-alpha {
94
- syntax: "<percentage>";
95
- inherits: false;
96
- initial-value: 100%;
97
- }
98
- @property --tw-ring-color {
99
- syntax: "*";
100
- inherits: false;
101
- }
102
- @property --tw-ring-shadow {
103
- syntax: "*";
104
- inherits: false;
105
- initial-value: 0 0 #0000;
106
- }
107
- @property --tw-inset-ring-color {
108
- syntax: "*";
109
- inherits: false;
110
- }
111
- @property --tw-inset-ring-shadow {
112
- syntax: "*";
113
- inherits: false;
114
- initial-value: 0 0 #0000;
115
- }
116
- @property --tw-ring-inset {
117
- syntax: "*";
118
- inherits: false;
119
- }
120
- @property --tw-ring-offset-width {
121
- syntax: "<length>";
122
- inherits: false;
123
- initial-value: 0px;
124
- }
125
- @property --tw-ring-offset-color {
126
- syntax: "*";
127
- inherits: false;
128
- initial-value: #fff;
129
- }
130
- @property --tw-ring-offset-shadow {
131
- syntax: "*";
132
- inherits: false;
133
- initial-value: 0 0 #0000;
134
- }
135
- @layer properties {
136
- @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
137
- *, ::before, ::after, ::backdrop {
138
- --tw-shadow: 0 0 #0000;
139
- --tw-shadow-color: initial;
140
- --tw-shadow-alpha: 100%;
141
- --tw-inset-shadow: 0 0 #0000;
142
- --tw-inset-shadow-color: initial;
143
- --tw-inset-shadow-alpha: 100%;
144
- --tw-ring-color: initial;
145
- --tw-ring-shadow: 0 0 #0000;
146
- --tw-inset-ring-color: initial;
147
- --tw-inset-ring-shadow: 0 0 #0000;
148
- --tw-ring-inset: initial;
149
- --tw-ring-offset-width: 0px;
150
- --tw-ring-offset-color: #fff;
151
- --tw-ring-offset-shadow: 0 0 #0000;
152
- }
153
- }
154
- }
27
+ @source inline("caret-transparent focus-within:border-field-ring focus-within:ring-2");
28
+ @source inline("focus-within:ring-field-ring/30 h-12 has-[[aria-invalid=true]]:border-field-error min-h-dvh");
29
+ @source inline("self-start self-stretch sm:w-11");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * cursedbelt — the `calendar` area. GENERATED BUILD ARTIFACT. Never hand-edit.
2
+ * cursedbelt — the `calendar` area's utility candidates. GENERATED BUILD ARTIFACT. Never hand-edit.
3
3
  *
4
4
  * the date-picker family: a calendar grid is a whole layout nothing else shares.
5
5
  *
@@ -13,404 +13,29 @@
13
13
  * @import "cursedbelt/styles-areas/calendar.css";
14
14
  * @import "cursedbelt/theme.css";
15
15
  *
16
- * An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
17
- * emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
18
- * when this file is stale. 203 candidate(s) scanned.
16
+ * These are CANDIDATES (`@source inline`), not CSS: the app's own Tailwind pass generates
17
+ * them, sorted together with the app's utilities, so an area can never put a base utility
18
+ * after an app's responsive variant (task 2124). An app that imports every area gets exactly
19
+ * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
20
+ * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
21
+ * 84 candidate(s).
19
22
  *
20
23
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
21
24
  * `bun run build` runs. The map of what is in which area, and why the areas are
22
25
  * import closures rather than a hand-written list, is scripts/styleAreas.ts.
23
26
  */
24
- /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
25
- @layer properties;
26
- @layer theme, base, components, utilities;
27
- @layer theme {
28
- :root, :host {
29
- --color-amber-100: oklch(96.2% 0.059 95.617);
30
- --color-amber-200: oklch(92.4% 0.12 95.746);
31
- --color-amber-500: oklch(76.9% 0.188 70.08);
32
- --color-amber-900: oklch(41.4% 0.112 45.904);
33
- --color-green-100: oklch(96.2% 0.044 156.743);
34
- --color-green-200: oklch(92.5% 0.084 155.995);
35
- --color-green-500: oklch(72.3% 0.219 149.579);
36
- --color-green-800: oklch(44.8% 0.119 151.328);
37
- --color-green-900: oklch(39.3% 0.095 152.535);
38
- --color-emerald-200: oklch(90.5% 0.093 164.15);
39
- --color-emerald-500: oklch(69.6% 0.17 162.48);
40
- --color-emerald-800: oklch(43.2% 0.095 166.913);
41
- --color-emerald-900: oklch(37.8% 0.077 168.94);
42
- --color-teal-100: oklch(95.3% 0.051 180.801);
43
- --color-teal-200: oklch(91% 0.096 180.426);
44
- --color-teal-500: oklch(70.4% 0.14 182.503);
45
- --color-teal-800: oklch(43.7% 0.078 188.216);
46
- --color-teal-900: oklch(38.6% 0.063 188.416);
47
- --color-sky-100: oklch(95.1% 0.026 236.824);
48
- --color-sky-200: oklch(90.1% 0.058 230.902);
49
- --color-sky-500: oklch(68.5% 0.169 237.323);
50
- --color-sky-800: oklch(44.3% 0.11 240.79);
51
- --color-sky-900: oklch(39.1% 0.09 240.876);
52
- --color-blue-100: oklch(93.2% 0.032 255.585);
53
- --color-blue-200: oklch(88.2% 0.059 254.128);
54
- --color-blue-500: oklch(62.3% 0.214 259.815);
55
- --color-blue-800: oklch(42.4% 0.199 265.638);
56
- --color-blue-900: oklch(37.9% 0.146 265.522);
57
- --color-violet-100: oklch(94.3% 0.029 294.588);
58
- --color-violet-200: oklch(89.4% 0.057 293.283);
59
- --color-violet-500: oklch(60.6% 0.25 292.717);
60
- --color-violet-800: oklch(43.2% 0.232 292.759);
61
- --color-violet-900: oklch(38% 0.189 293.745);
62
- --color-purple-100: oklch(94.6% 0.033 307.174);
63
- --color-purple-200: oklch(90.2% 0.063 306.703);
64
- --color-purple-500: oklch(62.7% 0.265 303.9);
65
- --color-purple-800: oklch(43.8% 0.218 303.724);
66
- --color-purple-900: oklch(38.1% 0.176 304.987);
67
- --color-rose-100: oklch(94.1% 0.03 12.58);
68
- --color-rose-200: oklch(89.2% 0.058 10.001);
69
- --color-rose-500: oklch(64.5% 0.246 16.439);
70
- --color-rose-800: oklch(45.5% 0.188 13.697);
71
- --color-rose-900: oklch(41% 0.159 10.272);
72
- --color-slate-200: oklch(92.9% 0.013 255.508);
73
- --color-slate-500: oklch(55.4% 0.046 257.417);
74
- --color-slate-800: oklch(27.9% 0.041 260.031);
75
- --spacing: 0.25rem;
76
- --text-xs: 0.75rem;
77
- --text-xs--line-height: calc(1 / 0.75);
78
- --leading-tight: 1.25;
79
- }
80
- }
81
- @layer utilities {
82
- .collapse {
83
- visibility: collapse;
84
- }
85
- .h-3\.5 {
86
- height: calc(var(--spacing) * 3.5);
87
- }
88
- .min-h-\[7rem\] {
89
- min-height: 7rem;
90
- }
91
- .min-h-\[10rem\] {
92
- min-height: 10rem;
93
- }
94
- .min-h-\[44px\] {
95
- min-height: 44px;
96
- }
97
- .w-3\.5 {
98
- width: calc(var(--spacing) * 3.5);
99
- }
100
- .min-w-\[44px\] {
101
- min-width: 44px;
102
- }
103
- .grid-cols-\[repeat\(7\,minmax\(0\,1fr\)\)\] {
104
- grid-template-columns: repeat(7,minmax(0,1fr));
105
- }
106
- .justify-start {
107
- justify-content: flex-start;
108
- }
109
- .border-0 {
110
- border-style: var(--tw-border-style);
111
- border-width: 0px;
112
- }
113
- .border-r {
114
- border-right-style: var(--tw-border-style);
115
- border-right-width: 1px;
116
- }
117
- .border-border\/40 {
118
- border-color: var(--border);
119
- @supports (color: color-mix(in lab, red, red)) {
120
- border-color: color-mix(in oklab, var(--border) 40%, transparent);
121
- }
122
- }
123
- .bg-amber-100 {
124
- background-color: var(--color-amber-100);
125
- }
126
- .bg-amber-500 {
127
- background-color: var(--color-amber-500);
128
- }
129
- .bg-blue-100 {
130
- background-color: var(--color-blue-100);
131
- }
132
- .bg-blue-500 {
133
- background-color: var(--color-blue-500);
134
- }
135
- .bg-emerald-500 {
136
- background-color: var(--color-emerald-500);
137
- }
138
- .bg-green-100 {
139
- background-color: var(--color-green-100);
140
- }
141
- .bg-green-500 {
142
- background-color: var(--color-green-500);
143
- }
144
- .bg-muted\/40 {
145
- background-color: var(--muted);
146
- @supports (color: color-mix(in lab, red, red)) {
147
- background-color: color-mix(in oklab, var(--muted) 40%, transparent);
148
- }
149
- }
150
- .bg-muted\/60 {
151
- background-color: var(--muted);
152
- @supports (color: color-mix(in lab, red, red)) {
153
- background-color: color-mix(in oklab, var(--muted) 60%, transparent);
154
- }
155
- }
156
- .bg-purple-100 {
157
- background-color: var(--color-purple-100);
158
- }
159
- .bg-purple-500 {
160
- background-color: var(--color-purple-500);
161
- }
162
- .bg-rose-100 {
163
- background-color: var(--color-rose-100);
164
- }
165
- .bg-rose-500 {
166
- background-color: var(--color-rose-500);
167
- }
168
- .bg-sky-100 {
169
- background-color: var(--color-sky-100);
170
- }
171
- .bg-sky-500 {
172
- background-color: var(--color-sky-500);
173
- }
174
- .bg-slate-200 {
175
- background-color: var(--color-slate-200);
176
- }
177
- .bg-slate-500 {
178
- background-color: var(--color-slate-500);
179
- }
180
- .bg-teal-100 {
181
- background-color: var(--color-teal-100);
182
- }
183
- .bg-teal-500 {
184
- background-color: var(--color-teal-500);
185
- }
186
- .bg-violet-100 {
187
- background-color: var(--color-violet-100);
188
- }
189
- .bg-violet-500 {
190
- background-color: var(--color-violet-500);
191
- }
192
- .p-1\.5 {
193
- padding: calc(var(--spacing) * 1.5);
194
- }
195
- .leading-tight {
196
- --tw-leading: var(--leading-tight);
197
- line-height: var(--leading-tight);
198
- }
199
- .text-amber-900 {
200
- color: var(--color-amber-900);
201
- }
202
- .text-blue-800 {
203
- color: var(--color-blue-800);
204
- }
205
- .text-emerald-800 {
206
- color: var(--color-emerald-800);
207
- }
208
- .text-green-800 {
209
- color: var(--color-green-800);
210
- }
211
- .text-purple-800 {
212
- color: var(--color-purple-800);
213
- }
214
- .text-rose-800 {
215
- color: var(--color-rose-800);
216
- }
217
- .text-sky-800 {
218
- color: var(--color-sky-800);
219
- }
220
- .text-slate-800 {
221
- color: var(--color-slate-800);
222
- }
223
- .text-teal-800 {
224
- color: var(--color-teal-800);
225
- }
226
- .text-tone-amber-ink {
227
- color: var(--tone-amber-ink);
228
- }
229
- .text-violet-800 {
230
- color: var(--color-violet-800);
231
- }
232
- .line-through {
233
- text-decoration-line: line-through;
234
- }
235
- .outline-1 {
236
- outline-style: var(--tw-outline-style);
237
- outline-width: 1px;
238
- }
239
- .outline-tone-amber-ink {
240
- outline-color: var(--tone-amber-ink);
241
- }
242
- .outline-dashed {
243
- --tw-outline-style: dashed;
244
- outline-style: dashed;
245
- }
246
- .group-focus-within\:opacity-100:is(:where(.group):focus-within *) {
247
- opacity: 100%;
248
- }
249
- .last\:border-r-0:last-child {
250
- border-right-style: var(--tw-border-style);
251
- border-right-width: 0px;
252
- }
253
- @media (hover: hover) {
254
- .hover\:border-border\/80:hover {
255
- border-color: var(--border);
256
- }
257
- @supports (color: color-mix(in lab, red, red)) {
258
- .hover\:border-border\/80:hover {
259
- border-color: color-mix(in oklab, var(--border) 80%, transparent);
260
- }
261
- }
262
- .hover\:bg-muted\/30:hover {
263
- background-color: var(--muted);
264
- }
265
- @supports (color: color-mix(in lab, red, red)) {
266
- .hover\:bg-muted\/30:hover {
267
- background-color: color-mix(in oklab, var(--muted) 30%, transparent);
268
- }
269
- }
270
- .hover\:bg-muted\/40:hover {
271
- background-color: var(--muted);
272
- }
273
- @supports (color: color-mix(in lab, red, red)) {
274
- .hover\:bg-muted\/40:hover {
275
- background-color: color-mix(in oklab, var(--muted) 40%, transparent);
276
- }
277
- }
278
- }
279
- .focus\:opacity-100:focus {
280
- opacity: 100%;
281
- }
282
- @media (width >= 40rem) {
283
- .sm\:min-h-0 {
284
- min-height: 0px;
285
- }
286
- .sm\:min-h-24 {
287
- min-height: calc(var(--spacing) * 24);
288
- }
289
- .sm\:flex-row {
290
- flex-direction: row;
291
- }
292
- .sm\:items-center {
293
- align-items: center;
294
- }
295
- .sm\:gap-1 {
296
- gap: var(--spacing);
297
- }
298
- .sm\:px-1\.5 {
299
- padding-inline: calc(var(--spacing) * 1.5);
300
- }
301
- .sm\:text-xs {
302
- font-size: var(--text-xs);
303
- line-height: var(--tw-leading, var(--text-xs--line-height));
304
- }
305
- }
306
- .dark\:bg-amber-900\/40:where(.dark, .dark *) {
307
- background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 40%, transparent);
308
- @supports (color: color-mix(in lab, red, red)) {
309
- background-color: color-mix(in oklab, var(--color-amber-900) 40%, transparent);
310
- }
311
- }
312
- .dark\:bg-blue-900\/40:where(.dark, .dark *) {
313
- background-color: color-mix(in srgb, oklch(37.9% 0.146 265.522) 40%, transparent);
314
- @supports (color: color-mix(in lab, red, red)) {
315
- background-color: color-mix(in oklab, var(--color-blue-900) 40%, transparent);
316
- }
317
- }
318
- .dark\:bg-emerald-900\/40:where(.dark, .dark *) {
319
- background-color: color-mix(in srgb, oklch(37.8% 0.077 168.94) 40%, transparent);
320
- @supports (color: color-mix(in lab, red, red)) {
321
- background-color: color-mix(in oklab, var(--color-emerald-900) 40%, transparent);
322
- }
323
- }
324
- .dark\:bg-green-900\/40:where(.dark, .dark *) {
325
- background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 40%, transparent);
326
- @supports (color: color-mix(in lab, red, red)) {
327
- background-color: color-mix(in oklab, var(--color-green-900) 40%, transparent);
328
- }
329
- }
330
- .dark\:bg-purple-900\/40:where(.dark, .dark *) {
331
- background-color: color-mix(in srgb, oklch(38.1% 0.176 304.987) 40%, transparent);
332
- @supports (color: color-mix(in lab, red, red)) {
333
- background-color: color-mix(in oklab, var(--color-purple-900) 40%, transparent);
334
- }
335
- }
336
- .dark\:bg-rose-900\/40:where(.dark, .dark *) {
337
- background-color: color-mix(in srgb, oklch(41% 0.159 10.272) 40%, transparent);
338
- @supports (color: color-mix(in lab, red, red)) {
339
- background-color: color-mix(in oklab, var(--color-rose-900) 40%, transparent);
340
- }
341
- }
342
- .dark\:bg-sky-900\/40:where(.dark, .dark *) {
343
- background-color: color-mix(in srgb, oklch(39.1% 0.09 240.876) 40%, transparent);
344
- @supports (color: color-mix(in lab, red, red)) {
345
- background-color: color-mix(in oklab, var(--color-sky-900) 40%, transparent);
346
- }
347
- }
348
- .dark\:bg-slate-800:where(.dark, .dark *) {
349
- background-color: var(--color-slate-800);
350
- }
351
- .dark\:bg-teal-900\/40:where(.dark, .dark *) {
352
- background-color: color-mix(in srgb, oklch(38.6% 0.063 188.416) 40%, transparent);
353
- @supports (color: color-mix(in lab, red, red)) {
354
- background-color: color-mix(in oklab, var(--color-teal-900) 40%, transparent);
355
- }
356
- }
357
- .dark\:bg-violet-900\/40:where(.dark, .dark *) {
358
- background-color: color-mix(in srgb, oklch(38% 0.189 293.745) 40%, transparent);
359
- @supports (color: color-mix(in lab, red, red)) {
360
- background-color: color-mix(in oklab, var(--color-violet-900) 40%, transparent);
361
- }
362
- }
363
- .dark\:text-amber-200:where(.dark, .dark *) {
364
- color: var(--color-amber-200);
365
- }
366
- .dark\:text-blue-200:where(.dark, .dark *) {
367
- color: var(--color-blue-200);
368
- }
369
- .dark\:text-emerald-200:where(.dark, .dark *) {
370
- color: var(--color-emerald-200);
371
- }
372
- .dark\:text-green-200:where(.dark, .dark *) {
373
- color: var(--color-green-200);
374
- }
375
- .dark\:text-purple-200:where(.dark, .dark *) {
376
- color: var(--color-purple-200);
377
- }
378
- .dark\:text-rose-200:where(.dark, .dark *) {
379
- color: var(--color-rose-200);
380
- }
381
- .dark\:text-sky-200:where(.dark, .dark *) {
382
- color: var(--color-sky-200);
383
- }
384
- .dark\:text-slate-200:where(.dark, .dark *) {
385
- color: var(--color-slate-200);
386
- }
387
- .dark\:text-teal-200:where(.dark, .dark *) {
388
- color: var(--color-teal-200);
389
- }
390
- .dark\:text-violet-200:where(.dark, .dark *) {
391
- color: var(--color-violet-200);
392
- }
393
- }
394
- @property --tw-border-style {
395
- syntax: "*";
396
- inherits: false;
397
- initial-value: solid;
398
- }
399
- @property --tw-leading {
400
- syntax: "*";
401
- inherits: false;
402
- }
403
- @property --tw-outline-style {
404
- syntax: "*";
405
- inherits: false;
406
- initial-value: solid;
407
- }
408
- @layer properties {
409
- @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
410
- *, ::before, ::after, ::backdrop {
411
- --tw-border-style: solid;
412
- --tw-leading: initial;
413
- --tw-outline-style: solid;
414
- }
415
- }
416
- }
27
+ @source inline("bg-amber-100 bg-amber-500 bg-blue-100 bg-blue-500 bg-emerald-500 bg-green-100 bg-green-500");
28
+ @source inline("bg-muted/40 bg-muted/60 bg-purple-100 bg-purple-500 bg-rose-100 bg-rose-500 bg-sky-100");
29
+ @source inline("bg-sky-500 bg-slate-200 bg-slate-500 bg-teal-100 bg-teal-500 bg-violet-100 bg-violet-500");
30
+ @source inline("border-0 border-border/40 border-r collapse dark:bg-amber-900/40 dark:bg-blue-900/40");
31
+ @source inline("dark:bg-emerald-900/40 dark:bg-green-900/40 dark:bg-purple-900/40 dark:bg-rose-900/40");
32
+ @source inline("dark:bg-sky-900/40 dark:bg-slate-800 dark:bg-teal-900/40 dark:bg-violet-900/40");
33
+ @source inline("dark:text-amber-200 dark:text-blue-200 dark:text-emerald-200 dark:text-green-200");
34
+ @source inline("dark:text-purple-200 dark:text-rose-200 dark:text-sky-200 dark:text-slate-200 dark:text-teal-200");
35
+ @source inline("dark:text-violet-200 focus:opacity-100 g grid-cols-[repeat(7,minmax(0,1fr))]");
36
+ @source inline("group-focus-within:opacity-100 h-3.5 hover:bg-muted/30 hover:bg-muted/40 hover:border-border/80");
37
+ @source inline("justify-start last:border-r-0 leading-tight line-through min-h-[10rem] min-h-[44px] min-h-[7rem]");
38
+ @source inline("min-w-[44px] outline-1 outline-dashed outline-tone-amber-ink p-1.5 sm:flex-row sm:gap-1");
39
+ @source inline("sm:items-center sm:min-h-0 sm:min-h-24 sm:px-1.5 sm:text-xs text-amber-900 text-blue-800");
40
+ @source inline("text-emerald-800 text-green-800 text-purple-800 text-rose-800 text-sky-800 text-slate-800");
41
+ @source inline("text-teal-800 text-tone-amber-ink text-violet-800 w-3.5");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * cursedbelt — the `chart-table` area. GENERATED BUILD ARTIFACT. Never hand-edit.
2
+ * cursedbelt — the `chart-table` area's utility candidates. GENERATED BUILD ARTIFACT. Never hand-edit.
3
3
  *
4
4
  * ChartTablePanel, the chart-with-its-own-data-table composite — 14,838 B of it is the DataTable and the charts it already needs.
5
5
  *
@@ -15,27 +15,15 @@
15
15
  * @import "cursedbelt/styles-areas/chart-table.css";
16
16
  * @import "cursedbelt/theme.css";
17
17
  *
18
- * An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
19
- * emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
20
- * when this file is stale. 60 candidate(s) scanned.
18
+ * These are CANDIDATES (`@source inline`), not CSS: the app's own Tailwind pass generates
19
+ * them, sorted together with the app's utilities, so an area can never put a base utility
20
+ * after an app's responsive variant (task 2124). An app that imports every area gets exactly
21
+ * what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
22
+ * src/stylesAreas.spec.ts, which is also what fails when this file is stale.
23
+ * 3 candidate(s).
21
24
  *
22
25
  * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
23
26
  * `bun run build` runs. The map of what is in which area, and why the areas are
24
27
  * import closures rather than a hand-written list, is scripts/styleAreas.ts.
25
28
  */
26
- /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
27
- @layer theme, base, components, utilities;
28
- @layer utilities {
29
- .min-w-\[5rem\] {
30
- min-width: 5rem;
31
- }
32
- .shrink-\[2\] {
33
- flex-shrink: 2;
34
- }
35
- .bg-muted\/40 {
36
- background-color: var(--muted);
37
- @supports (color: color-mix(in lab, red, red)) {
38
- background-color: color-mix(in oklab, var(--muted) 40%, transparent);
39
- }
40
- }
41
- }
29
+ @source inline("bg-muted/40 min-w-[5rem] shrink-[2]");