@dxos/ui-theme 0.8.4-main.8360d9e660 → 0.8.4-main.8baae0fced
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 +414 -479
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +414 -479
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/plugin/node-cjs/{theme.css → main.css} +189 -122
- package/dist/plugin/node-cjs/main.css.map +7 -0
- package/dist/plugin/node-cjs/meta.json +1 -1
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs +8 -15
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs.map +3 -3
- package/dist/plugin/node-esm/{theme.css → main.css} +189 -122
- package/dist/plugin/node-esm/main.css.map +7 -0
- package/dist/plugin/node-esm/meta.json +1 -1
- package/dist/plugin/node-esm/plugins/ThemePlugin.mjs +8 -15
- 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 +1 -4
- 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/fragments/index.d.ts +0 -4
- package/dist/types/src/fragments/index.d.ts.map +1 -1
- package/dist/types/src/fragments/text.d.ts +0 -1
- package/dist/types/src/fragments/text.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugins/ThemePlugin.d.ts +1 -1
- package/dist/types/src/plugins/ThemePlugin.d.ts.map +1 -1
- package/dist/types/src/theme/components/avatar.d.ts.map +1 -1
- package/dist/types/src/theme/components/button.d.ts +2 -2
- package/dist/types/src/theme/components/button.d.ts.map +1 -1
- package/dist/types/src/theme/components/card.d.ts +1 -0
- package/dist/types/src/theme/components/card.d.ts.map +1 -1
- package/dist/types/src/theme/components/dialog.d.ts.map +1 -1
- package/dist/types/src/theme/components/focus.d.ts +6 -0
- package/dist/types/src/theme/components/focus.d.ts.map +1 -0
- package/dist/types/src/theme/components/icon-button.d.ts +1 -0
- package/dist/types/src/theme/components/icon-button.d.ts.map +1 -1
- package/dist/types/src/theme/components/icon.d.ts.map +1 -1
- package/dist/types/src/theme/components/index.d.ts +1 -0
- package/dist/types/src/theme/components/index.d.ts.map +1 -1
- package/dist/types/src/theme/components/input.d.ts +8 -8
- package/dist/types/src/theme/components/input.d.ts.map +1 -1
- package/dist/types/src/theme/components/link.d.ts.map +1 -1
- package/dist/types/src/theme/components/list.d.ts.map +1 -1
- package/dist/types/src/theme/components/main.d.ts.map +1 -1
- package/dist/types/src/theme/components/message.d.ts.map +1 -1
- package/dist/types/src/theme/components/popover.d.ts.map +1 -1
- package/dist/types/src/theme/components/scroll-area.d.ts +12 -2
- package/dist/types/src/theme/components/scroll-area.d.ts.map +1 -1
- package/dist/types/src/theme/components/select.d.ts.map +1 -1
- package/dist/types/src/theme/components/status.d.ts +1 -1
- package/dist/types/src/theme/components/status.d.ts.map +1 -1
- package/dist/types/src/theme/components/toast.d.ts.map +1 -1
- package/dist/types/src/theme/components/tooltip.d.ts.map +1 -1
- package/dist/types/src/theme/components/treegrid.d.ts.map +1 -1
- package/dist/types/src/theme/index.d.ts +1 -0
- package/dist/types/src/theme/index.d.ts.map +1 -1
- package/dist/types/src/theme/primitives/column.d.ts +25 -3
- package/dist/types/src/theme/primitives/column.d.ts.map +1 -1
- package/dist/types/src/theme/primitives/panel.d.ts +9 -5
- package/dist/types/src/theme/primitives/panel.d.ts.map +1 -1
- package/dist/types/src/theme/theme.d.ts.map +1 -1
- package/dist/types/src/util/elevation.d.ts.map +1 -0
- package/dist/types/src/util/hash-styles.d.ts +1 -1
- package/dist/types/src/util/hash-styles.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +3 -0
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/mx.d.ts +49 -284
- package/dist/types/src/util/mx.d.ts.map +1 -1
- package/dist/types/src/util/size.d.ts +27 -0
- package/dist/types/src/util/size.d.ts.map +1 -0
- package/dist/types/src/util/valence.d.ts +4 -0
- package/dist/types/src/util/valence.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -18
- package/src/Theme.stories.tsx +5 -5
- package/src/css/DESIGN_SYSTEM.md +159 -0
- package/src/css/base/base.css +2 -2
- package/src/css/components/button.css +4 -3
- package/src/css/components/checkbox.css +1 -1
- package/src/css/components/{focus-ring.css → focus.css} +27 -13
- package/src/css/components/icon.css +9 -0
- package/src/css/components/link.css +3 -0
- package/src/css/components/panel.css +45 -45
- package/src/css/components/selected.css +63 -10
- package/src/css/components/selected.md +101 -0
- package/src/css/components/surface.css +4 -4
- package/src/css/components/tag.css +25 -23
- package/src/css/integrations/codemirror.css +5 -3
- package/src/css/integrations/tldraw.css +1 -0
- package/src/css/layout/main.css +0 -7
- package/src/css/layout/size.css +16 -26
- package/src/css/theme/animation.css +31 -0
- package/src/css/theme/palette.css +6 -0
- package/src/css/theme/semantic.css +47 -46
- package/src/css/theme/spacing.css +31 -17
- package/src/css/theme/styles.css +22 -22
- package/src/css/utilities.css +114 -3
- package/src/defs.ts +1 -1
- package/src/fragments/AUDIT.md +55 -0
- package/src/fragments/density.ts +8 -5
- package/src/fragments/hover.ts +0 -2
- package/src/fragments/index.ts +1 -5
- package/src/fragments/text.ts +1 -1
- package/src/index.ts +1 -1
- package/src/{theme.css → main.css} +47 -10
- package/src/plugins/ThemePlugin.ts +12 -24
- package/src/plugins/main.css +45 -0
- package/src/theme/components/avatar.ts +3 -4
- package/src/theme/components/button.ts +2 -2
- package/src/theme/components/card.ts +15 -6
- package/src/theme/components/dialog.ts +4 -3
- package/src/theme/components/focus.ts +33 -0
- package/src/theme/components/icon-button.ts +6 -5
- package/src/theme/components/icon.ts +7 -5
- package/src/theme/components/index.ts +1 -0
- package/src/theme/components/input.ts +18 -33
- package/src/theme/components/link.ts +1 -2
- package/src/theme/components/list.ts +4 -4
- package/src/theme/components/menu.ts +4 -4
- package/src/theme/components/message.ts +6 -7
- package/src/theme/components/popover.ts +4 -5
- package/src/theme/components/scroll-area.ts +58 -46
- package/src/theme/components/select.ts +2 -3
- package/src/theme/components/status.ts +5 -5
- package/src/theme/components/toast.ts +2 -3
- package/src/theme/components/tooltip.ts +2 -3
- package/src/theme/components/treegrid.ts +1 -1
- package/src/theme/index.ts +1 -0
- package/src/theme/primitives/column.ts +49 -8
- package/src/theme/primitives/panel.ts +18 -25
- package/src/theme/theme.ts +2 -0
- package/src/typings.d.ts +3 -0
- package/src/util/hash-styles.ts +19 -19
- package/src/util/index.ts +3 -0
- package/src/util/mx.ts +112 -7
- package/src/util/size.ts +103 -0
- package/dist/plugin/node-cjs/theme.css.map +0 -7
- package/dist/plugin/node-esm/theme.css.map +0 -7
- package/dist/types/src/fragments/elevation.d.ts.map +0 -1
- package/dist/types/src/fragments/focus.d.ts +0 -4
- package/dist/types/src/fragments/focus.d.ts.map +0 -1
- package/dist/types/src/fragments/size.d.ts +0 -9
- package/dist/types/src/fragments/size.d.ts.map +0 -1
- package/dist/types/src/fragments/valence.d.ts +0 -4
- package/dist/types/src/fragments/valence.d.ts.map +0 -1
- package/src/fragments/focus.ts +0 -11
- package/src/fragments/size.ts +0 -123
- /package/dist/types/src/{fragments → util}/elevation.d.ts +0 -0
- /package/src/{fragments → util}/elevation.ts +0 -0
- /package/src/{fragments → util}/valence.ts +0 -0
|
@@ -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,17 +48,31 @@ var cardMinBlockSize = 18;
|
|
|
48
48
|
var cardMaxBlockSize = 30;
|
|
49
49
|
|
|
50
50
|
// src/fragments/density.ts
|
|
51
|
-
var coarseBlockSize = "min-h-[2.5rem]";
|
|
52
|
-
var coarseDimensions = `${coarseBlockSize} px-3`;
|
|
53
51
|
var fineBlockSize = "min-h-[2.5rem] pointer-fine:min-h-[2rem]";
|
|
52
|
+
var coarseBlockSize = "min-h-[2.5rem]";
|
|
54
53
|
var fineDimensions = `${fineBlockSize} px-2`;
|
|
55
|
-
var
|
|
54
|
+
var coarseDimensions = `${coarseBlockSize} px-3`;
|
|
55
|
+
var densityDimensions = (density = "fine") => density === "fine" ? fineDimensions : coarseDimensions;
|
|
56
|
+
var densityBlockSize = (density = "fine") => density === "fine" ? fineBlockSize : coarseBlockSize;
|
|
56
57
|
|
|
57
58
|
// src/fragments/disabled.ts
|
|
58
59
|
var staticDisabled = "opacity-40 cursor-not-allowed shadow-none";
|
|
59
60
|
var dataDisabled = "data-[disabled]:opacity-40 data-[disabled]:cursor-not-allowed";
|
|
60
61
|
|
|
61
|
-
// src/fragments/
|
|
62
|
+
// src/fragments/hover.ts
|
|
63
|
+
var ghostHover = "hover:bg-hover-surface";
|
|
64
|
+
var ghostFocusWithin = "focus-within:bg-hover-surface";
|
|
65
|
+
var hoverableControls = "[--controls-opacity:1] hover-hover:[--controls-opacity:0] hover-hover:hover:[--controls-opacity:1]";
|
|
66
|
+
var groupHoverControlItemWithTransition = "transition-opacity duration-200 opacity-0 group-hover:opacity-100";
|
|
67
|
+
var hoverableFocusedKeyboardControls = "focus-visible:[--controls-opacity:1]";
|
|
68
|
+
var hoverableFocusedWithinControls = "focus-within:[--controls-opacity:1]";
|
|
69
|
+
var hoverableOpenControlItem = "hover-hover:aria-[expanded=true]:[--controls-opacity:1]";
|
|
70
|
+
var hoverableControlItem = "opacity-(--controls-opacity)";
|
|
71
|
+
|
|
72
|
+
// src/fragments/text.ts
|
|
73
|
+
var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
|
|
74
|
+
|
|
75
|
+
// src/util/elevation.ts
|
|
62
76
|
var surfaceShadow = ({ elevation }) => [
|
|
63
77
|
elevation === "positioned" ? "shadow-sm" : elevation === "dialog" || elevation === "toast" ? "shadow-md" : "shadow-none"
|
|
64
78
|
];
|
|
@@ -91,28 +105,12 @@ var surfaceZIndex = ({ level, elevation }) => {
|
|
|
91
105
|
}
|
|
92
106
|
};
|
|
93
107
|
|
|
94
|
-
// src/fragments/focus.ts
|
|
95
|
-
var focusRing = "dx-focus-ring";
|
|
96
|
-
var subduedFocus = "focus:outline-hidden focus-visible:outline-hidden focus:ring-0 ring-0 focus:border-0 border-0";
|
|
97
|
-
var staticFocusRing = "ring-2 ring-offset-0 ring-primary-350 ring-offset-white dark:ring-primary-450 dark:ring-offset-black";
|
|
98
|
-
|
|
99
|
-
// src/fragments/hover.ts
|
|
100
|
-
var subtleHover = "hover:bg-hover-overlay";
|
|
101
|
-
var ghostHover = "hover:bg-hover-surface";
|
|
102
|
-
var ghostFocusWithin = "focus-within:bg-hover-surface";
|
|
103
|
-
var hoverableControls = "[--controls-opacity:1] hover-hover:[--controls-opacity:0] hover-hover:hover:[--controls-opacity:1]";
|
|
104
|
-
var groupHoverControlItemWithTransition = "transition-opacity duration-200 opacity-0 group-hover:opacity-100";
|
|
105
|
-
var hoverableFocusedKeyboardControls = "focus-visible:[--controls-opacity:1]";
|
|
106
|
-
var hoverableFocusedWithinControls = "focus-within:[--controls-opacity:1]";
|
|
107
|
-
var hoverableOpenControlItem = "hover-hover:aria-[expanded=true]:[--controls-opacity:1]";
|
|
108
|
-
var hoverableControlItem = "opacity-(--controls-opacity)";
|
|
109
|
-
|
|
110
108
|
// src/util/hash-styles.ts
|
|
111
109
|
var neutral = {
|
|
112
110
|
hue: "neutral",
|
|
113
111
|
fill: "bg-neutral-fill",
|
|
114
112
|
surface: "bg-neutral-surface",
|
|
115
|
-
|
|
113
|
+
foreground: "text-neutral-foreground",
|
|
116
114
|
text: "text-neutral-text",
|
|
117
115
|
border: "border-neutral-border"
|
|
118
116
|
};
|
|
@@ -121,7 +119,7 @@ var styles = [
|
|
|
121
119
|
hue: "red",
|
|
122
120
|
fill: "bg-red-fill",
|
|
123
121
|
surface: "bg-red-surface",
|
|
124
|
-
|
|
122
|
+
foreground: "text-red-foreground",
|
|
125
123
|
text: "text-red-text",
|
|
126
124
|
border: "border-red-border"
|
|
127
125
|
},
|
|
@@ -129,7 +127,7 @@ var styles = [
|
|
|
129
127
|
hue: "orange",
|
|
130
128
|
fill: "bg-orange-fill",
|
|
131
129
|
surface: "bg-orange-surface",
|
|
132
|
-
|
|
130
|
+
foreground: "text-orange-foreground",
|
|
133
131
|
text: "text-orange-text",
|
|
134
132
|
border: "border-orange-border"
|
|
135
133
|
},
|
|
@@ -137,7 +135,7 @@ var styles = [
|
|
|
137
135
|
hue: "amber",
|
|
138
136
|
fill: "bg-amber-fill",
|
|
139
137
|
surface: "bg-amber-surface",
|
|
140
|
-
|
|
138
|
+
foreground: "text-amber-foreground",
|
|
141
139
|
text: "text-amber-text",
|
|
142
140
|
border: "border-amber-border"
|
|
143
141
|
},
|
|
@@ -145,7 +143,7 @@ var styles = [
|
|
|
145
143
|
hue: "yellow",
|
|
146
144
|
fill: "bg-yellow-fill",
|
|
147
145
|
surface: "bg-yellow-surface",
|
|
148
|
-
|
|
146
|
+
foreground: "text-yellow-foreground",
|
|
149
147
|
text: "text-yellow-text",
|
|
150
148
|
border: "border-yellow-border"
|
|
151
149
|
},
|
|
@@ -153,7 +151,7 @@ var styles = [
|
|
|
153
151
|
hue: "lime",
|
|
154
152
|
fill: "bg-lime-fill",
|
|
155
153
|
surface: "bg-lime-surface",
|
|
156
|
-
|
|
154
|
+
foreground: "text-lime-foreground",
|
|
157
155
|
text: "text-lime-text",
|
|
158
156
|
border: "border-lime-border"
|
|
159
157
|
},
|
|
@@ -161,7 +159,7 @@ var styles = [
|
|
|
161
159
|
hue: "green",
|
|
162
160
|
fill: "bg-green-fill",
|
|
163
161
|
surface: "bg-green-surface",
|
|
164
|
-
|
|
162
|
+
foreground: "text-green-foreground",
|
|
165
163
|
text: "text-green-text",
|
|
166
164
|
border: "border-green-border"
|
|
167
165
|
},
|
|
@@ -169,7 +167,7 @@ var styles = [
|
|
|
169
167
|
hue: "emerald",
|
|
170
168
|
fill: "bg-emerald-fill",
|
|
171
169
|
surface: "bg-emerald-surface",
|
|
172
|
-
|
|
170
|
+
foreground: "text-emerald-foreground",
|
|
173
171
|
text: "text-emerald-text",
|
|
174
172
|
border: "border-emerald-border"
|
|
175
173
|
},
|
|
@@ -177,7 +175,7 @@ var styles = [
|
|
|
177
175
|
hue: "teal",
|
|
178
176
|
fill: "bg-teal-fill",
|
|
179
177
|
surface: "bg-teal-surface",
|
|
180
|
-
|
|
178
|
+
foreground: "text-teal-foreground",
|
|
181
179
|
text: "text-teal-text",
|
|
182
180
|
border: "border-teal-border"
|
|
183
181
|
},
|
|
@@ -185,7 +183,7 @@ var styles = [
|
|
|
185
183
|
hue: "cyan",
|
|
186
184
|
fill: "bg-cyan-fill",
|
|
187
185
|
surface: "bg-cyan-surface",
|
|
188
|
-
|
|
186
|
+
foreground: "text-cyan-foreground",
|
|
189
187
|
text: "text-cyan-text",
|
|
190
188
|
border: "border-cyan-border"
|
|
191
189
|
},
|
|
@@ -193,7 +191,7 @@ var styles = [
|
|
|
193
191
|
hue: "sky",
|
|
194
192
|
fill: "bg-sky-fill",
|
|
195
193
|
surface: "bg-sky-surface",
|
|
196
|
-
|
|
194
|
+
foreground: "text-sky-foreground",
|
|
197
195
|
text: "text-sky-text",
|
|
198
196
|
border: "border-sky-border"
|
|
199
197
|
},
|
|
@@ -201,7 +199,7 @@ var styles = [
|
|
|
201
199
|
hue: "blue",
|
|
202
200
|
fill: "bg-blue-fill",
|
|
203
201
|
surface: "bg-blue-surface",
|
|
204
|
-
|
|
202
|
+
foreground: "text-blue-foreground",
|
|
205
203
|
text: "text-blue-text",
|
|
206
204
|
border: "border-blue-border"
|
|
207
205
|
},
|
|
@@ -209,7 +207,7 @@ var styles = [
|
|
|
209
207
|
hue: "indigo",
|
|
210
208
|
fill: "bg-indigo-fill",
|
|
211
209
|
surface: "bg-indigo-surface",
|
|
212
|
-
|
|
210
|
+
foreground: "text-indigo-foreground",
|
|
213
211
|
text: "text-indigo-text",
|
|
214
212
|
border: "border-indigo-border"
|
|
215
213
|
},
|
|
@@ -217,7 +215,7 @@ var styles = [
|
|
|
217
215
|
hue: "violet",
|
|
218
216
|
fill: "bg-violet-fill",
|
|
219
217
|
surface: "bg-violet-surface",
|
|
220
|
-
|
|
218
|
+
foreground: "text-violet-foreground",
|
|
221
219
|
text: "text-violet-text",
|
|
222
220
|
border: "border-violet-border"
|
|
223
221
|
},
|
|
@@ -225,7 +223,7 @@ var styles = [
|
|
|
225
223
|
hue: "purple",
|
|
226
224
|
fill: "bg-purple-fill",
|
|
227
225
|
surface: "bg-purple-surface",
|
|
228
|
-
|
|
226
|
+
foreground: "text-purple-foreground",
|
|
229
227
|
text: "text-purple-text",
|
|
230
228
|
border: "border-purple-border"
|
|
231
229
|
},
|
|
@@ -233,7 +231,7 @@ var styles = [
|
|
|
233
231
|
hue: "fuchsia",
|
|
234
232
|
fill: "bg-fuchsia-fill",
|
|
235
233
|
surface: "bg-fuchsia-surface",
|
|
236
|
-
|
|
234
|
+
foreground: "text-fuchsia-foreground",
|
|
237
235
|
text: "text-fuchsia-text",
|
|
238
236
|
border: "border-fuchsia-border"
|
|
239
237
|
},
|
|
@@ -241,7 +239,7 @@ var styles = [
|
|
|
241
239
|
hue: "pink",
|
|
242
240
|
fill: "bg-pink-fill",
|
|
243
241
|
surface: "bg-pink-surface",
|
|
244
|
-
|
|
242
|
+
foreground: "text-pink-foreground",
|
|
245
243
|
text: "text-pink-text",
|
|
246
244
|
border: "border-pink-border"
|
|
247
245
|
},
|
|
@@ -249,7 +247,7 @@ var styles = [
|
|
|
249
247
|
hue: "rose",
|
|
250
248
|
fill: "bg-rose-fill",
|
|
251
249
|
surface: "bg-rose-surface",
|
|
252
|
-
|
|
250
|
+
foreground: "text-rose-foreground",
|
|
253
251
|
text: "text-rose-text",
|
|
254
252
|
border: "border-rose-border"
|
|
255
253
|
}
|
|
@@ -270,7 +268,10 @@ var getHashHue = (id) => {
|
|
|
270
268
|
var getHash = (id) => id.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
271
269
|
|
|
272
270
|
// src/util/mx.ts
|
|
271
|
+
import { Children, createElement, forwardRef, isValidElement } from "react";
|
|
273
272
|
import { extendTailwindMerge, validators } from "tailwind-merge";
|
|
273
|
+
import { log } from "@dxos/log";
|
|
274
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/ui/ui-theme/src/util/mx.ts";
|
|
274
275
|
var mx = extendTailwindMerge({
|
|
275
276
|
extend: {
|
|
276
277
|
classGroups: {
|
|
@@ -315,336 +316,235 @@ var mx = extendTailwindMerge({
|
|
|
315
316
|
}
|
|
316
317
|
}
|
|
317
318
|
});
|
|
318
|
-
var composableProps = ({ className, classNames, ...props }, {
|
|
319
|
+
var composableProps = ({ className, classNames, role, style, ...props }, { classNames: defaultClassNames, ...defaults } = {}) => ({
|
|
320
|
+
// Default props.
|
|
319
321
|
...defaults,
|
|
322
|
+
// Spread supplied props.
|
|
320
323
|
...props,
|
|
324
|
+
// Prefer explicit role, then defaults role, then 'none'.
|
|
325
|
+
role: role ?? defaults.role ?? "none",
|
|
326
|
+
// Merge styles.
|
|
327
|
+
style: {
|
|
328
|
+
...defaults.style,
|
|
329
|
+
...style
|
|
330
|
+
},
|
|
331
|
+
// Compose classnames.
|
|
321
332
|
className: mx(defaultClassNames, className, classNames)
|
|
322
333
|
});
|
|
334
|
+
var COMPOSABLE = /* @__PURE__ */ Symbol.for("dxos.composable");
|
|
335
|
+
function slottable(render) {
|
|
336
|
+
const wrapped = (props, forwardedRef) => {
|
|
337
|
+
let warn = false;
|
|
338
|
+
if (props.asChild) {
|
|
339
|
+
try {
|
|
340
|
+
const child = Children.only(props.children);
|
|
341
|
+
if (isValidElement(child) && typeof child.type !== "string" && !child.type[COMPOSABLE]) {
|
|
342
|
+
warn = true;
|
|
343
|
+
log.warn("slot child is not composable; create it with composable() or slottable()", {
|
|
344
|
+
child: child.type.displayName ?? child.type.name
|
|
345
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 100, S: this });
|
|
346
|
+
}
|
|
347
|
+
} catch {
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
const result = render(props, forwardedRef);
|
|
351
|
+
if (warn) {
|
|
352
|
+
return createElement("div", {
|
|
353
|
+
role: "none",
|
|
354
|
+
className: "dx-slot-warning"
|
|
355
|
+
}, result);
|
|
356
|
+
}
|
|
357
|
+
return result;
|
|
358
|
+
};
|
|
359
|
+
const component = forwardRef(wrapped);
|
|
360
|
+
component[COMPOSABLE] = true;
|
|
361
|
+
return component;
|
|
362
|
+
}
|
|
363
|
+
function composable(render) {
|
|
364
|
+
const component = forwardRef(render);
|
|
365
|
+
component[COMPOSABLE] = true;
|
|
366
|
+
return component;
|
|
367
|
+
}
|
|
323
368
|
|
|
324
|
-
// src/
|
|
325
|
-
var
|
|
326
|
-
|
|
369
|
+
// src/util/size.ts
|
|
370
|
+
var sizeMap = {
|
|
371
|
+
0: {
|
|
372
|
+
w: "w-0",
|
|
373
|
+
h: "h-0"
|
|
374
|
+
},
|
|
375
|
+
px: {
|
|
376
|
+
w: "w-px",
|
|
377
|
+
h: "h-px"
|
|
378
|
+
},
|
|
379
|
+
0.5: {
|
|
380
|
+
w: "w-0.5",
|
|
381
|
+
h: "h-0.5"
|
|
382
|
+
},
|
|
383
|
+
1: {
|
|
384
|
+
w: "w-1",
|
|
385
|
+
h: "h-1"
|
|
386
|
+
},
|
|
387
|
+
1.5: {
|
|
388
|
+
w: "w-1.5",
|
|
389
|
+
h: "h-1.5"
|
|
390
|
+
},
|
|
391
|
+
2: {
|
|
392
|
+
w: "w-2",
|
|
393
|
+
h: "h-2"
|
|
394
|
+
},
|
|
395
|
+
2.5: {
|
|
396
|
+
w: "w-2.5",
|
|
397
|
+
h: "h-2.5"
|
|
398
|
+
},
|
|
399
|
+
3: {
|
|
400
|
+
w: "w-3",
|
|
401
|
+
h: "h-3"
|
|
402
|
+
},
|
|
403
|
+
3.5: {
|
|
404
|
+
w: "w-3.5",
|
|
405
|
+
h: "h-3.5"
|
|
406
|
+
},
|
|
407
|
+
4: {
|
|
408
|
+
w: "w-4",
|
|
409
|
+
h: "h-4"
|
|
410
|
+
},
|
|
411
|
+
5: {
|
|
412
|
+
w: "w-5",
|
|
413
|
+
h: "h-5"
|
|
414
|
+
},
|
|
415
|
+
6: {
|
|
416
|
+
w: "w-6",
|
|
417
|
+
h: "h-6"
|
|
418
|
+
},
|
|
419
|
+
7: {
|
|
420
|
+
w: "w-7",
|
|
421
|
+
h: "h-7"
|
|
422
|
+
},
|
|
423
|
+
8: {
|
|
424
|
+
w: "w-8",
|
|
425
|
+
h: "h-8"
|
|
426
|
+
},
|
|
427
|
+
9: {
|
|
428
|
+
w: "w-9",
|
|
429
|
+
h: "h-9"
|
|
430
|
+
},
|
|
431
|
+
10: {
|
|
432
|
+
w: "w-10",
|
|
433
|
+
h: "h-10"
|
|
434
|
+
},
|
|
435
|
+
11: {
|
|
436
|
+
w: "w-11",
|
|
437
|
+
h: "h-11"
|
|
438
|
+
},
|
|
439
|
+
12: {
|
|
440
|
+
w: "w-12",
|
|
441
|
+
h: "h-12"
|
|
442
|
+
},
|
|
443
|
+
14: {
|
|
444
|
+
w: "w-14",
|
|
445
|
+
h: "h-14"
|
|
446
|
+
},
|
|
447
|
+
16: {
|
|
448
|
+
w: "w-16",
|
|
449
|
+
h: "h-16"
|
|
450
|
+
},
|
|
451
|
+
20: {
|
|
452
|
+
w: "w-20",
|
|
453
|
+
h: "h-20"
|
|
454
|
+
},
|
|
455
|
+
24: {
|
|
456
|
+
w: "w-24",
|
|
457
|
+
h: "h-24"
|
|
458
|
+
},
|
|
459
|
+
28: {
|
|
460
|
+
w: "w-28",
|
|
461
|
+
h: "h-28"
|
|
462
|
+
},
|
|
463
|
+
32: {
|
|
464
|
+
w: "w-32",
|
|
465
|
+
h: "h-32"
|
|
466
|
+
},
|
|
467
|
+
36: {
|
|
468
|
+
w: "w-36",
|
|
469
|
+
h: "h-36"
|
|
470
|
+
},
|
|
471
|
+
40: {
|
|
472
|
+
w: "w-40",
|
|
473
|
+
h: "h-40"
|
|
474
|
+
},
|
|
475
|
+
44: {
|
|
476
|
+
w: "w-44",
|
|
477
|
+
h: "h-44"
|
|
478
|
+
},
|
|
479
|
+
48: {
|
|
480
|
+
w: "w-48",
|
|
481
|
+
h: "h-48"
|
|
482
|
+
},
|
|
483
|
+
52: {
|
|
484
|
+
w: "w-52",
|
|
485
|
+
h: "h-52"
|
|
486
|
+
},
|
|
487
|
+
56: {
|
|
488
|
+
w: "w-56",
|
|
489
|
+
h: "h-56"
|
|
490
|
+
},
|
|
491
|
+
60: {
|
|
492
|
+
w: "w-60",
|
|
493
|
+
h: "h-60"
|
|
494
|
+
},
|
|
495
|
+
64: {
|
|
496
|
+
w: "w-64",
|
|
497
|
+
h: "h-64"
|
|
498
|
+
},
|
|
499
|
+
72: {
|
|
500
|
+
w: "w-72",
|
|
501
|
+
h: "h-72"
|
|
502
|
+
},
|
|
503
|
+
80: {
|
|
504
|
+
w: "w-80",
|
|
505
|
+
h: "h-80"
|
|
506
|
+
},
|
|
507
|
+
96: {
|
|
508
|
+
w: "w-96",
|
|
509
|
+
h: "h-96"
|
|
510
|
+
}
|
|
327
511
|
};
|
|
328
|
-
var
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
"w-0.5"
|
|
340
|
-
],
|
|
341
|
-
[
|
|
342
|
-
1,
|
|
343
|
-
"w-1"
|
|
344
|
-
],
|
|
345
|
-
[
|
|
346
|
-
1.5,
|
|
347
|
-
"w-1.5"
|
|
348
|
-
],
|
|
349
|
-
[
|
|
350
|
-
2,
|
|
351
|
-
"w-2"
|
|
352
|
-
],
|
|
353
|
-
[
|
|
354
|
-
2.5,
|
|
355
|
-
"w-2.5"
|
|
356
|
-
],
|
|
357
|
-
[
|
|
358
|
-
3,
|
|
359
|
-
"w-3"
|
|
360
|
-
],
|
|
361
|
-
[
|
|
362
|
-
3.5,
|
|
363
|
-
"w-3.5"
|
|
364
|
-
],
|
|
365
|
-
[
|
|
366
|
-
4,
|
|
367
|
-
"w-4"
|
|
368
|
-
],
|
|
369
|
-
[
|
|
370
|
-
5,
|
|
371
|
-
"w-5"
|
|
372
|
-
],
|
|
373
|
-
[
|
|
374
|
-
6,
|
|
375
|
-
"w-6"
|
|
376
|
-
],
|
|
377
|
-
[
|
|
378
|
-
7,
|
|
379
|
-
"w-7"
|
|
380
|
-
],
|
|
381
|
-
[
|
|
382
|
-
8,
|
|
383
|
-
"w-8"
|
|
384
|
-
],
|
|
385
|
-
[
|
|
386
|
-
9,
|
|
387
|
-
"w-9"
|
|
388
|
-
],
|
|
389
|
-
[
|
|
390
|
-
10,
|
|
391
|
-
"w-10"
|
|
392
|
-
],
|
|
393
|
-
[
|
|
394
|
-
11,
|
|
395
|
-
"w-11"
|
|
396
|
-
],
|
|
397
|
-
[
|
|
398
|
-
12,
|
|
399
|
-
"w-12"
|
|
400
|
-
],
|
|
401
|
-
[
|
|
402
|
-
14,
|
|
403
|
-
"w-14"
|
|
404
|
-
],
|
|
405
|
-
[
|
|
406
|
-
16,
|
|
407
|
-
"w-16"
|
|
408
|
-
],
|
|
409
|
-
[
|
|
410
|
-
20,
|
|
411
|
-
"w-20"
|
|
412
|
-
],
|
|
413
|
-
[
|
|
414
|
-
24,
|
|
415
|
-
"w-24"
|
|
416
|
-
],
|
|
417
|
-
[
|
|
418
|
-
28,
|
|
419
|
-
"w-28"
|
|
420
|
-
],
|
|
421
|
-
[
|
|
422
|
-
32,
|
|
423
|
-
"w-32"
|
|
424
|
-
],
|
|
425
|
-
[
|
|
426
|
-
36,
|
|
427
|
-
"w-36"
|
|
428
|
-
],
|
|
429
|
-
[
|
|
430
|
-
40,
|
|
431
|
-
"w-40"
|
|
432
|
-
],
|
|
433
|
-
[
|
|
434
|
-
44,
|
|
435
|
-
"w-44"
|
|
436
|
-
],
|
|
437
|
-
[
|
|
438
|
-
48,
|
|
439
|
-
"w-48"
|
|
440
|
-
],
|
|
441
|
-
[
|
|
442
|
-
52,
|
|
443
|
-
"w-52"
|
|
444
|
-
],
|
|
445
|
-
[
|
|
446
|
-
56,
|
|
447
|
-
"w-56"
|
|
448
|
-
],
|
|
449
|
-
[
|
|
450
|
-
60,
|
|
451
|
-
"w-60"
|
|
452
|
-
],
|
|
453
|
-
[
|
|
454
|
-
64,
|
|
455
|
-
"w-64"
|
|
456
|
-
],
|
|
457
|
-
[
|
|
458
|
-
72,
|
|
459
|
-
"w-72"
|
|
460
|
-
],
|
|
461
|
-
[
|
|
462
|
-
80,
|
|
463
|
-
"w-80"
|
|
464
|
-
],
|
|
465
|
-
[
|
|
466
|
-
96,
|
|
467
|
-
"w-96"
|
|
468
|
-
]
|
|
469
|
-
]);
|
|
470
|
-
var sizeHeightMap = /* @__PURE__ */ new Map([
|
|
471
|
-
[
|
|
472
|
-
0,
|
|
473
|
-
"h-0"
|
|
474
|
-
],
|
|
475
|
-
[
|
|
476
|
-
"px",
|
|
477
|
-
"h-px"
|
|
478
|
-
],
|
|
479
|
-
[
|
|
480
|
-
0.5,
|
|
481
|
-
"h-0.5"
|
|
482
|
-
],
|
|
483
|
-
[
|
|
484
|
-
1,
|
|
485
|
-
"h-1"
|
|
486
|
-
],
|
|
487
|
-
[
|
|
488
|
-
1.5,
|
|
489
|
-
"h-1.5"
|
|
490
|
-
],
|
|
491
|
-
[
|
|
492
|
-
2,
|
|
493
|
-
"h-2"
|
|
494
|
-
],
|
|
495
|
-
[
|
|
496
|
-
2.5,
|
|
497
|
-
"h-2.5"
|
|
498
|
-
],
|
|
499
|
-
[
|
|
500
|
-
3,
|
|
501
|
-
"h-3"
|
|
502
|
-
],
|
|
503
|
-
[
|
|
504
|
-
3.5,
|
|
505
|
-
"h-3.5"
|
|
506
|
-
],
|
|
507
|
-
[
|
|
508
|
-
4,
|
|
509
|
-
"h-4"
|
|
510
|
-
],
|
|
511
|
-
[
|
|
512
|
-
5,
|
|
513
|
-
"h-5"
|
|
514
|
-
],
|
|
515
|
-
[
|
|
516
|
-
6,
|
|
517
|
-
"h-6"
|
|
518
|
-
],
|
|
519
|
-
[
|
|
520
|
-
7,
|
|
521
|
-
"h-7"
|
|
522
|
-
],
|
|
523
|
-
[
|
|
524
|
-
8,
|
|
525
|
-
"h-8"
|
|
526
|
-
],
|
|
527
|
-
[
|
|
528
|
-
9,
|
|
529
|
-
"h-9"
|
|
530
|
-
],
|
|
531
|
-
[
|
|
532
|
-
10,
|
|
533
|
-
"h-10"
|
|
534
|
-
],
|
|
535
|
-
[
|
|
536
|
-
11,
|
|
537
|
-
"h-11"
|
|
538
|
-
],
|
|
539
|
-
[
|
|
540
|
-
12,
|
|
541
|
-
"h-12"
|
|
542
|
-
],
|
|
543
|
-
[
|
|
544
|
-
14,
|
|
545
|
-
"h-14"
|
|
546
|
-
],
|
|
547
|
-
[
|
|
548
|
-
16,
|
|
549
|
-
"h-16"
|
|
550
|
-
],
|
|
551
|
-
[
|
|
552
|
-
20,
|
|
553
|
-
"h-20"
|
|
554
|
-
],
|
|
555
|
-
[
|
|
556
|
-
24,
|
|
557
|
-
"h-24"
|
|
558
|
-
],
|
|
559
|
-
[
|
|
560
|
-
28,
|
|
561
|
-
"h-28"
|
|
562
|
-
],
|
|
563
|
-
[
|
|
564
|
-
32,
|
|
565
|
-
"h-32"
|
|
566
|
-
],
|
|
567
|
-
[
|
|
568
|
-
36,
|
|
569
|
-
"h-36"
|
|
570
|
-
],
|
|
571
|
-
[
|
|
572
|
-
40,
|
|
573
|
-
"h-40"
|
|
574
|
-
],
|
|
575
|
-
[
|
|
576
|
-
44,
|
|
577
|
-
"h-44"
|
|
578
|
-
],
|
|
579
|
-
[
|
|
580
|
-
48,
|
|
581
|
-
"h-48"
|
|
582
|
-
],
|
|
583
|
-
[
|
|
584
|
-
52,
|
|
585
|
-
"h-52"
|
|
586
|
-
],
|
|
587
|
-
[
|
|
588
|
-
56,
|
|
589
|
-
"h-56"
|
|
590
|
-
],
|
|
591
|
-
[
|
|
592
|
-
60,
|
|
593
|
-
"h-60"
|
|
594
|
-
],
|
|
595
|
-
[
|
|
596
|
-
64,
|
|
597
|
-
"h-64"
|
|
598
|
-
],
|
|
599
|
-
[
|
|
600
|
-
72,
|
|
601
|
-
"h-72"
|
|
602
|
-
],
|
|
603
|
-
[
|
|
604
|
-
80,
|
|
605
|
-
"h-80"
|
|
606
|
-
],
|
|
607
|
-
[
|
|
608
|
-
96,
|
|
609
|
-
"h-96"
|
|
610
|
-
]
|
|
611
|
-
]);
|
|
612
|
-
var sizes = new Set(sizeWidthMap.keys());
|
|
613
|
-
var getSizeHeight = sizeHeightMap.get.bind(sizeHeightMap);
|
|
614
|
-
var getSizeWidth = sizeWidthMap.get.bind(sizeWidthMap);
|
|
615
|
-
var getSize = (size) => mx(getSizeHeight(size), getSizeWidth(size));
|
|
616
|
-
var computeSize = (value, defaultSize) => {
|
|
617
|
-
if (sizes.has(value)) {
|
|
512
|
+
var SIZE_VALUES = Object.keys(sizeMap).map((key) => key === "px" ? "px" : Number(key));
|
|
513
|
+
var getHeight = (size) => sizeMap[size]?.h;
|
|
514
|
+
var getWidth = (size) => sizeMap[size]?.w;
|
|
515
|
+
var getSize = (size) => mx(getHeight(size), getWidth(size));
|
|
516
|
+
var sizeValue = (size) => size === "px" ? 1 : size;
|
|
517
|
+
var sizeToRem = (size) => size === "px" ? "1px" : `${size * 0.25}rem`;
|
|
518
|
+
var iconSize = (size) => ({
|
|
519
|
+
"--icon-size": size ? sizeToRem(size) : "initial"
|
|
520
|
+
});
|
|
521
|
+
var snapSize = (value, defaultSize) => {
|
|
522
|
+
if (SIZE_VALUES.includes(value)) {
|
|
618
523
|
return value;
|
|
619
524
|
} else if (value <= 0) {
|
|
620
525
|
return 0;
|
|
621
|
-
} else if (value
|
|
526
|
+
} else if (value < 0.5) {
|
|
622
527
|
return "px";
|
|
623
528
|
} else {
|
|
624
529
|
const wholeSeries = Math.floor(value);
|
|
625
530
|
const halfSeries = Math.floor(value * 2) / 2;
|
|
626
531
|
const doubleSeries = Math.floor(value / 2) * 2;
|
|
627
532
|
const quadrupleSeries = Math.floor(value / 4) * 4;
|
|
628
|
-
if (
|
|
533
|
+
if (SIZE_VALUES.includes(halfSeries)) {
|
|
629
534
|
return halfSeries;
|
|
630
|
-
} else if (
|
|
535
|
+
} else if (SIZE_VALUES.includes(wholeSeries)) {
|
|
631
536
|
return wholeSeries;
|
|
632
|
-
} else if (
|
|
537
|
+
} else if (SIZE_VALUES.includes(doubleSeries)) {
|
|
633
538
|
return doubleSeries;
|
|
634
|
-
} else if (
|
|
539
|
+
} else if (SIZE_VALUES.includes(quadrupleSeries)) {
|
|
635
540
|
return quadrupleSeries;
|
|
636
541
|
} else {
|
|
637
542
|
return defaultSize;
|
|
638
543
|
}
|
|
639
544
|
}
|
|
640
545
|
};
|
|
641
|
-
var sizeValue = (size) => size === "px" ? 1 : size;
|
|
642
|
-
|
|
643
|
-
// src/fragments/text.ts
|
|
644
|
-
var descriptionTextPrimary = "text-sm font-normal text-base-surface-text";
|
|
645
|
-
var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
|
|
646
546
|
|
|
647
|
-
// src/
|
|
547
|
+
// src/util/valence.ts
|
|
648
548
|
var textValence = (valence) => {
|
|
649
549
|
switch (valence) {
|
|
650
550
|
case "success":
|
|
@@ -676,12 +576,12 @@ var messageValence = (valence) => {
|
|
|
676
576
|
var avatarRoot = ({ size = 10, inGroup }, ...etc) => mx("relative inline-flex shrink-0", getSize(size), inGroup && (size === "px" || size <= 3 ? "-mr-1" : "-mr-2"), ...etc);
|
|
677
577
|
var avatarLabel = ({ srOnly }, ...etc) => mx(srOnly && "sr-only", ...etc);
|
|
678
578
|
var avatarDescription = ({ srOnly }, ...etc) => mx("text-description", srOnly && "sr-only", ...etc);
|
|
679
|
-
var avatarFrame = ({ variant }, ...etc) => mx("
|
|
579
|
+
var avatarFrame = ({ variant }, ...etc) => mx("h-full w-full bg-(--surface-bg)", variant === "circle" ? "rounded-full" : "rounded-sm", ...etc);
|
|
680
580
|
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);
|
|
681
581
|
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);
|
|
682
582
|
var avatarFallbackText = (_props, ...etc) => mx("fill-white", ...etc);
|
|
683
583
|
var avatarGroup = (_props, ...etc) => mx("inline-flex items-center", ...etc);
|
|
684
|
-
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 &&
|
|
584
|
+
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);
|
|
685
585
|
var avatarGroupDescription = ({ srOnly }, ...etc) => mx(srOnly ? "sr-only" : "text-description", ...etc);
|
|
686
586
|
var avatarTheme = {
|
|
687
587
|
root: avatarRoot,
|
|
@@ -711,12 +611,12 @@ var breadcrumbTheme = {
|
|
|
711
611
|
};
|
|
712
612
|
|
|
713
613
|
// src/theme/components/card.ts
|
|
714
|
-
var cardRoot = ({ border, fullWidth }, ...etc) => mx("dx-card
|
|
614
|
+
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);
|
|
715
615
|
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);
|
|
716
616
|
var cardTitle = (_props, ...etc) => mx("dx-card__title grow truncate", ...etc);
|
|
717
|
-
var cardContent = (_props, ...etc) => mx("dx-card__content contents
|
|
617
|
+
var cardContent = (_props, ...etc) => mx("dx-card__content contents pb-1 last:pb-0", ...etc);
|
|
718
618
|
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);
|
|
719
|
-
var cardText = ({ variant = "default", truncate: _truncate }, ...etc) => mx("dx-card__text
|
|
619
|
+
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);
|
|
720
620
|
var cardTextSpan = ({ variant = "default", truncate }, ...etc) => mx(variant === "description" && "text-sm text-description line-clamp-3", truncate && "truncate", ...etc);
|
|
721
621
|
var cardPoster = (_props, ...etc) => mx("dx-card__poster col-span-3 max-h-[200px]", ...etc);
|
|
722
622
|
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);
|
|
@@ -724,12 +624,14 @@ var cardAction = (_props, ...etc) => mx("dx-card__acztion col-span-3 !grid grid-
|
|
|
724
624
|
var cardActionLabel = (_props, ...etc) => mx("dx-card__action-label min-w-0 flex-1 truncate", ...etc);
|
|
725
625
|
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);
|
|
726
626
|
var cardLinkLabel = (_props, ...etc) => mx("dx-card__link-label min-w-0 flex-1 truncate", ...etc);
|
|
727
|
-
var
|
|
627
|
+
var cardRow = (_, ...etc) => mx("dx-card__row col-span-3 grid grid-cols-subgrid", ...etc);
|
|
628
|
+
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);
|
|
728
629
|
var cardTheme = {
|
|
729
630
|
root: cardRoot,
|
|
730
631
|
toolbar: cardToolbar,
|
|
731
632
|
title: cardTitle,
|
|
732
633
|
content: cardContent,
|
|
634
|
+
row: cardRow,
|
|
733
635
|
heading: cardHeading,
|
|
734
636
|
text: cardText,
|
|
735
637
|
"text-span": cardTextSpan,
|
|
@@ -743,8 +645,8 @@ var cardTheme = {
|
|
|
743
645
|
};
|
|
744
646
|
|
|
745
647
|
// src/theme/components/button.ts
|
|
746
|
-
var primaryButtonColors = "text-accent-
|
|
747
|
-
var staticDefaultButtonColors = "bg-input-surface text-input-
|
|
648
|
+
var primaryButtonColors = "text-accent-foreground 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";
|
|
649
|
+
var staticDefaultButtonColors = "bg-input-surface text-input-foreground";
|
|
748
650
|
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");
|
|
749
651
|
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");
|
|
750
652
|
var buttonRoot = (_props, ...etc) => {
|
|
@@ -758,8 +660,37 @@ var buttonTheme = {
|
|
|
758
660
|
group: buttonGroup
|
|
759
661
|
};
|
|
760
662
|
|
|
663
|
+
// src/theme/primitives/column.ts
|
|
664
|
+
var withColumn = {
|
|
665
|
+
/** Centers element in the Column grid via --dx-col. No-op outside Column or inside ScrollArea. */
|
|
666
|
+
center: () => "[grid-column:var(--dx-col,auto)]",
|
|
667
|
+
/** Propagates the Column grid to children via subgrid. No-op outside Column.
|
|
668
|
+
* Direct children default to center column unless they are a dx-container (ScrollArea). */
|
|
669
|
+
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)]",
|
|
670
|
+
/** Resets --dx-col after consuming --gutter. Applied by ScrollArea.Viewport. */
|
|
671
|
+
consumed: () => "[--dx-col:auto]"
|
|
672
|
+
};
|
|
673
|
+
var columnRoot = (_, ...etc) => {
|
|
674
|
+
return mx("dx-column-root grid", ...etc);
|
|
675
|
+
};
|
|
676
|
+
var columnRow = (_, ...etc) => {
|
|
677
|
+
return mx("col-span-3 grid grid-cols-subgrid", ...etc);
|
|
678
|
+
};
|
|
679
|
+
var columnBleed = (_, ...etc) => {
|
|
680
|
+
return mx("col-span-full grid grid-cols-subgrid min-h-0", ...etc);
|
|
681
|
+
};
|
|
682
|
+
var columnCenter = (_, ...etc) => {
|
|
683
|
+
return mx(withColumn.center(), "min-h-0", ...etc);
|
|
684
|
+
};
|
|
685
|
+
var columnTheme = {
|
|
686
|
+
root: columnRoot,
|
|
687
|
+
row: columnRow,
|
|
688
|
+
bleed: columnBleed,
|
|
689
|
+
center: columnCenter
|
|
690
|
+
};
|
|
691
|
+
|
|
761
692
|
// src/theme/components/dialog.ts
|
|
762
|
-
var
|
|
693
|
+
var sizeMap2 = {
|
|
763
694
|
sm: "md:max-w-[24rem]",
|
|
764
695
|
md: "md:max-w-[32rem]!",
|
|
765
696
|
lg: "md:max-w-[40rem]!",
|
|
@@ -767,11 +698,11 @@ var sizeMap = {
|
|
|
767
698
|
};
|
|
768
699
|
var dialogOverlay = (_props, ...etc) => mx("dx-dialog__overlay", ...etc);
|
|
769
700
|
var dialogContent = ({ inOverlayLayout, size = "md" }, ...etc) => {
|
|
770
|
-
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%]",
|
|
701
|
+
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);
|
|
771
702
|
};
|
|
772
|
-
var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", ...etc);
|
|
773
|
-
var dialogBody = (_props, ...etc) => mx("dx-dialog__body
|
|
774
|
-
var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", ...etc);
|
|
703
|
+
var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", withColumn.center(), ...etc);
|
|
704
|
+
var dialogBody = (_props, ...etc) => mx("dx-dialog__body dx-expander", withColumn.propagate(), ...etc);
|
|
705
|
+
var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", withColumn.center(), ...etc);
|
|
775
706
|
var dialogTitle = ({ srOnly }, ...etc) => mx("dx-dialog__title", srOnly && "sr-only", ...etc);
|
|
776
707
|
var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", "text-description", srOnly && "sr-only", ...etc);
|
|
777
708
|
var dialogTheme = {
|
|
@@ -784,15 +715,24 @@ var dialogTheme = {
|
|
|
784
715
|
description: dialogDescription
|
|
785
716
|
};
|
|
786
717
|
|
|
718
|
+
// src/theme/components/focus.ts
|
|
719
|
+
var focusRing = ({ border }, ...etc) => mx("dx-ring-pseudo outline-hidden", "focus:after:ring-focus-ring-subtle", "data-[focus-state=active]:after:ring-focus-ring-subtle", "data-[focus-state=error]:after:ring-rose-500", border && "border border-separator", ...etc);
|
|
720
|
+
var focusTheme = {
|
|
721
|
+
group: focusRing,
|
|
722
|
+
item: focusRing
|
|
723
|
+
};
|
|
724
|
+
|
|
787
725
|
// src/theme/components/icon.ts
|
|
788
|
-
var iconRoot = ({ size }, etc) =>
|
|
726
|
+
var iconRoot = ({ size }, etc) => {
|
|
727
|
+
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);
|
|
728
|
+
};
|
|
789
729
|
var iconTheme = {
|
|
790
730
|
root: iconRoot
|
|
791
731
|
};
|
|
792
732
|
|
|
793
733
|
// src/theme/components/icon-button.ts
|
|
794
|
-
var iconButtonRoot = ({ iconOnly }, ...etc) => {
|
|
795
|
-
return mx("
|
|
734
|
+
var iconButtonRoot = ({ iconOnly, square }, ...etc) => {
|
|
735
|
+
return mx("px-1.5", !iconOnly && "gap-1.5", square && "aspect-square", ...etc);
|
|
796
736
|
};
|
|
797
737
|
var iconButtonTheme = {
|
|
798
738
|
root: iconButtonRoot
|
|
@@ -817,49 +757,46 @@ var inputValence = (valence) => {
|
|
|
817
757
|
}
|
|
818
758
|
};
|
|
819
759
|
var sharedSubduedInputStyles = (props) => [
|
|
820
|
-
"py-0 w-full bg-transparent text-current placeholder-placeholder",
|
|
821
760
|
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
822
|
-
|
|
823
|
-
|
|
761
|
+
"py-0 w-full bg-transparent text-current placeholder-placeholder",
|
|
762
|
+
"dx-focus-subdued",
|
|
763
|
+
densityDimensions(props.density),
|
|
824
764
|
props.disabled && staticDisabled
|
|
825
765
|
];
|
|
826
766
|
var sharedDefaultInputStyles = (props) => [
|
|
827
|
-
"py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
|
|
828
767
|
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
768
|
+
"py-0 w-full text-base-foreground rounded-xs placeholder-placeholder",
|
|
829
769
|
textInputSurfaceFocus,
|
|
830
|
-
props.density
|
|
770
|
+
densityDimensions(props.density),
|
|
831
771
|
props.disabled ? staticDisabled : textInputSurfaceHover
|
|
832
772
|
];
|
|
833
773
|
var sharedStaticInputStyles = (props) => [
|
|
834
|
-
"py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
|
|
835
774
|
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
775
|
+
"py-0 w-full text-base-foreground rounded-xs placeholder-placeholder",
|
|
836
776
|
textInputSurfaceFocus,
|
|
837
777
|
textInputSurfaceHover,
|
|
838
778
|
props.focused && "bg-attention-surface",
|
|
839
779
|
inputValence(props.validationValence),
|
|
840
780
|
props.disabled && staticDisabled,
|
|
841
|
-
props.focused &&
|
|
781
|
+
props.focused && "dx-focus-static"
|
|
842
782
|
];
|
|
843
|
-
var inputInput = (props, ...etc) => props.variant === "subdued" ? mx(...sharedSubduedInputStyles(props), ...etc) : props.variant === "static" ? mx(...sharedStaticInputStyles(props), ...etc) : mx(...sharedDefaultInputStyles(props), !props.disabled &&
|
|
844
|
-
var inputTextArea = (props, ...etc) => inputInput(props, ...
|
|
845
|
-
"-mb-1.5",
|
|
846
|
-
...etc
|
|
847
|
-
]);
|
|
783
|
+
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);
|
|
784
|
+
var inputTextArea = (props, ...etc) => inputInput(props, ...etc);
|
|
848
785
|
var inputCheckbox = ({ size = 5 }, ...etc) => mx("dx-checkbox dx-focus-ring", getSize(size), ...etc);
|
|
849
|
-
var inputCheckboxIndicator = ({ size = 5, checked }, ...etc) => mx(getSize(
|
|
786
|
+
var inputCheckboxIndicator = ({ size = 5, checked }, ...etc) => mx(getSize(snapSize(sizeValue(size) * 0.65, 4)), !checked && "invisible", ...etc);
|
|
850
787
|
var inputSwitch = ({ size = 5, disabled }, ...etc) => mx(
|
|
851
|
-
|
|
852
|
-
|
|
788
|
+
getHeight(size),
|
|
789
|
+
getWidth(snapSize(sizeValue(size) * 1.75, 9)),
|
|
853
790
|
booleanInputSurface,
|
|
854
791
|
!disabled && booleanInputSurfaceHover,
|
|
855
792
|
// TODO(burdon): Added m-1 margin to make 40px width to align with 40px icon button.
|
|
856
793
|
"cursor-pointer shrink-0 rounded-full px-1 mx-1 relative",
|
|
857
|
-
|
|
794
|
+
"dx-focus-ring",
|
|
858
795
|
...etc
|
|
859
796
|
);
|
|
860
797
|
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);
|
|
861
798
|
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);
|
|
862
|
-
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-
|
|
799
|
+
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-foreground transition-colors border border-separator", "data-[focused]:bg-attention-surface data-[focused]:border-focus-ring-subtle", "data-[focused]:ring-2 data-[focused]:ring-offset-0 data-[focused]:ring-focus-ring-subtle", inputValence(props.validationValence), props.disabled && staticDisabled, ...etc);
|
|
863
800
|
var inputLabel = (props, ...etc) => mx("block", inputTextLabel, props.srOnly && "sr-only", ...etc);
|
|
864
801
|
var inputDescription = (props, ...etc) => mx("text-description", props.srOnly && "sr-only", ...etc);
|
|
865
802
|
var inputDescriptionAndValidation = (props, ...etc) => mx("leading-none my-1.5", props.srOnly && "sr-only", ...etc);
|
|
@@ -880,7 +817,7 @@ var inputTheme = {
|
|
|
880
817
|
};
|
|
881
818
|
|
|
882
819
|
// src/theme/components/link.ts
|
|
883
|
-
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",
|
|
820
|
+
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);
|
|
884
821
|
var linkTheme = {
|
|
885
822
|
root: linkRoot
|
|
886
823
|
};
|
|
@@ -889,9 +826,9 @@ var linkTheme = {
|
|
|
889
826
|
var listRoot = (_, ...etc) => mx(...etc);
|
|
890
827
|
var listItem = ({ collapsible }, ...etc) => mx(!collapsible && "flex", ...etc);
|
|
891
828
|
var listItemEndcap = ({ density }, ...etc) => mx(density === "fine" ? getSize(8) : getSize(10), "shrink-0 flex items-center justify-center", ...etc);
|
|
892
|
-
var listItemHeading = ({ density }, ...etc) => mx(densityBlockSize(density), "flex items-center", ...etc);
|
|
829
|
+
var listItemHeading = ({ density }, ...etc) => mx(densityBlockSize(density), "flex items-center overflow-hidden [&>span]:truncate", ...etc);
|
|
893
830
|
var listItemDragHandleIcon = (_props, ...etc) => mx(getSize(5), "mt-2.5", ...etc);
|
|
894
|
-
var listItemOpenTrigger = ({ density }, ...etc) => mx("w-5 rounded-sm flex justify-center items-center", densityBlockSize(density), ghostHover,
|
|
831
|
+
var listItemOpenTrigger = ({ density }, ...etc) => mx("w-5 rounded-sm flex justify-center items-center", densityBlockSize(density), ghostHover, "dx-focus-ring", ...etc);
|
|
895
832
|
var listItemOpenTriggerIcon = (_props, ...etc) => {
|
|
896
833
|
return mx(getSize(5), ...etc);
|
|
897
834
|
};
|
|
@@ -930,7 +867,7 @@ var menuContent = ({ elevation }, ...etc) => mx("dx-modal-surface w-48 rounded-s
|
|
|
930
867
|
elevation: "positioned"
|
|
931
868
|
}), ...etc);
|
|
932
869
|
var menuViewport = (_props, ...etc) => mx("rounded-sm p-1 max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto", ...etc);
|
|
933
|
-
var menuItem = (_props, ...etc) => mx("flex cursor-pointer select-none items-center gap-2 rounded-xs px-2 py-2 text-sm", "data-[highlighted]:bg-hover-surface",
|
|
870
|
+
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);
|
|
934
871
|
var menuSeparator = (_props, ...etc) => mx("my-1 mx-2 h-px bg-separator", ...etc);
|
|
935
872
|
var menuGroupLabel = (_props, ...etc) => mx("text-description", "select-none px-2 py-2", ...etc);
|
|
936
873
|
var menuArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
@@ -945,19 +882,19 @@ var menuTheme = {
|
|
|
945
882
|
|
|
946
883
|
// src/theme/components/message.ts
|
|
947
884
|
var messageRoot = ({ valence }, etc) => {
|
|
948
|
-
return mx("grid grid-cols-[
|
|
885
|
+
return mx("grid grid-cols-[2rem_1fr_2rem] p-1 rounded-sm", messageValence(valence), etc);
|
|
949
886
|
};
|
|
950
887
|
var messageHeader = (_, etc) => {
|
|
951
|
-
return mx("col-span-
|
|
888
|
+
return mx("col-span-full grid grid-cols-subgrid items-center", etc);
|
|
952
889
|
};
|
|
953
890
|
var messageTitle = (_, etc) => {
|
|
954
|
-
return mx("col-start-2
|
|
891
|
+
return mx("col-start-2 truncate", etc);
|
|
955
892
|
};
|
|
956
893
|
var messageIcon = (_, etc) => {
|
|
957
|
-
return mx("col-start-1", etc);
|
|
894
|
+
return mx("col-start-1 grid place-items-center", etc);
|
|
958
895
|
};
|
|
959
896
|
var messageContent = (_, etc) => {
|
|
960
|
-
return mx("grid grid-cols-subgrid
|
|
897
|
+
return mx("col-start-2 grid grid-cols-subgrid inline first:font-medium", etc);
|
|
961
898
|
};
|
|
962
899
|
var messageTheme = {
|
|
963
900
|
root: messageRoot,
|
|
@@ -973,15 +910,8 @@ var popoverContent = ({ elevation }, ...etc) => mx("dx-modal-surface border bord
|
|
|
973
910
|
}), surfaceZIndex({
|
|
974
911
|
elevation,
|
|
975
912
|
level: "menu"
|
|
976
|
-
}),
|
|
977
|
-
var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx(
|
|
978
|
-
"flex flex-col min-h-0 min-w-popover-min-width",
|
|
979
|
-
(constrainBlock || constrainInline) && "overflow-hidden",
|
|
980
|
-
// Ensures it respects available height from Radix (or 100dvh).
|
|
981
|
-
constrainBlock && "max-h-[min(var(--radix-popover-content-available-height),calc(100dvh-var(--spacing-screen-border)*2))]",
|
|
982
|
-
constrainInline && "max-w-(--radix-popover-content-available-width)",
|
|
983
|
-
...etc
|
|
984
|
-
);
|
|
913
|
+
}), "dx-focus-ring", ...etc);
|
|
914
|
+
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);
|
|
985
915
|
var popoverArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
986
916
|
var popoverTheme = {
|
|
987
917
|
content: popoverContent,
|
|
@@ -990,40 +920,66 @@ var popoverTheme = {
|
|
|
990
920
|
};
|
|
991
921
|
|
|
992
922
|
// src/theme/components/scroll-area.ts
|
|
993
|
-
var
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
923
|
+
var scrollbar = {
|
|
924
|
+
thin: {
|
|
925
|
+
size: 4,
|
|
926
|
+
padding: 4
|
|
927
|
+
},
|
|
928
|
+
coarse: {
|
|
929
|
+
size: 8,
|
|
930
|
+
padding: 8
|
|
931
|
+
}
|
|
932
|
+
};
|
|
933
|
+
var scrollAreaRoot = ({ orientation }, ...etc) => mx(
|
|
934
|
+
// Expand
|
|
935
|
+
"dx-container",
|
|
936
|
+
orientation === "vertical" && "group/scroll-v flex flex-col",
|
|
937
|
+
orientation === "horizontal" && "group/scroll-h flex",
|
|
938
|
+
orientation === "all" && "group/scroll-all",
|
|
939
|
+
// Apply col-span-full only when inside a Column.Root grid (detected via dx-column-root marker).
|
|
940
|
+
"[.dx-column-root_&]:col-span-full",
|
|
1008
941
|
...etc
|
|
1009
942
|
);
|
|
1010
|
-
var scrollAreaViewport = ({ orientation,
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
]
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
],
|
|
943
|
+
var scrollAreaViewport = ({ orientation, centered, padding, snap, autoHide }, ...etc) => {
|
|
944
|
+
return mx(
|
|
945
|
+
"flex-1 min-h-0 w-full",
|
|
946
|
+
// Reset --dx-col so nested components don't try to grid-position themselves.
|
|
947
|
+
// ScrollArea has already consumed --gutter for padding.
|
|
948
|
+
withColumn.consumed(),
|
|
949
|
+
orientation === "vertical" && "overflow-y-scroll",
|
|
950
|
+
orientation === "horizontal" && "flex overflow-x-scroll overscroll-x-contain",
|
|
951
|
+
orientation === "all" && "overflow-scroll",
|
|
952
|
+
"[&::-webkit-scrollbar-corner]:bg-transparent",
|
|
953
|
+
"[&::-webkit-scrollbar-track]:bg-transparent",
|
|
954
|
+
"[&::-webkit-scrollbar-thumb]:rounded-none",
|
|
955
|
+
"[&::-webkit-scrollbar]:w-[var(--scroll-width)] [&::-webkit-scrollbar]:h-[var(--scroll-width)]",
|
|
956
|
+
// If contained within Column.Root grid the gutter is set by that component (--gutter CSS variable).
|
|
957
|
+
// If centered, left padding compensates for scrollbar width so content is visually centered.
|
|
958
|
+
(orientation === "vertical" || orientation === "all") && (padding ? [
|
|
959
|
+
centered ? "pl-[var(--gutter,calc(var(--scroll-width)+var(--scroll-padding)))]" : "pl-[var(--gutter,0)]",
|
|
960
|
+
"pr-[calc(var(--gutter,calc(var(--scroll-width)+var(--scroll-padding)))-var(--scroll-width))]"
|
|
961
|
+
] : centered && "pl-[var(--scroll-width)]"),
|
|
962
|
+
(orientation === "horizontal" || orientation === "all") && (padding ? [
|
|
963
|
+
centered && "pt-[calc(var(--scroll-width)+var(--scroll-padding))]",
|
|
964
|
+
"pb-[var(--scroll-padding)]"
|
|
965
|
+
] : centered && "pt-[var(--scroll-width)]"),
|
|
966
|
+
snap && [
|
|
967
|
+
orientation === "vertical" && "snap-y snap-mandatory",
|
|
968
|
+
orientation === "horizontal" && "snap-x snap-mandatory",
|
|
969
|
+
orientation === "all" && "snap-both snap-mandatory"
|
|
970
|
+
],
|
|
971
|
+
autoHide ? [
|
|
972
|
+
orientation === "vertical" && "group-hover/scroll-v:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
973
|
+
orientation === "horizontal" && "group-hover/scroll-h:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
974
|
+
orientation === "all" && "group-hover/scroll-all:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
|
|
975
|
+
] : [
|
|
976
|
+
orientation === "vertical" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
977
|
+
orientation === "horizontal" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
978
|
+
orientation === "all" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
|
|
979
|
+
],
|
|
980
|
+
...etc
|
|
981
|
+
);
|
|
982
|
+
};
|
|
1027
983
|
var scrollAreaTheme = {
|
|
1028
984
|
root: scrollAreaRoot,
|
|
1029
985
|
viewport: scrollAreaViewport
|
|
@@ -1039,7 +995,7 @@ var selectContent = ({ elevation }, ...etc) => {
|
|
|
1039
995
|
}), ...etc);
|
|
1040
996
|
};
|
|
1041
997
|
var selectViewport = (_props, ...etc) => mx(...etc);
|
|
1042
|
-
var selectItem = (_props, ...etc) => mx("flex items-center min-h-[2rem] px-3 py-1 gap-2", "text-base-
|
|
998
|
+
var selectItem = (_props, ...etc) => mx("flex items-center min-h-[2rem] px-3 py-1 gap-2", "text-base-foreground leading-none select-none outline-hidden", "[&>svg]:invisible [&[data-state=checked]>svg]:visible", "dx-highlighted", ...etc);
|
|
1043
999
|
var selectItemIndicator = (_props, ...etc) => mx("items-center", ...etc);
|
|
1044
1000
|
var selectArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
1045
1001
|
var selectSeparator = (_props, ...etc) => mx("self-stretch border-b my-1 border-separator", ...etc);
|
|
@@ -1075,8 +1031,8 @@ var skeletonTheme = {
|
|
|
1075
1031
|
};
|
|
1076
1032
|
|
|
1077
1033
|
// src/theme/components/status.ts
|
|
1078
|
-
var statusRoot = ({ variant = "default" }, ...etc) => mx("h-1 relative
|
|
1079
|
-
var statusBar = ({
|
|
1034
|
+
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);
|
|
1035
|
+
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);
|
|
1080
1036
|
var statusTheme = {
|
|
1081
1037
|
root: statusRoot,
|
|
1082
1038
|
bar: statusBar
|
|
@@ -1097,7 +1053,7 @@ var toastViewport = (_props, ...etc) => mx(
|
|
|
1097
1053
|
);
|
|
1098
1054
|
var toastRoot = (_props, ...etc) => mx("dx-modal-surface rounded-md flex p-2 gap-2", surfaceShadow({
|
|
1099
1055
|
elevation: "toast"
|
|
1100
|
-
}), "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]",
|
|
1056
|
+
}), "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);
|
|
1101
1057
|
var toastBody = (_props, ...etc) => mx("grow flex flex-col gap-1 justify-center pl-2", ...etc);
|
|
1102
1058
|
var toastActions = (_props, ...etc) => mx("shrink-0 flex flex-col gap-1 justify-center", ...etc);
|
|
1103
1059
|
var toastTitle = ({ srOnly }, ...etc) => mx("shrink-0 font-medium", srOnly && "sr-only", ...etc);
|
|
@@ -1125,7 +1081,7 @@ var toolbarTheme = {
|
|
|
1125
1081
|
};
|
|
1126
1082
|
|
|
1127
1083
|
// src/theme/components/tooltip.ts
|
|
1128
|
-
var tooltipContent = ({ elevation }, ...etc) => mx("inline-flex items-center p-1 max-w-64 text-sm bg-inverse-surface text-inverse-
|
|
1084
|
+
var tooltipContent = ({ elevation }, ...etc) => mx("inline-flex items-center p-1 max-w-64 text-sm bg-inverse-surface text-inverse-foreground rounded-sm", surfaceShadow({
|
|
1129
1085
|
elevation: "positioned"
|
|
1130
1086
|
}), surfaceZIndex({
|
|
1131
1087
|
elevation,
|
|
@@ -1173,7 +1129,7 @@ var levelStyles = /* @__PURE__ */ new Map([
|
|
|
1173
1129
|
]
|
|
1174
1130
|
]);
|
|
1175
1131
|
var treegridRoot = (_, ...etc) => mx("grid", ...etc);
|
|
1176
|
-
var treegridRow = ({ level = 1 }, ...etc) => mx(
|
|
1132
|
+
var treegridRow = ({ level = 1 }, ...etc) => mx(levelStyles.get(Math.min(Math.max(Math.round(level), 1), 8)), ...etc);
|
|
1177
1133
|
var treegridCell = ({ indent }, ...etc) => mx(indent && "indent", ...etc);
|
|
1178
1134
|
var treegridTheme = {
|
|
1179
1135
|
root: treegridRoot,
|
|
@@ -1181,45 +1137,22 @@ var treegridTheme = {
|
|
|
1181
1137
|
cell: treegridCell
|
|
1182
1138
|
};
|
|
1183
1139
|
|
|
1184
|
-
// src/theme/theme.ts
|
|
1185
|
-
import { getDeep } from "@dxos/util";
|
|
1186
|
-
|
|
1187
|
-
// src/theme/primitives/column.ts
|
|
1188
|
-
var columnRoot = (_, ...etc) => mx("dx-column w-full min-w-0 grid", ...etc);
|
|
1189
|
-
var columnRow = (_, ...etc) => mx("col-span-3 grid grid-cols-subgrid", ...etc);
|
|
1190
|
-
var columnSegment = (_, ...etc) => mx("col-start-2 col-span-1 min-w-0", ...etc);
|
|
1191
|
-
var columnTheme = {
|
|
1192
|
-
root: columnRoot,
|
|
1193
|
-
row: columnRow,
|
|
1194
|
-
segment: columnSegment
|
|
1195
|
-
};
|
|
1196
|
-
|
|
1197
1140
|
// src/theme/primitives/panel.ts
|
|
1141
|
+
var sizes = {
|
|
1142
|
+
lg: "h-(--dx-topbar-size)",
|
|
1143
|
+
md: "h-(--dx-toolbar-size)",
|
|
1144
|
+
sm: "h-(--dx-statusbar-size)"
|
|
1145
|
+
};
|
|
1198
1146
|
var panelRoot = (_, ...etc) => mx(
|
|
1199
1147
|
// prettier-ignore
|
|
1200
|
-
"
|
|
1148
|
+
"dx-container grid grid-cols-[100%] overflow-hidden",
|
|
1201
1149
|
// Add uncategorized children to content slot.
|
|
1202
1150
|
"[&>*:not([data-slot])]:[grid-area:content]",
|
|
1203
1151
|
...etc
|
|
1204
1152
|
);
|
|
1205
|
-
var panelToolbar = (
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
"h-(--dx-toolbar-size)",
|
|
1209
|
-
"[.dx-main-mobile-layout_&]:px-3",
|
|
1210
|
-
...etc
|
|
1211
|
-
);
|
|
1212
|
-
var panelContent = (_, ...etc) => mx(
|
|
1213
|
-
// prettier-ignore
|
|
1214
|
-
"[grid-area:content] overflow-hidden min-h-0",
|
|
1215
|
-
...etc
|
|
1216
|
-
);
|
|
1217
|
-
var panelStatusbar = (_, ...etc) => mx(
|
|
1218
|
-
// prettier-ignore
|
|
1219
|
-
"[grid-area:statusbar]",
|
|
1220
|
-
"h-(--dx-statusbar-size)",
|
|
1221
|
-
...etc
|
|
1222
|
-
);
|
|
1153
|
+
var panelToolbar = ({ size = "md" }, ...etc) => mx("[grid-area:toolbar]", "shrink-0", sizes[size], ...etc);
|
|
1154
|
+
var panelContent = (_, ...etc) => mx("[grid-area:content] min-h-0", ...etc);
|
|
1155
|
+
var panelStatusbar = ({ size = "md" }, ...etc) => mx("[grid-area:statusbar]", "shrink-0", sizes[size], ...etc);
|
|
1223
1156
|
var panelTheme = {
|
|
1224
1157
|
root: panelRoot,
|
|
1225
1158
|
toolbar: panelToolbar,
|
|
@@ -1228,6 +1161,7 @@ var panelTheme = {
|
|
|
1228
1161
|
};
|
|
1229
1162
|
|
|
1230
1163
|
// src/theme/theme.ts
|
|
1164
|
+
import { getDeep } from "@dxos/util";
|
|
1231
1165
|
var defaultTheme = {
|
|
1232
1166
|
themeName: () => "default",
|
|
1233
1167
|
//
|
|
@@ -1243,6 +1177,7 @@ var defaultTheme = {
|
|
|
1243
1177
|
button: buttonTheme,
|
|
1244
1178
|
card: cardTheme,
|
|
1245
1179
|
dialog: dialogTheme,
|
|
1180
|
+
focus: focusTheme,
|
|
1246
1181
|
icon: iconTheme,
|
|
1247
1182
|
iconButton: iconButtonTheme,
|
|
1248
1183
|
input: inputTheme,
|
|
@@ -1298,17 +1233,16 @@ export {
|
|
|
1298
1233
|
cardMinBlockSize,
|
|
1299
1234
|
cardMinInlineSize,
|
|
1300
1235
|
cardTheme,
|
|
1301
|
-
|
|
1302
|
-
|
|
1236
|
+
columnTheme,
|
|
1237
|
+
composable,
|
|
1303
1238
|
composableProps,
|
|
1304
|
-
computeSize,
|
|
1305
1239
|
dataDisabled,
|
|
1306
1240
|
defaultButtonColors,
|
|
1307
1241
|
defaultTheme,
|
|
1308
1242
|
defaultTx,
|
|
1309
1243
|
densityBlockSize,
|
|
1244
|
+
densityDimensions,
|
|
1310
1245
|
descriptionMessage,
|
|
1311
|
-
descriptionTextPrimary,
|
|
1312
1246
|
dialogActionBar,
|
|
1313
1247
|
dialogBody,
|
|
1314
1248
|
dialogContent,
|
|
@@ -1317,15 +1251,13 @@ export {
|
|
|
1317
1251
|
dialogOverlay,
|
|
1318
1252
|
dialogTheme,
|
|
1319
1253
|
dialogTitle,
|
|
1320
|
-
|
|
1321
|
-
fineDimensions,
|
|
1322
|
-
focusRing,
|
|
1254
|
+
focusTheme,
|
|
1323
1255
|
getHashHue,
|
|
1324
1256
|
getHashStyles,
|
|
1257
|
+
getHeight,
|
|
1325
1258
|
getSize,
|
|
1326
|
-
getSizeHeight,
|
|
1327
|
-
getSizeWidth,
|
|
1328
1259
|
getStyles,
|
|
1260
|
+
getWidth,
|
|
1329
1261
|
ghostButtonColors,
|
|
1330
1262
|
ghostFocusWithin,
|
|
1331
1263
|
ghostHover,
|
|
@@ -1340,10 +1272,10 @@ export {
|
|
|
1340
1272
|
iconButtonRoot,
|
|
1341
1273
|
iconButtonTheme,
|
|
1342
1274
|
iconRoot,
|
|
1275
|
+
iconSize,
|
|
1343
1276
|
iconTheme,
|
|
1344
1277
|
inputTextLabel,
|
|
1345
1278
|
inputTheme,
|
|
1346
|
-
largeIconSize,
|
|
1347
1279
|
linkRoot,
|
|
1348
1280
|
linkTheme,
|
|
1349
1281
|
listItem,
|
|
@@ -1378,6 +1310,7 @@ export {
|
|
|
1378
1310
|
mx,
|
|
1379
1311
|
osTranslations,
|
|
1380
1312
|
palette,
|
|
1313
|
+
panelTheme,
|
|
1381
1314
|
popoverArrow,
|
|
1382
1315
|
popoverContent,
|
|
1383
1316
|
popoverTheme,
|
|
@@ -1387,6 +1320,7 @@ export {
|
|
|
1387
1320
|
scrollAreaRoot,
|
|
1388
1321
|
scrollAreaTheme,
|
|
1389
1322
|
scrollAreaViewport,
|
|
1323
|
+
scrollbar,
|
|
1390
1324
|
selectArrow,
|
|
1391
1325
|
selectContent,
|
|
1392
1326
|
selectItem,
|
|
@@ -1397,18 +1331,18 @@ export {
|
|
|
1397
1331
|
selectViewport,
|
|
1398
1332
|
separatorRoot,
|
|
1399
1333
|
separatorTheme,
|
|
1334
|
+
sizeToRem,
|
|
1400
1335
|
sizeValue,
|
|
1401
1336
|
skeletonRoot,
|
|
1402
1337
|
skeletonTheme,
|
|
1338
|
+
slottable,
|
|
1339
|
+
snapSize,
|
|
1403
1340
|
splitterTheme,
|
|
1404
1341
|
staticDefaultButtonColors,
|
|
1405
1342
|
staticDisabled,
|
|
1406
|
-
staticFocusRing,
|
|
1407
1343
|
statusBar,
|
|
1408
1344
|
statusRoot,
|
|
1409
1345
|
statusTheme,
|
|
1410
|
-
subduedFocus,
|
|
1411
|
-
subtleHover,
|
|
1412
1346
|
surfaceShadow,
|
|
1413
1347
|
surfaceZIndex,
|
|
1414
1348
|
tagRoot,
|
|
@@ -1432,6 +1366,7 @@ export {
|
|
|
1432
1366
|
treegridCell,
|
|
1433
1367
|
treegridRoot,
|
|
1434
1368
|
treegridRow,
|
|
1435
|
-
treegridTheme
|
|
1369
|
+
treegridTheme,
|
|
1370
|
+
withColumn
|
|
1436
1371
|
};
|
|
1437
1372
|
//# sourceMappingURL=index.mjs.map
|