cursedbelt 3.0.1 → 4.0.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 (250) hide show
  1. package/dist/react/components/ListToolbar.d.ts +94 -0
  2. package/dist/react/components/ListToolbar.d.ts.map +1 -0
  3. package/dist/react/components/ListToolbar.js +66 -0
  4. package/dist/react/components/ListToolbar.js.map +1 -0
  5. package/dist/react/file-tree/FileTree.d.ts +282 -3
  6. package/dist/react/file-tree/FileTree.d.ts.map +1 -1
  7. package/dist/react/file-tree/FileTree.js +799 -131
  8. package/dist/react/file-tree/FileTree.js.map +1 -1
  9. package/dist/react/file-tree/fileTree.css +151 -0
  10. package/dist/react/file-tree/fileTreeSelection.d.ts +187 -0
  11. package/dist/react/file-tree/fileTreeSelection.d.ts.map +1 -0
  12. package/dist/react/file-tree/fileTreeSelection.js +264 -0
  13. package/dist/react/file-tree/fileTreeSelection.js.map +1 -0
  14. package/dist/react/file-tree/index.d.ts +1 -0
  15. package/dist/react/file-tree/index.d.ts.map +1 -1
  16. package/dist/react/file-tree/index.js +8 -0
  17. package/dist/react/file-tree/index.js.map +1 -1
  18. package/dist/react/index.d.ts +1 -0
  19. package/dist/react/index.d.ts.map +1 -1
  20. package/dist/react/index.js +1 -0
  21. package/dist/react/index.js.map +1 -1
  22. package/dist/react/lib/form.d.ts +3 -0
  23. package/dist/react/lib/form.d.ts.map +1 -1
  24. package/dist/react/lib/form.js +43 -5
  25. package/dist/react/lib/form.js.map +1 -1
  26. package/dist/react/media/DenseGalleryShell.d.ts +19 -3
  27. package/dist/react/media/DenseGalleryShell.d.ts.map +1 -1
  28. package/dist/react/media/DenseGalleryShell.js +55 -15
  29. package/dist/react/media/DenseGalleryShell.js.map +1 -1
  30. package/dist/react/media/FocusViewer.d.ts.map +1 -1
  31. package/dist/react/media/FocusViewer.js +14 -14
  32. package/dist/react/media/FocusViewer.js.map +1 -1
  33. package/dist/react/media/FrameGrabber.d.ts +23 -0
  34. package/dist/react/media/FrameGrabber.d.ts.map +1 -1
  35. package/dist/react/media/FrameGrabber.js +67 -1
  36. package/dist/react/media/FrameGrabber.js.map +1 -1
  37. package/dist/react/media/MediaResize.d.ts +51 -19
  38. package/dist/react/media/MediaResize.d.ts.map +1 -1
  39. package/dist/react/media/MediaResize.js +20 -13
  40. package/dist/react/media/MediaResize.js.map +1 -1
  41. package/dist/react/media/VideoChapterEditor.d.ts +67 -0
  42. package/dist/react/media/VideoChapterEditor.d.ts.map +1 -0
  43. package/dist/react/media/VideoChapterEditor.js +148 -0
  44. package/dist/react/media/VideoChapterEditor.js.map +1 -0
  45. package/dist/react/media/VideoPlayer.d.ts +46 -4
  46. package/dist/react/media/VideoPlayer.d.ts.map +1 -1
  47. package/dist/react/media/VideoPlayer.js +124 -11
  48. package/dist/react/media/VideoPlayer.js.map +1 -1
  49. package/dist/react/media/VideoTurner.d.ts +15 -2
  50. package/dist/react/media/VideoTurner.d.ts.map +1 -1
  51. package/dist/react/media/VideoTurner.js +29 -2
  52. package/dist/react/media/VideoTurner.js.map +1 -1
  53. package/dist/react/media/denseGallery.css +104 -46
  54. package/dist/react/media/hlsSource.d.ts +57 -0
  55. package/dist/react/media/hlsSource.d.ts.map +1 -1
  56. package/dist/react/media/hlsSource.js +177 -1
  57. package/dist/react/media/hlsSource.js.map +1 -1
  58. package/dist/react/media/index.d.ts +2 -0
  59. package/dist/react/media/index.d.ts.map +1 -1
  60. package/dist/react/media/index.js +6 -0
  61. package/dist/react/media/index.js.map +1 -1
  62. package/dist/react/media/mediaResize.css +127 -54
  63. package/dist/react/media/pictureEditor.css +52 -6
  64. package/dist/react/media/videoChapterEditor.css +203 -0
  65. package/dist/react/media/videoChapters.d.ts +117 -0
  66. package/dist/react/media/videoChapters.d.ts.map +1 -0
  67. package/dist/react/media/videoChapters.js +95 -0
  68. package/dist/react/media/videoChapters.js.map +1 -0
  69. package/dist/react/media-gallery/GalleryTable.d.ts +52 -1
  70. package/dist/react/media-gallery/GalleryTable.d.ts.map +1 -1
  71. package/dist/react/media-gallery/GalleryTable.js +40 -9
  72. package/dist/react/media-gallery/GalleryTable.js.map +1 -1
  73. package/dist/react/media-gallery/MediaGallery.d.ts +107 -4
  74. package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
  75. package/dist/react/media-gallery/MediaGallery.js +484 -104
  76. package/dist/react/media-gallery/MediaGallery.js.map +1 -1
  77. package/dist/react/media-gallery/MediaMetaEditor.d.ts +48 -0
  78. package/dist/react/media-gallery/MediaMetaEditor.d.ts.map +1 -0
  79. package/dist/react/media-gallery/MediaMetaEditor.js +66 -0
  80. package/dist/react/media-gallery/MediaMetaEditor.js.map +1 -0
  81. package/dist/react/media-gallery/index.d.ts +2 -0
  82. package/dist/react/media-gallery/index.d.ts.map +1 -1
  83. package/dist/react/media-gallery/index.js +5 -0
  84. package/dist/react/media-gallery/index.js.map +1 -1
  85. package/dist/react/media-gallery/mediaGallery.css +180 -4
  86. package/dist/react/media-gallery/mediaMeta.d.ts +62 -0
  87. package/dist/react/media-gallery/mediaMeta.d.ts.map +1 -0
  88. package/dist/react/media-gallery/mediaMeta.js +56 -0
  89. package/dist/react/media-gallery/mediaMeta.js.map +1 -0
  90. package/dist/react/media-gallery/playbackPreferences.d.ts +77 -0
  91. package/dist/react/media-gallery/playbackPreferences.d.ts.map +1 -1
  92. package/dist/react/media-gallery/playbackPreferences.js +42 -0
  93. package/dist/react/media-gallery/playbackPreferences.js.map +1 -1
  94. package/dist/react/media-gallery/types.d.ts +34 -0
  95. package/dist/react/media-gallery/types.d.ts.map +1 -1
  96. package/dist/scripts/guardrailsEnforce.d.ts +29 -0
  97. package/dist/scripts/guardrailsEnforce.d.ts.map +1 -0
  98. package/dist/styles-areas/activity-bar.css +30 -0
  99. package/dist/styles-areas/analytics.css +672 -0
  100. package/dist/styles-areas/auth.css +154 -0
  101. package/dist/styles-areas/calendar.css +416 -0
  102. package/dist/styles-areas/chart-table.css +41 -0
  103. package/dist/styles-areas/charts.css +89 -0
  104. package/dist/styles-areas/chat.css +364 -0
  105. package/dist/styles-areas/clipboard.css +26 -0
  106. package/dist/styles-areas/code-editor.css +130 -0
  107. package/dist/styles-areas/companion-link.css +70 -0
  108. package/dist/styles-areas/core.css +2503 -0
  109. package/dist/styles-areas/dashboard-grid.css +84 -0
  110. package/dist/styles-areas/data-table.css +657 -0
  111. package/dist/styles-areas/deep-link.css +26 -0
  112. package/dist/styles-areas/diff-viewer.css +30 -0
  113. package/dist/styles-areas/disk-usage.css +262 -0
  114. package/dist/styles-areas/emoji.css +154 -0
  115. package/dist/styles-areas/fields.css +582 -0
  116. package/dist/styles-areas/file-tree.css +33 -0
  117. package/dist/styles-areas/filter-rail.css +235 -0
  118. package/dist/styles-areas/folder-tree.css +219 -0
  119. package/dist/styles-areas/keep-awake.css +26 -0
  120. package/dist/styles-areas/layout-engine.css +239 -0
  121. package/dist/styles-areas/markdown.css +87 -0
  122. package/dist/styles-areas/master-detail.css +239 -0
  123. package/dist/styles-areas/master-lock.css +26 -0
  124. package/dist/styles-areas/media-gallery.css +351 -0
  125. package/dist/styles-areas/media.css +658 -0
  126. package/dist/styles-areas/nav.css +488 -0
  127. package/dist/styles-areas/notifications.css +245 -0
  128. package/dist/styles-areas/overlays.css +133 -0
  129. package/dist/styles-areas/palette.css +140 -0
  130. package/dist/styles-areas/pdf-viewer.css +47 -0
  131. package/dist/styles-areas/problem-detail.css +97 -0
  132. package/dist/styles-areas/rich-text.css +167 -0
  133. package/dist/styles-areas/sharing.css +153 -0
  134. package/dist/styles-areas/spreadsheet.css +37 -0
  135. package/dist/styles-areas/stats.css +281 -0
  136. package/dist/styles-areas/test-report.css +133 -0
  137. package/dist/styles-areas/virtual.css +30 -0
  138. package/dist/styles-areas/wizard.css +381 -0
  139. package/dist/styles-areas/workbench.css +543 -0
  140. package/dist/styles-areas/workbook-viewer.css +44 -0
  141. package/dist/styles-static.css +34 -23
  142. package/dist/styles.css +34 -23
  143. package/package.json +288 -202
  144. package/scripts/checkDistExports.ts +67 -0
  145. package/scripts/cssRules.ts +125 -0
  146. package/scripts/fixtureAppCss.ts +344 -0
  147. package/scripts/generateAreaStyles.ts +253 -0
  148. package/scripts/guardrailsEnforce.spec.ts +62 -0
  149. package/scripts/guardrailsEnforce.ts +67 -3
  150. package/scripts/styleAreas.ts +585 -0
  151. package/scripts/verify.ts +5 -0
  152. package/src/barrelsReachNoOptionalPeer.spec.ts +117 -9
  153. package/src/docsMatchTheSplit.spec.ts +98 -0
  154. package/src/fixtureAppCss.spec.ts +177 -0
  155. package/src/namedSubpathsResolve.spec.ts +35 -0
  156. package/src/publishShape.spec.ts +67 -0
  157. package/src/react/components/ListToolbar.spec.tsx +172 -0
  158. package/src/react/components/ListToolbar.tsx +151 -0
  159. package/src/react/file-tree/FileTree.spec.tsx +1009 -0
  160. package/src/react/file-tree/FileTree.tsx +1459 -309
  161. package/src/react/file-tree/fileTree.css +151 -0
  162. package/src/react/file-tree/fileTreeSelection.spec.ts +327 -0
  163. package/src/react/file-tree/fileTreeSelection.ts +321 -0
  164. package/src/react/file-tree/index.ts +21 -0
  165. package/src/react/index.ts +1 -0
  166. package/src/react/lib/form.ts +51 -8
  167. package/src/react/media/DenseGalleryShell.tsx +108 -36
  168. package/src/react/media/FocusViewer.tsx +15 -8
  169. package/src/react/media/FrameGrabber.spec.tsx +175 -0
  170. package/src/react/media/FrameGrabber.tsx +67 -0
  171. package/src/react/media/MediaResize.spec.tsx +84 -14
  172. package/src/react/media/MediaResize.tsx +51 -19
  173. package/src/react/media/VideoChapterEditor.tsx +428 -0
  174. package/src/react/media/VideoPlayer.spec.tsx +111 -1
  175. package/src/react/media/VideoPlayer.tsx +158 -11
  176. package/src/react/media/VideoTurner.spec.tsx +67 -0
  177. package/src/react/media/VideoTurner.tsx +70 -15
  178. package/src/react/media/denseGallery.css +104 -46
  179. package/src/react/media/hlsSource.recovery.spec.ts +213 -0
  180. package/src/react/media/hlsSource.spec.ts +8 -0
  181. package/src/react/media/hlsSource.ts +189 -1
  182. package/src/react/media/index.ts +14 -0
  183. package/src/react/media/mediaResize.css +127 -54
  184. package/src/react/media/pictureEditor.css +52 -6
  185. package/src/react/media/videoChapterEditor.css +203 -0
  186. package/src/react/media/videoChapters.spec.ts +176 -0
  187. package/src/react/media/videoChapters.ts +181 -0
  188. package/src/react/media-gallery/GalleryTable.tsx +93 -3
  189. package/src/react/media-gallery/MediaGallery.spec.tsx +1156 -10
  190. package/src/react/media-gallery/MediaGallery.tsx +813 -95
  191. package/src/react/media-gallery/MediaMetaEditor.tsx +237 -0
  192. package/src/react/media-gallery/galleryTable.spec.ts +41 -1
  193. package/src/react/media-gallery/index.ts +7 -0
  194. package/src/react/media-gallery/mediaGallery.css +180 -4
  195. package/src/react/media-gallery/mediaMeta.spec.ts +95 -0
  196. package/src/react/media-gallery/mediaMeta.ts +101 -0
  197. package/src/react/media-gallery/playbackPreferences.spec.ts +172 -0
  198. package/src/react/media-gallery/playbackPreferences.ts +100 -0
  199. package/src/react/media-gallery/types.ts +34 -0
  200. package/src/shippedFilesAreTracked.spec.ts +69 -0
  201. package/src/styles-areas/activity-bar.css +30 -0
  202. package/src/styles-areas/analytics.css +672 -0
  203. package/src/styles-areas/auth.css +154 -0
  204. package/src/styles-areas/calendar.css +416 -0
  205. package/src/styles-areas/chart-table.css +41 -0
  206. package/src/styles-areas/charts.css +89 -0
  207. package/src/styles-areas/chat.css +364 -0
  208. package/src/styles-areas/clipboard.css +26 -0
  209. package/src/styles-areas/code-editor.css +130 -0
  210. package/src/styles-areas/companion-link.css +70 -0
  211. package/src/styles-areas/core.css +2503 -0
  212. package/src/styles-areas/dashboard-grid.css +84 -0
  213. package/src/styles-areas/data-table.css +657 -0
  214. package/src/styles-areas/deep-link.css +26 -0
  215. package/src/styles-areas/diff-viewer.css +30 -0
  216. package/src/styles-areas/disk-usage.css +262 -0
  217. package/src/styles-areas/emoji.css +154 -0
  218. package/src/styles-areas/fields.css +582 -0
  219. package/src/styles-areas/file-tree.css +33 -0
  220. package/src/styles-areas/filter-rail.css +235 -0
  221. package/src/styles-areas/folder-tree.css +219 -0
  222. package/src/styles-areas/keep-awake.css +26 -0
  223. package/src/styles-areas/layout-engine.css +239 -0
  224. package/src/styles-areas/markdown.css +87 -0
  225. package/src/styles-areas/master-detail.css +239 -0
  226. package/src/styles-areas/master-lock.css +26 -0
  227. package/src/styles-areas/media-gallery.css +351 -0
  228. package/src/styles-areas/media.css +658 -0
  229. package/src/styles-areas/nav.css +488 -0
  230. package/src/styles-areas/notifications.css +245 -0
  231. package/src/styles-areas/overlays.css +133 -0
  232. package/src/styles-areas/palette.css +140 -0
  233. package/src/styles-areas/pdf-viewer.css +47 -0
  234. package/src/styles-areas/problem-detail.css +97 -0
  235. package/src/styles-areas/rich-text.css +167 -0
  236. package/src/styles-areas/sharing.css +153 -0
  237. package/src/styles-areas/spreadsheet.css +37 -0
  238. package/src/styles-areas/stats.css +281 -0
  239. package/src/styles-areas/test-report.css +133 -0
  240. package/src/styles-areas/virtual.css +30 -0
  241. package/src/styles-areas/wizard.css +381 -0
  242. package/src/styles-areas/workbench.css +543 -0
  243. package/src/styles-areas/workbook-viewer.css +44 -0
  244. package/src/styles-static.css +34 -23
  245. package/src/styles.css +34 -23
  246. package/src/stylesAreas.spec.ts +247 -0
  247. package/src/stylesUtilitiesMatches.spec.ts +6 -77
  248. package/src/testFilesRunInParallel.spec.ts +79 -0
  249. package/src/typecheckCachesAreSeparate.spec.ts +128 -0
  250. package/src/verifyGraph.spec.ts +6 -0
