@dxos/ui-theme 0.8.4-main.fcc0d83b33 → 0.8.4-staging.60fe92afc8
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/browser/index.mjs +89 -862
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +89 -862
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/plugin/node-cjs/main.css +198 -97
- package/dist/plugin/node-cjs/main.css.map +3 -3
- package/dist/plugin/node-cjs/meta.json +1 -1
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs +82 -10
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs.map +3 -3
- package/dist/plugin/node-esm/main.css +198 -97
- package/dist/plugin/node-esm/main.css.map +3 -3
- package/dist/plugin/node-esm/meta.json +1 -1
- package/dist/plugin/node-esm/plugins/ThemePlugin.mjs +84 -12
- package/dist/plugin/node-esm/plugins/ThemePlugin.mjs.map +3 -3
- package/dist/types/src/Theme.stories.d.ts.map +1 -1
- package/dist/types/src/defs.d.ts +1 -1
- package/dist/types/src/defs.d.ts.map +1 -1
- package/dist/types/src/fragments/density.d.ts +2 -2
- package/dist/types/src/fragments/density.d.ts.map +1 -1
- package/dist/types/src/fragments/hover.d.ts +0 -1
- package/dist/types/src/fragments/hover.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugins/ThemePlugin.d.ts +2 -1
- package/dist/types/src/plugins/ThemePlugin.d.ts.map +1 -1
- package/dist/types/src/util/hash-styles.d.ts +12 -2
- package/dist/types/src/util/hash-styles.d.ts.map +1 -1
- package/dist/types/src/util/mx.d.ts +0 -56
- package/dist/types/src/util/mx.d.ts.map +1 -1
- package/dist/types/src/util/valence.d.ts +8 -2
- package/dist/types/src/util/valence.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/src/Theme.stories.tsx +94 -27
- package/src/css/DESIGN_SYSTEM.md +187 -0
- package/src/css/base/base.css +2 -2
- package/src/css/components/button.css +63 -13
- package/src/css/components/card.css +14 -0
- package/src/css/components/checkbox.css +3 -3
- package/src/css/components/focus.css +12 -12
- package/src/css/components/link.css +4 -1
- package/src/css/components/panel.css +23 -23
- package/src/css/components/state.css +99 -0
- package/src/css/components/state.md +101 -0
- package/src/css/components/surface.css +33 -11
- package/src/css/components/tag.css +24 -25
- package/src/css/integrations/codemirror.css +4 -3
- package/src/css/integrations/tldraw.css +1 -1
- package/src/css/layout/main.css +6 -0
- package/src/css/theme/palette.css +34 -0
- package/src/css/theme/semantic.css +101 -60
- package/src/css/theme/spacing.css +28 -11
- package/src/css/theme/styles.css +172 -119
- package/src/defs.ts +3 -1
- package/src/fragments/AUDIT.md +0 -2
- package/src/fragments/density.ts +34 -7
- package/src/fragments/hover.ts +0 -2
- package/src/index.ts +1 -1
- package/src/main.css +68 -9
- package/src/plugins/ThemePlugin.ts +102 -14
- package/src/plugins/main.css +10 -7
- package/src/util/hash-styles.ts +54 -42
- package/src/util/mx.ts +1 -126
- package/src/util/valence.ts +15 -5
- package/dist/types/src/theme/components/avatar.d.ts +0 -21
- package/dist/types/src/theme/components/avatar.d.ts.map +0 -1
- package/dist/types/src/theme/components/breadcrumb.d.ts +0 -9
- package/dist/types/src/theme/components/breadcrumb.d.ts.map +0 -1
- package/dist/types/src/theme/components/button.d.ts +0 -15
- package/dist/types/src/theme/components/button.d.ts.map +0 -1
- package/dist/types/src/theme/components/card.d.ts +0 -12
- package/dist/types/src/theme/components/card.d.ts.map +0 -1
- package/dist/types/src/theme/components/dialog.d.ts +0 -17
- package/dist/types/src/theme/components/dialog.d.ts.map +0 -1
- package/dist/types/src/theme/components/focus.d.ts +0 -6
- package/dist/types/src/theme/components/focus.d.ts.map +0 -1
- package/dist/types/src/theme/components/icon-button.d.ts +0 -9
- package/dist/types/src/theme/components/icon-button.d.ts.map +0 -1
- package/dist/types/src/theme/components/icon.d.ts +0 -10
- package/dist/types/src/theme/components/icon.d.ts.map +0 -1
- package/dist/types/src/theme/components/index.d.ts +0 -27
- package/dist/types/src/theme/components/index.d.ts.map +0 -1
- package/dist/types/src/theme/components/input.d.ts +0 -115
- package/dist/types/src/theme/components/input.d.ts.map +0 -1
- package/dist/types/src/theme/components/link.d.ts +0 -7
- package/dist/types/src/theme/components/link.d.ts.map +0 -1
- package/dist/types/src/theme/components/list.d.ts +0 -14
- package/dist/types/src/theme/components/list.d.ts.map +0 -1
- package/dist/types/src/theme/components/main.d.ts +0 -28
- package/dist/types/src/theme/components/main.d.ts.map +0 -1
- package/dist/types/src/theme/components/menu.d.ts +0 -13
- package/dist/types/src/theme/components/menu.d.ts.map +0 -1
- package/dist/types/src/theme/components/message.d.ts +0 -12
- package/dist/types/src/theme/components/message.d.ts.map +0 -1
- package/dist/types/src/theme/components/popover.d.ts +0 -11
- package/dist/types/src/theme/components/popover.d.ts.map +0 -1
- package/dist/types/src/theme/components/scroll-area.d.ts +0 -32
- package/dist/types/src/theme/components/scroll-area.d.ts.map +0 -1
- package/dist/types/src/theme/components/select.d.ts +0 -13
- package/dist/types/src/theme/components/select.d.ts.map +0 -1
- package/dist/types/src/theme/components/separator.d.ts +0 -8
- package/dist/types/src/theme/components/separator.d.ts.map +0 -1
- package/dist/types/src/theme/components/skeleton.d.ts +0 -7
- package/dist/types/src/theme/components/skeleton.d.ts.map +0 -1
- package/dist/types/src/theme/components/splitter.d.ts +0 -4
- package/dist/types/src/theme/components/splitter.d.ts.map +0 -1
- package/dist/types/src/theme/components/status.d.ts +0 -9
- package/dist/types/src/theme/components/status.d.ts.map +0 -1
- package/dist/types/src/theme/components/tag.d.ts +0 -7
- package/dist/types/src/theme/components/tag.d.ts.map +0 -1
- package/dist/types/src/theme/components/toast.d.ts +0 -12
- package/dist/types/src/theme/components/toast.d.ts.map +0 -1
- package/dist/types/src/theme/components/toolbar.d.ts +0 -11
- package/dist/types/src/theme/components/toolbar.d.ts.map +0 -1
- package/dist/types/src/theme/components/tooltip.d.ts +0 -8
- package/dist/types/src/theme/components/tooltip.d.ts.map +0 -1
- package/dist/types/src/theme/components/treegrid.d.ts +0 -10
- package/dist/types/src/theme/components/treegrid.d.ts.map +0 -1
- package/dist/types/src/theme/index.d.ts +0 -4
- package/dist/types/src/theme/index.d.ts.map +0 -1
- package/dist/types/src/theme/primitives/column.d.ts +0 -29
- package/dist/types/src/theme/primitives/column.d.ts.map +0 -1
- package/dist/types/src/theme/primitives/index.d.ts +0 -3
- package/dist/types/src/theme/primitives/index.d.ts.map +0 -1
- package/dist/types/src/theme/primitives/panel.d.ts +0 -13
- package/dist/types/src/theme/primitives/panel.d.ts.map +0 -1
- package/dist/types/src/theme/theme.d.ts +0 -5
- package/dist/types/src/theme/theme.d.ts.map +0 -1
- package/src/css/components/selected.css +0 -30
- package/src/theme/components/avatar.ts +0 -95
- package/src/theme/components/breadcrumb.ts +0 -29
- package/src/theme/components/button.ts +0 -48
- package/src/theme/components/card.ts +0 -102
- package/src/theme/components/dialog.ts +0 -61
- package/src/theme/components/focus.ts +0 -33
- package/src/theme/components/icon-button.ts +0 -21
- package/src/theme/components/icon.ts +0 -28
- package/src/theme/components/index.ts +0 -30
- package/src/theme/components/input.ts +0 -171
- package/src/theme/components/link.ts +0 -25
- package/src/theme/components/list.ts +0 -46
- package/src/theme/components/main.ts +0 -34
- package/src/theme/components/menu.ts +0 -50
- package/src/theme/components/message.ts +0 -40
- package/src/theme/components/popover.ts +0 -41
- package/src/theme/components/scroll-area.ts +0 -115
- package/src/theme/components/select.ts +0 -52
- package/src/theme/components/separator.ts +0 -24
- package/src/theme/components/skeleton.ts +0 -23
- package/src/theme/components/splitter.ts +0 -20
- package/src/theme/components/status.ts +0 -32
- package/src/theme/components/tag.ts +0 -23
- package/src/theme/components/toast.ts +0 -53
- package/src/theme/components/toolbar.ts +0 -35
- package/src/theme/components/tooltip.ts +0 -27
- package/src/theme/components/treegrid.ts +0 -37
- package/src/theme/index.ts +0 -7
- package/src/theme/primitives/column.ts +0 -71
- package/src/theme/primitives/index.ts +0 -6
- package/src/theme/primitives/panel.ts +0 -43
- package/src/theme/theme.ts +0 -87
|
@@ -37,7 +37,7 @@ var hueShades = [
|
|
|
37
37
|
var roles = [
|
|
38
38
|
"fill",
|
|
39
39
|
"surface",
|
|
40
|
-
"
|
|
40
|
+
"foreground",
|
|
41
41
|
"text",
|
|
42
42
|
"border"
|
|
43
43
|
];
|
|
@@ -48,19 +48,46 @@ var cardMinBlockSize = 18;
|
|
|
48
48
|
var cardMaxBlockSize = 30;
|
|
49
49
|
|
|
50
50
|
// src/fragments/density.ts
|
|
51
|
-
var
|
|
52
|
-
var
|
|
53
|
-
var
|
|
54
|
-
var
|
|
55
|
-
var
|
|
56
|
-
var
|
|
51
|
+
var lgBlockSize = "min-h-[2.5rem]";
|
|
52
|
+
var mdBlockSize = "min-h-[2.5rem] pointer-fine:min-h-[2rem]";
|
|
53
|
+
var smBlockSize = "min-h-[1.75rem]";
|
|
54
|
+
var xsBlockSize = "min-h-[1.5rem]";
|
|
55
|
+
var lgDimensions = `${lgBlockSize} px-3`;
|
|
56
|
+
var mdDimensions = `${mdBlockSize} px-2`;
|
|
57
|
+
var smDimensions = `${smBlockSize} px-1.5`;
|
|
58
|
+
var xsDimensions = `${xsBlockSize} px-1`;
|
|
59
|
+
var densityDimensions = (density = "md") => {
|
|
60
|
+
switch (density) {
|
|
61
|
+
case "lg":
|
|
62
|
+
return lgDimensions;
|
|
63
|
+
case "sm":
|
|
64
|
+
return smDimensions;
|
|
65
|
+
case "xs":
|
|
66
|
+
return xsDimensions;
|
|
67
|
+
case "md":
|
|
68
|
+
default:
|
|
69
|
+
return mdDimensions;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var densityBlockSize = (density = "md") => {
|
|
73
|
+
switch (density) {
|
|
74
|
+
case "lg":
|
|
75
|
+
return lgBlockSize;
|
|
76
|
+
case "sm":
|
|
77
|
+
return smBlockSize;
|
|
78
|
+
case "xs":
|
|
79
|
+
return xsBlockSize;
|
|
80
|
+
case "md":
|
|
81
|
+
default:
|
|
82
|
+
return mdBlockSize;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
57
85
|
|
|
58
86
|
// src/fragments/disabled.ts
|
|
59
87
|
var staticDisabled = "opacity-40 cursor-not-allowed shadow-none";
|
|
60
88
|
var dataDisabled = "data-[disabled]:opacity-40 data-[disabled]:cursor-not-allowed";
|
|
61
89
|
|
|
62
90
|
// src/fragments/hover.ts
|
|
63
|
-
var subtleHover = "hover:bg-hover-overlay";
|
|
64
91
|
var ghostHover = "hover:bg-hover-surface";
|
|
65
92
|
var ghostFocusWithin = "focus-within:bg-hover-surface";
|
|
66
93
|
var hoverableControls = "[--controls-opacity:1] hover-hover:[--controls-opacity:0] hover-hover:hover:[--controls-opacity:1]";
|
|
@@ -109,146 +136,146 @@ var surfaceZIndex = ({ level, elevation }) => {
|
|
|
109
136
|
// src/util/hash-styles.ts
|
|
110
137
|
var neutral = {
|
|
111
138
|
hue: "neutral",
|
|
112
|
-
|
|
139
|
+
bg: "bg-neutral-bg",
|
|
113
140
|
surface: "bg-neutral-surface",
|
|
114
|
-
|
|
141
|
+
fg: "text-neutral-fg",
|
|
115
142
|
text: "text-neutral-text",
|
|
116
143
|
border: "border-neutral-border"
|
|
117
144
|
};
|
|
118
145
|
var styles = [
|
|
119
146
|
{
|
|
120
147
|
hue: "red",
|
|
121
|
-
|
|
148
|
+
bg: "bg-red-bg",
|
|
122
149
|
surface: "bg-red-surface",
|
|
123
|
-
|
|
150
|
+
fg: "text-red-fg",
|
|
124
151
|
text: "text-red-text",
|
|
125
152
|
border: "border-red-border"
|
|
126
153
|
},
|
|
127
154
|
{
|
|
128
155
|
hue: "orange",
|
|
129
|
-
|
|
156
|
+
bg: "bg-orange-bg",
|
|
130
157
|
surface: "bg-orange-surface",
|
|
131
|
-
|
|
158
|
+
fg: "text-orange-fg",
|
|
132
159
|
text: "text-orange-text",
|
|
133
160
|
border: "border-orange-border"
|
|
134
161
|
},
|
|
135
162
|
{
|
|
136
163
|
hue: "amber",
|
|
137
|
-
|
|
164
|
+
bg: "bg-amber-bg",
|
|
138
165
|
surface: "bg-amber-surface",
|
|
139
|
-
|
|
166
|
+
fg: "text-amber-fg",
|
|
140
167
|
text: "text-amber-text",
|
|
141
168
|
border: "border-amber-border"
|
|
142
169
|
},
|
|
143
170
|
{
|
|
144
171
|
hue: "yellow",
|
|
145
|
-
|
|
172
|
+
bg: "bg-yellow-bg",
|
|
146
173
|
surface: "bg-yellow-surface",
|
|
147
|
-
|
|
174
|
+
fg: "text-yellow-fg",
|
|
148
175
|
text: "text-yellow-text",
|
|
149
176
|
border: "border-yellow-border"
|
|
150
177
|
},
|
|
151
178
|
{
|
|
152
179
|
hue: "lime",
|
|
153
|
-
|
|
180
|
+
bg: "bg-lime-bg",
|
|
154
181
|
surface: "bg-lime-surface",
|
|
155
|
-
|
|
182
|
+
fg: "text-lime-fg",
|
|
156
183
|
text: "text-lime-text",
|
|
157
184
|
border: "border-lime-border"
|
|
158
185
|
},
|
|
159
186
|
{
|
|
160
187
|
hue: "green",
|
|
161
|
-
|
|
188
|
+
bg: "bg-green-bg",
|
|
162
189
|
surface: "bg-green-surface",
|
|
163
|
-
|
|
190
|
+
fg: "text-green-fg",
|
|
164
191
|
text: "text-green-text",
|
|
165
192
|
border: "border-green-border"
|
|
166
193
|
},
|
|
167
194
|
{
|
|
168
195
|
hue: "emerald",
|
|
169
|
-
|
|
196
|
+
bg: "bg-emerald-bg",
|
|
170
197
|
surface: "bg-emerald-surface",
|
|
171
|
-
|
|
198
|
+
fg: "text-emerald-fg",
|
|
172
199
|
text: "text-emerald-text",
|
|
173
200
|
border: "border-emerald-border"
|
|
174
201
|
},
|
|
175
202
|
{
|
|
176
203
|
hue: "teal",
|
|
177
|
-
|
|
204
|
+
bg: "bg-teal-bg",
|
|
178
205
|
surface: "bg-teal-surface",
|
|
179
|
-
|
|
206
|
+
fg: "text-teal-fg",
|
|
180
207
|
text: "text-teal-text",
|
|
181
208
|
border: "border-teal-border"
|
|
182
209
|
},
|
|
183
210
|
{
|
|
184
211
|
hue: "cyan",
|
|
185
|
-
|
|
212
|
+
bg: "bg-cyan-bg",
|
|
186
213
|
surface: "bg-cyan-surface",
|
|
187
|
-
|
|
214
|
+
fg: "text-cyan-fg",
|
|
188
215
|
text: "text-cyan-text",
|
|
189
216
|
border: "border-cyan-border"
|
|
190
217
|
},
|
|
191
218
|
{
|
|
192
219
|
hue: "sky",
|
|
193
|
-
|
|
220
|
+
bg: "bg-sky-bg",
|
|
194
221
|
surface: "bg-sky-surface",
|
|
195
|
-
|
|
222
|
+
fg: "text-sky-fg",
|
|
196
223
|
text: "text-sky-text",
|
|
197
224
|
border: "border-sky-border"
|
|
198
225
|
},
|
|
199
226
|
{
|
|
200
227
|
hue: "blue",
|
|
201
|
-
|
|
228
|
+
bg: "bg-blue-bg",
|
|
202
229
|
surface: "bg-blue-surface",
|
|
203
|
-
|
|
230
|
+
fg: "text-blue-fg",
|
|
204
231
|
text: "text-blue-text",
|
|
205
232
|
border: "border-blue-border"
|
|
206
233
|
},
|
|
207
234
|
{
|
|
208
235
|
hue: "indigo",
|
|
209
|
-
|
|
236
|
+
bg: "bg-indigo-bg",
|
|
210
237
|
surface: "bg-indigo-surface",
|
|
211
|
-
|
|
238
|
+
fg: "text-indigo-fg",
|
|
212
239
|
text: "text-indigo-text",
|
|
213
240
|
border: "border-indigo-border"
|
|
214
241
|
},
|
|
215
242
|
{
|
|
216
243
|
hue: "violet",
|
|
217
|
-
|
|
244
|
+
bg: "bg-violet-bg",
|
|
218
245
|
surface: "bg-violet-surface",
|
|
219
|
-
|
|
246
|
+
fg: "text-violet-fg",
|
|
220
247
|
text: "text-violet-text",
|
|
221
248
|
border: "border-violet-border"
|
|
222
249
|
},
|
|
223
250
|
{
|
|
224
251
|
hue: "purple",
|
|
225
|
-
|
|
252
|
+
bg: "bg-purple-bg",
|
|
226
253
|
surface: "bg-purple-surface",
|
|
227
|
-
|
|
254
|
+
fg: "text-purple-fg",
|
|
228
255
|
text: "text-purple-text",
|
|
229
256
|
border: "border-purple-border"
|
|
230
257
|
},
|
|
231
258
|
{
|
|
232
259
|
hue: "fuchsia",
|
|
233
|
-
|
|
260
|
+
bg: "bg-fuchsia-bg",
|
|
234
261
|
surface: "bg-fuchsia-surface",
|
|
235
|
-
|
|
262
|
+
fg: "text-fuchsia-fg",
|
|
236
263
|
text: "text-fuchsia-text",
|
|
237
264
|
border: "border-fuchsia-border"
|
|
238
265
|
},
|
|
239
266
|
{
|
|
240
267
|
hue: "pink",
|
|
241
|
-
|
|
268
|
+
bg: "bg-pink-bg",
|
|
242
269
|
surface: "bg-pink-surface",
|
|
243
|
-
|
|
270
|
+
fg: "text-pink-fg",
|
|
244
271
|
text: "text-pink-text",
|
|
245
272
|
border: "border-pink-border"
|
|
246
273
|
},
|
|
247
274
|
{
|
|
248
275
|
hue: "rose",
|
|
249
|
-
|
|
276
|
+
bg: "bg-rose-bg",
|
|
250
277
|
surface: "bg-rose-surface",
|
|
251
|
-
|
|
278
|
+
fg: "text-rose-fg",
|
|
252
279
|
text: "text-rose-text",
|
|
253
280
|
border: "border-rose-border"
|
|
254
281
|
}
|
|
@@ -257,6 +284,11 @@ var palette = {
|
|
|
257
284
|
neutral,
|
|
258
285
|
hues: styles
|
|
259
286
|
};
|
|
287
|
+
var validHues = /* @__PURE__ */ new Set([
|
|
288
|
+
neutral.hue,
|
|
289
|
+
...styles.map((s) => s.hue)
|
|
290
|
+
]);
|
|
291
|
+
var toHue = (hue) => hue && validHues.has(hue) ? hue : "neutral";
|
|
260
292
|
var getStyles = (hue) => {
|
|
261
293
|
return styles.find((color) => color.hue === hue) || neutral;
|
|
262
294
|
};
|
|
@@ -269,10 +301,7 @@ var getHashHue = (id) => {
|
|
|
269
301
|
var getHash = (id) => id.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
270
302
|
|
|
271
303
|
// src/util/mx.ts
|
|
272
|
-
import { Children, createElement, forwardRef, isValidElement } from "react";
|
|
273
304
|
import { extendTailwindMerge, validators } from "tailwind-merge";
|
|
274
|
-
import { log } from "@dxos/log";
|
|
275
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/ui/ui-theme/src/util/mx.ts";
|
|
276
305
|
var mx = extendTailwindMerge({
|
|
277
306
|
extend: {
|
|
278
307
|
classGroups: {
|
|
@@ -295,8 +324,9 @@ var mx = extendTailwindMerge({
|
|
|
295
324
|
validators.isArbitraryNumber
|
|
296
325
|
],
|
|
297
326
|
density: [
|
|
298
|
-
"dx-density-
|
|
299
|
-
"dx-density-
|
|
327
|
+
"dx-density-sm",
|
|
328
|
+
"dx-density-md",
|
|
329
|
+
"dx-density-lg"
|
|
300
330
|
],
|
|
301
331
|
"dx-focus-ring": [
|
|
302
332
|
"dx-focus-ring",
|
|
@@ -317,55 +347,6 @@ var mx = extendTailwindMerge({
|
|
|
317
347
|
}
|
|
318
348
|
}
|
|
319
349
|
});
|
|
320
|
-
var composableProps = ({ className, classNames, role, style, ...props }, { classNames: defaultClassNames, ...defaults } = {}) => ({
|
|
321
|
-
// Default props.
|
|
322
|
-
...defaults,
|
|
323
|
-
// Spread supplied props.
|
|
324
|
-
...props,
|
|
325
|
-
// Prefer explicit role, then defaults role, then 'none'.
|
|
326
|
-
role: role ?? defaults.role ?? "none",
|
|
327
|
-
// Merge styles.
|
|
328
|
-
style: {
|
|
329
|
-
...defaults.style,
|
|
330
|
-
...style
|
|
331
|
-
},
|
|
332
|
-
// Compose classnames.
|
|
333
|
-
className: mx(defaultClassNames, className, classNames)
|
|
334
|
-
});
|
|
335
|
-
var COMPOSABLE = /* @__PURE__ */ Symbol.for("dxos.composable");
|
|
336
|
-
function slottable(render) {
|
|
337
|
-
const wrapped = (props, forwardedRef) => {
|
|
338
|
-
let warn = false;
|
|
339
|
-
if (props.asChild) {
|
|
340
|
-
try {
|
|
341
|
-
const child = Children.only(props.children);
|
|
342
|
-
if (isValidElement(child) && typeof child.type !== "string" && !child.type[COMPOSABLE]) {
|
|
343
|
-
warn = true;
|
|
344
|
-
log.warn("slot child is not composable; create it with composable() or slottable()", {
|
|
345
|
-
child: child.type.displayName ?? child.type.name
|
|
346
|
-
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 100, S: this });
|
|
347
|
-
}
|
|
348
|
-
} catch {
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
const result = render(props, forwardedRef);
|
|
352
|
-
if (warn) {
|
|
353
|
-
return createElement("div", {
|
|
354
|
-
role: "none",
|
|
355
|
-
className: "dx-slot-warning"
|
|
356
|
-
}, result);
|
|
357
|
-
}
|
|
358
|
-
return result;
|
|
359
|
-
};
|
|
360
|
-
const component = forwardRef(wrapped);
|
|
361
|
-
component[COMPOSABLE] = true;
|
|
362
|
-
return component;
|
|
363
|
-
}
|
|
364
|
-
function composable(render) {
|
|
365
|
-
const component = forwardRef(render);
|
|
366
|
-
component[COMPOSABLE] = true;
|
|
367
|
-
return component;
|
|
368
|
-
}
|
|
369
350
|
|
|
370
351
|
// src/util/size.ts
|
|
371
352
|
var sizeMap = {
|
|
@@ -556,710 +537,42 @@ var textValence = (valence) => {
|
|
|
556
537
|
return "font-medium text-warning-text";
|
|
557
538
|
case "error":
|
|
558
539
|
return "font-medium text-error-text";
|
|
540
|
+
default:
|
|
541
|
+
return "font-medium";
|
|
559
542
|
}
|
|
560
543
|
};
|
|
561
544
|
var messageValence = (valence) => {
|
|
562
545
|
switch (valence) {
|
|
563
546
|
case "success":
|
|
564
|
-
return "font-medium
|
|
547
|
+
return "font-medium border-success-text text-success-fg bg-success-surface";
|
|
565
548
|
case "info":
|
|
566
|
-
return "font-medium
|
|
549
|
+
return "font-medium border-info-text text-info-fg bg-info-surface";
|
|
567
550
|
case "warning":
|
|
568
|
-
return "font-medium
|
|
551
|
+
return "font-medium border-warning-text text-warning-fg bg-warning-surface";
|
|
569
552
|
case "error":
|
|
570
|
-
return "font-medium
|
|
553
|
+
return "font-medium border-error-text text-error-fg bg-error-surface";
|
|
571
554
|
default:
|
|
572
|
-
return "font-medium
|
|
573
|
-
}
|
|
574
|
-
};
|
|
575
|
-
|
|
576
|
-
// src/theme/components/avatar.ts
|
|
577
|
-
var avatarRoot = ({ size = 10, inGroup }, ...etc) => mx("relative inline-flex shrink-0", getSize(size), inGroup && (size === "px" || size <= 3 ? "-mr-1" : "-mr-2"), ...etc);
|
|
578
|
-
var avatarLabel = ({ srOnly }, ...etc) => mx(srOnly && "sr-only", ...etc);
|
|
579
|
-
var avatarDescription = ({ srOnly }, ...etc) => mx("text-description", srOnly && "sr-only", ...etc);
|
|
580
|
-
var avatarFrame = ({ variant }, ...etc) => mx("h-full w-full bg-(--surface-bg)", variant === "circle" ? "rounded-full" : "rounded-sm", ...etc);
|
|
581
|
-
var avatarStatusIcon = ({ status, size = 3 }, ...etc) => mx("absolute bottom-0 end-0", getSize(size), status === "inactive" ? "text-amber-400 dark:text-amber-300" : status === "active" ? "text-emerald-400 dark:text-emerald-300" : "text-neutral-400 dark:text-neutral-300", ...etc);
|
|
582
|
-
var avatarRing = ({ status, variant, animation }, ...etc) => mx("absolute inset-0 border-2", variant === "circle" ? "rounded-full" : "rounded-sm", status === "current" ? "border-primary-400 dark:border-primary-500" : status === "active" ? "border-emerald-400 dark:border-emerald-400" : status === "error" ? "border-rose-400 dark:border-rose-500" : status === "warning" ? "border-amber-400 dark:border-amber-500" : status === "inactive" ? "border-separator" : status === "internal" ? "border-fuchsia-600" : "border-[color:var(--surface-bg)]", animation === "pulse" ? "animate-halo-pulse" : "", ...etc);
|
|
583
|
-
var avatarFallbackText = (_props, ...etc) => mx("fill-white", ...etc);
|
|
584
|
-
var avatarGroup = (_props, ...etc) => mx("inline-flex items-center", ...etc);
|
|
585
|
-
var avatarGroupLabel = ({ size, srOnly }, ...etc) => mx(srOnly ? "sr-only" : "rounded-full truncate text-sm leading-none py-1 px-2 relative z-[1] flex items-center justify-center", size && getHeight(size), ...etc);
|
|
586
|
-
var avatarGroupDescription = ({ srOnly }, ...etc) => mx(srOnly ? "sr-only" : "text-description", ...etc);
|
|
587
|
-
var avatarTheme = {
|
|
588
|
-
root: avatarRoot,
|
|
589
|
-
label: avatarLabel,
|
|
590
|
-
description: avatarDescription,
|
|
591
|
-
statusIcon: avatarStatusIcon,
|
|
592
|
-
frame: avatarFrame,
|
|
593
|
-
ring: avatarRing,
|
|
594
|
-
fallbackText: avatarFallbackText,
|
|
595
|
-
group: avatarGroup,
|
|
596
|
-
groupLabel: avatarGroupLabel,
|
|
597
|
-
groupDescription: avatarGroupDescription
|
|
598
|
-
};
|
|
599
|
-
|
|
600
|
-
// src/theme/components/breadcrumb.ts
|
|
601
|
-
var breadcrumbRoot = (_props, ...etc) => mx("shrink-0 flex items-center", ...etc);
|
|
602
|
-
var breadcrumbList = (_props, ...etc) => mx("contents", ...etc);
|
|
603
|
-
var breadcrumbListItem = (_props, ...etc) => mx("contents", ...etc);
|
|
604
|
-
var breadcrumbCurrent = (_props, ...etc) => mx(...etc);
|
|
605
|
-
var breadcrumbSeparator = (_props, ...etc) => mx("opacity-50", ...etc);
|
|
606
|
-
var breadcrumbTheme = {
|
|
607
|
-
root: breadcrumbRoot,
|
|
608
|
-
list: breadcrumbList,
|
|
609
|
-
listItem: breadcrumbListItem,
|
|
610
|
-
current: breadcrumbCurrent,
|
|
611
|
-
separator: breadcrumbSeparator
|
|
612
|
-
};
|
|
613
|
-
|
|
614
|
-
// src/theme/components/card.ts
|
|
615
|
-
var cardRoot = ({ border, fullWidth }, ...etc) => mx("dx-card dx-card-min-width dx-card-max-width min-h-(--dx-rail-item) group/card relative overflow-hidden", border && "bg-card-surface border border-separator dark:border-subdued-separator rounded-xs dx-focus-ring-group-y-indicator", fullWidth && "max-w-none!", ...etc);
|
|
616
|
-
var cardToolbar = (_, ...etc) => mx("dx-card__toolbar dx-density-fine bg-transparent p-0! gap-0! col-span-3 grid! grid-cols-subgrid! [contain:none]", ...etc);
|
|
617
|
-
var cardTitle = (_props, ...etc) => mx("dx-card__title grow truncate", ...etc);
|
|
618
|
-
var cardContent = (_props, ...etc) => mx("dx-card__content contents pb-1 last:pb-0", ...etc);
|
|
619
|
-
var cardHeading = ({ variant = "default" }, ...etc) => mx("dx-card__heading", variant === "default" && "py-1", variant === "subtitle" && "py-2 text-xs text-description font-medium uppercase", ...etc);
|
|
620
|
-
var cardText = ({ variant = "default", truncate: _truncate }, ...etc) => mx("dx-card__text items-center overflow-hidden", variant === "default" && "py-1", variant === "description" && "py-1.5 text-description", ...etc);
|
|
621
|
-
var cardTextSpan = ({ variant = "default", truncate }, ...etc) => mx(variant === "description" && "text-sm text-description line-clamp-3", truncate && "truncate", ...etc);
|
|
622
|
-
var cardPoster = (_props, ...etc) => mx("dx-card__poster col-span-3 max-h-[200px]", ...etc);
|
|
623
|
-
var cardPosterIcon = (_props, ...etc) => mx("dx-card__poster-icon col-span-3 grid place-items-center bg-input-surface text-subdued max-h-[200px]", ...etc);
|
|
624
|
-
var cardAction = (_props, ...etc) => mx("dx-card__acztion col-span-3 !grid grid-cols-subgrid p-0! w-full text-start overflow-hidden", ...etc);
|
|
625
|
-
var cardActionLabel = (_props, ...etc) => mx("dx-card__action-label min-w-0 flex-1 truncate", ...etc);
|
|
626
|
-
var cardLink = (_props, ...etc) => mx("dx-card__link col-span-3 !grid grid-cols-subgrid group p-0! dx-button dx-focus-ring min-h-1!", ...etc);
|
|
627
|
-
var cardLinkLabel = (_props, ...etc) => mx("dx-card__link-label min-w-0 flex-1 truncate", ...etc);
|
|
628
|
-
var cardRow = (_, ...etc) => mx("dx-card__row col-span-3 grid grid-cols-subgrid", ...etc);
|
|
629
|
-
var cardIconBlock = ({ padding }, ...etc) => mx("dx-card__icon-block grid h-[var(--dx-rail-item)] w-[var(--dx-rail-item)] place-items-center", padding && "[&>*]:p-1", ...etc);
|
|
630
|
-
var cardTheme = {
|
|
631
|
-
root: cardRoot,
|
|
632
|
-
toolbar: cardToolbar,
|
|
633
|
-
title: cardTitle,
|
|
634
|
-
content: cardContent,
|
|
635
|
-
row: cardRow,
|
|
636
|
-
heading: cardHeading,
|
|
637
|
-
text: cardText,
|
|
638
|
-
"text-span": cardTextSpan,
|
|
639
|
-
poster: cardPoster,
|
|
640
|
-
"poster-icon": cardPosterIcon,
|
|
641
|
-
action: cardAction,
|
|
642
|
-
"action-label": cardActionLabel,
|
|
643
|
-
link: cardLink,
|
|
644
|
-
"link-label": cardLinkLabel,
|
|
645
|
-
"icon-block": cardIconBlock
|
|
646
|
-
};
|
|
647
|
-
|
|
648
|
-
// src/theme/components/button.ts
|
|
649
|
-
var primaryButtonColors = "text-accent-surface-text bg-accent-surface hover:bg-accent-surface-hover aria-pressed:bg-primary-500 dark:aria-pressed:bg-primary-500 data-[state=open]:bg-primary-500 dark:data-[state=open]:bg-primary-500 aria-checked:bg-primary-500 dark:aria-checked:bg-primary-500 aria-checked:text-primary-100";
|
|
650
|
-
var staticDefaultButtonColors = "bg-input-surface text-input-surface-text";
|
|
651
|
-
var defaultButtonColors = mx(staticDefaultButtonColors, "data-[state=open]:bg-input-surface aria-pressed:text-accent-text aria-pressed:bg-base-surface aria-checked:text-accent-text aria-checked:bg-base-surface");
|
|
652
|
-
var ghostButtonColors = mx(ghostHover, "hover:text-inherit data-[state=open]:bg-input-surface aria-pressed:text-accent-text aria-pressed:bg-base-surface aria-checked:text-accent-text aria-checked:bg-base-surface");
|
|
653
|
-
var buttonRoot = (_props, ...etc) => {
|
|
654
|
-
return mx("dx-button dx-focus-ring group [&_span]:truncate", ...etc);
|
|
655
|
-
};
|
|
656
|
-
var buttonGroup = (_props, ...etc) => {
|
|
657
|
-
return mx("inline-flex rounded-xs [&>:first-child]:rounded-w-sm [&>:last-child]:rounded-ie-sm [&>button]:relative", ...etc);
|
|
658
|
-
};
|
|
659
|
-
var buttonTheme = {
|
|
660
|
-
root: buttonRoot,
|
|
661
|
-
group: buttonGroup
|
|
662
|
-
};
|
|
663
|
-
|
|
664
|
-
// src/theme/primitives/column.ts
|
|
665
|
-
var withColumn = {
|
|
666
|
-
/** Centers element in the Column grid via --dx-col. No-op outside Column or inside ScrollArea. */
|
|
667
|
-
center: () => "[grid-column:var(--dx-col,auto)]",
|
|
668
|
-
/** Propagates the Column grid to children via subgrid. No-op outside Column.
|
|
669
|
-
* Direct children default to center column unless they are a dx-container (ScrollArea). */
|
|
670
|
-
propagate: () => "[.dx-column-root_&]:col-span-full [.dx-column-root_&]:grid [.dx-column-root_&]:grid-cols-subgrid [.dx-column-root_&]:[&>*:not(.dx-container)]:[grid-column:var(--dx-col,auto)]",
|
|
671
|
-
/** Resets --dx-col after consuming --gutter. Applied by ScrollArea.Viewport. */
|
|
672
|
-
consumed: () => "[--dx-col:auto]"
|
|
673
|
-
};
|
|
674
|
-
var columnRoot = (_, ...etc) => {
|
|
675
|
-
return mx("dx-column-root grid", ...etc);
|
|
676
|
-
};
|
|
677
|
-
var columnRow = (_, ...etc) => {
|
|
678
|
-
return mx("col-span-3 grid grid-cols-subgrid", ...etc);
|
|
679
|
-
};
|
|
680
|
-
var columnBleed = (_, ...etc) => {
|
|
681
|
-
return mx("col-span-full grid grid-cols-subgrid min-h-0", ...etc);
|
|
682
|
-
};
|
|
683
|
-
var columnCenter = (_, ...etc) => {
|
|
684
|
-
return mx(withColumn.center(), "min-h-0", ...etc);
|
|
685
|
-
};
|
|
686
|
-
var columnTheme = {
|
|
687
|
-
root: columnRoot,
|
|
688
|
-
row: columnRow,
|
|
689
|
-
bleed: columnBleed,
|
|
690
|
-
center: columnCenter
|
|
691
|
-
};
|
|
692
|
-
|
|
693
|
-
// src/theme/components/dialog.ts
|
|
694
|
-
var sizeMap2 = {
|
|
695
|
-
sm: "md:max-w-[24rem]",
|
|
696
|
-
md: "md:max-w-[32rem]!",
|
|
697
|
-
lg: "md:max-w-[40rem]!",
|
|
698
|
-
xl: "md:max-w-[60rem]!"
|
|
699
|
-
};
|
|
700
|
-
var dialogOverlay = (_props, ...etc) => mx("dx-dialog__overlay", ...etc);
|
|
701
|
-
var dialogContent = ({ inOverlayLayout, size = "md" }, ...etc) => {
|
|
702
|
-
return mx("@container", "dx-dialog__content dx-focus-ring dx-modal-surface dx-density-coarse py-4", !inOverlayLayout && "fixed z-50 top-[50%] left-[50%] -translate-x-[50%] -translate-y-[50%]", sizeMap2[size], ...etc);
|
|
703
|
-
};
|
|
704
|
-
var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", withColumn.center(), ...etc);
|
|
705
|
-
var dialogBody = (_props, ...etc) => mx("dx-dialog__body dx-expander", withColumn.propagate(), ...etc);
|
|
706
|
-
var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", withColumn.center(), ...etc);
|
|
707
|
-
var dialogTitle = ({ srOnly }, ...etc) => mx("dx-dialog__title", srOnly && "sr-only", ...etc);
|
|
708
|
-
var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", "text-description", srOnly && "sr-only", ...etc);
|
|
709
|
-
var dialogTheme = {
|
|
710
|
-
overlay: dialogOverlay,
|
|
711
|
-
content: dialogContent,
|
|
712
|
-
header: dialogHeader,
|
|
713
|
-
body: dialogBody,
|
|
714
|
-
actionbar: dialogActionBar,
|
|
715
|
-
title: dialogTitle,
|
|
716
|
-
description: dialogDescription
|
|
717
|
-
};
|
|
718
|
-
|
|
719
|
-
// src/theme/components/focus.ts
|
|
720
|
-
var focusRing = ({ border }, ...etc) => mx("dx-ring-pseudo outline-hidden", "focus:after:ring-neutral-focus-indicator", "data-[focus-state=active]:after:ring-neutral-focus-indicator", "data-[focus-state=error]:after:ring-rose-500", border && "border border-separator", ...etc);
|
|
721
|
-
var focusTheme = {
|
|
722
|
-
group: focusRing,
|
|
723
|
-
item: focusRing
|
|
724
|
-
};
|
|
725
|
-
|
|
726
|
-
// src/theme/components/icon.ts
|
|
727
|
-
var iconRoot = ({ size }, etc) => {
|
|
728
|
-
return mx("shrink-0 text-[var(--icons-color,currentColor)]", size ? getSize(size) : "[width:var(--icon-size,var(--dx-default-icons-size))] [height:var(--icon-size,var(--dx-default-icons-size))]", etc);
|
|
729
|
-
};
|
|
730
|
-
var iconTheme = {
|
|
731
|
-
root: iconRoot
|
|
732
|
-
};
|
|
733
|
-
|
|
734
|
-
// src/theme/components/icon-button.ts
|
|
735
|
-
var iconButtonRoot = ({ iconOnly, square }, ...etc) => {
|
|
736
|
-
return mx("px-1.5", !iconOnly && "gap-2", square && "aspect-square", ...etc);
|
|
737
|
-
};
|
|
738
|
-
var iconButtonTheme = {
|
|
739
|
-
root: iconButtonRoot
|
|
740
|
-
};
|
|
741
|
-
|
|
742
|
-
// src/theme/components/input.ts
|
|
743
|
-
var inputTextLabel = "py-1 text-sm text-description";
|
|
744
|
-
var textInputSurfaceFocus = "transition-colors bg-input-surface focus:bg-focus-surface border border-separator focus:border-separator";
|
|
745
|
-
var textInputSurfaceHover = "hover:bg-focus-surface";
|
|
746
|
-
var booleanInputSurface = "shadow-inner transition-colors bg-un-accent aria-checked:bg-accent-surface aria-[checked=mixed]:bg-accent-surface";
|
|
747
|
-
var booleanInputSurfaceHover = "hover:bg-un-accent-hover hover:aria-checked:bg-accent-surface-hover hover:aria-[checked=mixed]:bg-accent-surface-hover";
|
|
748
|
-
var inputValence = (valence) => {
|
|
749
|
-
switch (valence) {
|
|
750
|
-
case "success":
|
|
751
|
-
return "shadow-emerald-500/50 dark:shadow-emerald-600/50";
|
|
752
|
-
case "info":
|
|
753
|
-
return "shadow-cyan-500/50 dark:shadow-cyan-600/50";
|
|
754
|
-
case "warning":
|
|
755
|
-
return "shadow-amber-500/50 dark:shadow-amber-600/50";
|
|
756
|
-
case "error":
|
|
757
|
-
return "shadow-rose-500/50 dark:shadow-rose-600/50";
|
|
758
|
-
}
|
|
759
|
-
};
|
|
760
|
-
var sharedSubduedInputStyles = (props) => [
|
|
761
|
-
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
762
|
-
"py-0 w-full bg-transparent text-current placeholder-placeholder",
|
|
763
|
-
"dx-focus-subdued",
|
|
764
|
-
densityDimensions(props.density),
|
|
765
|
-
props.disabled && staticDisabled
|
|
766
|
-
];
|
|
767
|
-
var sharedDefaultInputStyles = (props) => [
|
|
768
|
-
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
769
|
-
"py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
|
|
770
|
-
textInputSurfaceFocus,
|
|
771
|
-
densityDimensions(props.density),
|
|
772
|
-
props.disabled ? staticDisabled : textInputSurfaceHover
|
|
773
|
-
];
|
|
774
|
-
var sharedStaticInputStyles = (props) => [
|
|
775
|
-
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
776
|
-
"py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
|
|
777
|
-
textInputSurfaceFocus,
|
|
778
|
-
textInputSurfaceHover,
|
|
779
|
-
props.focused && "bg-attention-surface",
|
|
780
|
-
inputValence(props.validationValence),
|
|
781
|
-
props.disabled && staticDisabled,
|
|
782
|
-
props.focused && "dx-focus-static"
|
|
783
|
-
];
|
|
784
|
-
var inputInput = (props, ...etc) => props.variant === "subdued" ? mx(...sharedSubduedInputStyles(props), ...etc) : props.variant === "static" ? mx(...sharedStaticInputStyles(props), ...etc) : mx(...sharedDefaultInputStyles(props), !props.disabled && "dx-focus-ring", inputValence(props.validationValence), ...etc);
|
|
785
|
-
var inputTextArea = (props, ...etc) => inputInput(props, ...etc);
|
|
786
|
-
var inputCheckbox = ({ size = 5 }, ...etc) => mx("dx-checkbox dx-focus-ring", getSize(size), ...etc);
|
|
787
|
-
var inputCheckboxIndicator = ({ size = 5, checked }, ...etc) => mx(getSize(snapSize(sizeValue(size) * 0.65, 4)), !checked && "invisible", ...etc);
|
|
788
|
-
var inputSwitch = ({ size = 5, disabled }, ...etc) => mx(
|
|
789
|
-
getHeight(size),
|
|
790
|
-
getWidth(snapSize(sizeValue(size) * 1.75, 9)),
|
|
791
|
-
booleanInputSurface,
|
|
792
|
-
!disabled && booleanInputSurfaceHover,
|
|
793
|
-
// TODO(burdon): Added m-1 margin to make 40px width to align with 40px icon button.
|
|
794
|
-
"cursor-pointer shrink-0 rounded-full px-1 mx-1 relative",
|
|
795
|
-
"dx-focus-ring",
|
|
796
|
-
...etc
|
|
797
|
-
);
|
|
798
|
-
var inputSwitchThumb = ({ size = 5 }, ...etc) => mx(getSize(size === "px" ? "px" : size - 2), "block bg-white rounded-full transition-transform duration-100 will-change-transform data-[state=checked]:translate-x-[100%]", ...etc);
|
|
799
|
-
var inputWithSegmentsInput = (props, ...etc) => mx("font-mono selection:bg-transparent mx-auto", props.density === "fine" ? "text-base pointer-fine:text-sm" : "text-lg", props.disabled && "cursor-not-allowed", ...etc);
|
|
800
|
-
var inputSegment = (props, ...etc) => mx("flex items-center justify-center font-mono", props.density === "fine" ? "size-10 pointer-fine:size-8 rounded-xs" : "size-12 rounded-xs", "bg-input-surface text-base-surface-text transition-colors border border-separator", "data-[focused]:bg-attention-surface data-[focused]:border-neutral-focus-indicator", "data-[focused]:ring-2 data-[focused]:ring-offset-0 data-[focused]:ring-neutral-focus-indicator", inputValence(props.validationValence), props.disabled && staticDisabled, ...etc);
|
|
801
|
-
var inputLabel = (props, ...etc) => mx("block", inputTextLabel, props.srOnly && "sr-only", ...etc);
|
|
802
|
-
var inputDescription = (props, ...etc) => mx("text-description", props.srOnly && "sr-only", ...etc);
|
|
803
|
-
var inputDescriptionAndValidation = (props, ...etc) => mx("leading-none my-1.5", props.srOnly && "sr-only", ...etc);
|
|
804
|
-
var inputValidation = (props, ...etc) => mx(inputTextLabel, props.srOnly ? "sr-only" : textValence(props.validationValence), ...etc);
|
|
805
|
-
var inputTheme = {
|
|
806
|
-
input: inputInput,
|
|
807
|
-
textArea: inputTextArea,
|
|
808
|
-
inputWithSegments: inputWithSegmentsInput,
|
|
809
|
-
segment: inputSegment,
|
|
810
|
-
checkbox: inputCheckbox,
|
|
811
|
-
checkboxIndicator: inputCheckboxIndicator,
|
|
812
|
-
label: inputLabel,
|
|
813
|
-
description: inputDescription,
|
|
814
|
-
switch: inputSwitch,
|
|
815
|
-
switchThumb: inputSwitchThumb,
|
|
816
|
-
validation: inputValidation,
|
|
817
|
-
descriptionAndValidation: inputDescriptionAndValidation
|
|
818
|
-
};
|
|
819
|
-
|
|
820
|
-
// src/theme/components/link.ts
|
|
821
|
-
var linkRoot = ({ variant }, ...etc) => mx("underline decoration-1 underline-offset-2 transition-color rounded-xs", variant === "neutral" ? "text-inherit hover:opacity-90 visited:text-inherit visited:hover:opacity-90" : "text-accent-text hover:text-accent-text-hover visited:text-accent-text visited:hover:text-accent-text-hover", "dx-focus-ring", ...etc);
|
|
822
|
-
var linkTheme = {
|
|
823
|
-
root: linkRoot
|
|
824
|
-
};
|
|
825
|
-
|
|
826
|
-
// src/theme/components/list.ts
|
|
827
|
-
var listRoot = (_, ...etc) => mx(...etc);
|
|
828
|
-
var listItem = ({ collapsible }, ...etc) => mx(!collapsible && "flex", ...etc);
|
|
829
|
-
var listItemEndcap = ({ density }, ...etc) => mx(density === "fine" ? getSize(8) : getSize(10), "shrink-0 flex items-center justify-center", ...etc);
|
|
830
|
-
var listItemHeading = ({ density }, ...etc) => mx(densityBlockSize(density), "flex items-center overflow-hidden [&>span]:truncate", ...etc);
|
|
831
|
-
var listItemDragHandleIcon = (_props, ...etc) => mx(getSize(5), "mt-2.5", ...etc);
|
|
832
|
-
var listItemOpenTrigger = ({ density }, ...etc) => mx("w-5 rounded-sm flex justify-center items-center", densityBlockSize(density), ghostHover, "dx-focus-ring", ...etc);
|
|
833
|
-
var listItemOpenTriggerIcon = (_props, ...etc) => {
|
|
834
|
-
return mx(getSize(5), ...etc);
|
|
835
|
-
};
|
|
836
|
-
var listTheme = {
|
|
837
|
-
root: listRoot,
|
|
838
|
-
item: {
|
|
839
|
-
root: listItem,
|
|
840
|
-
endcap: listItemEndcap,
|
|
841
|
-
heading: listItemHeading,
|
|
842
|
-
dragHandleIcon: listItemDragHandleIcon,
|
|
843
|
-
openTrigger: listItemOpenTrigger,
|
|
844
|
-
openTriggerIcon: listItemOpenTriggerIcon
|
|
555
|
+
return "font-medium border-neutral-text text-neutral-fg bg-neutral-surface";
|
|
845
556
|
}
|
|
846
557
|
};
|
|
847
|
-
|
|
848
|
-
// src/theme/components/main.ts
|
|
849
|
-
var topbarBlockPaddingStart = "py-(--dx-topbar-size) dx-sticky-top-from-topbar-bottom";
|
|
850
|
-
var bottombarBlockPaddingEnd = "pb-(--dx-statusbar-size) dx-sticky-bottom-from-statusbar-bottom";
|
|
851
|
-
var mainPadding = "dx-main-content-padding";
|
|
852
|
-
var mainPaddingTransitions = "dx-main-content-padding-transitions";
|
|
853
|
-
var mainIntrinsicSize = "dx-main-intrinsic-size";
|
|
854
|
-
var mainContent = ({ bounce }, ...etc) => mx(mainPadding, mainPaddingTransitions, bounce && "dx-main-bounce-layout", "dx-focus-ring-main", ...etc);
|
|
855
|
-
var mainSidebar = (_, ...etc) => mx("dx-main-sidebar", "dx-focus-ring-inset-over-all", ...etc);
|
|
856
|
-
var mainOverlay = (_, ...etc) => mx("dx-main-overlay", ...etc);
|
|
857
|
-
var mainTheme = {
|
|
858
|
-
content: mainContent,
|
|
859
|
-
sidebar: mainSidebar,
|
|
860
|
-
overlay: mainOverlay
|
|
861
|
-
};
|
|
862
|
-
|
|
863
|
-
// src/theme/components/menu.ts
|
|
864
|
-
var menuContent = ({ elevation }, ...etc) => mx("dx-modal-surface w-48 rounded-sm md:w-56 border border-separator", surfaceZIndex({
|
|
865
|
-
elevation,
|
|
866
|
-
level: "menu"
|
|
867
|
-
}), surfaceShadow({
|
|
868
|
-
elevation: "positioned"
|
|
869
|
-
}), ...etc);
|
|
870
|
-
var menuViewport = (_props, ...etc) => mx("rounded-sm p-1 max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto", ...etc);
|
|
871
|
-
var menuItem = (_props, ...etc) => mx("flex cursor-pointer select-none items-center gap-2 rounded-xs px-2 py-2 text-sm", "hover:bg-hover-surface data-[highlighted]:bg-hover-surface", "dx-focus-subdued", dataDisabled, ...etc);
|
|
872
|
-
var menuSeparator = (_props, ...etc) => mx("my-1 mx-2 h-px bg-separator", ...etc);
|
|
873
|
-
var menuGroupLabel = (_props, ...etc) => mx("text-description", "select-none px-2 py-2", ...etc);
|
|
874
|
-
var menuArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
875
|
-
var menuTheme = {
|
|
876
|
-
content: menuContent,
|
|
877
|
-
viewport: menuViewport,
|
|
878
|
-
item: menuItem,
|
|
879
|
-
separator: menuSeparator,
|
|
880
|
-
groupLabel: menuGroupLabel,
|
|
881
|
-
arrow: menuArrow
|
|
882
|
-
};
|
|
883
|
-
|
|
884
|
-
// src/theme/components/message.ts
|
|
885
|
-
var messageRoot = ({ valence }, etc) => {
|
|
886
|
-
return mx("grid grid-cols-[min-content_1fr] gap-x-2 p-trim-sm rounded-sm", messageValence(valence), etc);
|
|
887
|
-
};
|
|
888
|
-
var messageHeader = (_, etc) => {
|
|
889
|
-
return mx("col-span-2 grid grid-cols-subgrid items-center", etc);
|
|
890
|
-
};
|
|
891
|
-
var messageTitle = (_, etc) => {
|
|
892
|
-
return mx("col-start-2 gap-trim-sm [&>svg]:inline-block", etc);
|
|
893
|
-
};
|
|
894
|
-
var messageIcon = (_, etc) => {
|
|
895
|
-
return mx("col-start-1", etc);
|
|
896
|
-
};
|
|
897
|
-
var messageContent = (_, etc) => {
|
|
898
|
-
return mx("grid grid-cols-subgrid col-start-2 first:font-medium", etc);
|
|
899
|
-
};
|
|
900
|
-
var messageTheme = {
|
|
901
|
-
root: messageRoot,
|
|
902
|
-
header: messageHeader,
|
|
903
|
-
icon: messageIcon,
|
|
904
|
-
title: messageTitle,
|
|
905
|
-
content: messageContent
|
|
906
|
-
};
|
|
907
|
-
|
|
908
|
-
// src/theme/components/popover.ts
|
|
909
|
-
var popoverContent = ({ elevation }, ...etc) => mx("dx-modal-surface border border-separator rounded-sm", surfaceShadow({
|
|
910
|
-
elevation: "positioned"
|
|
911
|
-
}), surfaceZIndex({
|
|
912
|
-
elevation,
|
|
913
|
-
level: "menu"
|
|
914
|
-
}), "dx-focus-ring", ...etc);
|
|
915
|
-
var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx("grid grid-rows-[1fr] min-h-0 min-w-popover-min-width", (constrainBlock || constrainInline) && "overflow-hidden", constrainBlock && "max-h-(--radix-popover-content-available-height)", constrainBlock && "max-h-[min(var(--radix-popover-content-available-height),calc(100dvh-var(--spacing-screen-border)*2))]", constrainInline && "max-w-(--radix-popover-content-available-width)", ...etc);
|
|
916
|
-
var popoverArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
917
|
-
var popoverTheme = {
|
|
918
|
-
content: popoverContent,
|
|
919
|
-
viewport: popoverViewport,
|
|
920
|
-
arrow: popoverArrow
|
|
921
|
-
};
|
|
922
|
-
|
|
923
|
-
// src/theme/components/scroll-area.ts
|
|
924
|
-
var scrollbar = {
|
|
925
|
-
thin: {
|
|
926
|
-
size: 4,
|
|
927
|
-
padding: 4
|
|
928
|
-
},
|
|
929
|
-
coarse: {
|
|
930
|
-
size: 8,
|
|
931
|
-
padding: 8
|
|
932
|
-
}
|
|
933
|
-
};
|
|
934
|
-
var scrollAreaRoot = ({ orientation }, ...etc) => mx(
|
|
935
|
-
// Expand
|
|
936
|
-
"dx-container",
|
|
937
|
-
orientation === "vertical" && "group/scroll-v flex flex-col",
|
|
938
|
-
orientation === "horizontal" && "group/scroll-h flex",
|
|
939
|
-
orientation === "all" && "group/scroll-all",
|
|
940
|
-
// Apply col-span-full only when inside a Column.Root grid (detected via dx-column-root marker).
|
|
941
|
-
"[.dx-column-root_&]:col-span-full",
|
|
942
|
-
...etc
|
|
943
|
-
);
|
|
944
|
-
var scrollAreaViewport = ({ orientation, centered, padding, snap, autoHide }, ...etc) => {
|
|
945
|
-
return mx(
|
|
946
|
-
"flex-1 min-h-0 w-full",
|
|
947
|
-
// Reset --dx-col so nested components don't try to grid-position themselves.
|
|
948
|
-
// ScrollArea has already consumed --gutter for padding.
|
|
949
|
-
withColumn.consumed(),
|
|
950
|
-
orientation === "vertical" && "overflow-y-scroll",
|
|
951
|
-
orientation === "horizontal" && "flex overflow-x-scroll overscroll-x-contain",
|
|
952
|
-
orientation === "all" && "overflow-scroll",
|
|
953
|
-
"[&::-webkit-scrollbar-corner]:bg-transparent",
|
|
954
|
-
"[&::-webkit-scrollbar-track]:bg-transparent",
|
|
955
|
-
"[&::-webkit-scrollbar-thumb]:rounded-none",
|
|
956
|
-
"[&::-webkit-scrollbar]:w-[var(--scroll-width)] [&::-webkit-scrollbar]:h-[var(--scroll-width)]",
|
|
957
|
-
// If contained within Column.Root grid the gutter is set by that component (--gutter CSS variable).
|
|
958
|
-
// If centered, left padding compensates for scrollbar width so content is visually centered.
|
|
959
|
-
(orientation === "vertical" || orientation === "all") && (padding ? [
|
|
960
|
-
centered ? "pl-[var(--gutter,calc(var(--scroll-width)+var(--scroll-padding)))]" : "pl-[var(--gutter,0)]",
|
|
961
|
-
"pr-[calc(var(--gutter,calc(var(--scroll-width)+var(--scroll-padding)))-var(--scroll-width))]"
|
|
962
|
-
] : centered && "pl-[var(--scroll-width)]"),
|
|
963
|
-
(orientation === "horizontal" || orientation === "all") && (padding ? [
|
|
964
|
-
centered && "pt-[calc(var(--scroll-width)+var(--scroll-padding))]",
|
|
965
|
-
"pb-[var(--scroll-padding)]"
|
|
966
|
-
] : centered && "pt-[var(--scroll-width)]"),
|
|
967
|
-
snap && [
|
|
968
|
-
orientation === "vertical" && "snap-y snap-mandatory",
|
|
969
|
-
orientation === "horizontal" && "snap-x snap-mandatory",
|
|
970
|
-
orientation === "all" && "snap-both snap-mandatory"
|
|
971
|
-
],
|
|
972
|
-
autoHide ? [
|
|
973
|
-
orientation === "vertical" && "group-hover/scroll-v:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
974
|
-
orientation === "horizontal" && "group-hover/scroll-h:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
975
|
-
orientation === "all" && "group-hover/scroll-all:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
|
|
976
|
-
] : [
|
|
977
|
-
orientation === "vertical" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
978
|
-
orientation === "horizontal" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
979
|
-
orientation === "all" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
|
|
980
|
-
],
|
|
981
|
-
...etc
|
|
982
|
-
);
|
|
983
|
-
};
|
|
984
|
-
var scrollAreaTheme = {
|
|
985
|
-
root: scrollAreaRoot,
|
|
986
|
-
viewport: scrollAreaViewport
|
|
987
|
-
};
|
|
988
|
-
|
|
989
|
-
// src/theme/components/select.ts
|
|
990
|
-
var selectContent = ({ elevation }, ...etc) => {
|
|
991
|
-
return mx("dx-modal-surface rounded-sm border border-separator", "min-w-(--radix-select-trigger-width) max-h-(--radix-select-content-available-height)", surfaceShadow({
|
|
992
|
-
elevation: "positioned"
|
|
993
|
-
}), surfaceZIndex({
|
|
994
|
-
elevation,
|
|
995
|
-
level: "menu"
|
|
996
|
-
}), ...etc);
|
|
997
|
-
};
|
|
998
|
-
var selectViewport = (_props, ...etc) => mx(...etc);
|
|
999
|
-
var selectItem = (_props, ...etc) => mx("flex items-center min-h-[2rem] px-3 py-1 gap-2", "text-base-surface-text leading-none select-none outline-hidden", "[&>svg]:invisible [&[data-state=checked]>svg]:visible", "dx-highlighted", ...etc);
|
|
1000
|
-
var selectItemIndicator = (_props, ...etc) => mx("items-center", ...etc);
|
|
1001
|
-
var selectArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
1002
|
-
var selectSeparator = (_props, ...etc) => mx("self-stretch border-b my-1 border-separator", ...etc);
|
|
1003
|
-
var selectScrollButton = (_props, ...etc) => mx("dx-modal-surface flex items-center justify-center cursor-default h-6 w-full", ...etc);
|
|
1004
|
-
var selectTheme = {
|
|
1005
|
-
content: selectContent,
|
|
1006
|
-
viewport: selectViewport,
|
|
1007
|
-
item: selectItem,
|
|
1008
|
-
itemIndicator: selectItemIndicator,
|
|
1009
|
-
arrow: selectArrow,
|
|
1010
|
-
separator: selectSeparator,
|
|
1011
|
-
scrollButton: selectScrollButton
|
|
1012
|
-
};
|
|
1013
|
-
|
|
1014
|
-
// src/theme/components/splitter.ts
|
|
1015
|
-
var splitterRoot = (_props, ...etc) => mx("relative h-full overflow-hidden", ...etc);
|
|
1016
|
-
var splitterPanel = (_props, ...etc) => mx("absolute inset-x-0 flex flex-col overflow-hidden", ...etc);
|
|
1017
|
-
var splitterTheme = {
|
|
1018
|
-
root: splitterRoot,
|
|
1019
|
-
panel: splitterPanel
|
|
1020
|
-
};
|
|
1021
|
-
|
|
1022
|
-
// src/theme/components/separator.ts
|
|
1023
|
-
var separatorRoot = ({ orientation, subdued }, ...etc) => mx("self-stretch", orientation === "vertical" ? "border-e mx-1" : "border-b my-1", subdued ? "border-subdued-separator" : "border-separator", ...etc);
|
|
1024
|
-
var separatorTheme = {
|
|
1025
|
-
root: separatorRoot
|
|
1026
|
-
};
|
|
1027
|
-
|
|
1028
|
-
// src/theme/components/skeleton.ts
|
|
1029
|
-
var skeletonRoot = ({ variant = "default" }, ...etc) => mx("animate-pulse bg-neutral-300 dark:bg-neutral-700 rounded-md", variant === "circle" && "rounded-full", variant === "text" && "rounded-sm", ...etc);
|
|
1030
|
-
var skeletonTheme = {
|
|
1031
|
-
root: skeletonRoot
|
|
1032
|
-
};
|
|
1033
|
-
|
|
1034
|
-
// src/theme/components/status.ts
|
|
1035
|
-
var statusRoot = ({ variant = "default" }, ...etc) => mx("h-1 relative rounded-full overflow-hidden", variant === "main-bottom" ? "w-full block" : "inline-20 inline-block bg-base-surface", ...etc);
|
|
1036
|
-
var statusBar = ({ variant = "default", indeterminate }, ...etc) => mx("absolute inset-y-0 block rounded-full", variant === "main-bottom" ? "bg-composer-300" : "bg-un-accent", indeterminate ? "animate-progress-indeterminate" : "start-0", ...etc);
|
|
1037
|
-
var statusTheme = {
|
|
1038
|
-
root: statusRoot,
|
|
1039
|
-
bar: statusBar
|
|
1040
|
-
};
|
|
1041
|
-
|
|
1042
|
-
// src/theme/components/tag.ts
|
|
1043
|
-
var tagRoot = (_, ...etc) => mx("dx-tag", ...etc);
|
|
1044
|
-
var tagTheme = {
|
|
1045
|
-
root: tagRoot
|
|
1046
|
-
};
|
|
1047
|
-
|
|
1048
|
-
// src/theme/components/toast.ts
|
|
1049
|
-
var toastViewport = (_props, ...etc) => mx(
|
|
1050
|
-
// TODO(burdon): block-end should take into account status bar.
|
|
1051
|
-
"z-40 fixed bottom-[calc(env(safe-area-inset-bottom)+1rem)] inset-start-[calc(env(safe-area-inset-left)+1rem)] inset-end-[calc(env(safe-area-inset-right)+1rem)] w-auto md:end-[calc(env(safe-area-inset-right)+1rem)] md:left-auto md:w-full md:max-w-sm",
|
|
1052
|
-
"rounded-md flex flex-col gap-2",
|
|
1053
|
-
...etc
|
|
1054
|
-
);
|
|
1055
|
-
var toastRoot = (_props, ...etc) => mx("dx-modal-surface rounded-md flex p-2 gap-2", surfaceShadow({
|
|
1056
|
-
elevation: "toast"
|
|
1057
|
-
}), "radix-state-open:animate-toast-slide-in-bottom md:radix-state-open:animate-toast-slide-in-right", "radix-state-closed:animate-toast-hide", "radix-swipe-end:animate-toast-swipe-out", "translate-x-radix-toast-swipe-move-x", "radix-swipe-cancel:translate-x-0 radix-swipe-cancel:duration-200 radix-swipe-cancel:ease-[ease]", "dx-focus-ring", ...etc);
|
|
1058
|
-
var toastBody = (_props, ...etc) => mx("grow flex flex-col gap-1 justify-center pl-2", ...etc);
|
|
1059
|
-
var toastActions = (_props, ...etc) => mx("shrink-0 flex flex-col gap-1 justify-center", ...etc);
|
|
1060
|
-
var toastTitle = ({ srOnly }, ...etc) => mx("shrink-0 font-medium", srOnly && "sr-only", ...etc);
|
|
1061
|
-
var toastDescription = ({ srOnly }, ...etc) => mx("text-description", "shrink-0", srOnly && "sr-only", ...etc);
|
|
1062
|
-
var toastTheme = {
|
|
1063
|
-
viewport: toastViewport,
|
|
1064
|
-
root: toastRoot,
|
|
1065
|
-
body: toastBody,
|
|
1066
|
-
title: toastTitle,
|
|
1067
|
-
description: toastDescription,
|
|
1068
|
-
actions: toastActions
|
|
1069
|
-
};
|
|
1070
|
-
|
|
1071
|
-
// src/theme/components/toolbar.ts
|
|
1072
|
-
var toolbarLayout = "w-full shrink-0 flex flex-nowrap p-1 gap-1 items-center overflow-x-auto scrollbar-none dx-contain-layout";
|
|
1073
|
-
var toolbarRoot = ({ density, disabled, layoutManaged }, ...etc) => {
|
|
1074
|
-
return mx("bg-toolbar-surface dx-toolbar", density === "coarse" && "h-(--dx-rail-size) px-3!", disabled && "*:opacity-20", !layoutManaged && toolbarLayout, ...etc);
|
|
1075
|
-
};
|
|
1076
|
-
var toolbarText = (_, ...etc) => {
|
|
1077
|
-
return mx("px-2 grow truncate items-center", ...etc);
|
|
1078
|
-
};
|
|
1079
|
-
var toolbarTheme = {
|
|
1080
|
-
root: toolbarRoot,
|
|
1081
|
-
text: toolbarText
|
|
1082
|
-
};
|
|
1083
|
-
|
|
1084
|
-
// src/theme/components/tooltip.ts
|
|
1085
|
-
var tooltipContent = ({ elevation }, ...etc) => mx("inline-flex items-center p-1 max-w-64 text-sm bg-inverse-surface text-inverse-surface-text rounded-sm", surfaceShadow({
|
|
1086
|
-
elevation: "positioned"
|
|
1087
|
-
}), surfaceZIndex({
|
|
1088
|
-
elevation,
|
|
1089
|
-
level: "tooltip"
|
|
1090
|
-
}), ...etc);
|
|
1091
|
-
var tooltipArrow = (_props, ...etc) => mx("fill-inverse-surface", ...etc);
|
|
1092
|
-
var tooltipTheme = {
|
|
1093
|
-
content: tooltipContent,
|
|
1094
|
-
arrow: tooltipArrow
|
|
1095
|
-
};
|
|
1096
|
-
|
|
1097
|
-
// src/theme/components/treegrid.ts
|
|
1098
|
-
var levelStyles = /* @__PURE__ */ new Map([
|
|
1099
|
-
[
|
|
1100
|
-
1,
|
|
1101
|
-
"[&>.indent:first-of-type]:pl-0 font-medium"
|
|
1102
|
-
],
|
|
1103
|
-
[
|
|
1104
|
-
2,
|
|
1105
|
-
"[&>.indent:first-of-type]:pl-0"
|
|
1106
|
-
],
|
|
1107
|
-
[
|
|
1108
|
-
3,
|
|
1109
|
-
"[&>.indent:first-of-type]:pl-1"
|
|
1110
|
-
],
|
|
1111
|
-
[
|
|
1112
|
-
4,
|
|
1113
|
-
"[&>.indent:first-of-type]:pl-2"
|
|
1114
|
-
],
|
|
1115
|
-
[
|
|
1116
|
-
5,
|
|
1117
|
-
"[&>.indent:first-of-type]:pl-3"
|
|
1118
|
-
],
|
|
1119
|
-
[
|
|
1120
|
-
6,
|
|
1121
|
-
"[&>.indent:first-of-type]:pl-4"
|
|
1122
|
-
],
|
|
1123
|
-
[
|
|
1124
|
-
7,
|
|
1125
|
-
"[&>.indent:first-of-type]:pl-5"
|
|
1126
|
-
],
|
|
1127
|
-
[
|
|
1128
|
-
8,
|
|
1129
|
-
"[&>.indent:first-of-type]:pl-6"
|
|
1130
|
-
]
|
|
1131
|
-
]);
|
|
1132
|
-
var treegridRoot = (_, ...etc) => mx("grid", ...etc);
|
|
1133
|
-
var treegridRow = ({ level = 1 }, ...etc) => mx(levelStyles.get(Math.min(Math.max(Math.round(level), 1), 8)), ...etc);
|
|
1134
|
-
var treegridCell = ({ indent }, ...etc) => mx(indent && "indent", ...etc);
|
|
1135
|
-
var treegridTheme = {
|
|
1136
|
-
root: treegridRoot,
|
|
1137
|
-
row: treegridRow,
|
|
1138
|
-
cell: treegridCell
|
|
1139
|
-
};
|
|
1140
|
-
|
|
1141
|
-
// src/theme/primitives/panel.ts
|
|
1142
|
-
var sizes = {
|
|
1143
|
-
lg: "h-(--dx-topbar-size)",
|
|
1144
|
-
md: "h-(--dx-toolbar-size)",
|
|
1145
|
-
sm: "h-(--dx-statusbar-size)"
|
|
1146
|
-
};
|
|
1147
|
-
var panelRoot = (_, ...etc) => mx(
|
|
1148
|
-
// prettier-ignore
|
|
1149
|
-
"dx-container grid grid-cols-[100%] overflow-hidden",
|
|
1150
|
-
// Add uncategorized children to content slot.
|
|
1151
|
-
"[&>*:not([data-slot])]:[grid-area:content]",
|
|
1152
|
-
...etc
|
|
1153
|
-
);
|
|
1154
|
-
var panelToolbar = ({ size = "md" }, ...etc) => mx("[grid-area:toolbar]", "shrink-0", sizes[size], ...etc);
|
|
1155
|
-
var panelContent = (_, ...etc) => mx("[grid-area:content] min-h-0", ...etc);
|
|
1156
|
-
var panelStatusbar = ({ size = "md" }, ...etc) => mx("[grid-area:statusbar]", "shrink-0", sizes[size], ...etc);
|
|
1157
|
-
var panelTheme = {
|
|
1158
|
-
root: panelRoot,
|
|
1159
|
-
toolbar: panelToolbar,
|
|
1160
|
-
content: panelContent,
|
|
1161
|
-
statusbar: panelStatusbar
|
|
1162
|
-
};
|
|
1163
|
-
|
|
1164
|
-
// src/theme/theme.ts
|
|
1165
|
-
import { getDeep } from "@dxos/util";
|
|
1166
|
-
var defaultTheme = {
|
|
1167
|
-
themeName: () => "default",
|
|
1168
|
-
//
|
|
1169
|
-
// Primitives
|
|
1170
|
-
//
|
|
1171
|
-
column: columnTheme,
|
|
1172
|
-
panel: panelTheme,
|
|
1173
|
-
//
|
|
1174
|
-
// Components
|
|
1175
|
-
//
|
|
1176
|
-
avatar: avatarTheme,
|
|
1177
|
-
breadcrumb: breadcrumbTheme,
|
|
1178
|
-
button: buttonTheme,
|
|
1179
|
-
card: cardTheme,
|
|
1180
|
-
dialog: dialogTheme,
|
|
1181
|
-
focus: focusTheme,
|
|
1182
|
-
icon: iconTheme,
|
|
1183
|
-
iconButton: iconButtonTheme,
|
|
1184
|
-
input: inputTheme,
|
|
1185
|
-
link: linkTheme,
|
|
1186
|
-
list: listTheme,
|
|
1187
|
-
main: mainTheme,
|
|
1188
|
-
message: messageTheme,
|
|
1189
|
-
menu: menuTheme,
|
|
1190
|
-
popover: popoverTheme,
|
|
1191
|
-
scrollArea: scrollAreaTheme,
|
|
1192
|
-
select: selectTheme,
|
|
1193
|
-
separator: separatorTheme,
|
|
1194
|
-
skeleton: skeletonTheme,
|
|
1195
|
-
splitter: splitterTheme,
|
|
1196
|
-
status: statusTheme,
|
|
1197
|
-
tag: tagTheme,
|
|
1198
|
-
toast: toastTheme,
|
|
1199
|
-
toolbar: toolbarTheme,
|
|
1200
|
-
tooltip: tooltipTheme,
|
|
1201
|
-
treegrid: treegridTheme
|
|
1202
|
-
};
|
|
1203
|
-
var bindTheme = (theme) => {
|
|
1204
|
-
return (path, styleProps, ...etc) => {
|
|
1205
|
-
const result = getDeep(theme, path.split("."));
|
|
1206
|
-
return typeof result === "function" ? result(styleProps ?? {}, ...etc) : void 0;
|
|
1207
|
-
};
|
|
1208
|
-
};
|
|
1209
|
-
var defaultTx = bindTheme(defaultTheme);
|
|
558
|
+
var buttonValence = (_valence) => "text-(--dx-valence-text) bg-(--dx-valence-bg) hover:bg-(--dx-valence-bg-hover)";
|
|
1210
559
|
export {
|
|
1211
|
-
|
|
1212
|
-
avatarFallbackText,
|
|
1213
|
-
avatarFrame,
|
|
1214
|
-
avatarGroup,
|
|
1215
|
-
avatarGroupDescription,
|
|
1216
|
-
avatarGroupLabel,
|
|
1217
|
-
avatarLabel,
|
|
1218
|
-
avatarRing,
|
|
1219
|
-
avatarRoot,
|
|
1220
|
-
avatarStatusIcon,
|
|
1221
|
-
avatarTheme,
|
|
1222
|
-
bindTheme,
|
|
1223
|
-
bottombarBlockPaddingEnd,
|
|
1224
|
-
breadcrumbCurrent,
|
|
1225
|
-
breadcrumbList,
|
|
1226
|
-
breadcrumbListItem,
|
|
1227
|
-
breadcrumbRoot,
|
|
1228
|
-
breadcrumbSeparator,
|
|
1229
|
-
breadcrumbTheme,
|
|
1230
|
-
buttonTheme,
|
|
560
|
+
buttonValence,
|
|
1231
561
|
cardDefaultInlineSize,
|
|
1232
562
|
cardMaxBlockSize,
|
|
1233
563
|
cardMaxInlineSize,
|
|
1234
564
|
cardMinBlockSize,
|
|
1235
565
|
cardMinInlineSize,
|
|
1236
|
-
cardTheme,
|
|
1237
|
-
columnTheme,
|
|
1238
|
-
composable,
|
|
1239
|
-
composableProps,
|
|
1240
566
|
dataDisabled,
|
|
1241
|
-
defaultButtonColors,
|
|
1242
|
-
defaultTheme,
|
|
1243
|
-
defaultTx,
|
|
1244
567
|
densityBlockSize,
|
|
1245
568
|
densityDimensions,
|
|
1246
569
|
descriptionMessage,
|
|
1247
|
-
dialogActionBar,
|
|
1248
|
-
dialogBody,
|
|
1249
|
-
dialogContent,
|
|
1250
|
-
dialogDescription,
|
|
1251
|
-
dialogHeader,
|
|
1252
|
-
dialogOverlay,
|
|
1253
|
-
dialogTheme,
|
|
1254
|
-
dialogTitle,
|
|
1255
|
-
focusTheme,
|
|
1256
570
|
getHashHue,
|
|
1257
571
|
getHashStyles,
|
|
1258
572
|
getHeight,
|
|
1259
573
|
getSize,
|
|
1260
574
|
getStyles,
|
|
1261
575
|
getWidth,
|
|
1262
|
-
ghostButtonColors,
|
|
1263
576
|
ghostFocusWithin,
|
|
1264
577
|
ghostHover,
|
|
1265
578
|
groupHoverControlItemWithTransition,
|
|
@@ -1270,105 +583,19 @@ export {
|
|
|
1270
583
|
hoverableOpenControlItem,
|
|
1271
584
|
hueShades,
|
|
1272
585
|
hues,
|
|
1273
|
-
iconButtonRoot,
|
|
1274
|
-
iconButtonTheme,
|
|
1275
|
-
iconRoot,
|
|
1276
586
|
iconSize,
|
|
1277
|
-
iconTheme,
|
|
1278
|
-
inputTextLabel,
|
|
1279
|
-
inputTheme,
|
|
1280
|
-
linkRoot,
|
|
1281
|
-
linkTheme,
|
|
1282
|
-
listItem,
|
|
1283
|
-
listItemDragHandleIcon,
|
|
1284
|
-
listItemEndcap,
|
|
1285
|
-
listItemHeading,
|
|
1286
|
-
listItemOpenTrigger,
|
|
1287
|
-
listItemOpenTriggerIcon,
|
|
1288
|
-
listRoot,
|
|
1289
|
-
listTheme,
|
|
1290
|
-
mainContent,
|
|
1291
|
-
mainIntrinsicSize,
|
|
1292
|
-
mainOverlay,
|
|
1293
|
-
mainPadding,
|
|
1294
|
-
mainPaddingTransitions,
|
|
1295
|
-
mainSidebar,
|
|
1296
|
-
mainTheme,
|
|
1297
|
-
menuArrow,
|
|
1298
|
-
menuContent,
|
|
1299
|
-
menuGroupLabel,
|
|
1300
|
-
menuItem,
|
|
1301
|
-
menuSeparator,
|
|
1302
|
-
menuTheme,
|
|
1303
|
-
menuViewport,
|
|
1304
|
-
messageContent,
|
|
1305
|
-
messageHeader,
|
|
1306
|
-
messageIcon,
|
|
1307
|
-
messageRoot,
|
|
1308
|
-
messageTheme,
|
|
1309
|
-
messageTitle,
|
|
1310
587
|
messageValence,
|
|
1311
588
|
mx,
|
|
1312
589
|
osTranslations,
|
|
1313
590
|
palette,
|
|
1314
|
-
panelTheme,
|
|
1315
|
-
popoverArrow,
|
|
1316
|
-
popoverContent,
|
|
1317
|
-
popoverTheme,
|
|
1318
|
-
popoverViewport,
|
|
1319
|
-
primaryButtonColors,
|
|
1320
591
|
roles,
|
|
1321
|
-
scrollAreaRoot,
|
|
1322
|
-
scrollAreaTheme,
|
|
1323
|
-
scrollAreaViewport,
|
|
1324
|
-
scrollbar,
|
|
1325
|
-
selectArrow,
|
|
1326
|
-
selectContent,
|
|
1327
|
-
selectItem,
|
|
1328
|
-
selectItemIndicator,
|
|
1329
|
-
selectScrollButton,
|
|
1330
|
-
selectSeparator,
|
|
1331
|
-
selectTheme,
|
|
1332
|
-
selectViewport,
|
|
1333
|
-
separatorRoot,
|
|
1334
|
-
separatorTheme,
|
|
1335
592
|
sizeToRem,
|
|
1336
593
|
sizeValue,
|
|
1337
|
-
skeletonRoot,
|
|
1338
|
-
skeletonTheme,
|
|
1339
|
-
slottable,
|
|
1340
594
|
snapSize,
|
|
1341
|
-
splitterTheme,
|
|
1342
|
-
staticDefaultButtonColors,
|
|
1343
595
|
staticDisabled,
|
|
1344
|
-
statusBar,
|
|
1345
|
-
statusRoot,
|
|
1346
|
-
statusTheme,
|
|
1347
|
-
subtleHover,
|
|
1348
596
|
surfaceShadow,
|
|
1349
597
|
surfaceZIndex,
|
|
1350
|
-
tagRoot,
|
|
1351
|
-
tagTheme,
|
|
1352
598
|
textValence,
|
|
1353
|
-
|
|
1354
|
-
toastBody,
|
|
1355
|
-
toastDescription,
|
|
1356
|
-
toastRoot,
|
|
1357
|
-
toastTheme,
|
|
1358
|
-
toastTitle,
|
|
1359
|
-
toastViewport,
|
|
1360
|
-
toolbarLayout,
|
|
1361
|
-
toolbarRoot,
|
|
1362
|
-
toolbarText,
|
|
1363
|
-
toolbarTheme,
|
|
1364
|
-
tooltipArrow,
|
|
1365
|
-
tooltipContent,
|
|
1366
|
-
tooltipTheme,
|
|
1367
|
-
topbarBlockPaddingStart,
|
|
1368
|
-
treegridCell,
|
|
1369
|
-
treegridRoot,
|
|
1370
|
-
treegridRow,
|
|
1371
|
-
treegridTheme,
|
|
1372
|
-
withColumn
|
|
599
|
+
toHue
|
|
1373
600
|
};
|
|
1374
601
|
//# sourceMappingURL=index.mjs.map
|