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.
- package/dist/react/components/ListToolbar.d.ts +94 -0
- package/dist/react/components/ListToolbar.d.ts.map +1 -0
- package/dist/react/components/ListToolbar.js +66 -0
- package/dist/react/components/ListToolbar.js.map +1 -0
- package/dist/react/file-tree/FileTree.d.ts +282 -3
- package/dist/react/file-tree/FileTree.d.ts.map +1 -1
- package/dist/react/file-tree/FileTree.js +799 -131
- package/dist/react/file-tree/FileTree.js.map +1 -1
- package/dist/react/file-tree/fileTree.css +151 -0
- package/dist/react/file-tree/fileTreeSelection.d.ts +187 -0
- package/dist/react/file-tree/fileTreeSelection.d.ts.map +1 -0
- package/dist/react/file-tree/fileTreeSelection.js +264 -0
- package/dist/react/file-tree/fileTreeSelection.js.map +1 -0
- package/dist/react/file-tree/index.d.ts +1 -0
- package/dist/react/file-tree/index.d.ts.map +1 -1
- package/dist/react/file-tree/index.js +8 -0
- package/dist/react/file-tree/index.js.map +1 -1
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/lib/form.d.ts +3 -0
- package/dist/react/lib/form.d.ts.map +1 -1
- package/dist/react/lib/form.js +43 -5
- package/dist/react/lib/form.js.map +1 -1
- package/dist/react/media/DenseGalleryShell.d.ts +19 -3
- package/dist/react/media/DenseGalleryShell.d.ts.map +1 -1
- package/dist/react/media/DenseGalleryShell.js +55 -15
- package/dist/react/media/DenseGalleryShell.js.map +1 -1
- package/dist/react/media/FocusViewer.d.ts.map +1 -1
- package/dist/react/media/FocusViewer.js +14 -14
- package/dist/react/media/FocusViewer.js.map +1 -1
- package/dist/react/media/FrameGrabber.d.ts +23 -0
- package/dist/react/media/FrameGrabber.d.ts.map +1 -1
- package/dist/react/media/FrameGrabber.js +67 -1
- package/dist/react/media/FrameGrabber.js.map +1 -1
- package/dist/react/media/MediaResize.d.ts +51 -19
- package/dist/react/media/MediaResize.d.ts.map +1 -1
- package/dist/react/media/MediaResize.js +20 -13
- package/dist/react/media/MediaResize.js.map +1 -1
- package/dist/react/media/VideoChapterEditor.d.ts +67 -0
- package/dist/react/media/VideoChapterEditor.d.ts.map +1 -0
- package/dist/react/media/VideoChapterEditor.js +148 -0
- package/dist/react/media/VideoChapterEditor.js.map +1 -0
- package/dist/react/media/VideoPlayer.d.ts +46 -4
- package/dist/react/media/VideoPlayer.d.ts.map +1 -1
- package/dist/react/media/VideoPlayer.js +124 -11
- package/dist/react/media/VideoPlayer.js.map +1 -1
- package/dist/react/media/VideoTurner.d.ts +15 -2
- package/dist/react/media/VideoTurner.d.ts.map +1 -1
- package/dist/react/media/VideoTurner.js +29 -2
- package/dist/react/media/VideoTurner.js.map +1 -1
- package/dist/react/media/denseGallery.css +104 -46
- package/dist/react/media/hlsSource.d.ts +57 -0
- package/dist/react/media/hlsSource.d.ts.map +1 -1
- package/dist/react/media/hlsSource.js +177 -1
- package/dist/react/media/hlsSource.js.map +1 -1
- package/dist/react/media/index.d.ts +2 -0
- package/dist/react/media/index.d.ts.map +1 -1
- package/dist/react/media/index.js +6 -0
- package/dist/react/media/index.js.map +1 -1
- package/dist/react/media/mediaResize.css +127 -54
- package/dist/react/media/pictureEditor.css +52 -6
- package/dist/react/media/videoChapterEditor.css +203 -0
- package/dist/react/media/videoChapters.d.ts +117 -0
- package/dist/react/media/videoChapters.d.ts.map +1 -0
- package/dist/react/media/videoChapters.js +95 -0
- package/dist/react/media/videoChapters.js.map +1 -0
- package/dist/react/media-gallery/GalleryTable.d.ts +52 -1
- package/dist/react/media-gallery/GalleryTable.d.ts.map +1 -1
- package/dist/react/media-gallery/GalleryTable.js +40 -9
- package/dist/react/media-gallery/GalleryTable.js.map +1 -1
- package/dist/react/media-gallery/MediaGallery.d.ts +107 -4
- package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
- package/dist/react/media-gallery/MediaGallery.js +484 -104
- package/dist/react/media-gallery/MediaGallery.js.map +1 -1
- package/dist/react/media-gallery/MediaMetaEditor.d.ts +48 -0
- package/dist/react/media-gallery/MediaMetaEditor.d.ts.map +1 -0
- package/dist/react/media-gallery/MediaMetaEditor.js +66 -0
- package/dist/react/media-gallery/MediaMetaEditor.js.map +1 -0
- package/dist/react/media-gallery/index.d.ts +2 -0
- package/dist/react/media-gallery/index.d.ts.map +1 -1
- package/dist/react/media-gallery/index.js +5 -0
- package/dist/react/media-gallery/index.js.map +1 -1
- package/dist/react/media-gallery/mediaGallery.css +180 -4
- package/dist/react/media-gallery/mediaMeta.d.ts +62 -0
- package/dist/react/media-gallery/mediaMeta.d.ts.map +1 -0
- package/dist/react/media-gallery/mediaMeta.js +56 -0
- package/dist/react/media-gallery/mediaMeta.js.map +1 -0
- package/dist/react/media-gallery/playbackPreferences.d.ts +77 -0
- package/dist/react/media-gallery/playbackPreferences.d.ts.map +1 -1
- package/dist/react/media-gallery/playbackPreferences.js +42 -0
- package/dist/react/media-gallery/playbackPreferences.js.map +1 -1
- package/dist/react/media-gallery/types.d.ts +34 -0
- package/dist/react/media-gallery/types.d.ts.map +1 -1
- package/dist/scripts/guardrailsEnforce.d.ts +29 -0
- package/dist/scripts/guardrailsEnforce.d.ts.map +1 -0
- package/dist/styles-areas/activity-bar.css +30 -0
- package/dist/styles-areas/analytics.css +672 -0
- package/dist/styles-areas/auth.css +154 -0
- package/dist/styles-areas/calendar.css +416 -0
- package/dist/styles-areas/chart-table.css +41 -0
- package/dist/styles-areas/charts.css +89 -0
- package/dist/styles-areas/chat.css +364 -0
- package/dist/styles-areas/clipboard.css +26 -0
- package/dist/styles-areas/code-editor.css +130 -0
- package/dist/styles-areas/companion-link.css +70 -0
- package/dist/styles-areas/core.css +2503 -0
- package/dist/styles-areas/dashboard-grid.css +84 -0
- package/dist/styles-areas/data-table.css +657 -0
- package/dist/styles-areas/deep-link.css +26 -0
- package/dist/styles-areas/diff-viewer.css +30 -0
- package/dist/styles-areas/disk-usage.css +262 -0
- package/dist/styles-areas/emoji.css +154 -0
- package/dist/styles-areas/fields.css +582 -0
- package/dist/styles-areas/file-tree.css +33 -0
- package/dist/styles-areas/filter-rail.css +235 -0
- package/dist/styles-areas/folder-tree.css +219 -0
- package/dist/styles-areas/keep-awake.css +26 -0
- package/dist/styles-areas/layout-engine.css +239 -0
- package/dist/styles-areas/markdown.css +87 -0
- package/dist/styles-areas/master-detail.css +239 -0
- package/dist/styles-areas/master-lock.css +26 -0
- package/dist/styles-areas/media-gallery.css +351 -0
- package/dist/styles-areas/media.css +658 -0
- package/dist/styles-areas/nav.css +488 -0
- package/dist/styles-areas/notifications.css +245 -0
- package/dist/styles-areas/overlays.css +133 -0
- package/dist/styles-areas/palette.css +140 -0
- package/dist/styles-areas/pdf-viewer.css +47 -0
- package/dist/styles-areas/problem-detail.css +97 -0
- package/dist/styles-areas/rich-text.css +167 -0
- package/dist/styles-areas/sharing.css +153 -0
- package/dist/styles-areas/spreadsheet.css +37 -0
- package/dist/styles-areas/stats.css +281 -0
- package/dist/styles-areas/test-report.css +133 -0
- package/dist/styles-areas/virtual.css +30 -0
- package/dist/styles-areas/wizard.css +381 -0
- package/dist/styles-areas/workbench.css +543 -0
- package/dist/styles-areas/workbook-viewer.css +44 -0
- package/dist/styles-static.css +34 -23
- package/dist/styles.css +34 -23
- package/package.json +111 -31
- package/scripts/checkDistExports.ts +67 -0
- package/scripts/cssRules.ts +125 -0
- package/scripts/fixtureAppCss.ts +344 -0
- package/scripts/generateAreaStyles.ts +253 -0
- package/scripts/guardrailsEnforce.spec.ts +62 -0
- package/scripts/guardrailsEnforce.ts +67 -3
- package/scripts/styleAreas.ts +585 -0
- package/scripts/verify.ts +5 -0
- package/src/barrelsReachNoOptionalPeer.spec.ts +117 -9
- package/src/docsMatchTheSplit.spec.ts +98 -0
- package/src/fixtureAppCss.spec.ts +177 -0
- package/src/namedSubpathsResolve.spec.ts +35 -0
- package/src/publishShape.spec.ts +67 -0
- package/src/react/components/ListToolbar.spec.tsx +172 -0
- package/src/react/components/ListToolbar.tsx +151 -0
- package/src/react/file-tree/FileTree.spec.tsx +1009 -0
- package/src/react/file-tree/FileTree.tsx +1459 -309
- package/src/react/file-tree/fileTree.css +151 -0
- package/src/react/file-tree/fileTreeSelection.spec.ts +327 -0
- package/src/react/file-tree/fileTreeSelection.ts +321 -0
- package/src/react/file-tree/index.ts +21 -0
- package/src/react/index.ts +1 -0
- package/src/react/lib/form.ts +51 -8
- package/src/react/media/DenseGalleryShell.tsx +108 -36
- package/src/react/media/FocusViewer.tsx +15 -8
- package/src/react/media/FrameGrabber.spec.tsx +175 -0
- package/src/react/media/FrameGrabber.tsx +67 -0
- package/src/react/media/MediaResize.spec.tsx +84 -14
- package/src/react/media/MediaResize.tsx +51 -19
- package/src/react/media/VideoChapterEditor.tsx +428 -0
- package/src/react/media/VideoPlayer.spec.tsx +111 -1
- package/src/react/media/VideoPlayer.tsx +158 -11
- package/src/react/media/VideoTurner.spec.tsx +67 -0
- package/src/react/media/VideoTurner.tsx +70 -15
- package/src/react/media/denseGallery.css +104 -46
- package/src/react/media/hlsSource.recovery.spec.ts +213 -0
- package/src/react/media/hlsSource.spec.ts +8 -0
- package/src/react/media/hlsSource.ts +189 -1
- package/src/react/media/index.ts +14 -0
- package/src/react/media/mediaResize.css +127 -54
- package/src/react/media/pictureEditor.css +52 -6
- package/src/react/media/videoChapterEditor.css +203 -0
- package/src/react/media/videoChapters.spec.ts +176 -0
- package/src/react/media/videoChapters.ts +181 -0
- package/src/react/media-gallery/GalleryTable.tsx +93 -3
- package/src/react/media-gallery/MediaGallery.spec.tsx +1156 -10
- package/src/react/media-gallery/MediaGallery.tsx +813 -95
- package/src/react/media-gallery/MediaMetaEditor.tsx +237 -0
- package/src/react/media-gallery/galleryTable.spec.ts +41 -1
- package/src/react/media-gallery/index.ts +7 -0
- package/src/react/media-gallery/mediaGallery.css +180 -4
- package/src/react/media-gallery/mediaMeta.spec.ts +95 -0
- package/src/react/media-gallery/mediaMeta.ts +101 -0
- package/src/react/media-gallery/playbackPreferences.spec.ts +172 -0
- package/src/react/media-gallery/playbackPreferences.ts +100 -0
- package/src/react/media-gallery/types.ts +34 -0
- package/src/shippedFilesAreTracked.spec.ts +69 -0
- package/src/styles-areas/activity-bar.css +30 -0
- package/src/styles-areas/analytics.css +672 -0
- package/src/styles-areas/auth.css +154 -0
- package/src/styles-areas/calendar.css +416 -0
- package/src/styles-areas/chart-table.css +41 -0
- package/src/styles-areas/charts.css +89 -0
- package/src/styles-areas/chat.css +364 -0
- package/src/styles-areas/clipboard.css +26 -0
- package/src/styles-areas/code-editor.css +130 -0
- package/src/styles-areas/companion-link.css +70 -0
- package/src/styles-areas/core.css +2503 -0
- package/src/styles-areas/dashboard-grid.css +84 -0
- package/src/styles-areas/data-table.css +657 -0
- package/src/styles-areas/deep-link.css +26 -0
- package/src/styles-areas/diff-viewer.css +30 -0
- package/src/styles-areas/disk-usage.css +262 -0
- package/src/styles-areas/emoji.css +154 -0
- package/src/styles-areas/fields.css +582 -0
- package/src/styles-areas/file-tree.css +33 -0
- package/src/styles-areas/filter-rail.css +235 -0
- package/src/styles-areas/folder-tree.css +219 -0
- package/src/styles-areas/keep-awake.css +26 -0
- package/src/styles-areas/layout-engine.css +239 -0
- package/src/styles-areas/markdown.css +87 -0
- package/src/styles-areas/master-detail.css +239 -0
- package/src/styles-areas/master-lock.css +26 -0
- package/src/styles-areas/media-gallery.css +351 -0
- package/src/styles-areas/media.css +658 -0
- package/src/styles-areas/nav.css +488 -0
- package/src/styles-areas/notifications.css +245 -0
- package/src/styles-areas/overlays.css +133 -0
- package/src/styles-areas/palette.css +140 -0
- package/src/styles-areas/pdf-viewer.css +47 -0
- package/src/styles-areas/problem-detail.css +97 -0
- package/src/styles-areas/rich-text.css +167 -0
- package/src/styles-areas/sharing.css +153 -0
- package/src/styles-areas/spreadsheet.css +37 -0
- package/src/styles-areas/stats.css +281 -0
- package/src/styles-areas/test-report.css +133 -0
- package/src/styles-areas/virtual.css +30 -0
- package/src/styles-areas/wizard.css +381 -0
- package/src/styles-areas/workbench.css +543 -0
- package/src/styles-areas/workbook-viewer.css +44 -0
- package/src/styles-static.css +34 -23
- package/src/styles.css +34 -23
- package/src/stylesAreas.spec.ts +247 -0
- package/src/stylesUtilitiesMatches.spec.ts +6 -77
- package/src/testFilesRunInParallel.spec.ts +79 -0
- package/src/typecheckCachesAreSeparate.spec.ts +128 -0
- package/src/verifyGraph.spec.ts +6 -0
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* cursedbelt — the `workbench` area. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
3
|
+
*
|
|
4
|
+
* the resizable/split/panelled work surfaces and the drag-and-drop affordances.
|
|
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/workbench.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. 770 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-xl: 1.25rem;
|
|
31
|
+
--text-xl--line-height: calc(1.75 / 1.25);
|
|
32
|
+
--default-transition-duration: 150ms;
|
|
33
|
+
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
@layer utilities {
|
|
37
|
+
.right-4 {
|
|
38
|
+
right: calc(var(--spacing) * 4);
|
|
39
|
+
}
|
|
40
|
+
.bottom-6 {
|
|
41
|
+
bottom: calc(var(--spacing) * 6);
|
|
42
|
+
}
|
|
43
|
+
.left-0 {
|
|
44
|
+
left: 0px;
|
|
45
|
+
}
|
|
46
|
+
.-my-0\.5 {
|
|
47
|
+
margin-block: calc(var(--spacing) * -0.5);
|
|
48
|
+
}
|
|
49
|
+
.h-3\.5 {
|
|
50
|
+
height: calc(var(--spacing) * 3.5);
|
|
51
|
+
}
|
|
52
|
+
.h-40 {
|
|
53
|
+
height: calc(var(--spacing) * 40);
|
|
54
|
+
}
|
|
55
|
+
.h-\[420px\] {
|
|
56
|
+
height: 420px;
|
|
57
|
+
}
|
|
58
|
+
.max-h-\[40dvh\] {
|
|
59
|
+
max-height: 40dvh;
|
|
60
|
+
}
|
|
61
|
+
.max-h-\[65dvh\] {
|
|
62
|
+
max-height: 65dvh;
|
|
63
|
+
}
|
|
64
|
+
.max-h-\[85dvh\] {
|
|
65
|
+
max-height: 85dvh;
|
|
66
|
+
}
|
|
67
|
+
.max-h-full {
|
|
68
|
+
max-height: 100%;
|
|
69
|
+
}
|
|
70
|
+
.min-h-20 {
|
|
71
|
+
min-height: calc(var(--spacing) * 20);
|
|
72
|
+
}
|
|
73
|
+
.min-h-\[2\.25rem\] {
|
|
74
|
+
min-height: 2.25rem;
|
|
75
|
+
}
|
|
76
|
+
.min-h-\[44px\] {
|
|
77
|
+
min-height: 44px;
|
|
78
|
+
}
|
|
79
|
+
.min-h-dvh {
|
|
80
|
+
min-height: 100dvh;
|
|
81
|
+
}
|
|
82
|
+
.min-h-full {
|
|
83
|
+
min-height: 100%;
|
|
84
|
+
}
|
|
85
|
+
.w-1\/2 {
|
|
86
|
+
width: calc(1 / 2 * 100%);
|
|
87
|
+
}
|
|
88
|
+
.w-2\/3 {
|
|
89
|
+
width: calc(2 / 3 * 100%);
|
|
90
|
+
}
|
|
91
|
+
.w-3\.5 {
|
|
92
|
+
width: calc(var(--spacing) * 3.5);
|
|
93
|
+
}
|
|
94
|
+
.w-\[352px\] {
|
|
95
|
+
width: 352px;
|
|
96
|
+
}
|
|
97
|
+
.min-w-40 {
|
|
98
|
+
min-width: calc(var(--spacing) * 40);
|
|
99
|
+
}
|
|
100
|
+
.min-w-\[5rem\] {
|
|
101
|
+
min-width: 5rem;
|
|
102
|
+
}
|
|
103
|
+
.shrink-\[2\] {
|
|
104
|
+
flex-shrink: 2;
|
|
105
|
+
}
|
|
106
|
+
.translate-y-0 {
|
|
107
|
+
--tw-translate-y: 0px;
|
|
108
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
109
|
+
}
|
|
110
|
+
.translate-y-2 {
|
|
111
|
+
--tw-translate-y: calc(var(--spacing) * 2);
|
|
112
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
113
|
+
}
|
|
114
|
+
.scale-\[1\.01\] {
|
|
115
|
+
scale: 1.01;
|
|
116
|
+
}
|
|
117
|
+
.rotate-90 {
|
|
118
|
+
rotate: 90deg;
|
|
119
|
+
}
|
|
120
|
+
.cursor-not-allowed {
|
|
121
|
+
cursor: not-allowed;
|
|
122
|
+
}
|
|
123
|
+
.resize-none {
|
|
124
|
+
resize: none;
|
|
125
|
+
}
|
|
126
|
+
.\[scrollbar-width\:none\] {
|
|
127
|
+
scrollbar-width: none;
|
|
128
|
+
}
|
|
129
|
+
.flex-row {
|
|
130
|
+
flex-direction: row;
|
|
131
|
+
}
|
|
132
|
+
.self-center {
|
|
133
|
+
align-self: center;
|
|
134
|
+
}
|
|
135
|
+
.self-stretch {
|
|
136
|
+
align-self: stretch;
|
|
137
|
+
}
|
|
138
|
+
.rounded-\[2\.5rem\] {
|
|
139
|
+
border-radius: 2.5rem;
|
|
140
|
+
}
|
|
141
|
+
.rounded-t-xl {
|
|
142
|
+
border-top-left-radius: 1.5rem;
|
|
143
|
+
border-top-right-radius: 1.5rem;
|
|
144
|
+
}
|
|
145
|
+
.rounded-l-xl {
|
|
146
|
+
border-top-left-radius: 1.5rem;
|
|
147
|
+
border-bottom-left-radius: 1.5rem;
|
|
148
|
+
}
|
|
149
|
+
.rounded-r-xl {
|
|
150
|
+
border-top-right-radius: 1.5rem;
|
|
151
|
+
border-bottom-right-radius: 1.5rem;
|
|
152
|
+
}
|
|
153
|
+
.border-0 {
|
|
154
|
+
border-style: var(--tw-border-style);
|
|
155
|
+
border-width: 0px;
|
|
156
|
+
}
|
|
157
|
+
.border-2 {
|
|
158
|
+
border-style: var(--tw-border-style);
|
|
159
|
+
border-width: 2px;
|
|
160
|
+
}
|
|
161
|
+
.border-8 {
|
|
162
|
+
border-style: var(--tw-border-style);
|
|
163
|
+
border-width: 8px;
|
|
164
|
+
}
|
|
165
|
+
.border-r {
|
|
166
|
+
border-right-style: var(--tw-border-style);
|
|
167
|
+
border-right-width: 1px;
|
|
168
|
+
}
|
|
169
|
+
.border-l {
|
|
170
|
+
border-left-style: var(--tw-border-style);
|
|
171
|
+
border-left-width: 1px;
|
|
172
|
+
}
|
|
173
|
+
.border-dashed {
|
|
174
|
+
--tw-border-style: dashed;
|
|
175
|
+
border-style: dashed;
|
|
176
|
+
}
|
|
177
|
+
.border-solid {
|
|
178
|
+
--tw-border-style: solid;
|
|
179
|
+
border-style: solid;
|
|
180
|
+
}
|
|
181
|
+
.border-accent {
|
|
182
|
+
border-color: var(--accent);
|
|
183
|
+
}
|
|
184
|
+
.border-accent-solid {
|
|
185
|
+
border-color: var(--accent-solid);
|
|
186
|
+
}
|
|
187
|
+
.border-accent\/70 {
|
|
188
|
+
border-color: var(--accent);
|
|
189
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
190
|
+
border-color: color-mix(in oklab, var(--accent) 70%, transparent);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
.border-border-strong\/60 {
|
|
194
|
+
border-color: var(--border-strong);
|
|
195
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
196
|
+
border-color: color-mix(in oklab, var(--border-strong) 60%, transparent);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
.bg-accent\/8 {
|
|
200
|
+
background-color: var(--accent);
|
|
201
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
202
|
+
background-color: color-mix(in oklab, var(--accent) 8%, transparent);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
.bg-accent\/15 {
|
|
206
|
+
background-color: var(--accent);
|
|
207
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
208
|
+
background-color: color-mix(in oklab, var(--accent) 15%, transparent);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
.bg-accent\/40 {
|
|
212
|
+
background-color: var(--accent);
|
|
213
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
214
|
+
background-color: color-mix(in oklab, var(--accent) 40%, transparent);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
.bg-border-strong {
|
|
218
|
+
background-color: var(--border-strong);
|
|
219
|
+
}
|
|
220
|
+
.bg-card-overlay\/85 {
|
|
221
|
+
background-color: var(--card-overlay);
|
|
222
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
223
|
+
background-color: color-mix(in oklab, var(--card-overlay) 85%, transparent);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
.bg-muted\/40 {
|
|
227
|
+
background-color: var(--muted);
|
|
228
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
229
|
+
background-color: color-mix(in oklab, var(--muted) 40%, transparent);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
.bg-muted\/60 {
|
|
233
|
+
background-color: var(--muted);
|
|
234
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
235
|
+
background-color: color-mix(in oklab, var(--muted) 60%, transparent);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
.bg-success\/8 {
|
|
239
|
+
background-color: var(--success);
|
|
240
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
241
|
+
background-color: color-mix(in oklab, var(--success) 8%, transparent);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
.pb-0\.5 {
|
|
245
|
+
padding-bottom: calc(var(--spacing) * 0.5);
|
|
246
|
+
}
|
|
247
|
+
.pb-\[max\(env\(safe-area-inset-bottom\,0px\)\,0\.5rem\)\] {
|
|
248
|
+
padding-bottom: max(env(safe-area-inset-bottom,0px), 0.5rem);
|
|
249
|
+
}
|
|
250
|
+
.pl-1 {
|
|
251
|
+
padding-left: var(--spacing);
|
|
252
|
+
}
|
|
253
|
+
.pl-3 {
|
|
254
|
+
padding-left: calc(var(--spacing) * 3);
|
|
255
|
+
}
|
|
256
|
+
.text-xl {
|
|
257
|
+
font-size: var(--text-xl);
|
|
258
|
+
line-height: var(--tw-leading, var(--text-xl--line-height));
|
|
259
|
+
}
|
|
260
|
+
.break-words {
|
|
261
|
+
overflow-wrap: break-word;
|
|
262
|
+
}
|
|
263
|
+
.text-muted-foreground\/60 {
|
|
264
|
+
color: var(--muted-foreground);
|
|
265
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
266
|
+
color: color-mix(in oklab, var(--muted-foreground) 60%, transparent);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
.text-tone-amber-ink {
|
|
270
|
+
color: var(--tone-amber-ink);
|
|
271
|
+
}
|
|
272
|
+
.text-tone-cyan-ink {
|
|
273
|
+
color: var(--tone-cyan-ink);
|
|
274
|
+
}
|
|
275
|
+
.text-tone-emerald-ink {
|
|
276
|
+
color: var(--tone-emerald-ink);
|
|
277
|
+
}
|
|
278
|
+
.text-tone-orange-ink {
|
|
279
|
+
color: var(--tone-orange-ink);
|
|
280
|
+
}
|
|
281
|
+
.text-tone-purple-ink {
|
|
282
|
+
color: var(--tone-purple-ink);
|
|
283
|
+
}
|
|
284
|
+
.text-tone-rose-ink {
|
|
285
|
+
color: var(--tone-rose-ink);
|
|
286
|
+
}
|
|
287
|
+
.text-tone-sky-ink {
|
|
288
|
+
color: var(--tone-sky-ink);
|
|
289
|
+
}
|
|
290
|
+
.text-tone-slate-ink {
|
|
291
|
+
color: var(--tone-slate-ink);
|
|
292
|
+
}
|
|
293
|
+
.italic {
|
|
294
|
+
font-style: italic;
|
|
295
|
+
}
|
|
296
|
+
.opacity-100 {
|
|
297
|
+
opacity: 100%;
|
|
298
|
+
}
|
|
299
|
+
.ring-1 {
|
|
300
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
301
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
302
|
+
}
|
|
303
|
+
.ring-4 {
|
|
304
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
305
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
306
|
+
}
|
|
307
|
+
.ring-accent\/20 {
|
|
308
|
+
--tw-ring-color: var(--accent);
|
|
309
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
310
|
+
--tw-ring-color: color-mix(in oklab, var(--accent) 20%, transparent);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
.ring-accent\/30 {
|
|
314
|
+
--tw-ring-color: var(--accent);
|
|
315
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
316
|
+
--tw-ring-color: color-mix(in oklab, var(--accent) 30%, transparent);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
.ring-accent\/40 {
|
|
320
|
+
--tw-ring-color: var(--accent);
|
|
321
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
322
|
+
--tw-ring-color: color-mix(in oklab, var(--accent) 40%, transparent);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
.ring-border {
|
|
326
|
+
--tw-ring-color: var(--border);
|
|
327
|
+
}
|
|
328
|
+
.ring-ring {
|
|
329
|
+
--tw-ring-color: var(--ring);
|
|
330
|
+
}
|
|
331
|
+
.transition-\[opacity\,transform\] {
|
|
332
|
+
transition-property: opacity,transform;
|
|
333
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
334
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
335
|
+
}
|
|
336
|
+
.duration-150 {
|
|
337
|
+
--tw-duration: 150ms;
|
|
338
|
+
transition-duration: 150ms;
|
|
339
|
+
}
|
|
340
|
+
.ring-inset {
|
|
341
|
+
--tw-ring-inset: inset;
|
|
342
|
+
}
|
|
343
|
+
.peer-focus\:rounded-lg:is(:where(.peer):focus ~ *) {
|
|
344
|
+
border-radius: 1rem;
|
|
345
|
+
}
|
|
346
|
+
.peer-focus\:ring-2:is(:where(.peer):focus ~ *) {
|
|
347
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
348
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
349
|
+
}
|
|
350
|
+
.peer-focus\:ring-field-ring\/40:is(:where(.peer):focus ~ *) {
|
|
351
|
+
--tw-ring-color: var(--field-ring);
|
|
352
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
353
|
+
--tw-ring-color: color-mix(in oklab, var(--field-ring) 40%, transparent);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
.peer-focus\:outline-none:is(:where(.peer):focus ~ *) {
|
|
357
|
+
--tw-outline-style: none;
|
|
358
|
+
outline-style: none;
|
|
359
|
+
}
|
|
360
|
+
@media (hover: hover) {
|
|
361
|
+
.hover\:border-border-strong:hover {
|
|
362
|
+
border-color: var(--border-strong);
|
|
363
|
+
}
|
|
364
|
+
.hover\:border-field-ring:hover {
|
|
365
|
+
border-color: var(--field-ring);
|
|
366
|
+
}
|
|
367
|
+
.hover\:bg-card-overlay:hover {
|
|
368
|
+
background-color: var(--card-overlay);
|
|
369
|
+
}
|
|
370
|
+
.hover\:bg-muted-foreground\/10:hover {
|
|
371
|
+
background-color: var(--muted-foreground);
|
|
372
|
+
}
|
|
373
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
374
|
+
.hover\:bg-muted-foreground\/10:hover {
|
|
375
|
+
background-color: color-mix(in oklab, var(--muted-foreground) 10%, transparent);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
.hover\:bg-muted\/80:hover {
|
|
379
|
+
background-color: var(--muted);
|
|
380
|
+
}
|
|
381
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
382
|
+
.hover\:bg-muted\/80:hover {
|
|
383
|
+
background-color: color-mix(in oklab, var(--muted) 80%, transparent);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
.hover\:shadow-popover:hover {
|
|
387
|
+
--tw-shadow: var(--shadow-popover);
|
|
388
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
|
|
392
|
+
--tw-exit-translate-y: 100%;
|
|
393
|
+
}
|
|
394
|
+
.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
|
|
395
|
+
--tw-exit-translate-x: -100%;
|
|
396
|
+
}
|
|
397
|
+
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
|
|
398
|
+
--tw-exit-translate-x: 100%;
|
|
399
|
+
}
|
|
400
|
+
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
|
|
401
|
+
--tw-enter-translate-y: 100%;
|
|
402
|
+
}
|
|
403
|
+
.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
|
|
404
|
+
--tw-enter-translate-x: -100%;
|
|
405
|
+
}
|
|
406
|
+
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
|
|
407
|
+
--tw-enter-translate-x: 100%;
|
|
408
|
+
}
|
|
409
|
+
@media (width >= 40rem) {
|
|
410
|
+
.sm\:w-56 {
|
|
411
|
+
width: calc(var(--spacing) * 56);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
@media (pointer: coarse) {
|
|
415
|
+
.pointer-coarse\:h-12 {
|
|
416
|
+
height: calc(var(--spacing) * 12);
|
|
417
|
+
}
|
|
418
|
+
.pointer-coarse\:w-12 {
|
|
419
|
+
width: calc(var(--spacing) * 12);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
.\[\&_svg\]\:size-3\.5 svg {
|
|
423
|
+
width: calc(var(--spacing) * 3.5);
|
|
424
|
+
height: calc(var(--spacing) * 3.5);
|
|
425
|
+
}
|
|
426
|
+
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
|
|
427
|
+
display: none;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
@property --tw-translate-x {
|
|
431
|
+
syntax: "*";
|
|
432
|
+
inherits: false;
|
|
433
|
+
initial-value: 0;
|
|
434
|
+
}
|
|
435
|
+
@property --tw-translate-y {
|
|
436
|
+
syntax: "*";
|
|
437
|
+
inherits: false;
|
|
438
|
+
initial-value: 0;
|
|
439
|
+
}
|
|
440
|
+
@property --tw-translate-z {
|
|
441
|
+
syntax: "*";
|
|
442
|
+
inherits: false;
|
|
443
|
+
initial-value: 0;
|
|
444
|
+
}
|
|
445
|
+
@property --tw-border-style {
|
|
446
|
+
syntax: "*";
|
|
447
|
+
inherits: false;
|
|
448
|
+
initial-value: solid;
|
|
449
|
+
}
|
|
450
|
+
@property --tw-shadow {
|
|
451
|
+
syntax: "*";
|
|
452
|
+
inherits: false;
|
|
453
|
+
initial-value: 0 0 #0000;
|
|
454
|
+
}
|
|
455
|
+
@property --tw-shadow-color {
|
|
456
|
+
syntax: "*";
|
|
457
|
+
inherits: false;
|
|
458
|
+
}
|
|
459
|
+
@property --tw-shadow-alpha {
|
|
460
|
+
syntax: "<percentage>";
|
|
461
|
+
inherits: false;
|
|
462
|
+
initial-value: 100%;
|
|
463
|
+
}
|
|
464
|
+
@property --tw-inset-shadow {
|
|
465
|
+
syntax: "*";
|
|
466
|
+
inherits: false;
|
|
467
|
+
initial-value: 0 0 #0000;
|
|
468
|
+
}
|
|
469
|
+
@property --tw-inset-shadow-color {
|
|
470
|
+
syntax: "*";
|
|
471
|
+
inherits: false;
|
|
472
|
+
}
|
|
473
|
+
@property --tw-inset-shadow-alpha {
|
|
474
|
+
syntax: "<percentage>";
|
|
475
|
+
inherits: false;
|
|
476
|
+
initial-value: 100%;
|
|
477
|
+
}
|
|
478
|
+
@property --tw-ring-color {
|
|
479
|
+
syntax: "*";
|
|
480
|
+
inherits: false;
|
|
481
|
+
}
|
|
482
|
+
@property --tw-ring-shadow {
|
|
483
|
+
syntax: "*";
|
|
484
|
+
inherits: false;
|
|
485
|
+
initial-value: 0 0 #0000;
|
|
486
|
+
}
|
|
487
|
+
@property --tw-inset-ring-color {
|
|
488
|
+
syntax: "*";
|
|
489
|
+
inherits: false;
|
|
490
|
+
}
|
|
491
|
+
@property --tw-inset-ring-shadow {
|
|
492
|
+
syntax: "*";
|
|
493
|
+
inherits: false;
|
|
494
|
+
initial-value: 0 0 #0000;
|
|
495
|
+
}
|
|
496
|
+
@property --tw-ring-inset {
|
|
497
|
+
syntax: "*";
|
|
498
|
+
inherits: false;
|
|
499
|
+
}
|
|
500
|
+
@property --tw-ring-offset-width {
|
|
501
|
+
syntax: "<length>";
|
|
502
|
+
inherits: false;
|
|
503
|
+
initial-value: 0px;
|
|
504
|
+
}
|
|
505
|
+
@property --tw-ring-offset-color {
|
|
506
|
+
syntax: "*";
|
|
507
|
+
inherits: false;
|
|
508
|
+
initial-value: #fff;
|
|
509
|
+
}
|
|
510
|
+
@property --tw-ring-offset-shadow {
|
|
511
|
+
syntax: "*";
|
|
512
|
+
inherits: false;
|
|
513
|
+
initial-value: 0 0 #0000;
|
|
514
|
+
}
|
|
515
|
+
@property --tw-duration {
|
|
516
|
+
syntax: "*";
|
|
517
|
+
inherits: false;
|
|
518
|
+
}
|
|
519
|
+
@layer properties {
|
|
520
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
521
|
+
*, ::before, ::after, ::backdrop {
|
|
522
|
+
--tw-translate-x: 0;
|
|
523
|
+
--tw-translate-y: 0;
|
|
524
|
+
--tw-translate-z: 0;
|
|
525
|
+
--tw-border-style: solid;
|
|
526
|
+
--tw-shadow: 0 0 #0000;
|
|
527
|
+
--tw-shadow-color: initial;
|
|
528
|
+
--tw-shadow-alpha: 100%;
|
|
529
|
+
--tw-inset-shadow: 0 0 #0000;
|
|
530
|
+
--tw-inset-shadow-color: initial;
|
|
531
|
+
--tw-inset-shadow-alpha: 100%;
|
|
532
|
+
--tw-ring-color: initial;
|
|
533
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
534
|
+
--tw-inset-ring-color: initial;
|
|
535
|
+
--tw-inset-ring-shadow: 0 0 #0000;
|
|
536
|
+
--tw-ring-inset: initial;
|
|
537
|
+
--tw-ring-offset-width: 0px;
|
|
538
|
+
--tw-ring-offset-color: #fff;
|
|
539
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
540
|
+
--tw-duration: initial;
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* cursedbelt — the `workbook-viewer` area. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
3
|
+
*
|
|
4
|
+
* the lazy XLSX 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/workbook-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. 247 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
|
+
--spacing: 0.25rem;
|
|
31
|
+
--text-sm: 0.875rem;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
@layer utilities {
|
|
35
|
+
.collapse {
|
|
36
|
+
visibility: collapse;
|
|
37
|
+
}
|
|
38
|
+
.w-48 {
|
|
39
|
+
width: calc(var(--spacing) * 48);
|
|
40
|
+
}
|
|
41
|
+
.min-w-16 {
|
|
42
|
+
min-width: calc(var(--spacing) * 16);
|
|
43
|
+
}
|
|
44
|
+
}
|
package/src/styles-static.css
CHANGED
|
@@ -6,29 +6,32 @@
|
|
|
6
6
|
* This `@source` makes Tailwind v4 scan cursedbelt's source files so the utility
|
|
7
7
|
* classes used by its components are generated in the app's stylesheet.
|
|
8
8
|
*
|
|
9
|
-
* ──
|
|
9
|
+
* ── Three ways in, and which one an app wants ────────────────────────────────
|
|
10
10
|
* `@source "."` is the expensive half: it points Tailwind's JIT at cursedbelt's
|
|
11
11
|
* ENTIRE source tree, so the app emits the union of the whole design system
|
|
12
12
|
* whether it renders three components or eighty, and its own build walks 827
|
|
13
13
|
* files it does not own. Everything else in this file is CSS the components
|
|
14
14
|
* genuinely need and no app can do without.
|
|
15
15
|
*
|
|
16
|
-
* A CSS `@import` takes the whole file, so the split is
|
|
16
|
+
* A CSS `@import` takes the whole file, so the split is more subpaths:
|
|
17
17
|
*
|
|
18
|
-
* cursedbelt/styles.css
|
|
19
|
-
* cursedbelt/styles-static.css
|
|
20
|
-
* cursedbelt/styles-utilities.css
|
|
21
|
-
*
|
|
18
|
+
* cursedbelt/styles.css this file — the real CSS + the `@source` scan
|
|
19
|
+
* cursedbelt/styles-static.css the same file MINUS the `@source` line
|
|
20
|
+
* cursedbelt/styles-utilities.css the utilities that `@source` line would have
|
|
21
|
+
* produced, precompiled at cursedbelt's build
|
|
22
|
+
* cursedbelt/styles-areas/<area>.css the same utilities, split by component family
|
|
22
23
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* `styles-static.css` is never usable alone — on its own it gets the tooltip
|
|
25
|
+
* pointer-events fix, the Progress keyframes, the lightbox bridge, the
|
|
26
|
+
* ambient/glass layer and `tw-animate-css`, and emits none of cursedbelt's
|
|
27
|
+
* utility classes, i.e. an unstyled app. It pairs with EITHER of the other two:
|
|
27
28
|
*
|
|
28
|
-
* @import "tailwindcss";
|
|
29
|
-
* @import "cursedbelt/styles-static.css";
|
|
30
|
-
* @import "cursedbelt/styles-utilities.css";
|
|
31
|
-
* @import "cursedbelt/theme.css";
|
|
29
|
+
* @import "tailwindcss"; @import "tailwindcss";
|
|
30
|
+
* @import "cursedbelt/styles-static.css"; @import "cursedbelt/styles-static.css";
|
|
31
|
+
* @import "cursedbelt/styles-utilities.css"; @import "cursedbelt/styles-areas/core.css";
|
|
32
|
+
* @import "cursedbelt/theme.css"; @import "cursedbelt/styles-areas/data-table.css";
|
|
33
|
+
* @import "cursedbelt/theme.css";
|
|
34
|
+
* the whole design system what this app renders
|
|
32
35
|
*
|
|
33
36
|
* 🔴 Do NOT hand-list cursedbelt's component files to get the utilities back.
|
|
34
37
|
* Tailwind v4 resolves every `@source` to a DIRECTORY and scans it recursively —
|
|
@@ -38,22 +41,30 @@
|
|
|
38
41
|
* into this package's source tree is also a `file:` dependency wearing a
|
|
39
42
|
* stylesheet's clothes, and it buys nothing: it is the thing the previous
|
|
40
43
|
* generation's 29-line-per-app arrangement is remembered for, and those 29 lines
|
|
41
|
-
* were never file-level scoping either.
|
|
44
|
+
* were never file-level scoping either. Three apps hand-maintained such a list
|
|
45
|
+
* and one of them ran to 173 lines; all three were deleted, because every one of
|
|
46
|
+
* them was a directory list wearing a costume.
|
|
42
47
|
*
|
|
43
|
-
*
|
|
44
|
-
* rules within 54 bytes
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
+
* `styles-utilities.css` is not SMALLER than this file — measured, both routes
|
|
49
|
+
* emit the same rules within 54 bytes; the union is the union however it is
|
|
50
|
+
* assembled. What it buys is a build that scans nothing of another package's
|
|
51
|
+
* source tree. 🔴 What makes a consumer smaller is the AREAS, and only the
|
|
52
|
+
* package could build them: Tailwind cannot aim a `@source` at anything finer
|
|
53
|
+
* than a directory, but `@tailwindcss/oxide` can be handed a FILE LIST, which is
|
|
54
|
+
* what `scripts/generateAreaStyles.ts` does. Measured on the fixture consumer
|
|
55
|
+
* `demo/fixtures/lean-app`, the area route emits 30% less CSS than the union, and
|
|
56
|
+
* `src/fixtureAppCss.spec.ts` is the ratchet that stops it climbing back. The
|
|
57
|
+
* area map, and a sentence on what each area is for, is `scripts/styleAreas.ts`.
|
|
48
58
|
*
|
|
49
59
|
* 🔴 This header is in BOTH of the first two files, because one is generated from
|
|
50
60
|
* the other and a test holds them byte-identical apart from the `@source` line.
|
|
51
61
|
* Always edit `src/styles.css`; never `src/styles-static.css`, which
|
|
52
62
|
* `scripts/generateStaticStyles.ts` rewrites on every `bun run build` and
|
|
53
63
|
* `src/stylesStaticMatches.spec.ts` fails on when it is stale. Editing this file
|
|
54
|
-
* invalidates `src/styles-utilities.css`
|
|
55
|
-
*
|
|
56
|
-
* and `src/stylesUtilitiesMatches.spec.ts`
|
|
64
|
+
* invalidates `src/styles-utilities.css` and every `src/styles-areas/*.css` too —
|
|
65
|
+
* all of them are compiled against the static variant, `bun run styles` rewrites
|
|
66
|
+
* them in the same build step, and `src/stylesUtilitiesMatches.spec.ts` /
|
|
67
|
+
* `src/stylesAreas.spec.ts` are what fail when they are stale.
|
|
57
68
|
*/
|
|
58
69
|
|
|
59
70
|
/* Animation utilities (animate-in/out, fade/zoom/slide-in-from-*) consumed by the
|