cursedbelt 3.0.2 → 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 +111 -31
  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,153 @@
1
+ /*
2
+ * cursedbelt — the `sharing` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the share sheet and its permission rows.
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/sharing.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. 155 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
+ .right-3 {
34
+ right: calc(var(--spacing) * 3);
35
+ }
36
+ .left-0 {
37
+ left: 0px;
38
+ }
39
+ .left-3 {
40
+ left: calc(var(--spacing) * 3);
41
+ }
42
+ .mt-4 {
43
+ margin-top: calc(var(--spacing) * 4);
44
+ }
45
+ .mb-3 {
46
+ margin-bottom: calc(var(--spacing) * 3);
47
+ }
48
+ .ml-2 {
49
+ margin-left: calc(var(--spacing) * 2);
50
+ }
51
+ .max-h-56 {
52
+ max-height: calc(var(--spacing) * 56);
53
+ }
54
+ .max-h-\[40dvh\] {
55
+ max-height: 40dvh;
56
+ }
57
+ .max-h-\[65dvh\] {
58
+ max-height: 65dvh;
59
+ }
60
+ .max-h-\[85dvh\] {
61
+ max-height: 85dvh;
62
+ }
63
+ .min-w-48 {
64
+ min-width: calc(var(--spacing) * 48);
65
+ }
66
+ .justify-start {
67
+ justify-content: flex-start;
68
+ }
69
+ :where(.space-y-4 > :not(:last-child)) {
70
+ --tw-space-y-reverse: 0;
71
+ margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
72
+ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
73
+ }
74
+ .rounded-t-xl {
75
+ border-top-left-radius: 1.5rem;
76
+ border-top-right-radius: 1.5rem;
77
+ }
78
+ .rounded-l-xl {
79
+ border-top-left-radius: 1.5rem;
80
+ border-bottom-left-radius: 1.5rem;
81
+ }
82
+ .rounded-r-xl {
83
+ border-top-right-radius: 1.5rem;
84
+ border-bottom-right-radius: 1.5rem;
85
+ }
86
+ .border-r {
87
+ border-right-style: var(--tw-border-style);
88
+ border-right-width: 1px;
89
+ }
90
+ .border-l {
91
+ border-left-style: var(--tw-border-style);
92
+ border-left-width: 1px;
93
+ }
94
+ .border-\[var\(--border\)\] {
95
+ border-color: var(--border);
96
+ }
97
+ .bg-accent\/15 {
98
+ background-color: var(--accent);
99
+ @supports (color: color-mix(in lab, red, red)) {
100
+ background-color: color-mix(in oklab, var(--accent) 15%, transparent);
101
+ }
102
+ }
103
+ .pl-9 {
104
+ padding-left: calc(var(--spacing) * 9);
105
+ }
106
+ .text-\[var\(--muted-foreground\)\] {
107
+ color: var(--muted-foreground);
108
+ }
109
+ @media (hover: hover) {
110
+ .hover\:opacity-90:hover {
111
+ opacity: 90%;
112
+ }
113
+ }
114
+ .disabled\:opacity-100:disabled {
115
+ opacity: 100%;
116
+ }
117
+ .data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
118
+ --tw-exit-translate-y: 100%;
119
+ }
120
+ .data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
121
+ --tw-exit-translate-x: -100%;
122
+ }
123
+ .data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
124
+ --tw-exit-translate-x: 100%;
125
+ }
126
+ .data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
127
+ --tw-enter-translate-y: 100%;
128
+ }
129
+ .data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
130
+ --tw-enter-translate-x: -100%;
131
+ }
132
+ .data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
133
+ --tw-enter-translate-x: 100%;
134
+ }
135
+ }
136
+ @property --tw-space-y-reverse {
137
+ syntax: "*";
138
+ inherits: false;
139
+ initial-value: 0;
140
+ }
141
+ @property --tw-border-style {
142
+ syntax: "*";
143
+ inherits: false;
144
+ initial-value: solid;
145
+ }
146
+ @layer properties {
147
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
148
+ *, ::before, ::after, ::backdrop {
149
+ --tw-space-y-reverse: 0;
150
+ --tw-border-style: solid;
151
+ }
152
+ }
153
+ }
@@ -0,0 +1,37 @@
1
+ /*
2
+ * cursedbelt — the `spreadsheet` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the glide-data-grid host (an optional peer already).
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/spreadsheet.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. 166 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
+ --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', Arial,
29
+ sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
30
+ --text-sm: 0.875rem;
31
+ }
32
+ }
33
+ @layer utilities {
34
+ .collapse {
35
+ visibility: collapse;
36
+ }
37
+ }
@@ -0,0 +1,281 @@
1
+ /*
2
+ * cursedbelt — the `stats` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the KPI/meter/timeline family — dashboards render them, forms and lists never do.
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/stats.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. 361 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
+ --text-3xl: 1.875rem;
31
+ --text-3xl--line-height: calc(2.25 / 1.875);
32
+ --tracking-normal: 0em;
33
+ --leading-tight: 1.25;
34
+ }
35
+ }
36
+ @layer utilities {
37
+ .collapse {
38
+ visibility: collapse;
39
+ }
40
+ .top-7 {
41
+ top: calc(var(--spacing) * 7);
42
+ }
43
+ .bottom-3 {
44
+ bottom: calc(var(--spacing) * 3);
45
+ }
46
+ .left-3 {
47
+ left: calc(var(--spacing) * 3);
48
+ }
49
+ .left-\[11px\] {
50
+ left: 11px;
51
+ }
52
+ .z-\[1\] {
53
+ z-index: 1;
54
+ }
55
+ .col-span-2 {
56
+ grid-column: span 2 / span 2;
57
+ }
58
+ .col-start-2 {
59
+ grid-column-start: 2;
60
+ }
61
+ .row-start-1 {
62
+ grid-row-start: 1;
63
+ }
64
+ .mr-0\.5 {
65
+ margin-right: calc(var(--spacing) * 0.5);
66
+ }
67
+ .mb-3 {
68
+ margin-bottom: calc(var(--spacing) * 3);
69
+ }
70
+ .h-5 {
71
+ height: calc(var(--spacing) * 5);
72
+ }
73
+ .w-48 {
74
+ width: calc(var(--spacing) * 48);
75
+ }
76
+ .min-w-\[8\.5rem\] {
77
+ min-width: 8.5rem;
78
+ }
79
+ .min-w-full {
80
+ min-width: 100%;
81
+ }
82
+ .cursor-help {
83
+ cursor: help;
84
+ }
85
+ .list-none {
86
+ list-style-type: none;
87
+ }
88
+ .grid-cols-\[minmax\(0\,1fr\)_auto\] {
89
+ grid-template-columns: minmax(0,1fr) auto;
90
+ }
91
+ .gap-2\.5 {
92
+ gap: calc(var(--spacing) * 2.5);
93
+ }
94
+ .gap-x-2 {
95
+ column-gap: calc(var(--spacing) * 2);
96
+ }
97
+ .gap-x-4 {
98
+ column-gap: calc(var(--spacing) * 4);
99
+ }
100
+ .gap-y-0\.5 {
101
+ row-gap: calc(var(--spacing) * 0.5);
102
+ }
103
+ :where(.divide-x > :not(:last-child)) {
104
+ --tw-divide-x-reverse: 0;
105
+ border-inline-style: var(--tw-border-style);
106
+ border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
107
+ border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
108
+ }
109
+ .self-stretch {
110
+ align-self: stretch;
111
+ }
112
+ .border-l-2 {
113
+ border-left-style: var(--tw-border-style);
114
+ border-left-width: 2px;
115
+ }
116
+ .border-l-border-strong {
117
+ border-left-color: var(--border-strong);
118
+ }
119
+ .border-l-destructive {
120
+ border-left-color: var(--destructive);
121
+ }
122
+ .border-l-warning {
123
+ border-left-color: var(--warning);
124
+ }
125
+ .bg-accent\/15 {
126
+ background-color: var(--accent);
127
+ @supports (color: color-mix(in lab, red, red)) {
128
+ background-color: color-mix(in oklab, var(--accent) 15%, transparent);
129
+ }
130
+ }
131
+ .bg-accent\/40 {
132
+ background-color: var(--accent);
133
+ @supports (color: color-mix(in lab, red, red)) {
134
+ background-color: color-mix(in oklab, var(--accent) 40%, transparent);
135
+ }
136
+ }
137
+ .bg-background\/70 {
138
+ background-color: var(--background);
139
+ @supports (color: color-mix(in lab, red, red)) {
140
+ background-color: color-mix(in oklab, var(--background) 70%, transparent);
141
+ }
142
+ }
143
+ .bg-border-strong {
144
+ background-color: var(--border-strong);
145
+ }
146
+ .pt-1 {
147
+ padding-top: var(--spacing);
148
+ }
149
+ .text-3xl {
150
+ font-size: var(--text-3xl);
151
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
152
+ }
153
+ .text-\[0\.6rem\] {
154
+ font-size: 0.6rem;
155
+ }
156
+ .leading-tight {
157
+ --tw-leading: var(--leading-tight);
158
+ line-height: var(--leading-tight);
159
+ }
160
+ .tracking-normal {
161
+ --tw-tracking: var(--tracking-normal);
162
+ letter-spacing: var(--tracking-normal);
163
+ }
164
+ .break-words {
165
+ overflow-wrap: break-word;
166
+ }
167
+ .whitespace-pre {
168
+ white-space: pre;
169
+ }
170
+ .text-foreground\/80 {
171
+ color: var(--foreground);
172
+ @supports (color: color-mix(in lab, red, red)) {
173
+ color: color-mix(in oklab, var(--foreground) 80%, transparent);
174
+ }
175
+ }
176
+ .text-muted-foreground\/60 {
177
+ color: var(--muted-foreground);
178
+ @supports (color: color-mix(in lab, red, red)) {
179
+ color: color-mix(in oklab, var(--muted-foreground) 60%, transparent);
180
+ }
181
+ }
182
+ .text-success {
183
+ color: var(--success);
184
+ }
185
+ .text-warning {
186
+ color: var(--warning);
187
+ }
188
+ .normal-case {
189
+ text-transform: none;
190
+ }
191
+ @media (hover: hover) {
192
+ .group-hover\/meter\:opacity-100:is(:where(.group\/meter):hover *) {
193
+ opacity: 100%;
194
+ }
195
+ .group-hover\/stat\:opacity-100:is(:where(.group\/stat):hover *) {
196
+ opacity: 100%;
197
+ }
198
+ .group-hover\/tile\:opacity-100:is(:where(.group\/tile):hover *) {
199
+ opacity: 100%;
200
+ }
201
+ }
202
+ .group-focus-visible\/meter\:opacity-100:is(:where(.group\/meter):focus-visible *) {
203
+ opacity: 100%;
204
+ }
205
+ .group-focus-visible\/stat\:opacity-100:is(:where(.group\/stat):focus-visible *) {
206
+ opacity: 100%;
207
+ }
208
+ .group-focus-visible\/tile\:opacity-100:is(:where(.group\/tile):focus-visible *) {
209
+ opacity: 100%;
210
+ }
211
+ .first\:pl-1:first-child {
212
+ padding-left: var(--spacing);
213
+ }
214
+ .last\:pr-1:last-child {
215
+ padding-right: var(--spacing);
216
+ }
217
+ @media (hover: hover) {
218
+ .hover\:bg-muted\/50:hover {
219
+ background-color: var(--muted);
220
+ }
221
+ @supports (color: color-mix(in lab, red, red)) {
222
+ .hover\:bg-muted\/50:hover {
223
+ background-color: color-mix(in oklab, var(--muted) 50%, transparent);
224
+ }
225
+ }
226
+ }
227
+ @media (width >= 40rem) {
228
+ .sm\:col-auto {
229
+ grid-column: auto;
230
+ }
231
+ .sm\:col-span-1 {
232
+ grid-column: span 1 / span 1;
233
+ }
234
+ .sm\:row-auto {
235
+ grid-row: auto;
236
+ }
237
+ .sm\:grid-cols-\[minmax\(7rem\,18rem\)_minmax\(4rem\,1fr\)_auto\] {
238
+ grid-template-columns: minmax(7rem,18rem) minmax(4rem,1fr) auto;
239
+ }
240
+ .sm\:grid-cols-\[minmax\(7rem\,34rem\)_minmax\(4rem\,1fr\)_auto\] {
241
+ grid-template-columns: minmax(7rem,34rem) minmax(4rem,1fr) auto;
242
+ }
243
+ }
244
+ .\[\&_svg\]\:size-3\.5 svg {
245
+ width: calc(var(--spacing) * 3.5);
246
+ height: calc(var(--spacing) * 3.5);
247
+ }
248
+ @media (width >= 40rem) {
249
+ .\[\&\>div\]\:sm\:\[grid-template-columns\:…\] > div {
250
+ grid-template-columns: …;
251
+ }
252
+ }
253
+ }
254
+ @property --tw-divide-x-reverse {
255
+ syntax: "*";
256
+ inherits: false;
257
+ initial-value: 0;
258
+ }
259
+ @property --tw-border-style {
260
+ syntax: "*";
261
+ inherits: false;
262
+ initial-value: solid;
263
+ }
264
+ @property --tw-leading {
265
+ syntax: "*";
266
+ inherits: false;
267
+ }
268
+ @property --tw-tracking {
269
+ syntax: "*";
270
+ inherits: false;
271
+ }
272
+ @layer properties {
273
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
274
+ *, ::before, ::after, ::backdrop {
275
+ --tw-divide-x-reverse: 0;
276
+ --tw-border-style: solid;
277
+ --tw-leading: initial;
278
+ --tw-tracking: initial;
279
+ }
280
+ }
281
+ }
@@ -0,0 +1,133 @@
1
+ /*
2
+ * cursedbelt — the `test-report` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the test-report reader.
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/test-report.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. 77 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
+ .left-0 {
34
+ left: 0px;
35
+ }
36
+ .h-80 {
37
+ height: calc(var(--spacing) * 80);
38
+ }
39
+ .max-h-72 {
40
+ max-height: calc(var(--spacing) * 72);
41
+ }
42
+ .max-h-96 {
43
+ max-height: calc(var(--spacing) * 96);
44
+ }
45
+ .max-h-\[40dvh\] {
46
+ max-height: 40dvh;
47
+ }
48
+ .max-h-\[65dvh\] {
49
+ max-height: 65dvh;
50
+ }
51
+ .max-h-\[85dvh\] {
52
+ max-height: 85dvh;
53
+ }
54
+ .w-2 {
55
+ width: calc(var(--spacing) * 2);
56
+ }
57
+ .self-start {
58
+ align-self: flex-start;
59
+ }
60
+ .rounded-t-xl {
61
+ border-top-left-radius: 1.5rem;
62
+ border-top-right-radius: 1.5rem;
63
+ }
64
+ .rounded-l-xl {
65
+ border-top-left-radius: 1.5rem;
66
+ border-bottom-left-radius: 1.5rem;
67
+ }
68
+ .rounded-r-xl {
69
+ border-top-right-radius: 1.5rem;
70
+ border-bottom-right-radius: 1.5rem;
71
+ }
72
+ .border-r {
73
+ border-right-style: var(--tw-border-style);
74
+ border-right-width: 1px;
75
+ }
76
+ .border-l {
77
+ border-left-style: var(--tw-border-style);
78
+ border-left-width: 1px;
79
+ }
80
+ .text-right {
81
+ text-align: right;
82
+ }
83
+ .no-underline {
84
+ text-decoration-line: none;
85
+ }
86
+ .last\:border-0:last-child {
87
+ border-style: var(--tw-border-style);
88
+ border-width: 0px;
89
+ }
90
+ @media (hover: hover) {
91
+ .hover\:bg-muted\/60:hover {
92
+ background-color: var(--muted);
93
+ }
94
+ @supports (color: color-mix(in lab, red, red)) {
95
+ .hover\:bg-muted\/60:hover {
96
+ background-color: color-mix(in oklab, var(--muted) 60%, transparent);
97
+ }
98
+ }
99
+ .hover\:no-underline:hover {
100
+ text-decoration-line: none;
101
+ }
102
+ }
103
+ .data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
104
+ --tw-exit-translate-y: 100%;
105
+ }
106
+ .data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
107
+ --tw-exit-translate-x: -100%;
108
+ }
109
+ .data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
110
+ --tw-exit-translate-x: 100%;
111
+ }
112
+ .data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
113
+ --tw-enter-translate-y: 100%;
114
+ }
115
+ .data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
116
+ --tw-enter-translate-x: -100%;
117
+ }
118
+ .data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
119
+ --tw-enter-translate-x: 100%;
120
+ }
121
+ }
122
+ @property --tw-border-style {
123
+ syntax: "*";
124
+ inherits: false;
125
+ initial-value: solid;
126
+ }
127
+ @layer properties {
128
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
129
+ *, ::before, ::after, ::backdrop {
130
+ --tw-border-style: solid;
131
+ }
132
+ }
133
+ }
@@ -0,0 +1,30 @@
1
+ /*
2
+ * cursedbelt — the `virtual` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * VirtualList and VirtualCardGrid — at the ROOT of src/react, and separable anyway because nothing about a stylesheet cares where a module lives.
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/virtual.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. 161 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 utilities {
27
+ .min-h-dvh {
28
+ min-height: 100dvh;
29
+ }
30
+ }