cursedbelt 3.0.2 → 4.1.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 (252) 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 +130 -32
  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/paths.ts +106 -0
  151. package/scripts/styleAreas.ts +585 -0
  152. package/scripts/verify.ts +5 -0
  153. package/src/barrelsReachNoOptionalPeer.spec.ts +117 -9
  154. package/src/docsMatchTheSplit.spec.ts +98 -0
  155. package/src/fixtureAppCss.spec.ts +177 -0
  156. package/src/namedSubpathsResolve.spec.ts +35 -0
  157. package/src/publishShape.spec.ts +67 -0
  158. package/src/react/components/ListToolbar.spec.tsx +172 -0
  159. package/src/react/components/ListToolbar.tsx +151 -0
  160. package/src/react/file-tree/FileTree.spec.tsx +1009 -0
  161. package/src/react/file-tree/FileTree.tsx +1459 -309
  162. package/src/react/file-tree/fileTree.css +151 -0
  163. package/src/react/file-tree/fileTreeSelection.spec.ts +327 -0
  164. package/src/react/file-tree/fileTreeSelection.ts +321 -0
  165. package/src/react/file-tree/index.ts +21 -0
  166. package/src/react/index.ts +1 -0
  167. package/src/react/lib/form.ts +51 -8
  168. package/src/react/markdown/MarkdownDoc.spec.tsx +1 -1
  169. package/src/react/media/DenseGalleryShell.tsx +108 -36
  170. package/src/react/media/FocusViewer.tsx +15 -8
  171. package/src/react/media/FrameGrabber.spec.tsx +175 -0
  172. package/src/react/media/FrameGrabber.tsx +67 -0
  173. package/src/react/media/MediaResize.spec.tsx +84 -14
  174. package/src/react/media/MediaResize.tsx +51 -19
  175. package/src/react/media/VideoChapterEditor.tsx +428 -0
  176. package/src/react/media/VideoPlayer.spec.tsx +111 -1
  177. package/src/react/media/VideoPlayer.tsx +158 -11
  178. package/src/react/media/VideoTurner.spec.tsx +67 -0
  179. package/src/react/media/VideoTurner.tsx +70 -15
  180. package/src/react/media/denseGallery.css +104 -46
  181. package/src/react/media/hlsSource.recovery.spec.ts +213 -0
  182. package/src/react/media/hlsSource.spec.ts +8 -0
  183. package/src/react/media/hlsSource.ts +189 -1
  184. package/src/react/media/index.ts +14 -0
  185. package/src/react/media/mediaResize.css +127 -54
  186. package/src/react/media/pictureEditor.css +52 -6
  187. package/src/react/media/videoChapterEditor.css +203 -0
  188. package/src/react/media/videoChapters.spec.ts +176 -0
  189. package/src/react/media/videoChapters.ts +181 -0
  190. package/src/react/media-gallery/GalleryTable.tsx +93 -3
  191. package/src/react/media-gallery/MediaGallery.spec.tsx +1156 -10
  192. package/src/react/media-gallery/MediaGallery.tsx +813 -95
  193. package/src/react/media-gallery/MediaMetaEditor.tsx +237 -0
  194. package/src/react/media-gallery/galleryTable.spec.ts +41 -1
  195. package/src/react/media-gallery/index.ts +7 -0
  196. package/src/react/media-gallery/mediaGallery.css +180 -4
  197. package/src/react/media-gallery/mediaMeta.spec.ts +95 -0
  198. package/src/react/media-gallery/mediaMeta.ts +101 -0
  199. package/src/react/media-gallery/playbackPreferences.spec.ts +172 -0
  200. package/src/react/media-gallery/playbackPreferences.ts +100 -0
  201. package/src/react/media-gallery/types.ts +34 -0
  202. package/src/shippedFilesAreTracked.spec.ts +69 -0
  203. package/src/styles-areas/activity-bar.css +30 -0
  204. package/src/styles-areas/analytics.css +672 -0
  205. package/src/styles-areas/auth.css +154 -0
  206. package/src/styles-areas/calendar.css +416 -0
  207. package/src/styles-areas/chart-table.css +41 -0
  208. package/src/styles-areas/charts.css +89 -0
  209. package/src/styles-areas/chat.css +364 -0
  210. package/src/styles-areas/clipboard.css +26 -0
  211. package/src/styles-areas/code-editor.css +130 -0
  212. package/src/styles-areas/companion-link.css +70 -0
  213. package/src/styles-areas/core.css +2503 -0
  214. package/src/styles-areas/dashboard-grid.css +84 -0
  215. package/src/styles-areas/data-table.css +657 -0
  216. package/src/styles-areas/deep-link.css +26 -0
  217. package/src/styles-areas/diff-viewer.css +30 -0
  218. package/src/styles-areas/disk-usage.css +262 -0
  219. package/src/styles-areas/emoji.css +154 -0
  220. package/src/styles-areas/fields.css +582 -0
  221. package/src/styles-areas/file-tree.css +33 -0
  222. package/src/styles-areas/filter-rail.css +235 -0
  223. package/src/styles-areas/folder-tree.css +219 -0
  224. package/src/styles-areas/keep-awake.css +26 -0
  225. package/src/styles-areas/layout-engine.css +239 -0
  226. package/src/styles-areas/markdown.css +87 -0
  227. package/src/styles-areas/master-detail.css +239 -0
  228. package/src/styles-areas/master-lock.css +26 -0
  229. package/src/styles-areas/media-gallery.css +351 -0
  230. package/src/styles-areas/media.css +658 -0
  231. package/src/styles-areas/nav.css +488 -0
  232. package/src/styles-areas/notifications.css +245 -0
  233. package/src/styles-areas/overlays.css +133 -0
  234. package/src/styles-areas/palette.css +140 -0
  235. package/src/styles-areas/pdf-viewer.css +47 -0
  236. package/src/styles-areas/problem-detail.css +97 -0
  237. package/src/styles-areas/rich-text.css +167 -0
  238. package/src/styles-areas/sharing.css +153 -0
  239. package/src/styles-areas/spreadsheet.css +37 -0
  240. package/src/styles-areas/stats.css +281 -0
  241. package/src/styles-areas/test-report.css +133 -0
  242. package/src/styles-areas/virtual.css +30 -0
  243. package/src/styles-areas/wizard.css +381 -0
  244. package/src/styles-areas/workbench.css +543 -0
  245. package/src/styles-areas/workbook-viewer.css +44 -0
  246. package/src/styles-static.css +34 -23
  247. package/src/styles.css +34 -23
  248. package/src/stylesAreas.spec.ts +247 -0
  249. package/src/stylesUtilitiesMatches.spec.ts +6 -77
  250. package/src/testFilesRunInParallel.spec.ts +79 -0
  251. package/src/typecheckCachesAreSeparate.spec.ts +128 -0
  252. package/src/verifyGraph.spec.ts +6 -0