@@ -0,0 +1,154 @@
1
+ /*
2
+ * cursedbelt — the `auth` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the sign-in / register surfaces and the aurora front door — one screen, and never in the app shell.
5
+ *
6
+ * Every Tailwind utility the modules in this area's import closure use, MINUS the
7
+ * ones `styles-areas/core.css` already ships. 🔴 Import ALL of these, in
8
+ * this order — this file alone is incomplete:
9
+ *
10
+ * @import "tailwindcss";
11
+ * @import "cursedbelt/styles-static.css";
12
+ * @import "cursedbelt/styles-areas/core.css";
13
+ * @import "cursedbelt/styles-areas/auth.css";
14
+ * @import "cursedbelt/theme.css";
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. 300 candidate(s) scanned.
19
+ *
20
+ * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
21
+ * `bun run build` runs. The map of what is in which area, and why the areas are
22
+ * import closures rather than a hand-written list, is scripts/styleAreas.ts.
23
+ */
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
+ }
@@ -0,0 +1,416 @@
1
+ /*
2
+ * cursedbelt — the `calendar` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the date-picker family: a calendar grid is a whole layout nothing else shares.
5
+ *
6
+ * Every Tailwind utility the modules in this area's import closure use, MINUS the
7
+ * ones `styles-areas/core.css` already ships. 🔴 Import ALL of these, in
8
+ * this order — this file alone is incomplete:
9
+ *
10
+ * @import "tailwindcss";
11
+ * @import "cursedbelt/styles-static.css";
12
+ * @import "cursedbelt/styles-areas/core.css";
13
+ * @import "cursedbelt/styles-areas/calendar.css";
14
+ * @import "cursedbelt/theme.css";
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.
19
+ *
20
+ * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
21
+ * `bun run build` runs. The map of what is in which area, and why the areas are
22
+ * import closures rather than a hand-written list, is scripts/styleAreas.ts.
23
+ */
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
+ }
@@ -0,0 +1,41 @@
1
+ /*
2
+ * cursedbelt — the `chart-table` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
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
+ *
6
+ * Every Tailwind utility the modules in this area's import closure use, MINUS the
7
+ * ones `styles-areas/core.css` and `styles-areas/charts.css` and `styles-areas/data-table.css` already ship. 🔴 Import ALL of these, in
8
+ * this order — this file alone is incomplete:
9
+ *
10
+ * @import "tailwindcss";
11
+ * @import "cursedbelt/styles-static.css";
12
+ * @import "cursedbelt/styles-areas/core.css";
13
+ * @import "cursedbelt/styles-areas/charts.css";
14
+ * @import "cursedbelt/styles-areas/data-table.css";
15
+ * @import "cursedbelt/styles-areas/chart-table.css";
16
+ * @import "cursedbelt/theme.css";
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.
21
+ *
22
+ * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
23
+ * `bun run build` runs. The map of what is in which area, and why the areas are
24
+ * import closures rather than a hand-written list, is scripts/styleAreas.ts.
25
+ */
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
+ }
@@ -0,0 +1,89 @@
1
+ /*
2
+ * cursedbelt — the `charts` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the recharts wrappers — an app with no dashboard renders none of them.
5
+ *
6
+ * Every Tailwind utility the modules in this area's import closure use, MINUS the
7
+ * ones `styles-areas/core.css` already ships. 🔴 Import ALL of these, in
8
+ * this order — this file alone is incomplete:
9
+ *
10
+ * @import "tailwindcss";
11
+ * @import "cursedbelt/styles-static.css";
12
+ * @import "cursedbelt/styles-areas/core.css";
13
+ * @import "cursedbelt/styles-areas/charts.css";
14
+ * @import "cursedbelt/theme.css";
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. 463 candidate(s) scanned.
19
+ *
20
+ * Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
21
+ * `bun run build` runs. The map of what is in which area, and why the areas are
22
+ * import closures rather than a hand-written list, is scripts/styleAreas.ts.
23
+ */
24
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
25
+ @layer theme, base, components, utilities;
26
+ @layer theme {
27
+ :root, :host {
28
+ --spacing: 0.25rem;
29
+ }
30
+ }
31
+ @layer utilities {
32
+ .collapse {
33
+ visibility: collapse;
34
+ }
35
+ .top-0\.5 {
36
+ top: calc(var(--spacing) * 0.5);
37
+ }
38
+ .right-1 {
39
+ right: var(--spacing);
40
+ }
41
+ .ml-2 {
42
+ margin-left: calc(var(--spacing) * 2);
43
+ }
44
+ .w-2 {
45
+ width: calc(var(--spacing) * 2);
46
+ }
47
+ .w-3 {
48
+ width: calc(var(--spacing) * 3);
49
+ }
50
+ .list-none {
51
+ list-style-type: none;
52
+ }
53
+ .gap-\[2px\] {
54
+ gap: 2px;
55
+ }
56
+ .gap-x-4 {
57
+ column-gap: calc(var(--spacing) * 4);
58
+ }
59
+ .rounded-\[2px\] {
60
+ border-radius: 2px;
61
+ }
62
+ .rounded-\[3px\] {
63
+ border-radius: 3px;
64
+ }
65
+ .border-dashed {
66
+ --tw-border-style: dashed;
67
+ border-style: dashed;
68
+ }
69
+ .pr-2 {
70
+ padding-right: calc(var(--spacing) * 2);
71
+ }
72
+ .pl-3 {
73
+ padding-left: calc(var(--spacing) * 3);
74
+ }
75
+ .text-right {
76
+ text-align: right;
77
+ }
78
+ .text-warning {
79
+ color: var(--warning);
80
+ }
81
+ .opacity-25 {
82
+ opacity: 25%;
83
+ }
84
+ @media (hover: hover) {
85
+ .hover\:opacity-80:hover {
86
+ opacity: 80%;
87
+ }
88
+ }
89
+ }