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