cursedbelt 5.0.1 → 5.2.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/engagement/beacon.d.ts +38 -0
- package/dist/react/engagement/beacon.d.ts.map +1 -0
- package/dist/react/engagement/beacon.js +62 -0
- package/dist/react/engagement/beacon.js.map +1 -0
- package/dist/react/engagement/beaconClient.d.ts +119 -0
- package/dist/react/engagement/beaconClient.d.ts.map +1 -0
- package/dist/react/engagement/beaconClient.js +203 -0
- package/dist/react/engagement/beaconClient.js.map +1 -0
- package/dist/react/engagement/index.d.ts +3 -0
- package/dist/react/engagement/index.d.ts.map +1 -0
- package/dist/react/engagement/index.js +5 -0
- package/dist/react/engagement/index.js.map +1 -0
- package/dist/react/lib/directUpload.d.ts +130 -0
- package/dist/react/lib/directUpload.d.ts.map +1 -0
- package/dist/react/lib/directUpload.js +228 -0
- package/dist/react/lib/directUpload.js.map +1 -0
- package/dist/react/media/FocusViewer.d.ts.map +1 -1
- package/dist/react/media/FocusViewer.js.map +1 -1
- package/dist/react/media/MediaThumb.d.ts.map +1 -1
- package/dist/react/media/MediaThumb.js.map +1 -1
- package/dist/react/media/VideoTurner.d.ts.map +1 -1
- package/dist/react/media/VideoTurner.js.map +1 -1
- package/dist/react/media-gallery/GalleryTable.js.map +1 -1
- package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
- package/dist/react/media-gallery/MediaGallery.js.map +1 -1
- package/dist/styles-areas/activity-bar.css +8 -11
- package/dist/styles-areas/analytics.css +30 -653
- package/dist/styles-areas/auth.css +10 -135
- package/dist/styles-areas/calendar.css +22 -397
- package/dist/styles-areas/chart-table.css +8 -20
- package/dist/styles-areas/charts.css +9 -70
- package/dist/styles-areas/chat.css +17 -345
- package/dist/styles-areas/clipboard.css +7 -7
- package/dist/styles-areas/code-editor.css +8 -111
- package/dist/styles-areas/companion-link.css +8 -51
- package/dist/styles-areas/core.css +131 -2488
- package/dist/styles-areas/dashboard-grid.css +10 -65
- package/dist/styles-areas/data-table.css +30 -638
- package/dist/styles-areas/deep-link.css +7 -7
- package/dist/styles-areas/diff-viewer.css +8 -11
- package/dist/styles-areas/disk-usage.css +13 -243
- package/dist/styles-areas/emoji.css +9 -135
- package/dist/styles-areas/fields.css +32 -563
- package/dist/styles-areas/file-tree.css +8 -14
- package/dist/styles-areas/filter-rail.css +14 -216
- package/dist/styles-areas/folder-tree.css +12 -200
- package/dist/styles-areas/keep-awake.css +7 -7
- package/dist/styles-areas/layout-engine.css +12 -220
- package/dist/styles-areas/markdown.css +9 -68
- package/dist/styles-areas/master-detail.css +14 -220
- package/dist/styles-areas/master-lock.css +9 -113
- package/dist/styles-areas/media-gallery.css +15 -332
- package/dist/styles-areas/media.css +20 -623
- package/dist/styles-areas/nav.css +24 -469
- package/dist/styles-areas/notifications.css +12 -226
- package/dist/styles-areas/overlays.css +14 -114
- package/dist/styles-areas/palette.css +15 -121
- package/dist/styles-areas/pdf-viewer.css +8 -28
- package/dist/styles-areas/problem-detail.css +9 -78
- package/dist/styles-areas/rich-text.css +9 -148
- package/dist/styles-areas/sharing.css +13 -134
- package/dist/styles-areas/spreadsheet.css +8 -18
- package/dist/styles-areas/stats.css +19 -262
- package/dist/styles-areas/test-report.css +13 -114
- package/dist/styles-areas/virtual.css +8 -11
- package/dist/styles-areas/wizard.css +21 -362
- package/dist/styles-areas/workbench.css +27 -524
- package/dist/styles-areas/workbook-viewer.css +8 -25
- package/dist/styles-static.css +1 -0
- package/dist/styles.css +1 -0
- package/package.json +20 -2
- package/scripts/checkAreaStyles.spec.ts +158 -1
- package/scripts/checkAreaStyles.ts +226 -6
- package/scripts/cssRules.ts +8 -1
- package/scripts/gate.ts +1 -1
- package/scripts/generateAreaStyles.ts +130 -10
- package/scripts/paths.ts +1 -1
- package/scripts/styleAreas.ts +2 -0
- package/src/react/components/ActionBar.spec.tsx +1 -0
- package/src/react/engagement/beacon.tsx +63 -0
- package/src/react/engagement/beaconClient.spec.ts +138 -0
- package/src/react/engagement/beaconClient.ts +228 -0
- package/src/react/engagement/index.ts +13 -0
- package/src/react/file-tree/FileTree.tsx +3 -3
- package/src/react/lib/directUpload.spec.ts +128 -0
- package/src/react/lib/directUpload.ts +334 -0
- package/src/react/media/FocusViewer.tsx +1 -0
- package/src/react/media/MediaThumb.tsx +0 -1
- package/src/react/media/VideoTurner.tsx +0 -1
- package/src/react/media-gallery/GalleryTable.tsx +0 -1
- package/src/react/media-gallery/MediaGallery.tsx +0 -1
- package/src/styles-areas/activity-bar.css +8 -11
- package/src/styles-areas/analytics.css +30 -653
- package/src/styles-areas/auth.css +10 -135
- package/src/styles-areas/calendar.css +22 -397
- package/src/styles-areas/chart-table.css +8 -20
- package/src/styles-areas/charts.css +9 -70
- package/src/styles-areas/chat.css +17 -345
- package/src/styles-areas/clipboard.css +7 -7
- package/src/styles-areas/code-editor.css +8 -111
- package/src/styles-areas/companion-link.css +8 -51
- package/src/styles-areas/core.css +131 -2488
- package/src/styles-areas/dashboard-grid.css +10 -65
- package/src/styles-areas/data-table.css +30 -638
- package/src/styles-areas/deep-link.css +7 -7
- package/src/styles-areas/diff-viewer.css +8 -11
- package/src/styles-areas/disk-usage.css +13 -243
- package/src/styles-areas/emoji.css +9 -135
- package/src/styles-areas/fields.css +32 -563
- package/src/styles-areas/file-tree.css +8 -14
- package/src/styles-areas/filter-rail.css +14 -216
- package/src/styles-areas/folder-tree.css +12 -200
- package/src/styles-areas/keep-awake.css +7 -7
- package/src/styles-areas/layout-engine.css +12 -220
- package/src/styles-areas/markdown.css +9 -68
- package/src/styles-areas/master-detail.css +14 -220
- package/src/styles-areas/master-lock.css +9 -113
- package/src/styles-areas/media-gallery.css +15 -332
- package/src/styles-areas/media.css +20 -623
- package/src/styles-areas/nav.css +24 -469
- package/src/styles-areas/notifications.css +12 -226
- package/src/styles-areas/overlays.css +14 -114
- package/src/styles-areas/palette.css +15 -121
- package/src/styles-areas/pdf-viewer.css +8 -28
- package/src/styles-areas/problem-detail.css +9 -78
- package/src/styles-areas/rich-text.css +9 -148
- package/src/styles-areas/sharing.css +13 -134
- package/src/styles-areas/spreadsheet.css +8 -18
- package/src/styles-areas/stats.css +19 -262
- package/src/styles-areas/test-report.css +13 -114
- package/src/styles-areas/virtual.css +8 -11
- package/src/styles-areas/wizard.css +21 -362
- package/src/styles-areas/workbench.css +27 -524
- package/src/styles-areas/workbook-viewer.css +8 -25
- package/src/styles-static.css +1 -0
- package/src/styles.css +1 -0
- package/src/stylesAreas.spec.ts +12 -7
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* cursedbelt — the `notifications` area. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
2
|
+
* cursedbelt — the `notifications` area's utility candidates. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
3
3
|
*
|
|
4
4
|
* the notification centre and its feed.
|
|
5
5
|
*
|
|
@@ -13,233 +13,19 @@
|
|
|
13
13
|
* @import "cursedbelt/styles-areas/notifications.css";
|
|
14
14
|
* @import "cursedbelt/theme.css";
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* These are CANDIDATES (`@source inline`), not CSS: the app's own Tailwind pass generates
|
|
17
|
+
* them, sorted together with the app's utilities, so an area can never put a base utility
|
|
18
|
+
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
|
+
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
|
+
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
+
* 35 candidate(s).
|
|
19
22
|
*
|
|
20
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
22
25
|
* import closures rather than a hand-written list, is scripts/styleAreas.ts.
|
|
23
26
|
*/
|
|
24
|
-
|
|
25
|
-
@
|
|
26
|
-
@
|
|
27
|
-
@
|
|
28
|
-
|
|
29
|
-
--spacing: 0.25rem;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
@layer utilities {
|
|
33
|
-
.-top-0\.5 {
|
|
34
|
-
top: calc(var(--spacing) * -0.5);
|
|
35
|
-
}
|
|
36
|
-
.top-3 {
|
|
37
|
-
top: calc(var(--spacing) * 3);
|
|
38
|
-
}
|
|
39
|
-
.-right-0\.5 {
|
|
40
|
-
right: calc(var(--spacing) * -0.5);
|
|
41
|
-
}
|
|
42
|
-
.right-3 {
|
|
43
|
-
right: calc(var(--spacing) * 3);
|
|
44
|
-
}
|
|
45
|
-
.ml-1\.5 {
|
|
46
|
-
margin-left: calc(var(--spacing) * 1.5);
|
|
47
|
-
}
|
|
48
|
-
.ml-2 {
|
|
49
|
-
margin-left: calc(var(--spacing) * 2);
|
|
50
|
-
}
|
|
51
|
-
.line-clamp-2 {
|
|
52
|
-
overflow: hidden;
|
|
53
|
-
display: -webkit-box;
|
|
54
|
-
-webkit-box-orient: vertical;
|
|
55
|
-
-webkit-line-clamp: 2;
|
|
56
|
-
}
|
|
57
|
-
.size-2 {
|
|
58
|
-
width: calc(var(--spacing) * 2);
|
|
59
|
-
height: calc(var(--spacing) * 2);
|
|
60
|
-
}
|
|
61
|
-
.min-h-\[44px\] {
|
|
62
|
-
min-height: 44px;
|
|
63
|
-
}
|
|
64
|
-
.w-0\.5 {
|
|
65
|
-
width: calc(var(--spacing) * 0.5);
|
|
66
|
-
}
|
|
67
|
-
.min-w-4 {
|
|
68
|
-
min-width: calc(var(--spacing) * 4);
|
|
69
|
-
}
|
|
70
|
-
.\[scrollbar-width\:none\] {
|
|
71
|
-
scrollbar-width: none;
|
|
72
|
-
}
|
|
73
|
-
.list-none {
|
|
74
|
-
list-style-type: none;
|
|
75
|
-
}
|
|
76
|
-
.self-stretch {
|
|
77
|
-
align-self: stretch;
|
|
78
|
-
}
|
|
79
|
-
.border-0 {
|
|
80
|
-
border-style: var(--tw-border-style);
|
|
81
|
-
border-width: 0px;
|
|
82
|
-
}
|
|
83
|
-
.bg-accent\/15 {
|
|
84
|
-
background-color: var(--accent);
|
|
85
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
86
|
-
background-color: color-mix(in oklab, var(--accent) 15%, transparent);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
.bg-muted-foreground {
|
|
90
|
-
background-color: var(--muted-foreground);
|
|
91
|
-
}
|
|
92
|
-
.py-10 {
|
|
93
|
-
padding-block: calc(var(--spacing) * 10);
|
|
94
|
-
}
|
|
95
|
-
.pt-2\.5 {
|
|
96
|
-
padding-top: calc(var(--spacing) * 2.5);
|
|
97
|
-
}
|
|
98
|
-
.pb-0\.5 {
|
|
99
|
-
padding-bottom: calc(var(--spacing) * 0.5);
|
|
100
|
-
}
|
|
101
|
-
.pb-1 {
|
|
102
|
-
padding-bottom: var(--spacing);
|
|
103
|
-
}
|
|
104
|
-
.pb-4 {
|
|
105
|
-
padding-bottom: calc(var(--spacing) * 4);
|
|
106
|
-
}
|
|
107
|
-
.leading-4 {
|
|
108
|
-
--tw-leading: calc(var(--spacing) * 4);
|
|
109
|
-
line-height: calc(var(--spacing) * 4);
|
|
110
|
-
}
|
|
111
|
-
.text-muted-foreground\/50 {
|
|
112
|
-
color: var(--muted-foreground);
|
|
113
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
114
|
-
color: color-mix(in oklab, var(--muted-foreground) 50%, transparent);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
.ring-1 {
|
|
118
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
119
|
-
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
120
|
-
}
|
|
121
|
-
.ring-accent {
|
|
122
|
-
--tw-ring-color: var(--accent);
|
|
123
|
-
}
|
|
124
|
-
.ring-accent\/30 {
|
|
125
|
-
--tw-ring-color: var(--accent);
|
|
126
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
127
|
-
--tw-ring-color: color-mix(in oklab, var(--accent) 30%, transparent);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
.ring-inset {
|
|
131
|
-
--tw-ring-inset: inset;
|
|
132
|
-
}
|
|
133
|
-
.group-focus-within\:opacity-100:is(:where(.group):focus-within *) {
|
|
134
|
-
opacity: 100%;
|
|
135
|
-
}
|
|
136
|
-
@media (hover: hover) {
|
|
137
|
-
.hover\:bg-muted\/80:hover {
|
|
138
|
-
background-color: var(--muted);
|
|
139
|
-
}
|
|
140
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
141
|
-
.hover\:bg-muted\/80:hover {
|
|
142
|
-
background-color: color-mix(in oklab, var(--muted) 80%, transparent);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
|
|
147
|
-
display: none;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
@property --tw-border-style {
|
|
151
|
-
syntax: "*";
|
|
152
|
-
inherits: false;
|
|
153
|
-
initial-value: solid;
|
|
154
|
-
}
|
|
155
|
-
@property --tw-leading {
|
|
156
|
-
syntax: "*";
|
|
157
|
-
inherits: false;
|
|
158
|
-
}
|
|
159
|
-
@property --tw-shadow {
|
|
160
|
-
syntax: "*";
|
|
161
|
-
inherits: false;
|
|
162
|
-
initial-value: 0 0 #0000;
|
|
163
|
-
}
|
|
164
|
-
@property --tw-shadow-color {
|
|
165
|
-
syntax: "*";
|
|
166
|
-
inherits: false;
|
|
167
|
-
}
|
|
168
|
-
@property --tw-shadow-alpha {
|
|
169
|
-
syntax: "<percentage>";
|
|
170
|
-
inherits: false;
|
|
171
|
-
initial-value: 100%;
|
|
172
|
-
}
|
|
173
|
-
@property --tw-inset-shadow {
|
|
174
|
-
syntax: "*";
|
|
175
|
-
inherits: false;
|
|
176
|
-
initial-value: 0 0 #0000;
|
|
177
|
-
}
|
|
178
|
-
@property --tw-inset-shadow-color {
|
|
179
|
-
syntax: "*";
|
|
180
|
-
inherits: false;
|
|
181
|
-
}
|
|
182
|
-
@property --tw-inset-shadow-alpha {
|
|
183
|
-
syntax: "<percentage>";
|
|
184
|
-
inherits: false;
|
|
185
|
-
initial-value: 100%;
|
|
186
|
-
}
|
|
187
|
-
@property --tw-ring-color {
|
|
188
|
-
syntax: "*";
|
|
189
|
-
inherits: false;
|
|
190
|
-
}
|
|
191
|
-
@property --tw-ring-shadow {
|
|
192
|
-
syntax: "*";
|
|
193
|
-
inherits: false;
|
|
194
|
-
initial-value: 0 0 #0000;
|
|
195
|
-
}
|
|
196
|
-
@property --tw-inset-ring-color {
|
|
197
|
-
syntax: "*";
|
|
198
|
-
inherits: false;
|
|
199
|
-
}
|
|
200
|
-
@property --tw-inset-ring-shadow {
|
|
201
|
-
syntax: "*";
|
|
202
|
-
inherits: false;
|
|
203
|
-
initial-value: 0 0 #0000;
|
|
204
|
-
}
|
|
205
|
-
@property --tw-ring-inset {
|
|
206
|
-
syntax: "*";
|
|
207
|
-
inherits: false;
|
|
208
|
-
}
|
|
209
|
-
@property --tw-ring-offset-width {
|
|
210
|
-
syntax: "<length>";
|
|
211
|
-
inherits: false;
|
|
212
|
-
initial-value: 0px;
|
|
213
|
-
}
|
|
214
|
-
@property --tw-ring-offset-color {
|
|
215
|
-
syntax: "*";
|
|
216
|
-
inherits: false;
|
|
217
|
-
initial-value: #fff;
|
|
218
|
-
}
|
|
219
|
-
@property --tw-ring-offset-shadow {
|
|
220
|
-
syntax: "*";
|
|
221
|
-
inherits: false;
|
|
222
|
-
initial-value: 0 0 #0000;
|
|
223
|
-
}
|
|
224
|
-
@layer properties {
|
|
225
|
-
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
226
|
-
*, ::before, ::after, ::backdrop {
|
|
227
|
-
--tw-border-style: solid;
|
|
228
|
-
--tw-leading: initial;
|
|
229
|
-
--tw-shadow: 0 0 #0000;
|
|
230
|
-
--tw-shadow-color: initial;
|
|
231
|
-
--tw-shadow-alpha: 100%;
|
|
232
|
-
--tw-inset-shadow: 0 0 #0000;
|
|
233
|
-
--tw-inset-shadow-color: initial;
|
|
234
|
-
--tw-inset-shadow-alpha: 100%;
|
|
235
|
-
--tw-ring-color: initial;
|
|
236
|
-
--tw-ring-shadow: 0 0 #0000;
|
|
237
|
-
--tw-inset-ring-color: initial;
|
|
238
|
-
--tw-inset-ring-shadow: 0 0 #0000;
|
|
239
|
-
--tw-ring-inset: initial;
|
|
240
|
-
--tw-ring-offset-width: 0px;
|
|
241
|
-
--tw-ring-offset-color: #fff;
|
|
242
|
-
--tw-ring-offset-shadow: 0 0 #0000;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
27
|
+
@source inline("-right-0.5 -top-0.5 [&::-webkit-scrollbar]:hidden [scrollbar-width:none] bg-accent/15");
|
|
28
|
+
@source inline("bg-muted-foreground border-0 group-focus-within:opacity-100 hover:bg-muted/80 leading-4");
|
|
29
|
+
@source inline("line-clamp-2 list-none min-h min-h-[44px] min-w-4 ml-1.5 ml-2 pb pb-0.5 pb-1 pb-4 pt pt-2.5 py");
|
|
30
|
+
@source inline("py-10 right-3 ring-1 ring-accent ring-accent/30 ring-inset self-stretch size-2");
|
|
31
|
+
@source inline("text-muted-foreground/50 top-3 w-0.5");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* cursedbelt — the `overlays` area. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
2
|
+
* cursedbelt — the `overlays` area's utility candidates. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
3
3
|
*
|
|
4
4
|
* the dialogs and drawers beyond the plain Modal/Confirm pair.
|
|
5
5
|
*
|
|
@@ -13,121 +13,21 @@
|
|
|
13
13
|
* @import "cursedbelt/styles-areas/overlays.css";
|
|
14
14
|
* @import "cursedbelt/theme.css";
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* These are CANDIDATES (`@source inline`), not CSS: the app's own Tailwind pass generates
|
|
17
|
+
* them, sorted together with the app's utilities, so an area can never put a base utility
|
|
18
|
+
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
|
+
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
|
+
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
+
* 25 candidate(s).
|
|
19
22
|
*
|
|
20
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
22
25
|
* import closures rather than a hand-written list, is scripts/styleAreas.ts.
|
|
23
26
|
*/
|
|
24
|
-
|
|
25
|
-
@
|
|
26
|
-
@
|
|
27
|
-
@
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
}
|
|
27
|
+
@source inline("accent-[var(--accent-solid)] bg-accent/15 bg-warning/10 border-accent border-l border-r");
|
|
28
|
+
@source inline("cursor-not-allowed data-[state=closed]:slide-out-to-bottom data-[state=closed]:slide-out-to-left");
|
|
29
|
+
@source inline("data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-bottom");
|
|
30
|
+
@source inline("data-[state=open]:slide-in-from-left data-[state=open]:slide-in-from-right");
|
|
31
|
+
@source inline("hover:border-border-strong left-0 max-h-[40dvh] max-h-[65dvh] max-h-[85dvh]");
|
|
32
|
+
@source inline("max-h-[var(--radix-popover-content-available-height)] max-w-[90vw] pb-1 rounded-l-xl");
|
|
33
|
+
@source inline("rounded-r-xl rounded-t-xl w-64");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* cursedbelt — the `palette` area. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
2
|
+
* cursedbelt — the `palette` area's utility candidates. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
3
3
|
*
|
|
4
4
|
* the theme/colour palette editor.
|
|
5
5
|
*
|
|
@@ -13,128 +13,22 @@
|
|
|
13
13
|
* @import "cursedbelt/styles-areas/palette.css";
|
|
14
14
|
* @import "cursedbelt/theme.css";
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* These are CANDIDATES (`@source inline`), not CSS: the app's own Tailwind pass generates
|
|
17
|
+
* them, sorted together with the app's utilities, so an area can never put a base utility
|
|
18
|
+
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
|
+
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
|
+
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
+
* 25 candidate(s).
|
|
19
22
|
*
|
|
20
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
22
25
|
* import closures rather than a hand-written list, is scripts/styleAreas.ts.
|
|
23
26
|
*/
|
|
24
|
-
|
|
25
|
-
@
|
|
26
|
-
@
|
|
27
|
-
@
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
}
|
|
27
|
+
@source inline("[&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:px-3");
|
|
28
|
+
@source inline("[&_[cmdk-group-heading]]:py-1 [&_[cmdk-group-heading]]:text-muted-foreground");
|
|
29
|
+
@source inline("[&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:tracking-wide");
|
|
30
|
+
@source inline("[&_[cmdk-group-heading]]:uppercase [&_svg]:size-3.5 bg-accent/15 border-dashed");
|
|
31
|
+
@source inline("data-[disabled=true]:opacity-50 data-[disabled=true]:pointer-events-none");
|
|
32
|
+
@source inline("data-[selected=true]:bg-muted data-[selected=true]:text-foreground");
|
|
33
|
+
@source inline("data-[state=open]:slide-in-from-top-2 font-sans h-12 max-h-[60dvh] mx-1 place-items-center");
|
|
34
|
+
@source inline("placeholder:text-muted-foreground py-8 sm:inline-block top-[12vh] w-[calc(100%-2rem)]");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* cursedbelt — the `pdf-viewer` area. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
2
|
+
* cursedbelt — the `pdf-viewer` area's utility candidates. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
3
3
|
*
|
|
4
4
|
* the lazy PDF viewer (an optional peer already).
|
|
5
5
|
*
|
|
@@ -13,35 +13,15 @@
|
|
|
13
13
|
* @import "cursedbelt/styles-areas/pdf-viewer.css";
|
|
14
14
|
* @import "cursedbelt/theme.css";
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* These are CANDIDATES (`@source inline`), not CSS: the app's own Tailwind pass generates
|
|
17
|
+
* them, sorted together with the app's utilities, so an area can never put a base utility
|
|
18
|
+
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
|
+
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
|
+
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
+
* 5 candidate(s).
|
|
19
22
|
*
|
|
20
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
22
25
|
* import closures rather than a hand-written list, is scripts/styleAreas.ts.
|
|
23
26
|
*/
|
|
24
|
-
|
|
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
|
-
}
|
|
27
|
+
@source inline("min-w-12 min-w-20 mx-1 place-items-center w-40");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* cursedbelt — the `problem-detail` area. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
2
|
+
* cursedbelt — the `problem-detail` area's utility candidates. GENERATED BUILD ARTIFACT. Never hand-edit.
|
|
3
3
|
*
|
|
4
4
|
* the RFC-7807 problem renderer.
|
|
5
5
|
*
|
|
@@ -13,85 +13,16 @@
|
|
|
13
13
|
* @import "cursedbelt/styles-areas/problem-detail.css";
|
|
14
14
|
* @import "cursedbelt/theme.css";
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* These are CANDIDATES (`@source inline`), not CSS: the app's own Tailwind pass generates
|
|
17
|
+
* them, sorted together with the app's utilities, so an area can never put a base utility
|
|
18
|
+
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
|
+
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
|
+
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
+
* 13 candidate(s).
|
|
19
22
|
*
|
|
20
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
22
25
|
* import closures rather than a hand-written list, is scripts/styleAreas.ts.
|
|
23
26
|
*/
|
|
24
|
-
|
|
25
|
-
@
|
|
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
|
-
}
|
|
27
|
+
@source inline("-left-[calc(0.75rem+3px)] bg-card/50 bg-muted-foreground bg-muted/30 border-accent/30 border-l");
|
|
28
|
+
@source inline("break-words mb-1.5 mb-2 pl-3 select-text sm:grid-cols-2 top-1.5");
|