@dxos/ui-theme 0.8.4-main.6fa680abb7 → 0.8.4-main.7996785055
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 +350 -439
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +350 -439
- 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} +63 -30
- 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 +6 -13
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs.map +3 -3
- package/dist/plugin/node-esm/{theme.css → main.css} +63 -30
- 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 +6 -13
- package/dist/plugin/node-esm/plugins/ThemePlugin.mjs.map +3 -3
- 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 -4
- 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.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.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.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/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/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 +8 -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/index.d.ts +3 -0
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/mx.d.ts +28 -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.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -4
- package/src/css/components/{focus-ring.css → focus.css} +15 -1
- package/src/css/components/icon.css +9 -0
- package/src/css/components/selected.css +29 -0
- package/src/css/integrations/codemirror.css +3 -2
- package/src/css/integrations/tldraw.css +1 -0
- package/src/css/layout/main.css +0 -7
- package/src/css/layout/size.css +8 -31
- package/src/css/theme/palette.css +8 -0
- package/src/css/theme/semantic.css +24 -9
- package/src/css/theme/spacing.css +35 -18
- package/src/css/utilities.css +65 -3
- package/src/fragments/AUDIT.md +58 -0
- package/src/fragments/index.ts +1 -6
- package/src/fragments/text.ts +0 -5
- package/src/index.ts +1 -1
- package/src/{theme.css → main.css} +10 -6
- package/src/plugins/ThemePlugin.ts +10 -21
- 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 +12 -8
- package/src/theme/components/dialog.ts +1 -2
- package/src/theme/components/focus.ts +33 -0
- package/src/theme/components/icon.ts +13 -4
- package/src/theme/components/index.ts +1 -0
- package/src/theme/components/input.ts +10 -25
- package/src/theme/components/link.ts +1 -2
- package/src/theme/components/list.ts +3 -3
- package/src/theme/components/menu.ts +3 -3
- package/src/theme/components/message.ts +2 -3
- package/src/theme/components/popover.ts +3 -4
- package/src/theme/components/scroll-area.ts +47 -39
- 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/index.ts +1 -0
- package/src/theme/primitives/column.ts +27 -10
- package/src/theme/primitives/panel.ts +19 -25
- package/src/theme/theme.ts +2 -0
- package/src/util/index.ts +3 -0
- package/src/util/mx.ts +104 -6
- 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.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/dist/types/src/{fragments → util}/valence.d.ts +0 -0
- /package/src/{fragments → util}/elevation.ts +0 -0
- /package/src/{fragments → util}/valence.ts +0 -0
|
@@ -56,7 +56,22 @@ var densityBlockSize = (density = "coarse") => density === "fine" ? fineBlockSiz
|
|
|
56
56
|
var staticDisabled = "opacity-40 cursor-not-allowed shadow-none";
|
|
57
57
|
var dataDisabled = "data-[disabled]:opacity-40 data-[disabled]:cursor-not-allowed";
|
|
58
58
|
|
|
59
|
-
// src/fragments/
|
|
59
|
+
// src/fragments/hover.ts
|
|
60
|
+
var subtleHover = "hover:bg-hover-overlay";
|
|
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 descriptionTextPrimary = "text-sm font-normal text-base-surface-text";
|
|
72
|
+
var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
|
|
73
|
+
|
|
74
|
+
// src/util/elevation.ts
|
|
60
75
|
var surfaceShadow = ({ elevation }) => [
|
|
61
76
|
elevation === "positioned" ? "shadow-sm" : elevation === "dialog" || elevation === "toast" ? "shadow-md" : "shadow-none"
|
|
62
77
|
];
|
|
@@ -89,27 +104,6 @@ var surfaceZIndex = ({ level, elevation }) => {
|
|
|
89
104
|
}
|
|
90
105
|
};
|
|
91
106
|
|
|
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
|
-
// src/fragments/selected.ts
|
|
109
|
-
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";
|
|
110
|
-
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]";
|
|
111
|
-
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]";
|
|
112
|
-
|
|
113
107
|
// src/util/hash-styles.ts
|
|
114
108
|
var neutral = {
|
|
115
109
|
hue: "neutral",
|
|
@@ -273,7 +267,10 @@ var getHashHue = (id) => {
|
|
|
273
267
|
var getHash = (id) => id.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
274
268
|
|
|
275
269
|
// src/util/mx.ts
|
|
270
|
+
import { Children, createElement, forwardRef, isValidElement } from "react";
|
|
276
271
|
import { extendTailwindMerge, validators } from "tailwind-merge";
|
|
272
|
+
import { log } from "@dxos/log";
|
|
273
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/ui/ui-theme/src/util/mx.ts";
|
|
277
274
|
var mx = extendTailwindMerge({
|
|
278
275
|
extend: {
|
|
279
276
|
classGroups: {
|
|
@@ -318,334 +315,233 @@ var mx = extendTailwindMerge({
|
|
|
318
315
|
}
|
|
319
316
|
}
|
|
320
317
|
});
|
|
321
|
-
var composableProps = ({ className, classNames, ...props }, {
|
|
318
|
+
var composableProps = ({ className, classNames, ...props }, { classNames: defaultClassNames, ...defaults } = {}) => ({
|
|
319
|
+
// Default props.
|
|
322
320
|
...defaults,
|
|
321
|
+
// Spread supplied props.
|
|
323
322
|
...props,
|
|
323
|
+
// Compose classnames.
|
|
324
324
|
className: mx(defaultClassNames, className, classNames)
|
|
325
325
|
});
|
|
326
|
+
var COMPOSABLE = /* @__PURE__ */ Symbol.for("dxos.composable");
|
|
327
|
+
function slottable(render) {
|
|
328
|
+
const wrapped = (props, forwardedRef) => {
|
|
329
|
+
let warn = false;
|
|
330
|
+
if (props.asChild) {
|
|
331
|
+
try {
|
|
332
|
+
const child = Children.only(props.children);
|
|
333
|
+
if (isValidElement(child) && typeof child.type !== "string" && !child.type[COMPOSABLE]) {
|
|
334
|
+
warn = true;
|
|
335
|
+
log.warn("slot child is not composable; create it with composable() or slottable()", {
|
|
336
|
+
child: child.type.displayName ?? child.type.name
|
|
337
|
+
}, {
|
|
338
|
+
F: __dxlog_file,
|
|
339
|
+
L: 118,
|
|
340
|
+
S: this,
|
|
341
|
+
C: (f, a) => f(...a)
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
} catch {
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
const result = render(props, forwardedRef);
|
|
348
|
+
if (warn) {
|
|
349
|
+
return createElement("div", {
|
|
350
|
+
role: "none",
|
|
351
|
+
className: "dx-slot-warning"
|
|
352
|
+
}, result);
|
|
353
|
+
}
|
|
354
|
+
return result;
|
|
355
|
+
};
|
|
356
|
+
const component = forwardRef(wrapped);
|
|
357
|
+
component[COMPOSABLE] = true;
|
|
358
|
+
return component;
|
|
359
|
+
}
|
|
360
|
+
function composable(render) {
|
|
361
|
+
const component = forwardRef(render);
|
|
362
|
+
component[COMPOSABLE] = true;
|
|
363
|
+
return component;
|
|
364
|
+
}
|
|
326
365
|
|
|
327
|
-
// src/
|
|
328
|
-
var
|
|
329
|
-
|
|
330
|
-
0,
|
|
331
|
-
"
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
"px",
|
|
335
|
-
"
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
0.5,
|
|
339
|
-
"
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
1,
|
|
343
|
-
"
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
1.5,
|
|
347
|
-
"
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
2,
|
|
351
|
-
"
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
2.5,
|
|
355
|
-
"
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
3,
|
|
359
|
-
"
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
3.5,
|
|
363
|
-
"
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
4,
|
|
367
|
-
"
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
5,
|
|
371
|
-
"
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
6,
|
|
375
|
-
"
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
7,
|
|
379
|
-
"
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
8,
|
|
383
|
-
"
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
9,
|
|
387
|
-
"
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
10,
|
|
391
|
-
"
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
11,
|
|
395
|
-
"
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
12,
|
|
399
|
-
"
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
14,
|
|
403
|
-
"
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
16,
|
|
407
|
-
"
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
20,
|
|
411
|
-
"
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
24,
|
|
415
|
-
"
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
28,
|
|
419
|
-
"
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
32,
|
|
423
|
-
"
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
36,
|
|
427
|
-
"
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
40,
|
|
431
|
-
"
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
44,
|
|
435
|
-
"
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
48,
|
|
439
|
-
"
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
52,
|
|
443
|
-
"
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
56,
|
|
447
|
-
"
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
60,
|
|
451
|
-
"
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
64,
|
|
455
|
-
"
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
72,
|
|
459
|
-
"
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
80,
|
|
463
|
-
"
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
96,
|
|
467
|
-
"
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
var
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
"h-0.5"
|
|
482
|
-
],
|
|
483
|
-
[
|
|
484
|
-
1,
|
|
485
|
-
"h-1"
|
|
486
|
-
],
|
|
487
|
-
[
|
|
488
|
-
1.5,
|
|
489
|
-
"h-1.5"
|
|
490
|
-
],
|
|
491
|
-
[
|
|
492
|
-
2,
|
|
493
|
-
"h-2"
|
|
494
|
-
],
|
|
495
|
-
[
|
|
496
|
-
2.5,
|
|
497
|
-
"h-2.5"
|
|
498
|
-
],
|
|
499
|
-
[
|
|
500
|
-
3,
|
|
501
|
-
"h-3"
|
|
502
|
-
],
|
|
503
|
-
[
|
|
504
|
-
3.5,
|
|
505
|
-
"h-3.5"
|
|
506
|
-
],
|
|
507
|
-
[
|
|
508
|
-
4,
|
|
509
|
-
"h-4"
|
|
510
|
-
],
|
|
511
|
-
[
|
|
512
|
-
5,
|
|
513
|
-
"h-5"
|
|
514
|
-
],
|
|
515
|
-
[
|
|
516
|
-
6,
|
|
517
|
-
"h-6"
|
|
518
|
-
],
|
|
519
|
-
[
|
|
520
|
-
7,
|
|
521
|
-
"h-7"
|
|
522
|
-
],
|
|
523
|
-
[
|
|
524
|
-
8,
|
|
525
|
-
"h-8"
|
|
526
|
-
],
|
|
527
|
-
[
|
|
528
|
-
9,
|
|
529
|
-
"h-9"
|
|
530
|
-
],
|
|
531
|
-
[
|
|
532
|
-
10,
|
|
533
|
-
"h-10"
|
|
534
|
-
],
|
|
535
|
-
[
|
|
536
|
-
11,
|
|
537
|
-
"h-11"
|
|
538
|
-
],
|
|
539
|
-
[
|
|
540
|
-
12,
|
|
541
|
-
"h-12"
|
|
542
|
-
],
|
|
543
|
-
[
|
|
544
|
-
14,
|
|
545
|
-
"h-14"
|
|
546
|
-
],
|
|
547
|
-
[
|
|
548
|
-
16,
|
|
549
|
-
"h-16"
|
|
550
|
-
],
|
|
551
|
-
[
|
|
552
|
-
20,
|
|
553
|
-
"h-20"
|
|
554
|
-
],
|
|
555
|
-
[
|
|
556
|
-
24,
|
|
557
|
-
"h-24"
|
|
558
|
-
],
|
|
559
|
-
[
|
|
560
|
-
28,
|
|
561
|
-
"h-28"
|
|
562
|
-
],
|
|
563
|
-
[
|
|
564
|
-
32,
|
|
565
|
-
"h-32"
|
|
566
|
-
],
|
|
567
|
-
[
|
|
568
|
-
36,
|
|
569
|
-
"h-36"
|
|
570
|
-
],
|
|
571
|
-
[
|
|
572
|
-
40,
|
|
573
|
-
"h-40"
|
|
574
|
-
],
|
|
575
|
-
[
|
|
576
|
-
44,
|
|
577
|
-
"h-44"
|
|
578
|
-
],
|
|
579
|
-
[
|
|
580
|
-
48,
|
|
581
|
-
"h-48"
|
|
582
|
-
],
|
|
583
|
-
[
|
|
584
|
-
52,
|
|
585
|
-
"h-52"
|
|
586
|
-
],
|
|
587
|
-
[
|
|
588
|
-
56,
|
|
589
|
-
"h-56"
|
|
590
|
-
],
|
|
591
|
-
[
|
|
592
|
-
60,
|
|
593
|
-
"h-60"
|
|
594
|
-
],
|
|
595
|
-
[
|
|
596
|
-
64,
|
|
597
|
-
"h-64"
|
|
598
|
-
],
|
|
599
|
-
[
|
|
600
|
-
72,
|
|
601
|
-
"h-72"
|
|
602
|
-
],
|
|
603
|
-
[
|
|
604
|
-
80,
|
|
605
|
-
"h-80"
|
|
606
|
-
],
|
|
607
|
-
[
|
|
608
|
-
96,
|
|
609
|
-
"h-96"
|
|
610
|
-
]
|
|
611
|
-
]);
|
|
612
|
-
var sizes = new Set(sizeWidthMap.keys());
|
|
613
|
-
var getSizeHeight = sizeHeightMap.get.bind(sizeHeightMap);
|
|
614
|
-
var getSizeWidth = sizeWidthMap.get.bind(sizeWidthMap);
|
|
615
|
-
var getSize = (size) => mx(getSizeHeight(size), getSizeWidth(size));
|
|
616
|
-
var computeSize = (value, defaultSize) => {
|
|
617
|
-
if (sizes.has(value)) {
|
|
366
|
+
// src/util/size.ts
|
|
367
|
+
var sizeMap = {
|
|
368
|
+
0: {
|
|
369
|
+
w: "w-0",
|
|
370
|
+
h: "h-0"
|
|
371
|
+
},
|
|
372
|
+
px: {
|
|
373
|
+
w: "w-px",
|
|
374
|
+
h: "h-px"
|
|
375
|
+
},
|
|
376
|
+
0.5: {
|
|
377
|
+
w: "w-0.5",
|
|
378
|
+
h: "h-0.5"
|
|
379
|
+
},
|
|
380
|
+
1: {
|
|
381
|
+
w: "w-1",
|
|
382
|
+
h: "h-1"
|
|
383
|
+
},
|
|
384
|
+
1.5: {
|
|
385
|
+
w: "w-1.5",
|
|
386
|
+
h: "h-1.5"
|
|
387
|
+
},
|
|
388
|
+
2: {
|
|
389
|
+
w: "w-2",
|
|
390
|
+
h: "h-2"
|
|
391
|
+
},
|
|
392
|
+
2.5: {
|
|
393
|
+
w: "w-2.5",
|
|
394
|
+
h: "h-2.5"
|
|
395
|
+
},
|
|
396
|
+
3: {
|
|
397
|
+
w: "w-3",
|
|
398
|
+
h: "h-3"
|
|
399
|
+
},
|
|
400
|
+
3.5: {
|
|
401
|
+
w: "w-3.5",
|
|
402
|
+
h: "h-3.5"
|
|
403
|
+
},
|
|
404
|
+
4: {
|
|
405
|
+
w: "w-4",
|
|
406
|
+
h: "h-4"
|
|
407
|
+
},
|
|
408
|
+
5: {
|
|
409
|
+
w: "w-5",
|
|
410
|
+
h: "h-5"
|
|
411
|
+
},
|
|
412
|
+
6: {
|
|
413
|
+
w: "w-6",
|
|
414
|
+
h: "h-6"
|
|
415
|
+
},
|
|
416
|
+
7: {
|
|
417
|
+
w: "w-7",
|
|
418
|
+
h: "h-7"
|
|
419
|
+
},
|
|
420
|
+
8: {
|
|
421
|
+
w: "w-8",
|
|
422
|
+
h: "h-8"
|
|
423
|
+
},
|
|
424
|
+
9: {
|
|
425
|
+
w: "w-9",
|
|
426
|
+
h: "h-9"
|
|
427
|
+
},
|
|
428
|
+
10: {
|
|
429
|
+
w: "w-10",
|
|
430
|
+
h: "h-10"
|
|
431
|
+
},
|
|
432
|
+
11: {
|
|
433
|
+
w: "w-11",
|
|
434
|
+
h: "h-11"
|
|
435
|
+
},
|
|
436
|
+
12: {
|
|
437
|
+
w: "w-12",
|
|
438
|
+
h: "h-12"
|
|
439
|
+
},
|
|
440
|
+
14: {
|
|
441
|
+
w: "w-14",
|
|
442
|
+
h: "h-14"
|
|
443
|
+
},
|
|
444
|
+
16: {
|
|
445
|
+
w: "w-16",
|
|
446
|
+
h: "h-16"
|
|
447
|
+
},
|
|
448
|
+
20: {
|
|
449
|
+
w: "w-20",
|
|
450
|
+
h: "h-20"
|
|
451
|
+
},
|
|
452
|
+
24: {
|
|
453
|
+
w: "w-24",
|
|
454
|
+
h: "h-24"
|
|
455
|
+
},
|
|
456
|
+
28: {
|
|
457
|
+
w: "w-28",
|
|
458
|
+
h: "h-28"
|
|
459
|
+
},
|
|
460
|
+
32: {
|
|
461
|
+
w: "w-32",
|
|
462
|
+
h: "h-32"
|
|
463
|
+
},
|
|
464
|
+
36: {
|
|
465
|
+
w: "w-36",
|
|
466
|
+
h: "h-36"
|
|
467
|
+
},
|
|
468
|
+
40: {
|
|
469
|
+
w: "w-40",
|
|
470
|
+
h: "h-40"
|
|
471
|
+
},
|
|
472
|
+
44: {
|
|
473
|
+
w: "w-44",
|
|
474
|
+
h: "h-44"
|
|
475
|
+
},
|
|
476
|
+
48: {
|
|
477
|
+
w: "w-48",
|
|
478
|
+
h: "h-48"
|
|
479
|
+
},
|
|
480
|
+
52: {
|
|
481
|
+
w: "w-52",
|
|
482
|
+
h: "h-52"
|
|
483
|
+
},
|
|
484
|
+
56: {
|
|
485
|
+
w: "w-56",
|
|
486
|
+
h: "h-56"
|
|
487
|
+
},
|
|
488
|
+
60: {
|
|
489
|
+
w: "w-60",
|
|
490
|
+
h: "h-60"
|
|
491
|
+
},
|
|
492
|
+
64: {
|
|
493
|
+
w: "w-64",
|
|
494
|
+
h: "h-64"
|
|
495
|
+
},
|
|
496
|
+
72: {
|
|
497
|
+
w: "w-72",
|
|
498
|
+
h: "h-72"
|
|
499
|
+
},
|
|
500
|
+
80: {
|
|
501
|
+
w: "w-80",
|
|
502
|
+
h: "h-80"
|
|
503
|
+
},
|
|
504
|
+
96: {
|
|
505
|
+
w: "w-96",
|
|
506
|
+
h: "h-96"
|
|
507
|
+
}
|
|
508
|
+
};
|
|
509
|
+
var SIZE_VALUES = Object.keys(sizeMap).map((key) => key === "px" ? "px" : Number(key));
|
|
510
|
+
var getHeight = (size) => sizeMap[size]?.h;
|
|
511
|
+
var getWidth = (size) => sizeMap[size]?.w;
|
|
512
|
+
var getSize = (size) => mx(getHeight(size), getWidth(size));
|
|
513
|
+
var sizeValue = (size) => size === "px" ? 1 : size;
|
|
514
|
+
var sizeToRem = (size) => size === "px" ? "1px" : `${size * 0.25}rem`;
|
|
515
|
+
var iconSize = (size) => ({
|
|
516
|
+
"--icon-size": size ? sizeToRem(size) : "initial"
|
|
517
|
+
});
|
|
518
|
+
var snapSize = (value, defaultSize) => {
|
|
519
|
+
if (SIZE_VALUES.includes(value)) {
|
|
618
520
|
return value;
|
|
619
521
|
} else if (value <= 0) {
|
|
620
522
|
return 0;
|
|
621
|
-
} else if (value
|
|
523
|
+
} else if (value < 0.5) {
|
|
622
524
|
return "px";
|
|
623
525
|
} else {
|
|
624
526
|
const wholeSeries = Math.floor(value);
|
|
625
527
|
const halfSeries = Math.floor(value * 2) / 2;
|
|
626
528
|
const doubleSeries = Math.floor(value / 2) * 2;
|
|
627
529
|
const quadrupleSeries = Math.floor(value / 4) * 4;
|
|
628
|
-
if (
|
|
530
|
+
if (SIZE_VALUES.includes(halfSeries)) {
|
|
629
531
|
return halfSeries;
|
|
630
|
-
} else if (
|
|
532
|
+
} else if (SIZE_VALUES.includes(wholeSeries)) {
|
|
631
533
|
return wholeSeries;
|
|
632
|
-
} else if (
|
|
534
|
+
} else if (SIZE_VALUES.includes(doubleSeries)) {
|
|
633
535
|
return doubleSeries;
|
|
634
|
-
} else if (
|
|
536
|
+
} else if (SIZE_VALUES.includes(quadrupleSeries)) {
|
|
635
537
|
return quadrupleSeries;
|
|
636
538
|
} else {
|
|
637
539
|
return defaultSize;
|
|
638
540
|
}
|
|
639
541
|
}
|
|
640
542
|
};
|
|
641
|
-
var sizeValue = (size) => size === "px" ? 1 : size;
|
|
642
|
-
|
|
643
|
-
// src/fragments/text.ts
|
|
644
|
-
var textBlockWidth = "w-full max-w-text-content mx-auto";
|
|
645
|
-
var descriptionTextPrimary = "text-sm font-normal text-base-surface-text";
|
|
646
|
-
var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
|
|
647
543
|
|
|
648
|
-
// src/
|
|
544
|
+
// src/util/valence.ts
|
|
649
545
|
var textValence = (valence) => {
|
|
650
546
|
switch (valence) {
|
|
651
547
|
case "success":
|
|
@@ -677,12 +573,12 @@ var messageValence = (valence) => {
|
|
|
677
573
|
var avatarRoot = ({ size = 10, inGroup }, ...etc) => mx("relative inline-flex shrink-0", getSize(size), inGroup && (size === "px" || size <= 3 ? "-mr-1" : "-mr-2"), ...etc);
|
|
678
574
|
var avatarLabel = ({ srOnly }, ...etc) => mx(srOnly && "sr-only", ...etc);
|
|
679
575
|
var avatarDescription = ({ srOnly }, ...etc) => mx("text-description", srOnly && "sr-only", ...etc);
|
|
680
|
-
var avatarFrame = ({ variant }, ...etc) => mx("
|
|
576
|
+
var avatarFrame = ({ variant }, ...etc) => mx("h-full w-full bg-(--surface-bg)", variant === "circle" ? "rounded-full" : "rounded-sm", ...etc);
|
|
681
577
|
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);
|
|
682
578
|
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);
|
|
683
579
|
var avatarFallbackText = (_props, ...etc) => mx("fill-white", ...etc);
|
|
684
580
|
var avatarGroup = (_props, ...etc) => mx("inline-flex items-center", ...etc);
|
|
685
|
-
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 &&
|
|
581
|
+
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);
|
|
686
582
|
var avatarGroupDescription = ({ srOnly }, ...etc) => mx(srOnly ? "sr-only" : "text-description", ...etc);
|
|
687
583
|
var avatarTheme = {
|
|
688
584
|
root: avatarRoot,
|
|
@@ -712,8 +608,8 @@ var breadcrumbTheme = {
|
|
|
712
608
|
};
|
|
713
609
|
|
|
714
610
|
// src/theme/components/card.ts
|
|
715
|
-
var cardRoot = ({ border, fullWidth }, ...etc) => mx("dx-card
|
|
716
|
-
var cardToolbar = (
|
|
611
|
+
var cardRoot = ({ border, fullWidth }, ...etc) => mx("dx-card dx-card-min-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);
|
|
612
|
+
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);
|
|
717
613
|
var cardTitle = (_props, ...etc) => mx("dx-card__title grow truncate", ...etc);
|
|
718
614
|
var cardContent = (_props, ...etc) => mx("dx-card__content contents [&>:last-child]:pb-1", ...etc);
|
|
719
615
|
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);
|
|
@@ -725,7 +621,7 @@ var cardAction = (_props, ...etc) => mx("dx-card__acztion col-span-3 !grid grid-
|
|
|
725
621
|
var cardActionLabel = (_props, ...etc) => mx("dx-card__action-label min-w-0 flex-1 truncate", ...etc);
|
|
726
622
|
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);
|
|
727
623
|
var cardLinkLabel = (_props, ...etc) => mx("dx-card__link-label min-w-0 flex-1 truncate", ...etc);
|
|
728
|
-
var cardIconBlock = (
|
|
624
|
+
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);
|
|
729
625
|
var cardTheme = {
|
|
730
626
|
root: cardRoot,
|
|
731
627
|
toolbar: cardToolbar,
|
|
@@ -749,7 +645,7 @@ var staticDefaultButtonColors = "bg-input-surface text-input-surface-text";
|
|
|
749
645
|
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");
|
|
750
646
|
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");
|
|
751
647
|
var buttonRoot = (_props, ...etc) => {
|
|
752
|
-
return mx("dx-button dx-focus-ring group
|
|
648
|
+
return mx("dx-button dx-focus-ring group [&_span]:truncate", ...etc);
|
|
753
649
|
};
|
|
754
650
|
var buttonGroup = (_props, ...etc) => {
|
|
755
651
|
return mx("inline-flex rounded-xs [&>:first-child]:rounded-w-sm [&>:last-child]:rounded-ie-sm [&>button]:relative", ...etc);
|
|
@@ -760,7 +656,7 @@ var buttonTheme = {
|
|
|
760
656
|
};
|
|
761
657
|
|
|
762
658
|
// src/theme/components/dialog.ts
|
|
763
|
-
var
|
|
659
|
+
var sizeMap2 = {
|
|
764
660
|
sm: "md:max-w-[24rem]",
|
|
765
661
|
md: "md:max-w-[32rem]!",
|
|
766
662
|
lg: "md:max-w-[40rem]!",
|
|
@@ -768,10 +664,10 @@ var sizeMap = {
|
|
|
768
664
|
};
|
|
769
665
|
var dialogOverlay = (_props, ...etc) => mx("dx-dialog__overlay", ...etc);
|
|
770
666
|
var dialogContent = ({ inOverlayLayout, size = "md" }, ...etc) => {
|
|
771
|
-
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%]",
|
|
667
|
+
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);
|
|
772
668
|
};
|
|
773
669
|
var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", ...etc);
|
|
774
|
-
var dialogBody = (_props, ...etc) => mx("dx-dialog__body
|
|
670
|
+
var dialogBody = (_props, ...etc) => mx("dx-dialog__body", ...etc);
|
|
775
671
|
var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", ...etc);
|
|
776
672
|
var dialogTitle = ({ srOnly }, ...etc) => mx("dx-dialog__title", srOnly && "sr-only", ...etc);
|
|
777
673
|
var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", "text-description", srOnly && "sr-only", ...etc);
|
|
@@ -785,8 +681,17 @@ var dialogTheme = {
|
|
|
785
681
|
description: dialogDescription
|
|
786
682
|
};
|
|
787
683
|
|
|
684
|
+
// src/theme/components/focus.ts
|
|
685
|
+
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);
|
|
686
|
+
var focusTheme = {
|
|
687
|
+
group: focusRing,
|
|
688
|
+
item: focusRing
|
|
689
|
+
};
|
|
690
|
+
|
|
788
691
|
// src/theme/components/icon.ts
|
|
789
|
-
var iconRoot = ({ size }, etc) =>
|
|
692
|
+
var iconRoot = ({ size }, etc) => {
|
|
693
|
+
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);
|
|
694
|
+
};
|
|
790
695
|
var iconTheme = {
|
|
791
696
|
root: iconRoot
|
|
792
697
|
};
|
|
@@ -821,7 +726,7 @@ var sharedSubduedInputStyles = (props) => [
|
|
|
821
726
|
"py-0 w-full bg-transparent text-current placeholder-placeholder",
|
|
822
727
|
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
823
728
|
props.density === "fine" ? fineBlockSize : coarseBlockSize,
|
|
824
|
-
|
|
729
|
+
"dx-focus-subdued",
|
|
825
730
|
props.disabled && staticDisabled
|
|
826
731
|
];
|
|
827
732
|
var sharedDefaultInputStyles = (props) => [
|
|
@@ -839,23 +744,20 @@ var sharedStaticInputStyles = (props) => [
|
|
|
839
744
|
props.focused && "bg-attention-surface",
|
|
840
745
|
inputValence(props.validationValence),
|
|
841
746
|
props.disabled && staticDisabled,
|
|
842
|
-
props.focused &&
|
|
747
|
+
props.focused && "dx-focus-static"
|
|
843
748
|
];
|
|
844
|
-
var inputInput = (props, ...etc) => props.variant === "subdued" ? mx(...sharedSubduedInputStyles(props), ...etc) : props.variant === "static" ? mx(...sharedStaticInputStyles(props), ...etc) : mx(...sharedDefaultInputStyles(props), !props.disabled &&
|
|
845
|
-
var inputTextArea = (props, ...etc) => inputInput(props, ...
|
|
846
|
-
"-mb-1.5",
|
|
847
|
-
...etc
|
|
848
|
-
]);
|
|
749
|
+
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);
|
|
750
|
+
var inputTextArea = (props, ...etc) => inputInput(props, ...etc);
|
|
849
751
|
var inputCheckbox = ({ size = 5 }, ...etc) => mx("dx-checkbox dx-focus-ring", getSize(size), ...etc);
|
|
850
|
-
var inputCheckboxIndicator = ({ size = 5, checked }, ...etc) => mx(getSize(
|
|
752
|
+
var inputCheckboxIndicator = ({ size = 5, checked }, ...etc) => mx(getSize(snapSize(sizeValue(size) * 0.65, 4)), !checked && "invisible", ...etc);
|
|
851
753
|
var inputSwitch = ({ size = 5, disabled }, ...etc) => mx(
|
|
852
|
-
|
|
853
|
-
|
|
754
|
+
getHeight(size),
|
|
755
|
+
getWidth(snapSize(sizeValue(size) * 1.75, 9)),
|
|
854
756
|
booleanInputSurface,
|
|
855
757
|
!disabled && booleanInputSurfaceHover,
|
|
856
758
|
// TODO(burdon): Added m-1 margin to make 40px width to align with 40px icon button.
|
|
857
759
|
"cursor-pointer shrink-0 rounded-full px-1 mx-1 relative",
|
|
858
|
-
|
|
760
|
+
"dx-focus-ring",
|
|
859
761
|
...etc
|
|
860
762
|
);
|
|
861
763
|
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);
|
|
@@ -881,7 +783,7 @@ var inputTheme = {
|
|
|
881
783
|
};
|
|
882
784
|
|
|
883
785
|
// src/theme/components/link.ts
|
|
884
|
-
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",
|
|
786
|
+
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);
|
|
885
787
|
var linkTheme = {
|
|
886
788
|
root: linkRoot
|
|
887
789
|
};
|
|
@@ -892,7 +794,7 @@ var listItem = ({ collapsible }, ...etc) => mx(!collapsible && "flex", ...etc);
|
|
|
892
794
|
var listItemEndcap = ({ density }, ...etc) => mx(density === "fine" ? getSize(8) : getSize(10), "shrink-0 flex items-center justify-center", ...etc);
|
|
893
795
|
var listItemHeading = ({ density }, ...etc) => mx(densityBlockSize(density), "flex items-center", ...etc);
|
|
894
796
|
var listItemDragHandleIcon = (_props, ...etc) => mx(getSize(5), "mt-2.5", ...etc);
|
|
895
|
-
var listItemOpenTrigger = ({ density }, ...etc) => mx("w-5 rounded-sm flex justify-center items-center", densityBlockSize(density), ghostHover,
|
|
797
|
+
var listItemOpenTrigger = ({ density }, ...etc) => mx("w-5 rounded-sm flex justify-center items-center", densityBlockSize(density), ghostHover, "dx-focus-ring", ...etc);
|
|
896
798
|
var listItemOpenTriggerIcon = (_props, ...etc) => {
|
|
897
799
|
return mx(getSize(5), ...etc);
|
|
898
800
|
};
|
|
@@ -931,7 +833,7 @@ var menuContent = ({ elevation }, ...etc) => mx("dx-modal-surface w-48 rounded-s
|
|
|
931
833
|
elevation: "positioned"
|
|
932
834
|
}), ...etc);
|
|
933
835
|
var menuViewport = (_props, ...etc) => mx("rounded-sm p-1 max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto", ...etc);
|
|
934
|
-
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",
|
|
836
|
+
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", "dx-focus-subdued", dataDisabled, ...etc);
|
|
935
837
|
var menuSeparator = (_props, ...etc) => mx("my-1 mx-2 h-px bg-separator", ...etc);
|
|
936
838
|
var menuGroupLabel = (_props, ...etc) => mx("text-description", "select-none px-2 py-2", ...etc);
|
|
937
839
|
var menuArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
@@ -952,7 +854,7 @@ var messageHeader = (_, etc) => {
|
|
|
952
854
|
return mx("col-span-2 grid grid-cols-subgrid items-center", etc);
|
|
953
855
|
};
|
|
954
856
|
var messageTitle = (_, etc) => {
|
|
955
|
-
return mx("col-start-2
|
|
857
|
+
return mx("col-start-2 gap-trim-sm [&>svg]:inline-block", etc);
|
|
956
858
|
};
|
|
957
859
|
var messageIcon = (_, etc) => {
|
|
958
860
|
return mx("col-start-1", etc);
|
|
@@ -974,15 +876,8 @@ var popoverContent = ({ elevation }, ...etc) => mx("dx-modal-surface border bord
|
|
|
974
876
|
}), surfaceZIndex({
|
|
975
877
|
elevation,
|
|
976
878
|
level: "menu"
|
|
977
|
-
}),
|
|
978
|
-
var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx(
|
|
979
|
-
"flex flex-col min-h-0 min-w-popover-min-width",
|
|
980
|
-
(constrainBlock || constrainInline) && "overflow-hidden",
|
|
981
|
-
// Ensures it respects available height from Radix (or 100dvh).
|
|
982
|
-
constrainBlock && "max-h-[min(var(--radix-popover-content-available-height),calc(100dvh-var(--spacing-screen-border)*2))]",
|
|
983
|
-
constrainInline && "max-w-(--radix-popover-content-available-width)",
|
|
984
|
-
...etc
|
|
985
|
-
);
|
|
879
|
+
}), "dx-focus-ring", ...etc);
|
|
880
|
+
var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx("flex flex-col 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);
|
|
986
881
|
var popoverArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
987
882
|
var popoverTheme = {
|
|
988
883
|
content: popoverContent,
|
|
@@ -991,40 +886,63 @@ var popoverTheme = {
|
|
|
991
886
|
};
|
|
992
887
|
|
|
993
888
|
// src/theme/components/scroll-area.ts
|
|
994
|
-
var
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
889
|
+
var scrollbar = {
|
|
890
|
+
thin: {
|
|
891
|
+
size: 4,
|
|
892
|
+
padding: 4
|
|
893
|
+
},
|
|
894
|
+
coarse: {
|
|
895
|
+
size: 8,
|
|
896
|
+
padding: 8
|
|
897
|
+
}
|
|
898
|
+
};
|
|
899
|
+
var scrollAreaRoot = ({ orientation }, ...etc) => mx(
|
|
900
|
+
// Expand
|
|
901
|
+
"dx-container",
|
|
902
|
+
orientation === "vertical" && "group/scroll-v flex flex-col",
|
|
903
|
+
orientation === "horizontal" && "group/scroll-h flex",
|
|
904
|
+
orientation === "all" && "group/scroll-all",
|
|
1000
905
|
// Apply col-span-full only when inside a Column.Root grid (detected via dx-column marker).
|
|
1001
906
|
"[.dx-column_&]:col-span-full",
|
|
1002
|
-
// NOTE: Uses --gutter CSS variable
|
|
1003
|
-
// If contained within Column.Root grid, the gutter is set by that component.
|
|
1004
|
-
margin && [
|
|
1005
|
-
orientation === "vertical" && (thin ? "pl-[var(--gutter,4px)] pr-[calc(var(--gutter,4px)-4px)]" : "pl-[var(--gutter,8px)] pr-[calc(var(--gutter,8px)-8px)]"),
|
|
1006
|
-
orientation === "horizontal" && (thin ? "py-[var(--gutter,4px)]" : "py-[var(--gutter,8px)]"),
|
|
1007
|
-
orientation === "all" && (thin ? "pl-[var(--gutter,4px)] py-[var(--gutter,8px)]" : "pl-[var(--gutter,8px)] py-[var(--gutter,8px)]")
|
|
1008
|
-
],
|
|
1009
907
|
...etc
|
|
1010
908
|
);
|
|
1011
|
-
var scrollAreaViewport = ({ orientation,
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
],
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
909
|
+
var scrollAreaViewport = ({ orientation, centered, padding, snap, thin, autoHide }, ...etc) => {
|
|
910
|
+
return mx(
|
|
911
|
+
"h-full w-full",
|
|
912
|
+
orientation === "vertical" && "flex flex-col overflow-y-scroll",
|
|
913
|
+
orientation === "horizontal" && "flex overflow-x-scroll",
|
|
914
|
+
orientation === "all" && "overflow-scroll",
|
|
915
|
+
"[&::-webkit-scrollbar-corner]:bg-transparent",
|
|
916
|
+
"[&::-webkit-scrollbar-track]:bg-transparent",
|
|
917
|
+
"[&::-webkit-scrollbar-thumb]:rounded-none",
|
|
918
|
+
"[&::-webkit-scrollbar]:w-[var(--scroll-width)] [&::-webkit-scrollbar]:h-[var(--scroll-width)]",
|
|
919
|
+
// If contained within Column.Root grid the gutter is set by that component (--gutter CSS variable).
|
|
920
|
+
// If centered, left padding compensates for scrollbar width so content is visually centered.
|
|
921
|
+
(orientation === "vertical" || orientation === "all") && (padding ? [
|
|
922
|
+
centered ? "pl-[var(--gutter,calc(var(--scroll-width)+var(--scroll-padding)))]" : "pl-[var(--gutter,0)]",
|
|
923
|
+
"pr-[calc(var(--gutter,calc(var(--scroll-width)+var(--scroll-padding)))-var(--scroll-width))]"
|
|
924
|
+
] : centered && "pl-[var(--scroll-width)]"),
|
|
925
|
+
(orientation === "horizontal" || orientation === "all") && (padding ? [
|
|
926
|
+
centered && "pt-[calc(var(--scroll-width)+var(--scroll-padding))]",
|
|
927
|
+
"pb-[var(--scroll-padding)]"
|
|
928
|
+
] : centered && "pt-[var(--scroll-width)]"),
|
|
929
|
+
snap && [
|
|
930
|
+
orientation === "vertical" && "snap-y snap-mandatory",
|
|
931
|
+
orientation === "horizontal" && "snap-x snap-mandatory",
|
|
932
|
+
orientation === "all" && "snap-both snap-mandatory"
|
|
933
|
+
],
|
|
934
|
+
autoHide ? [
|
|
935
|
+
orientation === "vertical" && "group-hover/scroll-v:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
936
|
+
orientation === "horizontal" && "group-hover/scroll-h:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
937
|
+
orientation === "all" && "group-hover/scroll-all:[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
|
|
938
|
+
] : [
|
|
939
|
+
orientation === "vertical" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
940
|
+
orientation === "horizontal" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb",
|
|
941
|
+
orientation === "all" && "[&::-webkit-scrollbar-thumb]:bg-scrollbar-thumb"
|
|
942
|
+
],
|
|
943
|
+
...etc
|
|
944
|
+
);
|
|
945
|
+
};
|
|
1028
946
|
var scrollAreaTheme = {
|
|
1029
947
|
root: scrollAreaRoot,
|
|
1030
948
|
viewport: scrollAreaViewport
|
|
@@ -1040,7 +958,7 @@ var selectContent = ({ elevation }, ...etc) => {
|
|
|
1040
958
|
}), ...etc);
|
|
1041
959
|
};
|
|
1042
960
|
var selectViewport = (_props, ...etc) => mx(...etc);
|
|
1043
|
-
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",
|
|
961
|
+
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);
|
|
1044
962
|
var selectItemIndicator = (_props, ...etc) => mx("items-center", ...etc);
|
|
1045
963
|
var selectArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
1046
964
|
var selectSeparator = (_props, ...etc) => mx("self-stretch border-b my-1 border-separator", ...etc);
|
|
@@ -1076,8 +994,8 @@ var skeletonTheme = {
|
|
|
1076
994
|
};
|
|
1077
995
|
|
|
1078
996
|
// src/theme/components/status.ts
|
|
1079
|
-
var statusRoot = ({ variant = "default" }, ...etc) => mx("h-1 relative
|
|
1080
|
-
var statusBar = ({
|
|
997
|
+
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);
|
|
998
|
+
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);
|
|
1081
999
|
var statusTheme = {
|
|
1082
1000
|
root: statusRoot,
|
|
1083
1001
|
bar: statusBar
|
|
@@ -1098,7 +1016,7 @@ var toastViewport = (_props, ...etc) => mx(
|
|
|
1098
1016
|
);
|
|
1099
1017
|
var toastRoot = (_props, ...etc) => mx("dx-modal-surface rounded-md flex p-2 gap-2", surfaceShadow({
|
|
1100
1018
|
elevation: "toast"
|
|
1101
|
-
}), "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]",
|
|
1019
|
+
}), "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);
|
|
1102
1020
|
var toastBody = (_props, ...etc) => mx("grow flex flex-col gap-1 justify-center pl-2", ...etc);
|
|
1103
1021
|
var toastActions = (_props, ...etc) => mx("shrink-0 flex flex-col gap-1 justify-center", ...etc);
|
|
1104
1022
|
var toastTitle = ({ srOnly }, ...etc) => mx("shrink-0 font-medium", srOnly && "sr-only", ...etc);
|
|
@@ -1117,18 +1035,11 @@ var toolbarLayout = "w-full shrink-0 flex flex-nowrap p-1 gap-1 items-center ove
|
|
|
1117
1035
|
var toolbarRoot = ({ density, disabled, layoutManaged }, ...etc) => {
|
|
1118
1036
|
return mx("bg-toolbar-surface dx-toolbar", density === "coarse" && "h-(--dx-rail-size) px-3!", disabled && "*:opacity-20", !layoutManaged && toolbarLayout, ...etc);
|
|
1119
1037
|
};
|
|
1120
|
-
var toolbarInner = ({ layoutManaged }, ...etc) => {
|
|
1121
|
-
return mx(!layoutManaged && [
|
|
1122
|
-
"flex gap-1",
|
|
1123
|
-
textBlockWidth
|
|
1124
|
-
], ...etc);
|
|
1125
|
-
};
|
|
1126
1038
|
var toolbarText = (_, ...etc) => {
|
|
1127
|
-
return mx("grow truncate items-center",
|
|
1039
|
+
return mx("px-2 grow truncate items-center", ...etc);
|
|
1128
1040
|
};
|
|
1129
1041
|
var toolbarTheme = {
|
|
1130
1042
|
root: toolbarRoot,
|
|
1131
|
-
inner: toolbarInner,
|
|
1132
1043
|
text: toolbarText
|
|
1133
1044
|
};
|
|
1134
1045
|
|
|
@@ -1189,44 +1100,42 @@ var treegridTheme = {
|
|
|
1189
1100
|
cell: treegridCell
|
|
1190
1101
|
};
|
|
1191
1102
|
|
|
1192
|
-
// src/theme/theme.ts
|
|
1193
|
-
import { getDeep } from "@dxos/util";
|
|
1194
|
-
|
|
1195
1103
|
// src/theme/primitives/column.ts
|
|
1196
|
-
var columnRoot = (_, ...etc) =>
|
|
1197
|
-
|
|
1198
|
-
|
|
1104
|
+
var columnRoot = (_, ...etc) => {
|
|
1105
|
+
return mx("dx-column w-full min-w-0 grid", ...etc);
|
|
1106
|
+
};
|
|
1107
|
+
var columnContent = (_, ...etc) => {
|
|
1108
|
+
return mx("col-span-full grid grid-cols-subgrid min-h-0 [&>:not(.dx-container)]:col-start-2", ...etc);
|
|
1109
|
+
};
|
|
1110
|
+
var columnViewport = (_, ...etc) => {
|
|
1111
|
+
return mx(...etc);
|
|
1112
|
+
};
|
|
1113
|
+
var columnRow = ({ fullWidth, center }, ...etc) => {
|
|
1114
|
+
return mx("col-span-3 grid grid-cols-subgrid", fullWidth ? "col-span-3" : center && "col-start-2 col-span-1", ...etc);
|
|
1115
|
+
};
|
|
1199
1116
|
var columnTheme = {
|
|
1200
1117
|
root: columnRoot,
|
|
1201
|
-
|
|
1202
|
-
|
|
1118
|
+
content: columnContent,
|
|
1119
|
+
viewport: columnViewport,
|
|
1120
|
+
row: columnRow
|
|
1203
1121
|
};
|
|
1204
1122
|
|
|
1205
1123
|
// src/theme/primitives/panel.ts
|
|
1124
|
+
var sizes = {
|
|
1125
|
+
lg: "h-(--dx-topbar-size)",
|
|
1126
|
+
md: "h-(--dx-toolbar-size)",
|
|
1127
|
+
sm: "h-(--dx-statusbar-size)"
|
|
1128
|
+
};
|
|
1206
1129
|
var panelRoot = (_, ...etc) => mx(
|
|
1207
1130
|
// prettier-ignore
|
|
1208
|
-
"
|
|
1131
|
+
"dx-container grid grid-cols-[100%] overflow-hidden",
|
|
1209
1132
|
// Add uncategorized children to content slot.
|
|
1210
1133
|
"[&>*:not([data-slot])]:[grid-area:content]",
|
|
1211
1134
|
...etc
|
|
1212
1135
|
);
|
|
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
|
-
);
|
|
1136
|
+
var panelToolbar = ({ size = "md" }, ...etc) => mx("[grid-area:toolbar]", "flex shrink-0", sizes[size], ...etc);
|
|
1137
|
+
var panelContent = (_, ...etc) => mx("[grid-area:content] overflow-hidden min-h-0", ...etc);
|
|
1138
|
+
var panelStatusbar = ({ size = "md" }, ...etc) => mx("[grid-area:statusbar]", "flex shrink-0", sizes[size], ...etc);
|
|
1230
1139
|
var panelTheme = {
|
|
1231
1140
|
root: panelRoot,
|
|
1232
1141
|
toolbar: panelToolbar,
|
|
@@ -1235,6 +1144,7 @@ var panelTheme = {
|
|
|
1235
1144
|
};
|
|
1236
1145
|
|
|
1237
1146
|
// src/theme/theme.ts
|
|
1147
|
+
import { getDeep } from "@dxos/util";
|
|
1238
1148
|
var defaultTheme = {
|
|
1239
1149
|
themeName: () => "default",
|
|
1240
1150
|
//
|
|
@@ -1250,6 +1160,7 @@ var defaultTheme = {
|
|
|
1250
1160
|
button: buttonTheme,
|
|
1251
1161
|
card: cardTheme,
|
|
1252
1162
|
dialog: dialogTheme,
|
|
1163
|
+
focus: focusTheme,
|
|
1253
1164
|
icon: iconTheme,
|
|
1254
1165
|
iconButton: iconButtonTheme,
|
|
1255
1166
|
input: inputTheme,
|
|
@@ -1307,8 +1218,9 @@ export {
|
|
|
1307
1218
|
cardTheme,
|
|
1308
1219
|
coarseBlockSize,
|
|
1309
1220
|
coarseDimensions,
|
|
1221
|
+
columnTheme,
|
|
1222
|
+
composable,
|
|
1310
1223
|
composableProps,
|
|
1311
|
-
computeSize,
|
|
1312
1224
|
dataDisabled,
|
|
1313
1225
|
defaultButtonColors,
|
|
1314
1226
|
defaultTheme,
|
|
@@ -1326,19 +1238,16 @@ export {
|
|
|
1326
1238
|
dialogTitle,
|
|
1327
1239
|
fineBlockSize,
|
|
1328
1240
|
fineDimensions,
|
|
1329
|
-
|
|
1241
|
+
focusTheme,
|
|
1330
1242
|
getHashHue,
|
|
1331
1243
|
getHashStyles,
|
|
1244
|
+
getHeight,
|
|
1332
1245
|
getSize,
|
|
1333
|
-
getSizeHeight,
|
|
1334
|
-
getSizeWidth,
|
|
1335
1246
|
getStyles,
|
|
1247
|
+
getWidth,
|
|
1336
1248
|
ghostButtonColors,
|
|
1337
1249
|
ghostFocusWithin,
|
|
1338
|
-
ghostHighlighted,
|
|
1339
1250
|
ghostHover,
|
|
1340
|
-
ghostSelected,
|
|
1341
|
-
ghostSelectedContainerMd,
|
|
1342
1251
|
groupHoverControlItemWithTransition,
|
|
1343
1252
|
hoverableControlItem,
|
|
1344
1253
|
hoverableControls,
|
|
@@ -1350,6 +1259,7 @@ export {
|
|
|
1350
1259
|
iconButtonRoot,
|
|
1351
1260
|
iconButtonTheme,
|
|
1352
1261
|
iconRoot,
|
|
1262
|
+
iconSize,
|
|
1353
1263
|
iconTheme,
|
|
1354
1264
|
inputTextLabel,
|
|
1355
1265
|
inputTheme,
|
|
@@ -1387,6 +1297,7 @@ export {
|
|
|
1387
1297
|
mx,
|
|
1388
1298
|
osTranslations,
|
|
1389
1299
|
palette,
|
|
1300
|
+
panelTheme,
|
|
1390
1301
|
popoverArrow,
|
|
1391
1302
|
popoverContent,
|
|
1392
1303
|
popoverTheme,
|
|
@@ -1396,6 +1307,7 @@ export {
|
|
|
1396
1307
|
scrollAreaRoot,
|
|
1397
1308
|
scrollAreaTheme,
|
|
1398
1309
|
scrollAreaViewport,
|
|
1310
|
+
scrollbar,
|
|
1399
1311
|
selectArrow,
|
|
1400
1312
|
selectContent,
|
|
1401
1313
|
selectItem,
|
|
@@ -1406,23 +1318,23 @@ export {
|
|
|
1406
1318
|
selectViewport,
|
|
1407
1319
|
separatorRoot,
|
|
1408
1320
|
separatorTheme,
|
|
1321
|
+
sizeToRem,
|
|
1409
1322
|
sizeValue,
|
|
1410
1323
|
skeletonRoot,
|
|
1411
1324
|
skeletonTheme,
|
|
1325
|
+
slottable,
|
|
1326
|
+
snapSize,
|
|
1412
1327
|
splitterTheme,
|
|
1413
1328
|
staticDefaultButtonColors,
|
|
1414
1329
|
staticDisabled,
|
|
1415
|
-
staticFocusRing,
|
|
1416
1330
|
statusBar,
|
|
1417
1331
|
statusRoot,
|
|
1418
1332
|
statusTheme,
|
|
1419
|
-
subduedFocus,
|
|
1420
1333
|
subtleHover,
|
|
1421
1334
|
surfaceShadow,
|
|
1422
1335
|
surfaceZIndex,
|
|
1423
1336
|
tagRoot,
|
|
1424
1337
|
tagTheme,
|
|
1425
|
-
textBlockWidth,
|
|
1426
1338
|
textValence,
|
|
1427
1339
|
toastActions,
|
|
1428
1340
|
toastBody,
|
|
@@ -1431,7 +1343,6 @@ export {
|
|
|
1431
1343
|
toastTheme,
|
|
1432
1344
|
toastTitle,
|
|
1433
1345
|
toastViewport,
|
|
1434
|
-
toolbarInner,
|
|
1435
1346
|
toolbarLayout,
|
|
1436
1347
|
toolbarRoot,
|
|
1437
1348
|
toolbarText,
|