@@ -0,0 +1,133 @@
1
+ /*
2
+ * cursedbelt — the `overlays` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the dialogs and drawers beyond the plain Modal/Confirm pair.
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/overlays.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. 117 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
+ .max-h-\[40dvh\] {
37
+ max-height: 40dvh;
38
+ }
39
+ .max-h-\[65dvh\] {
40
+ max-height: 65dvh;
41
+ }
42
+ .max-h-\[85dvh\] {
43
+ max-height: 85dvh;
44
+ }
45
+ .max-h-\[var\(--radix-popover-content-available-height\)\] {
46
+ max-height: var(--radix-popover-content-available-height);
47
+ }
48
+ .w-64 {
49
+ width: calc(var(--spacing) * 64);
50
+ }
51
+ .max-w-\[90vw\] {
52
+ max-width: 90vw;
53
+ }
54
+ .cursor-not-allowed {
55
+ cursor: not-allowed;
56
+ }
57
+ .rounded-t-xl {
58
+ border-top-left-radius: 1.5rem;
59
+ border-top-right-radius: 1.5rem;
60
+ }
61
+ .rounded-l-xl {
62
+ border-top-left-radius: 1.5rem;
63
+ border-bottom-left-radius: 1.5rem;
64
+ }
65
+ .rounded-r-xl {
66
+ border-top-right-radius: 1.5rem;
67
+ border-bottom-right-radius: 1.5rem;
68
+ }
69
+ .border-r {
70
+ border-right-style: var(--tw-border-style);
71
+ border-right-width: 1px;
72
+ }
73
+ .border-l {
74
+ border-left-style: var(--tw-border-style);
75
+ border-left-width: 1px;
76
+ }
77
+ .border-accent {
78
+ border-color: var(--accent);
79
+ }
80
+ .bg-accent\/15 {
81
+ background-color: var(--accent);
82
+ @supports (color: color-mix(in lab, red, red)) {
83
+ background-color: color-mix(in oklab, var(--accent) 15%, transparent);
84
+ }
85
+ }
86
+ .bg-warning\/10 {
87
+ background-color: var(--warning);
88
+ @supports (color: color-mix(in lab, red, red)) {
89
+ background-color: color-mix(in oklab, var(--warning) 10%, transparent);
90
+ }
91
+ }
92
+ .pb-1 {
93
+ padding-bottom: var(--spacing);
94
+ }
95
+ .accent-\[var\(--accent-solid\)\] {
96
+ accent-color: var(--accent-solid);
97
+ }
98
+ @media (hover: hover) {
99
+ .hover\:border-border-strong:hover {
100
+ border-color: var(--border-strong);
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,140 @@
1
+ /*
2
+ * cursedbelt — the `palette` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the theme/colour palette editor.
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/palette.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. 212 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
+ --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', Arial,
30
+ sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
31
+ --spacing: 0.25rem;
32
+ --text-xs: 0.75rem;
33
+ --text-xs--line-height: calc(1 / 0.75);
34
+ --font-weight-semibold: 600;
35
+ --tracking-wide: 0.025em;
36
+ }
37
+ }
38
+ @layer utilities {
39
+ .top-\[12vh\] {
40
+ top: 12vh;
41
+ }
42
+ .mx-1 {
43
+ margin-inline: var(--spacing);
44
+ }
45
+ .h-12 {
46
+ height: calc(var(--spacing) * 12);
47
+ }
48
+ .max-h-\[60dvh\] {
49
+ max-height: 60dvh;
50
+ }
51
+ .w-\[calc\(100\%-2rem\)\] {
52
+ width: calc(100% - 2rem);
53
+ }
54
+ .place-items-center {
55
+ place-items: center;
56
+ }
57
+ .border-dashed {
58
+ --tw-border-style: dashed;
59
+ border-style: dashed;
60
+ }
61
+ .bg-accent\/15 {
62
+ background-color: var(--accent);
63
+ @supports (color: color-mix(in lab, red, red)) {
64
+ background-color: color-mix(in oklab, var(--accent) 15%, transparent);
65
+ }
66
+ }
67
+ .py-8 {
68
+ padding-block: calc(var(--spacing) * 8);
69
+ }
70
+ .font-sans {
71
+ font-family: var(--font-sans);
72
+ }
73
+ .placeholder\:text-muted-foreground::placeholder {
74
+ color: var(--muted-foreground);
75
+ }
76
+ .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
77
+ pointer-events: none;
78
+ }
79
+ .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
80
+ opacity: 50%;
81
+ }
82
+ .data-\[selected\=true\]\:bg-muted[data-selected="true"] {
83
+ background-color: var(--muted);
84
+ }
85
+ .data-\[selected\=true\]\:text-foreground[data-selected="true"] {
86
+ color: var(--foreground);
87
+ }
88
+ .data-\[state\=open\]\:slide-in-from-top-2[data-state="open"] {
89
+ --tw-enter-translate-y: calc(2*var(--spacing)*-1);
90
+ }
91
+ @media (width >= 40rem) {
92
+ .sm\:inline-block {
93
+ display: inline-block;
94
+ }
95
+ }
96
+ .\[\&_\[cmdk-group-heading\]\]\:px-3 [cmdk-group-heading] {
97
+ padding-inline: calc(var(--spacing) * 3);
98
+ }
99
+ .\[\&_\[cmdk-group-heading\]\]\:py-1 [cmdk-group-heading] {
100
+ padding-block: var(--spacing);
101
+ }
102
+ .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
103
+ font-size: var(--text-xs);
104
+ line-height: var(--tw-leading, var(--text-xs--line-height));
105
+ }
106
+ .\[\&_\[cmdk-group-heading\]\]\:font-semibold [cmdk-group-heading] {
107
+ --tw-font-weight: var(--font-weight-semibold);
108
+ font-weight: var(--font-weight-semibold);
109
+ }
110
+ .\[\&_\[cmdk-group-heading\]\]\:tracking-wide [cmdk-group-heading] {
111
+ --tw-tracking: var(--tracking-wide);
112
+ letter-spacing: var(--tracking-wide);
113
+ }
114
+ .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
115
+ color: var(--muted-foreground);
116
+ }
117
+ .\[\&_\[cmdk-group-heading\]\]\:uppercase [cmdk-group-heading] {
118
+ text-transform: uppercase;
119
+ }
120
+ .\[\&_svg\]\:size-3\.5 svg {
121
+ width: calc(var(--spacing) * 3.5);
122
+ height: calc(var(--spacing) * 3.5);
123
+ }
124
+ }
125
+ @property --tw-font-weight {
126
+ syntax: "*";
127
+ inherits: false;
128
+ }
129
+ @property --tw-tracking {
130
+ syntax: "*";
131
+ inherits: false;
132
+ }
133
+ @layer properties {
134
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
135
+ *, ::before, ::after, ::backdrop {
136
+ --tw-font-weight: initial;
137
+ --tw-tracking: initial;
138
+ }
139
+ }
140
+ }
@@ -0,0 +1,47 @@
1
+ /*
2
+ * cursedbelt — the `pdf-viewer` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the lazy PDF viewer (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/pdf-viewer.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. 87 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
+ .mx-1 {
33
+ margin-inline: var(--spacing);
34
+ }
35
+ .w-40 {
36
+ width: calc(var(--spacing) * 40);
37
+ }
38
+ .min-w-12 {
39
+ min-width: calc(var(--spacing) * 12);
40
+ }
41
+ .min-w-20 {
42
+ min-width: calc(var(--spacing) * 20);
43
+ }
44
+ .place-items-center {
45
+ place-items: center;
46
+ }
47
+ }
@@ -0,0 +1,97 @@
1
+ /*
2
+ * cursedbelt — the `problem-detail` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the RFC-7807 problem renderer.
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/problem-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. 50 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
+ .top-1\.5 {
34
+ top: calc(var(--spacing) * 1.5);
35
+ }
36
+ .-left-\[calc\(0\.75rem\+3px\)\] {
37
+ left: calc(calc(0.75rem + 3px) * -1);
38
+ }
39
+ .mb-1\.5 {
40
+ margin-bottom: calc(var(--spacing) * 1.5);
41
+ }
42
+ .mb-2 {
43
+ margin-bottom: calc(var(--spacing) * 2);
44
+ }
45
+ .border-l {
46
+ border-left-style: var(--tw-border-style);
47
+ border-left-width: 1px;
48
+ }
49
+ .border-accent\/30 {
50
+ border-color: var(--accent);
51
+ @supports (color: color-mix(in lab, red, red)) {
52
+ border-color: color-mix(in oklab, var(--accent) 30%, transparent);
53
+ }
54
+ }
55
+ .bg-card\/50 {
56
+ background-color: var(--card);
57
+ @supports (color: color-mix(in lab, red, red)) {
58
+ background-color: color-mix(in oklab, var(--card) 50%, transparent);
59
+ }
60
+ }
61
+ .bg-muted-foreground {
62
+ background-color: var(--muted-foreground);
63
+ }
64
+ .bg-muted\/30 {
65
+ background-color: var(--muted);
66
+ @supports (color: color-mix(in lab, red, red)) {
67
+ background-color: color-mix(in oklab, var(--muted) 30%, transparent);
68
+ }
69
+ }
70
+ .pl-3 {
71
+ padding-left: calc(var(--spacing) * 3);
72
+ }
73
+ .break-words {
74
+ overflow-wrap: break-word;
75
+ }
76
+ .select-text {
77
+ -webkit-user-select: text;
78
+ user-select: text;
79
+ }
80
+ @media (width >= 40rem) {
81
+ .sm\:grid-cols-2 {
82
+ grid-template-columns: repeat(2, minmax(0, 1fr));
83
+ }
84
+ }
85
+ }
86
+ @property --tw-border-style {
87
+ syntax: "*";
88
+ inherits: false;
89
+ initial-value: solid;
90
+ }
91
+ @layer properties {
92
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
93
+ *, ::before, ::after, ::backdrop {
94
+ --tw-border-style: solid;
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,167 @@
1
+ /*
2
+ * cursedbelt — the `rich-text` area. GENERATED BUILD ARTIFACT. Never hand-edit.
3
+ *
4
+ * the TipTap editor and its toolbar.
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/rich-text.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. 93 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
+ .top-full {
34
+ top: 100%;
35
+ }
36
+ .left-0 {
37
+ left: 0px;
38
+ }
39
+ .h-5 {
40
+ height: calc(var(--spacing) * 5);
41
+ }
42
+ .min-h-\[8rem\] {
43
+ min-height: 8rem;
44
+ }
45
+ .w-72 {
46
+ width: calc(var(--spacing) * 72);
47
+ }
48
+ .w-80 {
49
+ width: calc(var(--spacing) * 80);
50
+ }
51
+ .self-start {
52
+ align-self: flex-start;
53
+ }
54
+ .text-right {
55
+ text-align: right;
56
+ }
57
+ .text-warning {
58
+ color: var(--warning);
59
+ }
60
+ .italic {
61
+ font-style: italic;
62
+ }
63
+ .shadow-md {
64
+ --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
65
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
66
+ }
67
+ .focus-within\:ring-2:focus-within {
68
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
69
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
70
+ }
71
+ .focus-within\:ring-ring:focus-within {
72
+ --tw-ring-color: var(--ring);
73
+ }
74
+ .focus-within\:ring-offset-0:focus-within {
75
+ --tw-ring-offset-width: 0px;
76
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
77
+ }
78
+ .\[\&_svg\]\:size-\[15px\] svg {
79
+ width: 15px;
80
+ height: 15px;
81
+ }
82
+ }
83
+ @property --tw-shadow {
84
+ syntax: "*";
85
+ inherits: false;
86
+ initial-value: 0 0 #0000;
87
+ }
88
+ @property --tw-shadow-color {
89
+ syntax: "*";
90
+ inherits: false;
91
+ }
92
+ @property --tw-shadow-alpha {
93
+ syntax: "<percentage>";
94
+ inherits: false;
95
+ initial-value: 100%;
96
+ }
97
+ @property --tw-inset-shadow {
98
+ syntax: "*";
99
+ inherits: false;
100
+ initial-value: 0 0 #0000;
101
+ }
102
+ @property --tw-inset-shadow-color {
103
+ syntax: "*";
104
+ inherits: false;
105
+ }
106
+ @property --tw-inset-shadow-alpha {
107
+ syntax: "<percentage>";
108
+ inherits: false;
109
+ initial-value: 100%;
110
+ }
111
+ @property --tw-ring-color {
112
+ syntax: "*";
113
+ inherits: false;
114
+ }
115
+ @property --tw-ring-shadow {
116
+ syntax: "*";
117
+ inherits: false;
118
+ initial-value: 0 0 #0000;
119
+ }
120
+ @property --tw-inset-ring-color {
121
+ syntax: "*";
122
+ inherits: false;
123
+ }
124
+ @property --tw-inset-ring-shadow {
125
+ syntax: "*";
126
+ inherits: false;
127
+ initial-value: 0 0 #0000;
128
+ }
129
+ @property --tw-ring-inset {
130
+ syntax: "*";
131
+ inherits: false;
132
+ }
133
+ @property --tw-ring-offset-width {
134
+ syntax: "<length>";
135
+ inherits: false;
136
+ initial-value: 0px;
137
+ }
138
+ @property --tw-ring-offset-color {
139
+ syntax: "*";
140
+ inherits: false;
141
+ initial-value: #fff;
142
+ }
143
+ @property --tw-ring-offset-shadow {
144
+ syntax: "*";
145
+ inherits: false;
146
+ initial-value: 0 0 #0000;
147
+ }
148
+ @layer properties {
149
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
150
+ *, ::before, ::after, ::backdrop {
151
+ --tw-shadow: 0 0 #0000;
152
+ --tw-shadow-color: initial;
153
+ --tw-shadow-alpha: 100%;
154
+ --tw-inset-shadow: 0 0 #0000;
155
+ --tw-inset-shadow-color: initial;
156
+ --tw-inset-shadow-alpha: 100%;
157
+ --tw-ring-color: initial;
158
+ --tw-ring-shadow: 0 0 #0000;
159
+ --tw-inset-ring-color: initial;
160
+ --tw-inset-ring-shadow: 0 0 #0000;
161
+ --tw-ring-inset: initial;
162
+ --tw-ring-offset-width: 0px;
163
+ --tw-ring-offset-color: #fff;
164
+ --tw-ring-offset-shadow: 0 0 #0000;
165
+ }
166
+ }
167
+ }