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,87 @@
1
+ /*
2
+ * cursedbelt — the `markdown` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the rendered-markdown document.
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/markdown.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. 110 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
+ --color-black: #000;
29
+ --color-white: #fff;
30
+ --spacing: 0.25rem;
31
+ }
32
+ }
33
+ @layer utilities {
34
+ .top-1 {
35
+ top: var(--spacing);
36
+ }
37
+ .right-1 {
38
+ right: var(--spacing);
39
+ }
40
+ .list-decimal {
41
+ list-style-type: decimal;
42
+ }
43
+ .list-disc {
44
+ list-style-type: disc;
45
+ }
46
+ .bg-black\/10 {
47
+ background-color: color-mix(in srgb, #000 10%, transparent);
48
+ @supports (color: color-mix(in lab, red, red)) {
49
+ background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
50
+ }
51
+ }
52
+ .pr-9 {
53
+ padding-right: calc(var(--spacing) * 9);
54
+ }
55
+ .pl-5 {
56
+ padding-left: calc(var(--spacing) * 5);
57
+ }
58
+ .text-\[0\.9em\] {
59
+ font-size: 0.9em;
60
+ }
61
+ .text-\[0\.85em\] {
62
+ font-size: 0.85em;
63
+ }
64
+ .break-words {
65
+ overflow-wrap: break-word;
66
+ }
67
+ .italic {
68
+ font-style: italic;
69
+ }
70
+ .underline-offset-2 {
71
+ text-underline-offset: 2px;
72
+ }
73
+ .first\:mt-0:first-child {
74
+ margin-top: 0px;
75
+ }
76
+ @media (hover: hover) {
77
+ .hover\:opacity-80:hover {
78
+ opacity: 80%;
79
+ }
80
+ }
81
+ .dark\:bg-white\/10:where(.dark, .dark *) {
82
+ background-color: color-mix(in srgb, #fff 10%, transparent);
83
+ @supports (color: color-mix(in lab, red, red)) {
84
+ background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
85
+ }
86
+ }
87
+ }
@@ -0,0 +1,239 @@
1
+ /*
2
+ * cursedbelt — the `master-detail` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the master/detail 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/master-detail.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. 195 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
+ .mb-1\.5 {
34
+ margin-bottom: calc(var(--spacing) * 1.5);
35
+ }
36
+ .mb-4 {
37
+ margin-bottom: calc(var(--spacing) * 4);
38
+ }
39
+ .min-h-\[44px\] {
40
+ min-height: 44px;
41
+ }
42
+ .min-h-full {
43
+ min-height: 100%;
44
+ }
45
+ .\[scrollbar-width\:none\] {
46
+ scrollbar-width: none;
47
+ }
48
+ .grid-cols-\[minmax\(5rem\,9rem\)_1fr\] {
49
+ grid-template-columns: minmax(5rem,9rem) 1fr;
50
+ }
51
+ .flex-row {
52
+ flex-direction: row;
53
+ }
54
+ .gap-x-4 {
55
+ column-gap: calc(var(--spacing) * 4);
56
+ }
57
+ .gap-y-1\.5 {
58
+ row-gap: calc(var(--spacing) * 1.5);
59
+ }
60
+ .self-stretch {
61
+ align-self: stretch;
62
+ }
63
+ .border-0 {
64
+ border-style: var(--tw-border-style);
65
+ border-width: 0px;
66
+ }
67
+ .border-\[var\(--border\)\] {
68
+ border-color: var(--border);
69
+ }
70
+ .bg-\[var\(--accent\)\]\/12 {
71
+ background-color: var(--accent);
72
+ @supports (color: color-mix(in lab, red, red)) {
73
+ background-color: color-mix(in oklab, var(--accent) 12%, transparent);
74
+ }
75
+ }
76
+ .bg-\[var\(--card\)\] {
77
+ background-color: var(--card);
78
+ }
79
+ .bg-accent\/15 {
80
+ background-color: var(--accent);
81
+ @supports (color: color-mix(in lab, red, red)) {
82
+ background-color: color-mix(in oklab, var(--accent) 15%, transparent);
83
+ }
84
+ }
85
+ .pr-1 {
86
+ padding-right: var(--spacing);
87
+ }
88
+ .pb-0\.5 {
89
+ padding-bottom: calc(var(--spacing) * 0.5);
90
+ }
91
+ .text-\[var\(--foreground\)\] {
92
+ color: var(--foreground);
93
+ }
94
+ .text-\[var\(--muted-foreground\)\] {
95
+ color: var(--muted-foreground);
96
+ }
97
+ .ring-1 {
98
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
99
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
100
+ }
101
+ .ring-\[var\(--accent\)\]\/40 {
102
+ --tw-ring-color: var(--accent);
103
+ @supports (color: color-mix(in lab, red, red)) {
104
+ --tw-ring-color: color-mix(in oklab, var(--accent) 40%, transparent);
105
+ }
106
+ }
107
+ .ring-accent\/30 {
108
+ --tw-ring-color: var(--accent);
109
+ @supports (color: color-mix(in lab, red, red)) {
110
+ --tw-ring-color: color-mix(in oklab, var(--accent) 30%, transparent);
111
+ }
112
+ }
113
+ .ring-inset {
114
+ --tw-ring-inset: inset;
115
+ }
116
+ .focus-within\:border-field-ring:focus-within {
117
+ border-color: var(--field-ring);
118
+ }
119
+ .focus-within\:ring-2:focus-within {
120
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
121
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
122
+ }
123
+ .focus-within\:ring-field-ring\/30:focus-within {
124
+ --tw-ring-color: var(--field-ring);
125
+ @supports (color: color-mix(in lab, red, red)) {
126
+ --tw-ring-color: color-mix(in oklab, var(--field-ring) 30%, transparent);
127
+ }
128
+ }
129
+ @media (hover: hover) {
130
+ .hover\:bg-\[var\(--muted\)\]:hover {
131
+ background-color: var(--muted);
132
+ }
133
+ .hover\:bg-muted\/80:hover {
134
+ background-color: var(--muted);
135
+ }
136
+ @supports (color: color-mix(in lab, red, red)) {
137
+ .hover\:bg-muted\/80:hover {
138
+ background-color: color-mix(in oklab, var(--muted) 80%, transparent);
139
+ }
140
+ }
141
+ }
142
+ .has-\[\[aria-invalid\=true\]\]\:border-field-error:has(:is([aria-invalid=true])) {
143
+ border-color: var(--field-error);
144
+ }
145
+ .\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
146
+ display: none;
147
+ }
148
+ }
149
+ @property --tw-border-style {
150
+ syntax: "*";
151
+ inherits: false;
152
+ initial-value: solid;
153
+ }
154
+ @property --tw-shadow {
155
+ syntax: "*";
156
+ inherits: false;
157
+ initial-value: 0 0 #0000;
158
+ }
159
+ @property --tw-shadow-color {
160
+ syntax: "*";
161
+ inherits: false;
162
+ }
163
+ @property --tw-shadow-alpha {
164
+ syntax: "<percentage>";
165
+ inherits: false;
166
+ initial-value: 100%;
167
+ }
168
+ @property --tw-inset-shadow {
169
+ syntax: "*";
170
+ inherits: false;
171
+ initial-value: 0 0 #0000;
172
+ }
173
+ @property --tw-inset-shadow-color {
174
+ syntax: "*";
175
+ inherits: false;
176
+ }
177
+ @property --tw-inset-shadow-alpha {
178
+ syntax: "<percentage>";
179
+ inherits: false;
180
+ initial-value: 100%;
181
+ }
182
+ @property --tw-ring-color {
183
+ syntax: "*";
184
+ inherits: false;
185
+ }
186
+ @property --tw-ring-shadow {
187
+ syntax: "*";
188
+ inherits: false;
189
+ initial-value: 0 0 #0000;
190
+ }
191
+ @property --tw-inset-ring-color {
192
+ syntax: "*";
193
+ inherits: false;
194
+ }
195
+ @property --tw-inset-ring-shadow {
196
+ syntax: "*";
197
+ inherits: false;
198
+ initial-value: 0 0 #0000;
199
+ }
200
+ @property --tw-ring-inset {
201
+ syntax: "*";
202
+ inherits: false;
203
+ }
204
+ @property --tw-ring-offset-width {
205
+ syntax: "<length>";
206
+ inherits: false;
207
+ initial-value: 0px;
208
+ }
209
+ @property --tw-ring-offset-color {
210
+ syntax: "*";
211
+ inherits: false;
212
+ initial-value: #fff;
213
+ }
214
+ @property --tw-ring-offset-shadow {
215
+ syntax: "*";
216
+ inherits: false;
217
+ initial-value: 0 0 #0000;
218
+ }
219
+ @layer properties {
220
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
221
+ *, ::before, ::after, ::backdrop {
222
+ --tw-border-style: solid;
223
+ --tw-shadow: 0 0 #0000;
224
+ --tw-shadow-color: initial;
225
+ --tw-shadow-alpha: 100%;
226
+ --tw-inset-shadow: 0 0 #0000;
227
+ --tw-inset-shadow-color: initial;
228
+ --tw-inset-shadow-alpha: 100%;
229
+ --tw-ring-color: initial;
230
+ --tw-ring-shadow: 0 0 #0000;
231
+ --tw-inset-ring-color: initial;
232
+ --tw-inset-ring-shadow: 0 0 #0000;
233
+ --tw-ring-inset: initial;
234
+ --tw-ring-offset-width: 0px;
235
+ --tw-ring-offset-color: #fff;
236
+ --tw-ring-offset-shadow: 0 0 #0000;
237
+ }
238
+ }
239
+ }
@@ -0,0 +1,26 @@
1
+ /*
2
+ * cursedbelt — the `master-lock` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the master-lock gate.
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/master-lock.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. 125 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;
@@ -0,0 +1,351 @@
1
+ /*
2
+ * cursedbelt — the `media-gallery` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the photo album, the lightbox and the gallery chrome.
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/media-gallery.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. 2014 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-black: #000;
30
+ --color-white: #fff;
31
+ --spacing: 0.25rem;
32
+ --aspect-video: 16 / 9;
33
+ }
34
+ }
35
+ @layer utilities {
36
+ .inset-4 {
37
+ inset: calc(var(--spacing) * 4);
38
+ }
39
+ .top-1 {
40
+ top: var(--spacing);
41
+ }
42
+ .top-4 {
43
+ top: calc(var(--spacing) * 4);
44
+ }
45
+ .right-1 {
46
+ right: var(--spacing);
47
+ }
48
+ .right-4 {
49
+ right: calc(var(--spacing) * 4);
50
+ }
51
+ .bottom-1 {
52
+ bottom: var(--spacing);
53
+ }
54
+ .left-1 {
55
+ left: var(--spacing);
56
+ }
57
+ .aspect-video {
58
+ aspect-ratio: var(--aspect-video);
59
+ }
60
+ .size-9 {
61
+ width: calc(var(--spacing) * 9);
62
+ height: calc(var(--spacing) * 9);
63
+ }
64
+ .min-h-20 {
65
+ min-height: calc(var(--spacing) * 20);
66
+ }
67
+ .min-h-dvh {
68
+ min-height: 100dvh;
69
+ }
70
+ .min-w-24 {
71
+ min-width: calc(var(--spacing) * 24);
72
+ }
73
+ .translate-x-\[1px\] {
74
+ --tw-translate-x: 1px;
75
+ translate: var(--tw-translate-x) var(--tw-translate-y);
76
+ }
77
+ .cursor-not-allowed {
78
+ cursor: not-allowed;
79
+ }
80
+ .resize-none {
81
+ resize: none;
82
+ }
83
+ .appearance-none {
84
+ appearance: none;
85
+ }
86
+ .border-none {
87
+ --tw-border-style: none;
88
+ border-style: none;
89
+ }
90
+ .bg-black\/55 {
91
+ background-color: color-mix(in srgb, #000 55%, transparent);
92
+ @supports (color: color-mix(in lab, red, red)) {
93
+ background-color: color-mix(in oklab, var(--color-black) 55%, transparent);
94
+ }
95
+ }
96
+ .bg-black\/80 {
97
+ background-color: color-mix(in srgb, #000 80%, transparent);
98
+ @supports (color: color-mix(in lab, red, red)) {
99
+ background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
100
+ }
101
+ }
102
+ .bg-black\/85 {
103
+ background-color: color-mix(in srgb, #000 85%, transparent);
104
+ @supports (color: color-mix(in lab, red, red)) {
105
+ background-color: color-mix(in oklab, var(--color-black) 85%, transparent);
106
+ }
107
+ }
108
+ .bg-black\/95 {
109
+ background-color: color-mix(in srgb, #000 95%, transparent);
110
+ @supports (color: color-mix(in lab, red, red)) {
111
+ background-color: color-mix(in oklab, var(--color-black) 95%, transparent);
112
+ }
113
+ }
114
+ .bg-white\/10 {
115
+ background-color: color-mix(in srgb, #fff 10%, transparent);
116
+ @supports (color: color-mix(in lab, red, red)) {
117
+ background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
118
+ }
119
+ }
120
+ .p-1\.5 {
121
+ padding: calc(var(--spacing) * 1.5);
122
+ }
123
+ .pr-1 {
124
+ padding-right: var(--spacing);
125
+ }
126
+ .pl-2 {
127
+ padding-left: calc(var(--spacing) * 2);
128
+ }
129
+ .text-tone-amber-ink {
130
+ color: var(--tone-amber-ink);
131
+ }
132
+ .text-tone-cyan-ink {
133
+ color: var(--tone-cyan-ink);
134
+ }
135
+ .text-tone-emerald-ink {
136
+ color: var(--tone-emerald-ink);
137
+ }
138
+ .text-tone-orange-ink {
139
+ color: var(--tone-orange-ink);
140
+ }
141
+ .text-tone-purple-ink {
142
+ color: var(--tone-purple-ink);
143
+ }
144
+ .text-tone-rose-ink {
145
+ color: var(--tone-rose-ink);
146
+ }
147
+ .text-tone-sky-ink {
148
+ color: var(--tone-sky-ink);
149
+ }
150
+ .text-tone-slate-ink {
151
+ color: var(--tone-slate-ink);
152
+ }
153
+ .text-white\/70 {
154
+ color: color-mix(in srgb, #fff 70%, transparent);
155
+ @supports (color: color-mix(in lab, red, red)) {
156
+ color: color-mix(in oklab, var(--color-white) 70%, transparent);
157
+ }
158
+ }
159
+ .backdrop-blur-\[2px\] {
160
+ --tw-backdrop-blur: blur(2px);
161
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
162
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
163
+ }
164
+ .focus-within\:border-field-ring:focus-within {
165
+ border-color: var(--field-ring);
166
+ }
167
+ .focus-within\:ring-2:focus-within {
168
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
169
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
170
+ }
171
+ .focus-within\:ring-field-ring\/30:focus-within {
172
+ --tw-ring-color: var(--field-ring);
173
+ @supports (color: color-mix(in lab, red, red)) {
174
+ --tw-ring-color: color-mix(in oklab, var(--field-ring) 30%, transparent);
175
+ }
176
+ }
177
+ @media (hover: hover) {
178
+ .hover\:border-accent-solid:hover {
179
+ border-color: var(--accent-solid);
180
+ }
181
+ .hover\:bg-border:hover {
182
+ background-color: var(--border);
183
+ }
184
+ .hover\:bg-white\/20:hover {
185
+ background-color: color-mix(in srgb, #fff 20%, transparent);
186
+ }
187
+ @supports (color: color-mix(in lab, red, red)) {
188
+ .hover\:bg-white\/20:hover {
189
+ background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
190
+ }
191
+ }
192
+ .hover\:text-white:hover {
193
+ color: var(--color-white);
194
+ }
195
+ }
196
+ .focus-visible\:ring-offset-black:focus-visible {
197
+ --tw-ring-offset-color: var(--color-black);
198
+ }
199
+ .\[\&_svg\]\:size-3 svg {
200
+ width: calc(var(--spacing) * 3);
201
+ height: calc(var(--spacing) * 3);
202
+ }
203
+ }
204
+ @property --tw-translate-x {
205
+ syntax: "*";
206
+ inherits: false;
207
+ initial-value: 0;
208
+ }
209
+ @property --tw-translate-y {
210
+ syntax: "*";
211
+ inherits: false;
212
+ initial-value: 0;
213
+ }
214
+ @property --tw-translate-z {
215
+ syntax: "*";
216
+ inherits: false;
217
+ initial-value: 0;
218
+ }
219
+ @property --tw-backdrop-blur {
220
+ syntax: "*";
221
+ inherits: false;
222
+ }
223
+ @property --tw-backdrop-brightness {
224
+ syntax: "*";
225
+ inherits: false;
226
+ }
227
+ @property --tw-backdrop-contrast {
228
+ syntax: "*";
229
+ inherits: false;
230
+ }
231
+ @property --tw-backdrop-grayscale {
232
+ syntax: "*";
233
+ inherits: false;
234
+ }
235
+ @property --tw-backdrop-hue-rotate {
236
+ syntax: "*";
237
+ inherits: false;
238
+ }
239
+ @property --tw-backdrop-invert {
240
+ syntax: "*";
241
+ inherits: false;
242
+ }
243
+ @property --tw-backdrop-opacity {
244
+ syntax: "*";
245
+ inherits: false;
246
+ }
247
+ @property --tw-backdrop-saturate {
248
+ syntax: "*";
249
+ inherits: false;
250
+ }
251
+ @property --tw-backdrop-sepia {
252
+ syntax: "*";
253
+ inherits: false;
254
+ }
255
+ @property --tw-shadow {
256
+ syntax: "*";
257
+ inherits: false;
258
+ initial-value: 0 0 #0000;
259
+ }
260
+ @property --tw-shadow-color {
261
+ syntax: "*";
262
+ inherits: false;
263
+ }
264
+ @property --tw-shadow-alpha {
265
+ syntax: "<percentage>";
266
+ inherits: false;
267
+ initial-value: 100%;
268
+ }
269
+ @property --tw-inset-shadow {
270
+ syntax: "*";
271
+ inherits: false;
272
+ initial-value: 0 0 #0000;
273
+ }
274
+ @property --tw-inset-shadow-color {
275
+ syntax: "*";
276
+ inherits: false;
277
+ }
278
+ @property --tw-inset-shadow-alpha {
279
+ syntax: "<percentage>";
280
+ inherits: false;
281
+ initial-value: 100%;
282
+ }
283
+ @property --tw-ring-color {
284
+ syntax: "*";
285
+ inherits: false;
286
+ }
287
+ @property --tw-ring-shadow {
288
+ syntax: "*";
289
+ inherits: false;
290
+ initial-value: 0 0 #0000;
291
+ }
292
+ @property --tw-inset-ring-color {
293
+ syntax: "*";
294
+ inherits: false;
295
+ }
296
+ @property --tw-inset-ring-shadow {
297
+ syntax: "*";
298
+ inherits: false;
299
+ initial-value: 0 0 #0000;
300
+ }
301
+ @property --tw-ring-inset {
302
+ syntax: "*";
303
+ inherits: false;
304
+ }
305
+ @property --tw-ring-offset-width {
306
+ syntax: "<length>";
307
+ inherits: false;
308
+ initial-value: 0px;
309
+ }
310
+ @property --tw-ring-offset-color {
311
+ syntax: "*";
312
+ inherits: false;
313
+ initial-value: #fff;
314
+ }
315
+ @property --tw-ring-offset-shadow {
316
+ syntax: "*";
317
+ inherits: false;
318
+ initial-value: 0 0 #0000;
319
+ }
320
+ @layer properties {
321
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
322
+ *, ::before, ::after, ::backdrop {
323
+ --tw-translate-x: 0;
324
+ --tw-translate-y: 0;
325
+ --tw-translate-z: 0;
326
+ --tw-backdrop-blur: initial;
327
+ --tw-backdrop-brightness: initial;
328
+ --tw-backdrop-contrast: initial;
329
+ --tw-backdrop-grayscale: initial;
330
+ --tw-backdrop-hue-rotate: initial;
331
+ --tw-backdrop-invert: initial;
332
+ --tw-backdrop-opacity: initial;
333
+ --tw-backdrop-saturate: initial;
334
+ --tw-backdrop-sepia: initial;
335
+ --tw-shadow: 0 0 #0000;
336
+ --tw-shadow-color: initial;
337
+ --tw-shadow-alpha: 100%;
338
+ --tw-inset-shadow: 0 0 #0000;
339
+ --tw-inset-shadow-color: initial;
340
+ --tw-inset-shadow-alpha: 100%;
341
+ --tw-ring-color: initial;
342
+ --tw-ring-shadow: 0 0 #0000;
343
+ --tw-inset-ring-color: initial;
344
+ --tw-inset-ring-shadow: 0 0 #0000;
345
+ --tw-ring-inset: initial;
346
+ --tw-ring-offset-width: 0px;
347
+ --tw-ring-offset-color: #fff;
348
+ --tw-ring-offset-shadow: 0 0 #0000;
349
+ }
350
+ }
351
+ }