@dxos/ui-theme 0.8.4-main.c85a9c8dae → 0.8.4-main.e00bdcdb52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/index.mjs +397 -471
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +397 -471
- 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} +122 -55
- 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} +122 -55
- 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 +2 -2
- 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/index.d.ts +0 -5
- package/dist/types/src/fragments/index.d.ts.map +1 -1
- package/dist/types/src/fragments/text.d.ts +0 -5
- 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/card.d.ts +3 -2
- 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 +3 -0
- 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/toolbar.d.ts +0 -1
- package/dist/types/src/theme/components/toolbar.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.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 +52 -4
- 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 +13 -15
- package/src/css/components/button.css +2 -1
- package/src/css/components/{focus-ring.css → focus.css} +15 -1
- package/src/css/components/icon.css +9 -0
- package/src/css/components/panel.css +22 -22
- package/src/css/components/selected.css +30 -0
- package/src/css/components/tag.css +3 -1
- 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 +19 -27
- package/src/css/theme/animation.css +31 -0
- package/src/css/theme/palette.css +8 -0
- package/src/css/theme/semantic.css +25 -9
- package/src/css/theme/spacing.css +36 -19
- package/src/css/utilities.css +114 -3
- package/src/defs.ts +1 -1
- package/src/fragments/AUDIT.md +57 -0
- package/src/fragments/density.ts +8 -5
- package/src/fragments/index.ts +1 -6
- package/src/fragments/text.ts +1 -6
- package/src/index.ts +1 -1
- package/src/{theme.css → main.css} +10 -6
- 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 +1 -1
- package/src/theme/components/card.ts +19 -11
- 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 +13 -4
- package/src/theme/components/index.ts +1 -0
- package/src/theme/components/input.ts +15 -30
- 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 +2 -3
- 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/toolbar.ts +1 -7
- package/src/theme/components/tooltip.ts +1 -2
- 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 +19 -23
- package/src/theme/theme.ts +2 -0
- package/src/typings.d.ts +3 -0
- package/src/util/index.ts +3 -0
- package/src/util/mx.ts +119 -8
- 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/selected.d.ts +0 -4
- package/dist/types/src/fragments/selected.d.ts.map +0 -1
- package/dist/types/src/fragments/size.d.ts +0 -7
- 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/selected.ts +0 -12
- package/src/fragments/size.ts +0 -117
- /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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/defs.ts
|
|
4
|
-
var osTranslations = "dxos.
|
|
4
|
+
var osTranslations = "org.dxos.i18n.os";
|
|
5
5
|
var hues = [
|
|
6
6
|
"red",
|
|
7
7
|
"orange",
|
|
@@ -48,17 +48,32 @@ 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 subtleHover = "hover:bg-hover-overlay";
|
|
64
|
+
var ghostHover = "hover:bg-hover-surface";
|
|
65
|
+
var ghostFocusWithin = "focus-within:bg-hover-surface";
|
|
66
|
+
var hoverableControls = "[--controls-opacity:1] hover-hover:[--controls-opacity:0] hover-hover:hover:[--controls-opacity:1]";
|
|
67
|
+
var groupHoverControlItemWithTransition = "transition-opacity duration-200 opacity-0 group-hover:opacity-100";
|
|
68
|
+
var hoverableFocusedKeyboardControls = "focus-visible:[--controls-opacity:1]";
|
|
69
|
+
var hoverableFocusedWithinControls = "focus-within:[--controls-opacity:1]";
|
|
70
|
+
var hoverableOpenControlItem = "hover-hover:aria-[expanded=true]:[--controls-opacity:1]";
|
|
71
|
+
var hoverableControlItem = "opacity-(--controls-opacity)";
|
|
72
|
+
|
|
73
|
+
// src/fragments/text.ts
|
|
74
|
+
var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
|
|
75
|
+
|
|
76
|
+
// src/util/elevation.ts
|
|
62
77
|
var surfaceShadow = ({ elevation }) => [
|
|
63
78
|
elevation === "positioned" ? "shadow-sm" : elevation === "dialog" || elevation === "toast" ? "shadow-md" : "shadow-none"
|
|
64
79
|
];
|
|
@@ -91,27 +106,6 @@ var surfaceZIndex = ({ level, elevation }) => {
|
|
|
91
106
|
}
|
|
92
107
|
};
|
|
93
108
|
|
|
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
|
-
// src/fragments/selected.ts
|
|
111
|
-
var ghostHighlighted = "data-[highlighted]:bg-primary-100 dark:data-[highlighted]:bg-primary-600 hover:data-[highlighted]:bg-primary-150 hover:dark:data-[highlighted]:bg-primary-500";
|
|
112
|
-
var ghostSelected = "aria-selected:bg-base-surface aria-selected:text-accent-text hover:aria-selected:text-accent-text-hover aria-selected:font-semibold aria-selected:tracking-normal transition-[color,font-variation-settings,letter-spacing]";
|
|
113
|
-
var ghostSelectedContainerMd = "@md:aria-selected:bg-base-surface @md:aria-selected:text-accent-text @md:hover:aria-selected:text-accent-text-hover @md:aria-selected:font-semibold @md:aria-selected:tracking-normal @md:transition-[color,font-variation-settings,letter-spacing]";
|
|
114
|
-
|
|
115
109
|
// src/util/hash-styles.ts
|
|
116
110
|
var neutral = {
|
|
117
111
|
hue: "neutral",
|
|
@@ -275,7 +269,10 @@ var getHashHue = (id) => {
|
|
|
275
269
|
var getHash = (id) => id.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
276
270
|
|
|
277
271
|
// src/util/mx.ts
|
|
272
|
+
import { Children, createElement, forwardRef, isValidElement } from "react";
|
|
278
273
|
import { extendTailwindMerge, validators } from "tailwind-merge";
|
|
274
|
+
import { log } from "@dxos/log";
|
|
275
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/ui/ui-theme/src/util/mx.ts";
|
|
279
276
|
var mx = extendTailwindMerge({
|
|
280
277
|
extend: {
|
|
281
278
|
classGroups: {
|
|
@@ -320,333 +317,235 @@ var mx = extendTailwindMerge({
|
|
|
320
317
|
}
|
|
321
318
|
}
|
|
322
319
|
});
|
|
323
|
-
var
|
|
324
|
-
|
|
325
|
-
|
|
320
|
+
var composableProps = ({ className, classNames, role, style, ...props }, { classNames: defaultClassNames, ...defaults } = {}) => ({
|
|
321
|
+
// Default props.
|
|
322
|
+
...defaults,
|
|
323
|
+
// Spread supplied props.
|
|
324
|
+
...props,
|
|
325
|
+
// Prefer explicit role, then defaults role, then 'none'.
|
|
326
|
+
role: role ?? defaults.role ?? "none",
|
|
327
|
+
// Merge styles.
|
|
328
|
+
style: {
|
|
329
|
+
...defaults.style,
|
|
330
|
+
...style
|
|
331
|
+
},
|
|
332
|
+
// Compose classnames.
|
|
333
|
+
className: mx(defaultClassNames, className, classNames)
|
|
326
334
|
});
|
|
335
|
+
var COMPOSABLE = /* @__PURE__ */ Symbol.for("dxos.composable");
|
|
336
|
+
function slottable(render) {
|
|
337
|
+
const wrapped = (props, forwardedRef) => {
|
|
338
|
+
let warn = false;
|
|
339
|
+
if (props.asChild) {
|
|
340
|
+
try {
|
|
341
|
+
const child = Children.only(props.children);
|
|
342
|
+
if (isValidElement(child) && typeof child.type !== "string" && !child.type[COMPOSABLE]) {
|
|
343
|
+
warn = true;
|
|
344
|
+
log.warn("slot child is not composable; create it with composable() or slottable()", {
|
|
345
|
+
child: child.type.displayName ?? child.type.name
|
|
346
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 100, S: this });
|
|
347
|
+
}
|
|
348
|
+
} catch {
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
const result = render(props, forwardedRef);
|
|
352
|
+
if (warn) {
|
|
353
|
+
return createElement("div", {
|
|
354
|
+
role: "none",
|
|
355
|
+
className: "dx-slot-warning"
|
|
356
|
+
}, result);
|
|
357
|
+
}
|
|
358
|
+
return result;
|
|
359
|
+
};
|
|
360
|
+
const component = forwardRef(wrapped);
|
|
361
|
+
component[COMPOSABLE] = true;
|
|
362
|
+
return component;
|
|
363
|
+
}
|
|
364
|
+
function composable(render) {
|
|
365
|
+
const component = forwardRef(render);
|
|
366
|
+
component[COMPOSABLE] = true;
|
|
367
|
+
return component;
|
|
368
|
+
}
|
|
327
369
|
|
|
328
|
-
// src/
|
|
329
|
-
var
|
|
330
|
-
|
|
331
|
-
0,
|
|
332
|
-
"
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
"px",
|
|
336
|
-
"
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
0.5,
|
|
340
|
-
"
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
1,
|
|
344
|
-
"
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
1.5,
|
|
348
|
-
"
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
2,
|
|
352
|
-
"
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
2.5,
|
|
356
|
-
"
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
3,
|
|
360
|
-
"
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
3.5,
|
|
364
|
-
"
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
4,
|
|
368
|
-
"
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
5,
|
|
372
|
-
"
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
6,
|
|
376
|
-
"
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
7,
|
|
380
|
-
"
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
8,
|
|
384
|
-
"
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
9,
|
|
388
|
-
"
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
10,
|
|
392
|
-
"
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
11,
|
|
396
|
-
"
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
12,
|
|
400
|
-
"
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
14,
|
|
404
|
-
"
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
16,
|
|
408
|
-
"
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
20,
|
|
412
|
-
"
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
24,
|
|
416
|
-
"
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
28,
|
|
420
|
-
"
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
32,
|
|
424
|
-
"
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
36,
|
|
428
|
-
"
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
40,
|
|
432
|
-
"
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
44,
|
|
436
|
-
"
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
48,
|
|
440
|
-
"
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
52,
|
|
444
|
-
"
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
56,
|
|
448
|
-
"
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
60,
|
|
452
|
-
"
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
64,
|
|
456
|
-
"
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
72,
|
|
460
|
-
"
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
80,
|
|
464
|
-
"
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
96,
|
|
468
|
-
"
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
var
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
"h-0.5"
|
|
483
|
-
],
|
|
484
|
-
[
|
|
485
|
-
1,
|
|
486
|
-
"h-1"
|
|
487
|
-
],
|
|
488
|
-
[
|
|
489
|
-
1.5,
|
|
490
|
-
"h-1.5"
|
|
491
|
-
],
|
|
492
|
-
[
|
|
493
|
-
2,
|
|
494
|
-
"h-2"
|
|
495
|
-
],
|
|
496
|
-
[
|
|
497
|
-
2.5,
|
|
498
|
-
"h-2.5"
|
|
499
|
-
],
|
|
500
|
-
[
|
|
501
|
-
3,
|
|
502
|
-
"h-3"
|
|
503
|
-
],
|
|
504
|
-
[
|
|
505
|
-
3.5,
|
|
506
|
-
"h-3.5"
|
|
507
|
-
],
|
|
508
|
-
[
|
|
509
|
-
4,
|
|
510
|
-
"h-4"
|
|
511
|
-
],
|
|
512
|
-
[
|
|
513
|
-
5,
|
|
514
|
-
"h-5"
|
|
515
|
-
],
|
|
516
|
-
[
|
|
517
|
-
6,
|
|
518
|
-
"h-6"
|
|
519
|
-
],
|
|
520
|
-
[
|
|
521
|
-
7,
|
|
522
|
-
"h-7"
|
|
523
|
-
],
|
|
524
|
-
[
|
|
525
|
-
8,
|
|
526
|
-
"h-8"
|
|
527
|
-
],
|
|
528
|
-
[
|
|
529
|
-
9,
|
|
530
|
-
"h-9"
|
|
531
|
-
],
|
|
532
|
-
[
|
|
533
|
-
10,
|
|
534
|
-
"h-10"
|
|
535
|
-
],
|
|
536
|
-
[
|
|
537
|
-
11,
|
|
538
|
-
"h-11"
|
|
539
|
-
],
|
|
540
|
-
[
|
|
541
|
-
12,
|
|
542
|
-
"h-12"
|
|
543
|
-
],
|
|
544
|
-
[
|
|
545
|
-
14,
|
|
546
|
-
"h-14"
|
|
547
|
-
],
|
|
548
|
-
[
|
|
549
|
-
16,
|
|
550
|
-
"h-16"
|
|
551
|
-
],
|
|
552
|
-
[
|
|
553
|
-
20,
|
|
554
|
-
"h-20"
|
|
555
|
-
],
|
|
556
|
-
[
|
|
557
|
-
24,
|
|
558
|
-
"h-24"
|
|
559
|
-
],
|
|
560
|
-
[
|
|
561
|
-
28,
|
|
562
|
-
"h-28"
|
|
563
|
-
],
|
|
564
|
-
[
|
|
565
|
-
32,
|
|
566
|
-
"h-32"
|
|
567
|
-
],
|
|
568
|
-
[
|
|
569
|
-
36,
|
|
570
|
-
"h-36"
|
|
571
|
-
],
|
|
572
|
-
[
|
|
573
|
-
40,
|
|
574
|
-
"h-40"
|
|
575
|
-
],
|
|
576
|
-
[
|
|
577
|
-
44,
|
|
578
|
-
"h-44"
|
|
579
|
-
],
|
|
580
|
-
[
|
|
581
|
-
48,
|
|
582
|
-
"h-48"
|
|
583
|
-
],
|
|
584
|
-
[
|
|
585
|
-
52,
|
|
586
|
-
"h-52"
|
|
587
|
-
],
|
|
588
|
-
[
|
|
589
|
-
56,
|
|
590
|
-
"h-56"
|
|
591
|
-
],
|
|
592
|
-
[
|
|
593
|
-
60,
|
|
594
|
-
"h-60"
|
|
595
|
-
],
|
|
596
|
-
[
|
|
597
|
-
64,
|
|
598
|
-
"h-64"
|
|
599
|
-
],
|
|
600
|
-
[
|
|
601
|
-
72,
|
|
602
|
-
"h-72"
|
|
603
|
-
],
|
|
604
|
-
[
|
|
605
|
-
80,
|
|
606
|
-
"h-80"
|
|
607
|
-
],
|
|
608
|
-
[
|
|
609
|
-
96,
|
|
610
|
-
"h-96"
|
|
611
|
-
]
|
|
612
|
-
]);
|
|
613
|
-
var sizes = new Set(sizeWidthMap.keys());
|
|
614
|
-
var getSizeHeight = sizeHeightMap.get.bind(sizeHeightMap);
|
|
615
|
-
var getSizeWidth = sizeWidthMap.get.bind(sizeWidthMap);
|
|
616
|
-
var getSize = (size) => mx(getSizeHeight(size), getSizeWidth(size));
|
|
617
|
-
var computeSize = (value, defaultSize) => {
|
|
618
|
-
if (sizes.has(value)) {
|
|
370
|
+
// src/util/size.ts
|
|
371
|
+
var sizeMap = {
|
|
372
|
+
0: {
|
|
373
|
+
w: "w-0",
|
|
374
|
+
h: "h-0"
|
|
375
|
+
},
|
|
376
|
+
px: {
|
|
377
|
+
w: "w-px",
|
|
378
|
+
h: "h-px"
|
|
379
|
+
},
|
|
380
|
+
0.5: {
|
|
381
|
+
w: "w-0.5",
|
|
382
|
+
h: "h-0.5"
|
|
383
|
+
},
|
|
384
|
+
1: {
|
|
385
|
+
w: "w-1",
|
|
386
|
+
h: "h-1"
|
|
387
|
+
},
|
|
388
|
+
1.5: {
|
|
389
|
+
w: "w-1.5",
|
|
390
|
+
h: "h-1.5"
|
|
391
|
+
},
|
|
392
|
+
2: {
|
|
393
|
+
w: "w-2",
|
|
394
|
+
h: "h-2"
|
|
395
|
+
},
|
|
396
|
+
2.5: {
|
|
397
|
+
w: "w-2.5",
|
|
398
|
+
h: "h-2.5"
|
|
399
|
+
},
|
|
400
|
+
3: {
|
|
401
|
+
w: "w-3",
|
|
402
|
+
h: "h-3"
|
|
403
|
+
},
|
|
404
|
+
3.5: {
|
|
405
|
+
w: "w-3.5",
|
|
406
|
+
h: "h-3.5"
|
|
407
|
+
},
|
|
408
|
+
4: {
|
|
409
|
+
w: "w-4",
|
|
410
|
+
h: "h-4"
|
|
411
|
+
},
|
|
412
|
+
5: {
|
|
413
|
+
w: "w-5",
|
|
414
|
+
h: "h-5"
|
|
415
|
+
},
|
|
416
|
+
6: {
|
|
417
|
+
w: "w-6",
|
|
418
|
+
h: "h-6"
|
|
419
|
+
},
|
|
420
|
+
7: {
|
|
421
|
+
w: "w-7",
|
|
422
|
+
h: "h-7"
|
|
423
|
+
},
|
|
424
|
+
8: {
|
|
425
|
+
w: "w-8",
|
|
426
|
+
h: "h-8"
|
|
427
|
+
},
|
|
428
|
+
9: {
|
|
429
|
+
w: "w-9",
|
|
430
|
+
h: "h-9"
|
|
431
|
+
},
|
|
432
|
+
10: {
|
|
433
|
+
w: "w-10",
|
|
434
|
+
h: "h-10"
|
|
435
|
+
},
|
|
436
|
+
11: {
|
|
437
|
+
w: "w-11",
|
|
438
|
+
h: "h-11"
|
|
439
|
+
},
|
|
440
|
+
12: {
|
|
441
|
+
w: "w-12",
|
|
442
|
+
h: "h-12"
|
|
443
|
+
},
|
|
444
|
+
14: {
|
|
445
|
+
w: "w-14",
|
|
446
|
+
h: "h-14"
|
|
447
|
+
},
|
|
448
|
+
16: {
|
|
449
|
+
w: "w-16",
|
|
450
|
+
h: "h-16"
|
|
451
|
+
},
|
|
452
|
+
20: {
|
|
453
|
+
w: "w-20",
|
|
454
|
+
h: "h-20"
|
|
455
|
+
},
|
|
456
|
+
24: {
|
|
457
|
+
w: "w-24",
|
|
458
|
+
h: "h-24"
|
|
459
|
+
},
|
|
460
|
+
28: {
|
|
461
|
+
w: "w-28",
|
|
462
|
+
h: "h-28"
|
|
463
|
+
},
|
|
464
|
+
32: {
|
|
465
|
+
w: "w-32",
|
|
466
|
+
h: "h-32"
|
|
467
|
+
},
|
|
468
|
+
36: {
|
|
469
|
+
w: "w-36",
|
|
470
|
+
h: "h-36"
|
|
471
|
+
},
|
|
472
|
+
40: {
|
|
473
|
+
w: "w-40",
|
|
474
|
+
h: "h-40"
|
|
475
|
+
},
|
|
476
|
+
44: {
|
|
477
|
+
w: "w-44",
|
|
478
|
+
h: "h-44"
|
|
479
|
+
},
|
|
480
|
+
48: {
|
|
481
|
+
w: "w-48",
|
|
482
|
+
h: "h-48"
|
|
483
|
+
},
|
|
484
|
+
52: {
|
|
485
|
+
w: "w-52",
|
|
486
|
+
h: "h-52"
|
|
487
|
+
},
|
|
488
|
+
56: {
|
|
489
|
+
w: "w-56",
|
|
490
|
+
h: "h-56"
|
|
491
|
+
},
|
|
492
|
+
60: {
|
|
493
|
+
w: "w-60",
|
|
494
|
+
h: "h-60"
|
|
495
|
+
},
|
|
496
|
+
64: {
|
|
497
|
+
w: "w-64",
|
|
498
|
+
h: "h-64"
|
|
499
|
+
},
|
|
500
|
+
72: {
|
|
501
|
+
w: "w-72",
|
|
502
|
+
h: "h-72"
|
|
503
|
+
},
|
|
504
|
+
80: {
|
|
505
|
+
w: "w-80",
|
|
506
|
+
h: "h-80"
|
|
507
|
+
},
|
|
508
|
+
96: {
|
|
509
|
+
w: "w-96",
|
|
510
|
+
h: "h-96"
|
|
511
|
+
}
|
|
512
|
+
};
|
|
513
|
+
var SIZE_VALUES = Object.keys(sizeMap).map((key) => key === "px" ? "px" : Number(key));
|
|
514
|
+
var getHeight = (size) => sizeMap[size]?.h;
|
|
515
|
+
var getWidth = (size) => sizeMap[size]?.w;
|
|
516
|
+
var getSize = (size) => mx(getHeight(size), getWidth(size));
|
|
517
|
+
var sizeValue = (size) => size === "px" ? 1 : size;
|
|
518
|
+
var sizeToRem = (size) => size === "px" ? "1px" : `${size * 0.25}rem`;
|
|
519
|
+
var iconSize = (size) => ({
|
|
520
|
+
"--icon-size": size ? sizeToRem(size) : "initial"
|
|
521
|
+
});
|
|
522
|
+
var snapSize = (value, defaultSize) => {
|
|
523
|
+
if (SIZE_VALUES.includes(value)) {
|
|
619
524
|
return value;
|
|
620
525
|
} else if (value <= 0) {
|
|
621
526
|
return 0;
|
|
622
|
-
} else if (value
|
|
527
|
+
} else if (value < 0.5) {
|
|
623
528
|
return "px";
|
|
624
529
|
} else {
|
|
625
530
|
const wholeSeries = Math.floor(value);
|
|
626
531
|
const halfSeries = Math.floor(value * 2) / 2;
|
|
627
532
|
const doubleSeries = Math.floor(value / 2) * 2;
|
|
628
533
|
const quadrupleSeries = Math.floor(value / 4) * 4;
|
|
629
|
-
if (
|
|
534
|
+
if (SIZE_VALUES.includes(halfSeries)) {
|
|
630
535
|
return halfSeries;
|
|
631
|
-
} else if (
|
|
536
|
+
} else if (SIZE_VALUES.includes(wholeSeries)) {
|
|
632
537
|
return wholeSeries;
|
|
633
|
-
} else if (
|
|
538
|
+
} else if (SIZE_VALUES.includes(doubleSeries)) {
|
|
634
539
|
return doubleSeries;
|
|
635
|
-
} else if (
|
|
540
|
+
} else if (SIZE_VALUES.includes(quadrupleSeries)) {
|
|
636
541
|
return quadrupleSeries;
|
|
637
542
|
} else {
|
|
638
543
|
return defaultSize;
|
|
639
544
|
}
|
|
640
545
|
}
|
|
641
546
|
};
|
|
642
|
-
var sizeValue = (size) => size === "px" ? 1 : size;
|
|
643
|
-
|
|
644
|
-
// src/fragments/text.ts
|
|
645
|
-
var textBlockWidth = "w-full max-w-text-content mx-auto";
|
|
646
|
-
var descriptionTextPrimary = "text-sm font-normal text-base-surface-text";
|
|
647
|
-
var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
|
|
648
547
|
|
|
649
|
-
// src/
|
|
548
|
+
// src/util/valence.ts
|
|
650
549
|
var textValence = (valence) => {
|
|
651
550
|
switch (valence) {
|
|
652
551
|
case "success":
|
|
@@ -678,12 +577,12 @@ var messageValence = (valence) => {
|
|
|
678
577
|
var avatarRoot = ({ size = 10, inGroup }, ...etc) => mx("relative inline-flex shrink-0", getSize(size), inGroup && (size === "px" || size <= 3 ? "-mr-1" : "-mr-2"), ...etc);
|
|
679
578
|
var avatarLabel = ({ srOnly }, ...etc) => mx(srOnly && "sr-only", ...etc);
|
|
680
579
|
var avatarDescription = ({ srOnly }, ...etc) => mx("text-description", srOnly && "sr-only", ...etc);
|
|
681
|
-
var avatarFrame = ({ variant }, ...etc) => mx("
|
|
580
|
+
var avatarFrame = ({ variant }, ...etc) => mx("h-full w-full bg-(--surface-bg)", variant === "circle" ? "rounded-full" : "rounded-sm", ...etc);
|
|
682
581
|
var avatarStatusIcon = ({ status, size = 3 }, ...etc) => mx("absolute bottom-0 end-0", getSize(size), status === "inactive" ? "text-amber-400 dark:text-amber-300" : status === "active" ? "text-emerald-400 dark:text-emerald-300" : "text-neutral-400 dark:text-neutral-300", ...etc);
|
|
683
582
|
var avatarRing = ({ status, variant, animation }, ...etc) => mx("absolute inset-0 border-2", variant === "circle" ? "rounded-full" : "rounded-sm", status === "current" ? "border-primary-400 dark:border-primary-500" : status === "active" ? "border-emerald-400 dark:border-emerald-400" : status === "error" ? "border-rose-400 dark:border-rose-500" : status === "warning" ? "border-amber-400 dark:border-amber-500" : status === "inactive" ? "border-separator" : status === "internal" ? "border-fuchsia-600" : "border-[color:var(--surface-bg)]", animation === "pulse" ? "animate-halo-pulse" : "", ...etc);
|
|
684
583
|
var avatarFallbackText = (_props, ...etc) => mx("fill-white", ...etc);
|
|
685
584
|
var avatarGroup = (_props, ...etc) => mx("inline-flex items-center", ...etc);
|
|
686
|
-
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 &&
|
|
585
|
+
var avatarGroupLabel = ({ size, srOnly }, ...etc) => mx(srOnly ? "sr-only" : "rounded-full truncate text-sm leading-none py-1 px-2 relative z-[1] flex items-center justify-center", size && getHeight(size), ...etc);
|
|
687
586
|
var avatarGroupDescription = ({ srOnly }, ...etc) => mx(srOnly ? "sr-only" : "text-description", ...etc);
|
|
688
587
|
var avatarTheme = {
|
|
689
588
|
root: avatarRoot,
|
|
@@ -713,12 +612,12 @@ var breadcrumbTheme = {
|
|
|
713
612
|
};
|
|
714
613
|
|
|
715
614
|
// src/theme/components/card.ts
|
|
716
|
-
var cardRoot = ({ border, fullWidth }, ...etc) => mx("dx-card
|
|
717
|
-
var cardToolbar = (
|
|
615
|
+
var cardRoot = ({ border, fullWidth }, ...etc) => mx("dx-card dx-card-min-width dx-card-max-width min-h-(--dx-rail-item) group/card relative overflow-hidden", border && "bg-card-surface border border-separator dark:border-subdued-separator rounded-xs dx-focus-ring-group-y-indicator", fullWidth && "max-w-none!", ...etc);
|
|
616
|
+
var cardToolbar = (_, ...etc) => mx("dx-card__toolbar dx-density-fine bg-transparent p-0! gap-0! col-span-3 grid! grid-cols-subgrid! [contain:none]", ...etc);
|
|
718
617
|
var cardTitle = (_props, ...etc) => mx("dx-card__title grow truncate", ...etc);
|
|
719
|
-
var cardContent = (_props, ...etc) => mx("dx-card__content contents
|
|
618
|
+
var cardContent = (_props, ...etc) => mx("dx-card__content contents pb-1 last:pb-0", ...etc);
|
|
720
619
|
var cardHeading = ({ variant = "default" }, ...etc) => mx("dx-card__heading", variant === "default" && "py-1", variant === "subtitle" && "py-2 text-xs text-description font-medium uppercase", ...etc);
|
|
721
|
-
var cardText = ({ variant = "default", truncate: _truncate }, ...etc) => mx("dx-card__text
|
|
620
|
+
var cardText = ({ variant = "default", truncate: _truncate }, ...etc) => mx("dx-card__text items-center overflow-hidden", variant === "default" && "py-1", variant === "description" && "py-1.5 text-description", ...etc);
|
|
722
621
|
var cardTextSpan = ({ variant = "default", truncate }, ...etc) => mx(variant === "description" && "text-sm text-description line-clamp-3", truncate && "truncate", ...etc);
|
|
723
622
|
var cardPoster = (_props, ...etc) => mx("dx-card__poster col-span-3 max-h-[200px]", ...etc);
|
|
724
623
|
var cardPosterIcon = (_props, ...etc) => mx("dx-card__poster-icon col-span-3 grid place-items-center bg-input-surface text-subdued max-h-[200px]", ...etc);
|
|
@@ -726,12 +625,14 @@ var cardAction = (_props, ...etc) => mx("dx-card__acztion col-span-3 !grid grid-
|
|
|
726
625
|
var cardActionLabel = (_props, ...etc) => mx("dx-card__action-label min-w-0 flex-1 truncate", ...etc);
|
|
727
626
|
var cardLink = (_props, ...etc) => mx("dx-card__link col-span-3 !grid grid-cols-subgrid group p-0! dx-button dx-focus-ring min-h-1!", ...etc);
|
|
728
627
|
var cardLinkLabel = (_props, ...etc) => mx("dx-card__link-label min-w-0 flex-1 truncate", ...etc);
|
|
729
|
-
var
|
|
628
|
+
var cardRow = (_, ...etc) => mx("dx-card__row col-span-3 grid grid-cols-subgrid", ...etc);
|
|
629
|
+
var cardIconBlock = ({ padding }, ...etc) => mx("dx-card__icon-block grid h-[var(--dx-rail-item)] w-[var(--dx-rail-item)] place-items-center", padding && "[&>*]:p-1", ...etc);
|
|
730
630
|
var cardTheme = {
|
|
731
631
|
root: cardRoot,
|
|
732
632
|
toolbar: cardToolbar,
|
|
733
633
|
title: cardTitle,
|
|
734
634
|
content: cardContent,
|
|
635
|
+
row: cardRow,
|
|
735
636
|
heading: cardHeading,
|
|
736
637
|
text: cardText,
|
|
737
638
|
"text-span": cardTextSpan,
|
|
@@ -750,7 +651,7 @@ var staticDefaultButtonColors = "bg-input-surface text-input-surface-text";
|
|
|
750
651
|
var defaultButtonColors = mx(staticDefaultButtonColors, "data-[state=open]:bg-input-surface aria-pressed:text-accent-text aria-pressed:bg-base-surface aria-checked:text-accent-text aria-checked:bg-base-surface");
|
|
751
652
|
var ghostButtonColors = mx(ghostHover, "hover:text-inherit data-[state=open]:bg-input-surface aria-pressed:text-accent-text aria-pressed:bg-base-surface aria-checked:text-accent-text aria-checked:bg-base-surface");
|
|
752
653
|
var buttonRoot = (_props, ...etc) => {
|
|
753
|
-
return mx("dx-button dx-focus-ring group
|
|
654
|
+
return mx("dx-button dx-focus-ring group [&_span]:truncate", ...etc);
|
|
754
655
|
};
|
|
755
656
|
var buttonGroup = (_props, ...etc) => {
|
|
756
657
|
return mx("inline-flex rounded-xs [&>:first-child]:rounded-w-sm [&>:last-child]:rounded-ie-sm [&>button]:relative", ...etc);
|
|
@@ -760,8 +661,37 @@ var buttonTheme = {
|
|
|
760
661
|
group: buttonGroup
|
|
761
662
|
};
|
|
762
663
|
|
|
664
|
+
// src/theme/primitives/column.ts
|
|
665
|
+
var withColumn = {
|
|
666
|
+
/** Centers element in the Column grid via --dx-col. No-op outside Column or inside ScrollArea. */
|
|
667
|
+
center: () => "[grid-column:var(--dx-col,auto)]",
|
|
668
|
+
/** Propagates the Column grid to children via subgrid. No-op outside Column.
|
|
669
|
+
* Direct children default to center column unless they are a dx-container (ScrollArea). */
|
|
670
|
+
propagate: () => "[.dx-column-root_&]:col-span-full [.dx-column-root_&]:grid [.dx-column-root_&]:grid-cols-subgrid [.dx-column-root_&]:[&>*:not(.dx-container)]:[grid-column:var(--dx-col,auto)]",
|
|
671
|
+
/** Resets --dx-col after consuming --gutter. Applied by ScrollArea.Viewport. */
|
|
672
|
+
consumed: () => "[--dx-col:auto]"
|
|
673
|
+
};
|
|
674
|
+
var columnRoot = (_, ...etc) => {
|
|
675
|
+
return mx("dx-column-root grid", ...etc);
|
|
676
|
+
};
|
|
677
|
+
var columnRow = (_, ...etc) => {
|
|
678
|
+
return mx("col-span-3 grid grid-cols-subgrid", ...etc);
|
|
679
|
+
};
|
|
680
|
+
var columnBleed = (_, ...etc) => {
|
|
681
|
+
return mx("col-span-full grid grid-cols-subgrid min-h-0", ...etc);
|
|
682
|
+
};
|
|
683
|
+
var columnCenter = (_, ...etc) => {
|
|
684
|
+
return mx(withColumn.center(), "min-h-0", ...etc);
|
|
685
|
+
};
|
|
686
|
+
var columnTheme = {
|
|
687
|
+
root: columnRoot,
|
|
688
|
+
row: columnRow,
|
|
689
|
+
bleed: columnBleed,
|
|
690
|
+
center: columnCenter
|
|
691
|
+
};
|
|
692
|
+
|
|
763
693
|
// src/theme/components/dialog.ts
|
|
764
|
-
var
|
|
694
|
+
var sizeMap2 = {
|
|
765
695
|
sm: "md:max-w-[24rem]",
|
|
766
696
|
md: "md:max-w-[32rem]!",
|
|
767
697
|
lg: "md:max-w-[40rem]!",
|
|
@@ -769,11 +699,11 @@ var sizeMap = {
|
|
|
769
699
|
};
|
|
770
700
|
var dialogOverlay = (_props, ...etc) => mx("dx-dialog__overlay", ...etc);
|
|
771
701
|
var dialogContent = ({ inOverlayLayout, size = "md" }, ...etc) => {
|
|
772
|
-
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%]",
|
|
702
|
+
return mx("@container", "dx-dialog__content dx-focus-ring dx-modal-surface dx-density-coarse py-4", !inOverlayLayout && "fixed z-50 top-[50%] left-[50%] -translate-x-[50%] -translate-y-[50%]", sizeMap2[size], ...etc);
|
|
773
703
|
};
|
|
774
|
-
var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", ...etc);
|
|
775
|
-
var dialogBody = (_props, ...etc) => mx("dx-dialog__body
|
|
776
|
-
var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", ...etc);
|
|
704
|
+
var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", withColumn.center(), ...etc);
|
|
705
|
+
var dialogBody = (_props, ...etc) => mx("dx-dialog__body dx-expander", withColumn.propagate(), ...etc);
|
|
706
|
+
var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", withColumn.center(), ...etc);
|
|
777
707
|
var dialogTitle = ({ srOnly }, ...etc) => mx("dx-dialog__title", srOnly && "sr-only", ...etc);
|
|
778
708
|
var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", "text-description", srOnly && "sr-only", ...etc);
|
|
779
709
|
var dialogTheme = {
|
|
@@ -786,15 +716,24 @@ var dialogTheme = {
|
|
|
786
716
|
description: dialogDescription
|
|
787
717
|
};
|
|
788
718
|
|
|
719
|
+
// src/theme/components/focus.ts
|
|
720
|
+
var focusRing = ({ border }, ...etc) => mx("dx-ring-pseudo outline-hidden", "focus:after:ring-neutral-focus-indicator", "data-[focus-state=active]:after:ring-neutral-focus-indicator", "data-[focus-state=error]:after:ring-rose-500", border && "border border-separator", ...etc);
|
|
721
|
+
var focusTheme = {
|
|
722
|
+
group: focusRing,
|
|
723
|
+
item: focusRing
|
|
724
|
+
};
|
|
725
|
+
|
|
789
726
|
// src/theme/components/icon.ts
|
|
790
|
-
var iconRoot = ({ size }, etc) =>
|
|
727
|
+
var iconRoot = ({ size }, etc) => {
|
|
728
|
+
return mx("shrink-0 text-[var(--icons-color,currentColor)]", size ? getSize(size) : "[width:var(--icon-size,var(--dx-default-icons-size))] [height:var(--icon-size,var(--dx-default-icons-size))]", etc);
|
|
729
|
+
};
|
|
791
730
|
var iconTheme = {
|
|
792
731
|
root: iconRoot
|
|
793
732
|
};
|
|
794
733
|
|
|
795
734
|
// src/theme/components/icon-button.ts
|
|
796
|
-
var iconButtonRoot = ({ iconOnly }, ...etc) => {
|
|
797
|
-
return mx("
|
|
735
|
+
var iconButtonRoot = ({ iconOnly, square }, ...etc) => {
|
|
736
|
+
return mx("px-1.5", !iconOnly && "gap-2", square && "aspect-square", ...etc);
|
|
798
737
|
};
|
|
799
738
|
var iconButtonTheme = {
|
|
800
739
|
root: iconButtonRoot
|
|
@@ -819,44 +758,41 @@ var inputValence = (valence) => {
|
|
|
819
758
|
}
|
|
820
759
|
};
|
|
821
760
|
var sharedSubduedInputStyles = (props) => [
|
|
822
|
-
"py-0 w-full bg-transparent text-current placeholder-placeholder",
|
|
823
761
|
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
824
|
-
|
|
825
|
-
|
|
762
|
+
"py-0 w-full bg-transparent text-current placeholder-placeholder",
|
|
763
|
+
"dx-focus-subdued",
|
|
764
|
+
densityDimensions(props.density),
|
|
826
765
|
props.disabled && staticDisabled
|
|
827
766
|
];
|
|
828
767
|
var sharedDefaultInputStyles = (props) => [
|
|
829
|
-
"py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
|
|
830
768
|
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
769
|
+
"py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
|
|
831
770
|
textInputSurfaceFocus,
|
|
832
|
-
props.density
|
|
771
|
+
densityDimensions(props.density),
|
|
833
772
|
props.disabled ? staticDisabled : textInputSurfaceHover
|
|
834
773
|
];
|
|
835
774
|
var sharedStaticInputStyles = (props) => [
|
|
836
|
-
"py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
|
|
837
775
|
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
776
|
+
"py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
|
|
838
777
|
textInputSurfaceFocus,
|
|
839
778
|
textInputSurfaceHover,
|
|
840
779
|
props.focused && "bg-attention-surface",
|
|
841
780
|
inputValence(props.validationValence),
|
|
842
781
|
props.disabled && staticDisabled,
|
|
843
|
-
props.focused &&
|
|
782
|
+
props.focused && "dx-focus-static"
|
|
844
783
|
];
|
|
845
|
-
var inputInput = (props, ...etc) => props.variant === "subdued" ? mx(...sharedSubduedInputStyles(props), ...etc) : props.variant === "static" ? mx(...sharedStaticInputStyles(props), ...etc) : mx(...sharedDefaultInputStyles(props), !props.disabled &&
|
|
846
|
-
var inputTextArea = (props, ...etc) => inputInput(props, ...
|
|
847
|
-
"-mb-1.5",
|
|
848
|
-
...etc
|
|
849
|
-
]);
|
|
784
|
+
var inputInput = (props, ...etc) => props.variant === "subdued" ? mx(...sharedSubduedInputStyles(props), ...etc) : props.variant === "static" ? mx(...sharedStaticInputStyles(props), ...etc) : mx(...sharedDefaultInputStyles(props), !props.disabled && "dx-focus-ring", inputValence(props.validationValence), ...etc);
|
|
785
|
+
var inputTextArea = (props, ...etc) => inputInput(props, ...etc);
|
|
850
786
|
var inputCheckbox = ({ size = 5 }, ...etc) => mx("dx-checkbox dx-focus-ring", getSize(size), ...etc);
|
|
851
|
-
var inputCheckboxIndicator = ({ size = 5, checked }, ...etc) => mx(getSize(
|
|
787
|
+
var inputCheckboxIndicator = ({ size = 5, checked }, ...etc) => mx(getSize(snapSize(sizeValue(size) * 0.65, 4)), !checked && "invisible", ...etc);
|
|
852
788
|
var inputSwitch = ({ size = 5, disabled }, ...etc) => mx(
|
|
853
|
-
|
|
854
|
-
|
|
789
|
+
getHeight(size),
|
|
790
|
+
getWidth(snapSize(sizeValue(size) * 1.75, 9)),
|
|
855
791
|
booleanInputSurface,
|
|
856
792
|
!disabled && booleanInputSurfaceHover,
|
|
857
793
|
// TODO(burdon): Added m-1 margin to make 40px width to align with 40px icon button.
|
|
858
794
|
"cursor-pointer shrink-0 rounded-full px-1 mx-1 relative",
|
|
859
|
-
|
|
795
|
+
"dx-focus-ring",
|
|
860
796
|
...etc
|
|
861
797
|
);
|
|
862
798
|
var inputSwitchThumb = ({ size = 5 }, ...etc) => mx(getSize(size === "px" ? "px" : size - 2), "block bg-white rounded-full transition-transform duration-100 will-change-transform data-[state=checked]:translate-x-[100%]", ...etc);
|
|
@@ -882,7 +818,7 @@ var inputTheme = {
|
|
|
882
818
|
};
|
|
883
819
|
|
|
884
820
|
// src/theme/components/link.ts
|
|
885
|
-
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",
|
|
821
|
+
var linkRoot = ({ variant }, ...etc) => mx("underline decoration-1 underline-offset-2 transition-color rounded-xs", variant === "neutral" ? "text-inherit hover:opacity-90 visited:text-inherit visited:hover:opacity-90" : "text-accent-text hover:text-accent-text-hover visited:text-accent-text visited:hover:text-accent-text-hover", "dx-focus-ring", ...etc);
|
|
886
822
|
var linkTheme = {
|
|
887
823
|
root: linkRoot
|
|
888
824
|
};
|
|
@@ -891,9 +827,9 @@ var linkTheme = {
|
|
|
891
827
|
var listRoot = (_, ...etc) => mx(...etc);
|
|
892
828
|
var listItem = ({ collapsible }, ...etc) => mx(!collapsible && "flex", ...etc);
|
|
893
829
|
var listItemEndcap = ({ density }, ...etc) => mx(density === "fine" ? getSize(8) : getSize(10), "shrink-0 flex items-center justify-center", ...etc);
|
|
894
|
-
var listItemHeading = ({ density }, ...etc) => mx(densityBlockSize(density), "flex items-center", ...etc);
|
|
830
|
+
var listItemHeading = ({ density }, ...etc) => mx(densityBlockSize(density), "flex items-center overflow-hidden [&>span]:truncate", ...etc);
|
|
895
831
|
var listItemDragHandleIcon = (_props, ...etc) => mx(getSize(5), "mt-2.5", ...etc);
|
|
896
|
-
var listItemOpenTrigger = ({ density }, ...etc) => mx("w-5 rounded-sm flex justify-center items-center", densityBlockSize(density), ghostHover,
|
|
832
|
+
var listItemOpenTrigger = ({ density }, ...etc) => mx("w-5 rounded-sm flex justify-center items-center", densityBlockSize(density), ghostHover, "dx-focus-ring", ...etc);
|
|
897
833
|
var listItemOpenTriggerIcon = (_props, ...etc) => {
|
|
898
834
|
return mx(getSize(5), ...etc);
|
|
899
835
|
};
|
|
@@ -932,7 +868,7 @@ var menuContent = ({ elevation }, ...etc) => mx("dx-modal-surface w-48 rounded-s
|
|
|
932
868
|
elevation: "positioned"
|
|
933
869
|
}), ...etc);
|
|
934
870
|
var menuViewport = (_props, ...etc) => mx("rounded-sm p-1 max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto", ...etc);
|
|
935
|
-
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",
|
|
871
|
+
var menuItem = (_props, ...etc) => mx("flex cursor-pointer select-none items-center gap-2 rounded-xs px-2 py-2 text-sm", "hover:bg-hover-surface data-[highlighted]:bg-hover-surface", "dx-focus-subdued", dataDisabled, ...etc);
|
|
936
872
|
var menuSeparator = (_props, ...etc) => mx("my-1 mx-2 h-px bg-separator", ...etc);
|
|
937
873
|
var menuGroupLabel = (_props, ...etc) => mx("text-description", "select-none px-2 py-2", ...etc);
|
|
938
874
|
var menuArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
@@ -953,7 +889,7 @@ var messageHeader = (_, etc) => {
|
|
|
953
889
|
return mx("col-span-2 grid grid-cols-subgrid items-center", etc);
|
|
954
890
|
};
|
|
955
891
|
var messageTitle = (_, etc) => {
|
|
956
|
-
return mx("col-start-2
|
|
892
|
+
return mx("col-start-2 gap-trim-sm [&>svg]:inline-block", etc);
|
|
957
893
|
};
|
|
958
894
|
var messageIcon = (_, etc) => {
|
|
959
895
|
return mx("col-start-1", etc);
|
|
@@ -975,15 +911,8 @@ var popoverContent = ({ elevation }, ...etc) => mx("dx-modal-surface border bord
|
|
|
975
911
|
}), surfaceZIndex({
|
|
976
912
|
elevation,
|
|
977
913
|
level: "menu"
|
|
978
|
-
}),
|
|
979
|
-
var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx(
|
|
980
|
-
"flex flex-col min-h-0 min-w-popover-min-width",
|
|
981
|
-
(constrainBlock || constrainInline) && "overflow-hidden",
|
|
982
|
-
// Ensures it respects available height from Radix (or 100dvh).
|
|
983
|
-
constrainBlock && "max-h-[min(var(--radix-popover-content-available-height),calc(100dvh-var(--spacing-screen-border)*2))]",
|
|
984
|
-
constrainInline && "max-w-(--radix-popover-content-available-width)",
|
|
985
|
-
...etc
|
|
986
|
-
);
|
|
914
|
+
}), "dx-focus-ring", ...etc);
|
|
915
|
+
var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx("grid grid-rows-[1fr] min-h-0 min-w-popover-min-width", (constrainBlock || constrainInline) && "overflow-hidden", constrainBlock && "max-h-(--radix-popover-content-available-height)", constrainBlock && "max-h-[min(var(--radix-popover-content-available-height),calc(100dvh-var(--spacing-screen-border)*2))]", constrainInline && "max-w-(--radix-popover-content-available-width)", ...etc);
|
|
987
916
|
var popoverArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
988
917
|
var popoverTheme = {
|
|
989
918
|
content: popoverContent,
|
|
@@ -992,40 +921,66 @@ var popoverTheme = {
|
|
|
992
921
|
};
|
|
993
922
|
|
|
994
923
|
// src/theme/components/scroll-area.ts
|
|
995
|
-
var
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
924
|
+
var scrollbar = {
|
|
925
|
+
thin: {
|
|
926
|
+
size: 4,
|
|
927
|
+
padding: 4
|
|
928
|
+
},
|
|
929
|
+
coarse: {
|
|
930
|
+
size: 8,
|
|
931
|
+
padding: 8
|
|
932
|
+
}
|
|
933
|
+
};
|
|
934
|
+
var scrollAreaRoot = ({ orientation }, ...etc) => mx(
|
|
935
|
+
// Expand
|
|
936
|
+
"dx-container",
|
|
937
|
+
orientation === "vertical" && "group/scroll-v flex flex-col",
|
|
938
|
+
orientation === "horizontal" && "group/scroll-h flex",
|
|
939
|
+
orientation === "all" && "group/scroll-all",
|
|
940
|
+
// Apply col-span-full only when inside a Column.Root grid (detected via dx-column-root marker).
|
|
941
|
+
"[.dx-column-root_&]:col-span-full",
|
|
1010
942
|
...etc
|
|
1011
943
|
);
|
|
1012
|
-
var scrollAreaViewport = ({ orientation,
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
]
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
],
|
|
944
|
+
var scrollAreaViewport = ({ orientation, centered, padding, snap, autoHide }, ...etc) => {
|
|
945
|
+
return mx(
|
|
946
|
+
"flex-1 min-h-0 w-full",
|
|
947
|
+
// Reset --dx-col so nested components don't try to grid-position themselves.
|
|
948
|
+
// ScrollArea has already consumed --gutter for padding.
|
|
949
|
+
withColumn.consumed(),
|
|
950
|
+
orientation === "vertical" && "overflow-y-scroll",
|
|
951
|
+
orientation === "horizontal" && "flex overflow-x-scroll overscroll-x-contain",
|
|
952
|
+
orientation === "all" && "overflow-scroll",
|
|
953
|
+
"[&::-webkit-scrollbar-corner]:bg-transparent",
|
|
954
|
+
"[&::-webkit-scrollbar-track]:bg-transparent",
|
|
955
|
+
"[&::-webkit-scrollbar-thumb]:rounded-none",
|
|
956
|
+
"[&::-webkit-scrollbar]:w-[var(--scroll-width)] [&::-webkit-scrollbar]:h-[var(--scroll-width)]",
|
|
957
|
+
// If contained within Column.Root grid the gutter is set by that component (--gutter CSS variable).
|
|
958
|
+
// If centered, left padding compensates for scrollbar width so content is visually centered.
|
|
959
|
+
(orientation === "vertical" || orientation === "all") && (padding ? [
|
|
960
|
+
centered ? "pl-[var(--gutter,calc(var(--scroll-width)+var(--scroll-padding)))]" : "pl-[var(--gutter,0)]",
|
|
961
|
+
"pr-[calc(var(--gutter,calc(var(--scroll-width)+var(--scroll-padding)))-var(--scroll-width))]"
|
|
962
|
+
] : centered && "pl-[var(--scroll-width)]"),
|
|
963
|
+
(orientation === "horizontal" || orientation === "all") && (padding ? [
|
|
964
|
+
centered && "pt-[calc(var(--scroll-width)+var(--scroll-padding))]",
|
|
965
|
+
"pb-[var(--scroll-padding)]"
|
|
966
|
+
] : centered && "pt-[var(--scroll-width)]"),
|
|
967
|
+
snap && [
|
|
968
|
+
orientation === "vertical" && "snap-y snap-mandatory",
|
|
969
|
+
orientation === "horizontal" && "snap-x snap-mandatory",
|
|
970
|
+
orientation === "all" && "snap-both snap-mandatory"
|
|
971
|
+
],
|
|
972
|
+
autoHide ? [
|
|
973
|
+
orientation === "vertical" && "group-hover/scroll-v:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
974
|
+
orientation === "horizontal" && "group-hover/scroll-h:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
975
|
+
orientation === "all" && "group-hover/scroll-all:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
|
|
976
|
+
] : [
|
|
977
|
+
orientation === "vertical" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
978
|
+
orientation === "horizontal" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
979
|
+
orientation === "all" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
|
|
980
|
+
],
|
|
981
|
+
...etc
|
|
982
|
+
);
|
|
983
|
+
};
|
|
1029
984
|
var scrollAreaTheme = {
|
|
1030
985
|
root: scrollAreaRoot,
|
|
1031
986
|
viewport: scrollAreaViewport
|
|
@@ -1041,7 +996,7 @@ var selectContent = ({ elevation }, ...etc) => {
|
|
|
1041
996
|
}), ...etc);
|
|
1042
997
|
};
|
|
1043
998
|
var selectViewport = (_props, ...etc) => mx(...etc);
|
|
1044
|
-
var selectItem = (_props, ...etc) => mx("flex items-center min-h-[2rem] px-3 py-1 gap-2", "text-base-surface-text leading-none select-none outline-hidden", "[&>svg]:invisible [&[data-state=checked]>svg]:visible",
|
|
999
|
+
var selectItem = (_props, ...etc) => mx("flex items-center min-h-[2rem] px-3 py-1 gap-2", "text-base-surface-text leading-none select-none outline-hidden", "[&>svg]:invisible [&[data-state=checked]>svg]:visible", "dx-highlighted", ...etc);
|
|
1045
1000
|
var selectItemIndicator = (_props, ...etc) => mx("items-center", ...etc);
|
|
1046
1001
|
var selectArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
1047
1002
|
var selectSeparator = (_props, ...etc) => mx("self-stretch border-b my-1 border-separator", ...etc);
|
|
@@ -1077,8 +1032,8 @@ var skeletonTheme = {
|
|
|
1077
1032
|
};
|
|
1078
1033
|
|
|
1079
1034
|
// src/theme/components/status.ts
|
|
1080
|
-
var statusRoot = ({ variant = "default" }, ...etc) => mx("h-1 relative
|
|
1081
|
-
var statusBar = ({
|
|
1035
|
+
var statusRoot = ({ variant = "default" }, ...etc) => mx("h-1 relative rounded-full overflow-hidden", variant === "main-bottom" ? "w-full block" : "inline-20 inline-block bg-base-surface", ...etc);
|
|
1036
|
+
var statusBar = ({ variant = "default", indeterminate }, ...etc) => mx("absolute inset-y-0 block rounded-full", variant === "main-bottom" ? "bg-composer-300" : "bg-un-accent", indeterminate ? "animate-progress-indeterminate" : "start-0", ...etc);
|
|
1082
1037
|
var statusTheme = {
|
|
1083
1038
|
root: statusRoot,
|
|
1084
1039
|
bar: statusBar
|
|
@@ -1099,7 +1054,7 @@ var toastViewport = (_props, ...etc) => mx(
|
|
|
1099
1054
|
);
|
|
1100
1055
|
var toastRoot = (_props, ...etc) => mx("dx-modal-surface rounded-md flex p-2 gap-2", surfaceShadow({
|
|
1101
1056
|
elevation: "toast"
|
|
1102
|
-
}), "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]",
|
|
1057
|
+
}), "radix-state-open:animate-toast-slide-in-bottom md:radix-state-open:animate-toast-slide-in-right", "radix-state-closed:animate-toast-hide", "radix-swipe-end:animate-toast-swipe-out", "translate-x-radix-toast-swipe-move-x", "radix-swipe-cancel:translate-x-0 radix-swipe-cancel:duration-200 radix-swipe-cancel:ease-[ease]", "dx-focus-ring", ...etc);
|
|
1103
1058
|
var toastBody = (_props, ...etc) => mx("grow flex flex-col gap-1 justify-center pl-2", ...etc);
|
|
1104
1059
|
var toastActions = (_props, ...etc) => mx("shrink-0 flex flex-col gap-1 justify-center", ...etc);
|
|
1105
1060
|
var toastTitle = ({ srOnly }, ...etc) => mx("shrink-0 font-medium", srOnly && "sr-only", ...etc);
|
|
@@ -1118,18 +1073,11 @@ var toolbarLayout = "w-full shrink-0 flex flex-nowrap p-1 gap-1 items-center ove
|
|
|
1118
1073
|
var toolbarRoot = ({ density, disabled, layoutManaged }, ...etc) => {
|
|
1119
1074
|
return mx("bg-toolbar-surface dx-toolbar", density === "coarse" && "h-(--dx-rail-size) px-3!", disabled && "*:opacity-20", !layoutManaged && toolbarLayout, ...etc);
|
|
1120
1075
|
};
|
|
1121
|
-
var toolbarInner = ({ layoutManaged }, ...etc) => {
|
|
1122
|
-
return mx(!layoutManaged && [
|
|
1123
|
-
"flex gap-1",
|
|
1124
|
-
textBlockWidth
|
|
1125
|
-
], ...etc);
|
|
1126
|
-
};
|
|
1127
1076
|
var toolbarText = (_, ...etc) => {
|
|
1128
|
-
return mx("grow truncate items-center",
|
|
1077
|
+
return mx("px-2 grow truncate items-center", ...etc);
|
|
1129
1078
|
};
|
|
1130
1079
|
var toolbarTheme = {
|
|
1131
1080
|
root: toolbarRoot,
|
|
1132
|
-
inner: toolbarInner,
|
|
1133
1081
|
text: toolbarText
|
|
1134
1082
|
};
|
|
1135
1083
|
|
|
@@ -1182,7 +1130,7 @@ var levelStyles = /* @__PURE__ */ new Map([
|
|
|
1182
1130
|
]
|
|
1183
1131
|
]);
|
|
1184
1132
|
var treegridRoot = (_, ...etc) => mx("grid", ...etc);
|
|
1185
|
-
var treegridRow = ({ level = 1 }, ...etc) => mx(
|
|
1133
|
+
var treegridRow = ({ level = 1 }, ...etc) => mx(levelStyles.get(Math.min(Math.max(Math.round(level), 1), 8)), ...etc);
|
|
1186
1134
|
var treegridCell = ({ indent }, ...etc) => mx(indent && "indent", ...etc);
|
|
1187
1135
|
var treegridTheme = {
|
|
1188
1136
|
root: treegridRoot,
|
|
@@ -1190,43 +1138,22 @@ var treegridTheme = {
|
|
|
1190
1138
|
cell: treegridCell
|
|
1191
1139
|
};
|
|
1192
1140
|
|
|
1193
|
-
// src/theme/theme.ts
|
|
1194
|
-
import { getDeep } from "@dxos/util";
|
|
1195
|
-
|
|
1196
|
-
// src/theme/primitives/column.ts
|
|
1197
|
-
var columnRoot = (_, ...etc) => mx("dx-column w-full min-w-0 grid", ...etc);
|
|
1198
|
-
var columnRow = (_, ...etc) => mx("col-span-3 grid grid-cols-subgrid", ...etc);
|
|
1199
|
-
var columnSegment = (_, ...etc) => mx("col-start-2 col-span-1 min-w-0", ...etc);
|
|
1200
|
-
var columnTheme = {
|
|
1201
|
-
root: columnRoot,
|
|
1202
|
-
row: columnRow,
|
|
1203
|
-
segment: columnSegment
|
|
1204
|
-
};
|
|
1205
|
-
|
|
1206
1141
|
// src/theme/primitives/panel.ts
|
|
1142
|
+
var sizes = {
|
|
1143
|
+
lg: "h-(--dx-topbar-size)",
|
|
1144
|
+
md: "h-(--dx-toolbar-size)",
|
|
1145
|
+
sm: "h-(--dx-statusbar-size)"
|
|
1146
|
+
};
|
|
1207
1147
|
var panelRoot = (_, ...etc) => mx(
|
|
1208
1148
|
// prettier-ignore
|
|
1209
|
-
"
|
|
1149
|
+
"dx-container grid grid-cols-[100%] overflow-hidden",
|
|
1150
|
+
// Add uncategorized children to content slot.
|
|
1210
1151
|
"[&>*:not([data-slot])]:[grid-area:content]",
|
|
1211
1152
|
...etc
|
|
1212
1153
|
);
|
|
1213
|
-
var panelToolbar = (
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
"border-b border-subdued-separator relative",
|
|
1217
|
-
"[.dx-main-mobile-layout_&]:px-3",
|
|
1218
|
-
...etc
|
|
1219
|
-
);
|
|
1220
|
-
var panelContent = (_, ...etc) => mx(
|
|
1221
|
-
// prettier-ignore
|
|
1222
|
-
"[grid-area:content] overflow-hidden min-h-0",
|
|
1223
|
-
...etc
|
|
1224
|
-
);
|
|
1225
|
-
var panelStatusbar = (_, ...etc) => mx(
|
|
1226
|
-
// prettier-ignore
|
|
1227
|
-
"[grid-area:statusbar]",
|
|
1228
|
-
...etc
|
|
1229
|
-
);
|
|
1154
|
+
var panelToolbar = ({ size = "md" }, ...etc) => mx("[grid-area:toolbar]", "shrink-0", sizes[size], ...etc);
|
|
1155
|
+
var panelContent = (_, ...etc) => mx("[grid-area:content] min-h-0", ...etc);
|
|
1156
|
+
var panelStatusbar = ({ size = "md" }, ...etc) => mx("[grid-area:statusbar]", "shrink-0", sizes[size], ...etc);
|
|
1230
1157
|
var panelTheme = {
|
|
1231
1158
|
root: panelRoot,
|
|
1232
1159
|
toolbar: panelToolbar,
|
|
@@ -1235,6 +1162,7 @@ var panelTheme = {
|
|
|
1235
1162
|
};
|
|
1236
1163
|
|
|
1237
1164
|
// src/theme/theme.ts
|
|
1165
|
+
import { getDeep } from "@dxos/util";
|
|
1238
1166
|
var defaultTheme = {
|
|
1239
1167
|
themeName: () => "default",
|
|
1240
1168
|
//
|
|
@@ -1250,6 +1178,7 @@ var defaultTheme = {
|
|
|
1250
1178
|
button: buttonTheme,
|
|
1251
1179
|
card: cardTheme,
|
|
1252
1180
|
dialog: dialogTheme,
|
|
1181
|
+
focus: focusTheme,
|
|
1253
1182
|
icon: iconTheme,
|
|
1254
1183
|
iconButton: iconButtonTheme,
|
|
1255
1184
|
input: inputTheme,
|
|
@@ -1305,16 +1234,16 @@ export {
|
|
|
1305
1234
|
cardMinBlockSize,
|
|
1306
1235
|
cardMinInlineSize,
|
|
1307
1236
|
cardTheme,
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1237
|
+
columnTheme,
|
|
1238
|
+
composable,
|
|
1239
|
+
composableProps,
|
|
1311
1240
|
dataDisabled,
|
|
1312
1241
|
defaultButtonColors,
|
|
1313
1242
|
defaultTheme,
|
|
1314
1243
|
defaultTx,
|
|
1315
1244
|
densityBlockSize,
|
|
1245
|
+
densityDimensions,
|
|
1316
1246
|
descriptionMessage,
|
|
1317
|
-
descriptionTextPrimary,
|
|
1318
1247
|
dialogActionBar,
|
|
1319
1248
|
dialogBody,
|
|
1320
1249
|
dialogContent,
|
|
@@ -1323,21 +1252,16 @@ export {
|
|
|
1323
1252
|
dialogOverlay,
|
|
1324
1253
|
dialogTheme,
|
|
1325
1254
|
dialogTitle,
|
|
1326
|
-
|
|
1327
|
-
fineDimensions,
|
|
1328
|
-
focusRing,
|
|
1255
|
+
focusTheme,
|
|
1329
1256
|
getHashHue,
|
|
1330
1257
|
getHashStyles,
|
|
1258
|
+
getHeight,
|
|
1331
1259
|
getSize,
|
|
1332
|
-
getSizeHeight,
|
|
1333
|
-
getSizeWidth,
|
|
1334
1260
|
getStyles,
|
|
1261
|
+
getWidth,
|
|
1335
1262
|
ghostButtonColors,
|
|
1336
1263
|
ghostFocusWithin,
|
|
1337
|
-
ghostHighlighted,
|
|
1338
1264
|
ghostHover,
|
|
1339
|
-
ghostSelected,
|
|
1340
|
-
ghostSelectedContainerMd,
|
|
1341
1265
|
groupHoverControlItemWithTransition,
|
|
1342
1266
|
hoverableControlItem,
|
|
1343
1267
|
hoverableControls,
|
|
@@ -1349,6 +1273,7 @@ export {
|
|
|
1349
1273
|
iconButtonRoot,
|
|
1350
1274
|
iconButtonTheme,
|
|
1351
1275
|
iconRoot,
|
|
1276
|
+
iconSize,
|
|
1352
1277
|
iconTheme,
|
|
1353
1278
|
inputTextLabel,
|
|
1354
1279
|
inputTheme,
|
|
@@ -1386,6 +1311,7 @@ export {
|
|
|
1386
1311
|
mx,
|
|
1387
1312
|
osTranslations,
|
|
1388
1313
|
palette,
|
|
1314
|
+
panelTheme,
|
|
1389
1315
|
popoverArrow,
|
|
1390
1316
|
popoverContent,
|
|
1391
1317
|
popoverTheme,
|
|
@@ -1395,6 +1321,7 @@ export {
|
|
|
1395
1321
|
scrollAreaRoot,
|
|
1396
1322
|
scrollAreaTheme,
|
|
1397
1323
|
scrollAreaViewport,
|
|
1324
|
+
scrollbar,
|
|
1398
1325
|
selectArrow,
|
|
1399
1326
|
selectContent,
|
|
1400
1327
|
selectItem,
|
|
@@ -1405,23 +1332,23 @@ export {
|
|
|
1405
1332
|
selectViewport,
|
|
1406
1333
|
separatorRoot,
|
|
1407
1334
|
separatorTheme,
|
|
1335
|
+
sizeToRem,
|
|
1408
1336
|
sizeValue,
|
|
1409
1337
|
skeletonRoot,
|
|
1410
1338
|
skeletonTheme,
|
|
1339
|
+
slottable,
|
|
1340
|
+
snapSize,
|
|
1411
1341
|
splitterTheme,
|
|
1412
1342
|
staticDefaultButtonColors,
|
|
1413
1343
|
staticDisabled,
|
|
1414
|
-
staticFocusRing,
|
|
1415
1344
|
statusBar,
|
|
1416
1345
|
statusRoot,
|
|
1417
1346
|
statusTheme,
|
|
1418
|
-
subduedFocus,
|
|
1419
1347
|
subtleHover,
|
|
1420
1348
|
surfaceShadow,
|
|
1421
1349
|
surfaceZIndex,
|
|
1422
1350
|
tagRoot,
|
|
1423
1351
|
tagTheme,
|
|
1424
|
-
textBlockWidth,
|
|
1425
1352
|
textValence,
|
|
1426
1353
|
toastActions,
|
|
1427
1354
|
toastBody,
|
|
@@ -1430,7 +1357,6 @@ export {
|
|
|
1430
1357
|
toastTheme,
|
|
1431
1358
|
toastTitle,
|
|
1432
1359
|
toastViewport,
|
|
1433
|
-
toolbarInner,
|
|
1434
1360
|
toolbarLayout,
|
|
1435
1361
|
toolbarRoot,
|
|
1436
1362
|
toolbarText,
|
|
@@ -1443,6 +1369,6 @@ export {
|
|
|
1443
1369
|
treegridRoot,
|
|
1444
1370
|
treegridRow,
|
|
1445
1371
|
treegridTheme,
|
|
1446
|
-
|
|
1372
|
+
withColumn
|
|
1447
1373
|
};
|
|
1448
1374
|
//# sourceMappingURL=index.mjs.map
|