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