@dxos/ui-theme 0.8.4-main.d05673bc65 → 0.8.4-main.e250131250
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 +349 -430
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +349 -430
- 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} +53 -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} +53 -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 -4
- 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 +12 -2
- 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 +16 -11
- 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 -5
- package/src/fragments/text.ts +0 -5
- package/src/index.ts +1 -1
- package/src/{theme.css → main.css} +9 -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 +1 -2
- 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/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/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,22 +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
107
|
// src/util/hash-styles.ts
|
|
109
108
|
var neutral = {
|
|
110
109
|
hue: "neutral",
|
|
@@ -268,7 +267,10 @@ var getHashHue = (id) => {
|
|
|
268
267
|
var getHash = (id) => id.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
269
268
|
|
|
270
269
|
// src/util/mx.ts
|
|
270
|
+
import { Children, createElement, forwardRef, isValidElement } from "react";
|
|
271
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";
|
|
272
274
|
var mx = extendTailwindMerge({
|
|
273
275
|
extend: {
|
|
274
276
|
classGroups: {
|
|
@@ -313,334 +315,233 @@ var mx = extendTailwindMerge({
|
|
|
313
315
|
}
|
|
314
316
|
}
|
|
315
317
|
});
|
|
316
|
-
var composableProps = ({ className, classNames, ...props }, {
|
|
318
|
+
var composableProps = ({ className, classNames, ...props }, { classNames: defaultClassNames, ...defaults } = {}) => ({
|
|
319
|
+
// Default props.
|
|
317
320
|
...defaults,
|
|
321
|
+
// Spread supplied props.
|
|
318
322
|
...props,
|
|
323
|
+
// Compose classnames.
|
|
319
324
|
className: mx(defaultClassNames, className, classNames)
|
|
320
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
|
+
}
|
|
321
365
|
|
|
322
|
-
// src/
|
|
323
|
-
var
|
|
324
|
-
|
|
325
|
-
0,
|
|
326
|
-
"
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
"px",
|
|
330
|
-
"
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
0.5,
|
|
334
|
-
"
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
1,
|
|
338
|
-
"
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
1.5,
|
|
342
|
-
"
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
2,
|
|
346
|
-
"
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
2.5,
|
|
350
|
-
"
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
3,
|
|
354
|
-
"
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
3.5,
|
|
358
|
-
"
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
4,
|
|
362
|
-
"
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
5,
|
|
366
|
-
"
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
6,
|
|
370
|
-
"
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
7,
|
|
374
|
-
"
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
8,
|
|
378
|
-
"
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
9,
|
|
382
|
-
"
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
10,
|
|
386
|
-
"
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
11,
|
|
390
|
-
"
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
12,
|
|
394
|
-
"
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
14,
|
|
398
|
-
"
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
16,
|
|
402
|
-
"
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
20,
|
|
406
|
-
"
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
24,
|
|
410
|
-
"
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
28,
|
|
414
|
-
"
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
32,
|
|
418
|
-
"
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
36,
|
|
422
|
-
"
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
40,
|
|
426
|
-
"
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
44,
|
|
430
|
-
"
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
48,
|
|
434
|
-
"
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
52,
|
|
438
|
-
"
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
56,
|
|
442
|
-
"
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
60,
|
|
446
|
-
"
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
64,
|
|
450
|
-
"
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
72,
|
|
454
|
-
"
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
80,
|
|
458
|
-
"
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
96,
|
|
462
|
-
"
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
var
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
"h-0.5"
|
|
477
|
-
],
|
|
478
|
-
[
|
|
479
|
-
1,
|
|
480
|
-
"h-1"
|
|
481
|
-
],
|
|
482
|
-
[
|
|
483
|
-
1.5,
|
|
484
|
-
"h-1.5"
|
|
485
|
-
],
|
|
486
|
-
[
|
|
487
|
-
2,
|
|
488
|
-
"h-2"
|
|
489
|
-
],
|
|
490
|
-
[
|
|
491
|
-
2.5,
|
|
492
|
-
"h-2.5"
|
|
493
|
-
],
|
|
494
|
-
[
|
|
495
|
-
3,
|
|
496
|
-
"h-3"
|
|
497
|
-
],
|
|
498
|
-
[
|
|
499
|
-
3.5,
|
|
500
|
-
"h-3.5"
|
|
501
|
-
],
|
|
502
|
-
[
|
|
503
|
-
4,
|
|
504
|
-
"h-4"
|
|
505
|
-
],
|
|
506
|
-
[
|
|
507
|
-
5,
|
|
508
|
-
"h-5"
|
|
509
|
-
],
|
|
510
|
-
[
|
|
511
|
-
6,
|
|
512
|
-
"h-6"
|
|
513
|
-
],
|
|
514
|
-
[
|
|
515
|
-
7,
|
|
516
|
-
"h-7"
|
|
517
|
-
],
|
|
518
|
-
[
|
|
519
|
-
8,
|
|
520
|
-
"h-8"
|
|
521
|
-
],
|
|
522
|
-
[
|
|
523
|
-
9,
|
|
524
|
-
"h-9"
|
|
525
|
-
],
|
|
526
|
-
[
|
|
527
|
-
10,
|
|
528
|
-
"h-10"
|
|
529
|
-
],
|
|
530
|
-
[
|
|
531
|
-
11,
|
|
532
|
-
"h-11"
|
|
533
|
-
],
|
|
534
|
-
[
|
|
535
|
-
12,
|
|
536
|
-
"h-12"
|
|
537
|
-
],
|
|
538
|
-
[
|
|
539
|
-
14,
|
|
540
|
-
"h-14"
|
|
541
|
-
],
|
|
542
|
-
[
|
|
543
|
-
16,
|
|
544
|
-
"h-16"
|
|
545
|
-
],
|
|
546
|
-
[
|
|
547
|
-
20,
|
|
548
|
-
"h-20"
|
|
549
|
-
],
|
|
550
|
-
[
|
|
551
|
-
24,
|
|
552
|
-
"h-24"
|
|
553
|
-
],
|
|
554
|
-
[
|
|
555
|
-
28,
|
|
556
|
-
"h-28"
|
|
557
|
-
],
|
|
558
|
-
[
|
|
559
|
-
32,
|
|
560
|
-
"h-32"
|
|
561
|
-
],
|
|
562
|
-
[
|
|
563
|
-
36,
|
|
564
|
-
"h-36"
|
|
565
|
-
],
|
|
566
|
-
[
|
|
567
|
-
40,
|
|
568
|
-
"h-40"
|
|
569
|
-
],
|
|
570
|
-
[
|
|
571
|
-
44,
|
|
572
|
-
"h-44"
|
|
573
|
-
],
|
|
574
|
-
[
|
|
575
|
-
48,
|
|
576
|
-
"h-48"
|
|
577
|
-
],
|
|
578
|
-
[
|
|
579
|
-
52,
|
|
580
|
-
"h-52"
|
|
581
|
-
],
|
|
582
|
-
[
|
|
583
|
-
56,
|
|
584
|
-
"h-56"
|
|
585
|
-
],
|
|
586
|
-
[
|
|
587
|
-
60,
|
|
588
|
-
"h-60"
|
|
589
|
-
],
|
|
590
|
-
[
|
|
591
|
-
64,
|
|
592
|
-
"h-64"
|
|
593
|
-
],
|
|
594
|
-
[
|
|
595
|
-
72,
|
|
596
|
-
"h-72"
|
|
597
|
-
],
|
|
598
|
-
[
|
|
599
|
-
80,
|
|
600
|
-
"h-80"
|
|
601
|
-
],
|
|
602
|
-
[
|
|
603
|
-
96,
|
|
604
|
-
"h-96"
|
|
605
|
-
]
|
|
606
|
-
]);
|
|
607
|
-
var sizes = new Set(sizeWidthMap.keys());
|
|
608
|
-
var getSizeHeight = sizeHeightMap.get.bind(sizeHeightMap);
|
|
609
|
-
var getSizeWidth = sizeWidthMap.get.bind(sizeWidthMap);
|
|
610
|
-
var getSize = (size) => mx(getSizeHeight(size), getSizeWidth(size));
|
|
611
|
-
var computeSize = (value, defaultSize) => {
|
|
612
|
-
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)) {
|
|
613
520
|
return value;
|
|
614
521
|
} else if (value <= 0) {
|
|
615
522
|
return 0;
|
|
616
|
-
} else if (value
|
|
523
|
+
} else if (value < 0.5) {
|
|
617
524
|
return "px";
|
|
618
525
|
} else {
|
|
619
526
|
const wholeSeries = Math.floor(value);
|
|
620
527
|
const halfSeries = Math.floor(value * 2) / 2;
|
|
621
528
|
const doubleSeries = Math.floor(value / 2) * 2;
|
|
622
529
|
const quadrupleSeries = Math.floor(value / 4) * 4;
|
|
623
|
-
if (
|
|
530
|
+
if (SIZE_VALUES.includes(halfSeries)) {
|
|
624
531
|
return halfSeries;
|
|
625
|
-
} else if (
|
|
532
|
+
} else if (SIZE_VALUES.includes(wholeSeries)) {
|
|
626
533
|
return wholeSeries;
|
|
627
|
-
} else if (
|
|
534
|
+
} else if (SIZE_VALUES.includes(doubleSeries)) {
|
|
628
535
|
return doubleSeries;
|
|
629
|
-
} else if (
|
|
536
|
+
} else if (SIZE_VALUES.includes(quadrupleSeries)) {
|
|
630
537
|
return quadrupleSeries;
|
|
631
538
|
} else {
|
|
632
539
|
return defaultSize;
|
|
633
540
|
}
|
|
634
541
|
}
|
|
635
542
|
};
|
|
636
|
-
var sizeValue = (size) => size === "px" ? 1 : size;
|
|
637
|
-
|
|
638
|
-
// src/fragments/text.ts
|
|
639
|
-
var textBlockWidth = "w-full max-w-text-content mx-auto";
|
|
640
|
-
var descriptionTextPrimary = "text-sm font-normal text-base-surface-text";
|
|
641
|
-
var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
|
|
642
543
|
|
|
643
|
-
// src/
|
|
544
|
+
// src/util/valence.ts
|
|
644
545
|
var textValence = (valence) => {
|
|
645
546
|
switch (valence) {
|
|
646
547
|
case "success":
|
|
@@ -672,12 +573,12 @@ var messageValence = (valence) => {
|
|
|
672
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);
|
|
673
574
|
var avatarLabel = ({ srOnly }, ...etc) => mx(srOnly && "sr-only", ...etc);
|
|
674
575
|
var avatarDescription = ({ srOnly }, ...etc) => mx("text-description", srOnly && "sr-only", ...etc);
|
|
675
|
-
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);
|
|
676
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);
|
|
677
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);
|
|
678
579
|
var avatarFallbackText = (_props, ...etc) => mx("fill-white", ...etc);
|
|
679
580
|
var avatarGroup = (_props, ...etc) => mx("inline-flex items-center", ...etc);
|
|
680
|
-
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);
|
|
681
582
|
var avatarGroupDescription = ({ srOnly }, ...etc) => mx(srOnly ? "sr-only" : "text-description", ...etc);
|
|
682
583
|
var avatarTheme = {
|
|
683
584
|
root: avatarRoot,
|
|
@@ -707,8 +608,8 @@ var breadcrumbTheme = {
|
|
|
707
608
|
};
|
|
708
609
|
|
|
709
610
|
// src/theme/components/card.ts
|
|
710
|
-
var cardRoot = ({ border, fullWidth }, ...etc) => mx("dx-card
|
|
711
|
-
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);
|
|
712
613
|
var cardTitle = (_props, ...etc) => mx("dx-card__title grow truncate", ...etc);
|
|
713
614
|
var cardContent = (_props, ...etc) => mx("dx-card__content contents [&>:last-child]:pb-1", ...etc);
|
|
714
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);
|
|
@@ -720,7 +621,7 @@ var cardAction = (_props, ...etc) => mx("dx-card__acztion col-span-3 !grid grid-
|
|
|
720
621
|
var cardActionLabel = (_props, ...etc) => mx("dx-card__action-label min-w-0 flex-1 truncate", ...etc);
|
|
721
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);
|
|
722
623
|
var cardLinkLabel = (_props, ...etc) => mx("dx-card__link-label min-w-0 flex-1 truncate", ...etc);
|
|
723
|
-
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);
|
|
724
625
|
var cardTheme = {
|
|
725
626
|
root: cardRoot,
|
|
726
627
|
toolbar: cardToolbar,
|
|
@@ -744,7 +645,7 @@ var staticDefaultButtonColors = "bg-input-surface text-input-surface-text";
|
|
|
744
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");
|
|
745
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");
|
|
746
647
|
var buttonRoot = (_props, ...etc) => {
|
|
747
|
-
return mx("dx-button dx-focus-ring group
|
|
648
|
+
return mx("dx-button dx-focus-ring group [&_span]:truncate", ...etc);
|
|
748
649
|
};
|
|
749
650
|
var buttonGroup = (_props, ...etc) => {
|
|
750
651
|
return mx("inline-flex rounded-xs [&>:first-child]:rounded-w-sm [&>:last-child]:rounded-ie-sm [&>button]:relative", ...etc);
|
|
@@ -755,7 +656,7 @@ var buttonTheme = {
|
|
|
755
656
|
};
|
|
756
657
|
|
|
757
658
|
// src/theme/components/dialog.ts
|
|
758
|
-
var
|
|
659
|
+
var sizeMap2 = {
|
|
759
660
|
sm: "md:max-w-[24rem]",
|
|
760
661
|
md: "md:max-w-[32rem]!",
|
|
761
662
|
lg: "md:max-w-[40rem]!",
|
|
@@ -763,10 +664,10 @@ var sizeMap = {
|
|
|
763
664
|
};
|
|
764
665
|
var dialogOverlay = (_props, ...etc) => mx("dx-dialog__overlay", ...etc);
|
|
765
666
|
var dialogContent = ({ inOverlayLayout, size = "md" }, ...etc) => {
|
|
766
|
-
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);
|
|
767
668
|
};
|
|
768
669
|
var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", ...etc);
|
|
769
|
-
var dialogBody = (_props, ...etc) => mx("dx-dialog__body
|
|
670
|
+
var dialogBody = (_props, ...etc) => mx("dx-dialog__body", ...etc);
|
|
770
671
|
var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", ...etc);
|
|
771
672
|
var dialogTitle = ({ srOnly }, ...etc) => mx("dx-dialog__title", srOnly && "sr-only", ...etc);
|
|
772
673
|
var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", "text-description", srOnly && "sr-only", ...etc);
|
|
@@ -780,8 +681,17 @@ var dialogTheme = {
|
|
|
780
681
|
description: dialogDescription
|
|
781
682
|
};
|
|
782
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
|
+
|
|
783
691
|
// src/theme/components/icon.ts
|
|
784
|
-
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
|
+
};
|
|
785
695
|
var iconTheme = {
|
|
786
696
|
root: iconRoot
|
|
787
697
|
};
|
|
@@ -816,7 +726,7 @@ var sharedSubduedInputStyles = (props) => [
|
|
|
816
726
|
"py-0 w-full bg-transparent text-current placeholder-placeholder",
|
|
817
727
|
'[[data-drag-autoscroll="active"]_&]:pointer-events-none',
|
|
818
728
|
props.density === "fine" ? fineBlockSize : coarseBlockSize,
|
|
819
|
-
|
|
729
|
+
"dx-focus-subdued",
|
|
820
730
|
props.disabled && staticDisabled
|
|
821
731
|
];
|
|
822
732
|
var sharedDefaultInputStyles = (props) => [
|
|
@@ -834,23 +744,20 @@ var sharedStaticInputStyles = (props) => [
|
|
|
834
744
|
props.focused && "bg-attention-surface",
|
|
835
745
|
inputValence(props.validationValence),
|
|
836
746
|
props.disabled && staticDisabled,
|
|
837
|
-
props.focused &&
|
|
747
|
+
props.focused && "dx-focus-static"
|
|
838
748
|
];
|
|
839
|
-
var inputInput = (props, ...etc) => props.variant === "subdued" ? mx(...sharedSubduedInputStyles(props), ...etc) : props.variant === "static" ? mx(...sharedStaticInputStyles(props), ...etc) : mx(...sharedDefaultInputStyles(props), !props.disabled &&
|
|
840
|
-
var inputTextArea = (props, ...etc) => inputInput(props, ...
|
|
841
|
-
"-mb-1.5",
|
|
842
|
-
...etc
|
|
843
|
-
]);
|
|
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);
|
|
844
751
|
var inputCheckbox = ({ size = 5 }, ...etc) => mx("dx-checkbox dx-focus-ring", getSize(size), ...etc);
|
|
845
|
-
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);
|
|
846
753
|
var inputSwitch = ({ size = 5, disabled }, ...etc) => mx(
|
|
847
|
-
|
|
848
|
-
|
|
754
|
+
getHeight(size),
|
|
755
|
+
getWidth(snapSize(sizeValue(size) * 1.75, 9)),
|
|
849
756
|
booleanInputSurface,
|
|
850
757
|
!disabled && booleanInputSurfaceHover,
|
|
851
758
|
// TODO(burdon): Added m-1 margin to make 40px width to align with 40px icon button.
|
|
852
759
|
"cursor-pointer shrink-0 rounded-full px-1 mx-1 relative",
|
|
853
|
-
|
|
760
|
+
"dx-focus-ring",
|
|
854
761
|
...etc
|
|
855
762
|
);
|
|
856
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);
|
|
@@ -876,7 +783,7 @@ var inputTheme = {
|
|
|
876
783
|
};
|
|
877
784
|
|
|
878
785
|
// src/theme/components/link.ts
|
|
879
|
-
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);
|
|
880
787
|
var linkTheme = {
|
|
881
788
|
root: linkRoot
|
|
882
789
|
};
|
|
@@ -887,7 +794,7 @@ var listItem = ({ collapsible }, ...etc) => mx(!collapsible && "flex", ...etc);
|
|
|
887
794
|
var listItemEndcap = ({ density }, ...etc) => mx(density === "fine" ? getSize(8) : getSize(10), "shrink-0 flex items-center justify-center", ...etc);
|
|
888
795
|
var listItemHeading = ({ density }, ...etc) => mx(densityBlockSize(density), "flex items-center", ...etc);
|
|
889
796
|
var listItemDragHandleIcon = (_props, ...etc) => mx(getSize(5), "mt-2.5", ...etc);
|
|
890
|
-
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);
|
|
891
798
|
var listItemOpenTriggerIcon = (_props, ...etc) => {
|
|
892
799
|
return mx(getSize(5), ...etc);
|
|
893
800
|
};
|
|
@@ -926,7 +833,7 @@ var menuContent = ({ elevation }, ...etc) => mx("dx-modal-surface w-48 rounded-s
|
|
|
926
833
|
elevation: "positioned"
|
|
927
834
|
}), ...etc);
|
|
928
835
|
var menuViewport = (_props, ...etc) => mx("rounded-sm p-1 max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto", ...etc);
|
|
929
|
-
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);
|
|
930
837
|
var menuSeparator = (_props, ...etc) => mx("my-1 mx-2 h-px bg-separator", ...etc);
|
|
931
838
|
var menuGroupLabel = (_props, ...etc) => mx("text-description", "select-none px-2 py-2", ...etc);
|
|
932
839
|
var menuArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
@@ -947,7 +854,7 @@ var messageHeader = (_, etc) => {
|
|
|
947
854
|
return mx("col-span-2 grid grid-cols-subgrid items-center", etc);
|
|
948
855
|
};
|
|
949
856
|
var messageTitle = (_, etc) => {
|
|
950
|
-
return mx("col-start-2
|
|
857
|
+
return mx("col-start-2 gap-trim-sm [&>svg]:inline-block", etc);
|
|
951
858
|
};
|
|
952
859
|
var messageIcon = (_, etc) => {
|
|
953
860
|
return mx("col-start-1", etc);
|
|
@@ -969,15 +876,8 @@ var popoverContent = ({ elevation }, ...etc) => mx("dx-modal-surface border bord
|
|
|
969
876
|
}), surfaceZIndex({
|
|
970
877
|
elevation,
|
|
971
878
|
level: "menu"
|
|
972
|
-
}),
|
|
973
|
-
var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx(
|
|
974
|
-
"flex flex-col min-h-0 min-w-popover-min-width",
|
|
975
|
-
(constrainBlock || constrainInline) && "overflow-hidden",
|
|
976
|
-
// Ensures it respects available height from Radix (or 100dvh).
|
|
977
|
-
constrainBlock && "max-h-[min(var(--radix-popover-content-available-height),calc(100dvh-var(--spacing-screen-border)*2))]",
|
|
978
|
-
constrainInline && "max-w-(--radix-popover-content-available-width)",
|
|
979
|
-
...etc
|
|
980
|
-
);
|
|
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);
|
|
981
881
|
var popoverArrow = (_props, ...etc) => mx("fill-separator", ...etc);
|
|
982
882
|
var popoverTheme = {
|
|
983
883
|
content: popoverContent,
|
|
@@ -986,40 +886,63 @@ var popoverTheme = {
|
|
|
986
886
|
};
|
|
987
887
|
|
|
988
888
|
// src/theme/components/scroll-area.ts
|
|
989
|
-
var
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
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",
|
|
995
905
|
// Apply col-span-full only when inside a Column.Root grid (detected via dx-column marker).
|
|
996
906
|
"[.dx-column_&]:col-span-full",
|
|
997
|
-
// NOTE: Uses --gutter CSS variable
|
|
998
|
-
// If contained within Column.Root grid, the gutter is set by that component.
|
|
999
|
-
margin && [
|
|
1000
|
-
orientation === "vertical" && (thin ? "pl-[var(--gutter,4px)] pr-[calc(var(--gutter,4px)-4px)]" : "pl-[var(--gutter,8px)] pr-[calc(var(--gutter,8px)-8px)]"),
|
|
1001
|
-
orientation === "horizontal" && (thin ? "py-[var(--gutter,4px)]" : "py-[var(--gutter,8px)]"),
|
|
1002
|
-
orientation === "all" && (thin ? "pl-[var(--gutter,4px)] py-[var(--gutter,8px)]" : "pl-[var(--gutter,8px)] py-[var(--gutter,8px)]")
|
|
1003
|
-
],
|
|
1004
907
|
...etc
|
|
1005
908
|
);
|
|
1006
|
-
var scrollAreaViewport = ({ orientation,
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
],
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
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
|
+
};
|
|
1023
946
|
var scrollAreaTheme = {
|
|
1024
947
|
root: scrollAreaRoot,
|
|
1025
948
|
viewport: scrollAreaViewport
|
|
@@ -1071,8 +994,8 @@ var skeletonTheme = {
|
|
|
1071
994
|
};
|
|
1072
995
|
|
|
1073
996
|
// src/theme/components/status.ts
|
|
1074
|
-
var statusRoot = ({ variant = "default" }, ...etc) => mx("h-1 relative
|
|
1075
|
-
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);
|
|
1076
999
|
var statusTheme = {
|
|
1077
1000
|
root: statusRoot,
|
|
1078
1001
|
bar: statusBar
|
|
@@ -1093,7 +1016,7 @@ var toastViewport = (_props, ...etc) => mx(
|
|
|
1093
1016
|
);
|
|
1094
1017
|
var toastRoot = (_props, ...etc) => mx("dx-modal-surface rounded-md flex p-2 gap-2", surfaceShadow({
|
|
1095
1018
|
elevation: "toast"
|
|
1096
|
-
}), "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);
|
|
1097
1020
|
var toastBody = (_props, ...etc) => mx("grow flex flex-col gap-1 justify-center pl-2", ...etc);
|
|
1098
1021
|
var toastActions = (_props, ...etc) => mx("shrink-0 flex flex-col gap-1 justify-center", ...etc);
|
|
1099
1022
|
var toastTitle = ({ srOnly }, ...etc) => mx("shrink-0 font-medium", srOnly && "sr-only", ...etc);
|
|
@@ -1112,18 +1035,11 @@ var toolbarLayout = "w-full shrink-0 flex flex-nowrap p-1 gap-1 items-center ove
|
|
|
1112
1035
|
var toolbarRoot = ({ density, disabled, layoutManaged }, ...etc) => {
|
|
1113
1036
|
return mx("bg-toolbar-surface dx-toolbar", density === "coarse" && "h-(--dx-rail-size) px-3!", disabled && "*:opacity-20", !layoutManaged && toolbarLayout, ...etc);
|
|
1114
1037
|
};
|
|
1115
|
-
var toolbarInner = ({ layoutManaged }, ...etc) => {
|
|
1116
|
-
return mx(!layoutManaged && [
|
|
1117
|
-
"flex gap-1",
|
|
1118
|
-
textBlockWidth
|
|
1119
|
-
], ...etc);
|
|
1120
|
-
};
|
|
1121
1038
|
var toolbarText = (_, ...etc) => {
|
|
1122
|
-
return mx("grow truncate items-center",
|
|
1039
|
+
return mx("px-2 grow truncate items-center", ...etc);
|
|
1123
1040
|
};
|
|
1124
1041
|
var toolbarTheme = {
|
|
1125
1042
|
root: toolbarRoot,
|
|
1126
|
-
inner: toolbarInner,
|
|
1127
1043
|
text: toolbarText
|
|
1128
1044
|
};
|
|
1129
1045
|
|
|
@@ -1184,44 +1100,42 @@ var treegridTheme = {
|
|
|
1184
1100
|
cell: treegridCell
|
|
1185
1101
|
};
|
|
1186
1102
|
|
|
1187
|
-
// src/theme/theme.ts
|
|
1188
|
-
import { getDeep } from "@dxos/util";
|
|
1189
|
-
|
|
1190
1103
|
// src/theme/primitives/column.ts
|
|
1191
|
-
var columnRoot = (_, ...etc) =>
|
|
1192
|
-
|
|
1193
|
-
|
|
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
|
+
};
|
|
1194
1116
|
var columnTheme = {
|
|
1195
1117
|
root: columnRoot,
|
|
1196
|
-
|
|
1197
|
-
|
|
1118
|
+
content: columnContent,
|
|
1119
|
+
viewport: columnViewport,
|
|
1120
|
+
row: columnRow
|
|
1198
1121
|
};
|
|
1199
1122
|
|
|
1200
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
|
+
};
|
|
1201
1129
|
var panelRoot = (_, ...etc) => mx(
|
|
1202
1130
|
// prettier-ignore
|
|
1203
|
-
"
|
|
1131
|
+
"dx-container grid grid-cols-[100%] overflow-hidden",
|
|
1204
1132
|
// Add uncategorized children to content slot.
|
|
1205
1133
|
"[&>*:not([data-slot])]:[grid-area:content]",
|
|
1206
1134
|
...etc
|
|
1207
1135
|
);
|
|
1208
|
-
var panelToolbar = (
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
"border-b border-subdued-separator relative",
|
|
1212
|
-
"[.dx-main-mobile-layout_&]:px-3",
|
|
1213
|
-
...etc
|
|
1214
|
-
);
|
|
1215
|
-
var panelContent = (_, ...etc) => mx(
|
|
1216
|
-
// prettier-ignore
|
|
1217
|
-
"[grid-area:content] overflow-hidden min-h-0",
|
|
1218
|
-
...etc
|
|
1219
|
-
);
|
|
1220
|
-
var panelStatusbar = (_, ...etc) => mx(
|
|
1221
|
-
// prettier-ignore
|
|
1222
|
-
"[grid-area:statusbar]",
|
|
1223
|
-
...etc
|
|
1224
|
-
);
|
|
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);
|
|
1225
1139
|
var panelTheme = {
|
|
1226
1140
|
root: panelRoot,
|
|
1227
1141
|
toolbar: panelToolbar,
|
|
@@ -1230,6 +1144,7 @@ var panelTheme = {
|
|
|
1230
1144
|
};
|
|
1231
1145
|
|
|
1232
1146
|
// src/theme/theme.ts
|
|
1147
|
+
import { getDeep } from "@dxos/util";
|
|
1233
1148
|
var defaultTheme = {
|
|
1234
1149
|
themeName: () => "default",
|
|
1235
1150
|
//
|
|
@@ -1245,6 +1160,7 @@ var defaultTheme = {
|
|
|
1245
1160
|
button: buttonTheme,
|
|
1246
1161
|
card: cardTheme,
|
|
1247
1162
|
dialog: dialogTheme,
|
|
1163
|
+
focus: focusTheme,
|
|
1248
1164
|
icon: iconTheme,
|
|
1249
1165
|
iconButton: iconButtonTheme,
|
|
1250
1166
|
input: inputTheme,
|
|
@@ -1302,8 +1218,9 @@ export {
|
|
|
1302
1218
|
cardTheme,
|
|
1303
1219
|
coarseBlockSize,
|
|
1304
1220
|
coarseDimensions,
|
|
1221
|
+
columnTheme,
|
|
1222
|
+
composable,
|
|
1305
1223
|
composableProps,
|
|
1306
|
-
computeSize,
|
|
1307
1224
|
dataDisabled,
|
|
1308
1225
|
defaultButtonColors,
|
|
1309
1226
|
defaultTheme,
|
|
@@ -1321,13 +1238,13 @@ export {
|
|
|
1321
1238
|
dialogTitle,
|
|
1322
1239
|
fineBlockSize,
|
|
1323
1240
|
fineDimensions,
|
|
1324
|
-
|
|
1241
|
+
focusTheme,
|
|
1325
1242
|
getHashHue,
|
|
1326
1243
|
getHashStyles,
|
|
1244
|
+
getHeight,
|
|
1327
1245
|
getSize,
|
|
1328
|
-
getSizeHeight,
|
|
1329
|
-
getSizeWidth,
|
|
1330
1246
|
getStyles,
|
|
1247
|
+
getWidth,
|
|
1331
1248
|
ghostButtonColors,
|
|
1332
1249
|
ghostFocusWithin,
|
|
1333
1250
|
ghostHover,
|
|
@@ -1342,6 +1259,7 @@ export {
|
|
|
1342
1259
|
iconButtonRoot,
|
|
1343
1260
|
iconButtonTheme,
|
|
1344
1261
|
iconRoot,
|
|
1262
|
+
iconSize,
|
|
1345
1263
|
iconTheme,
|
|
1346
1264
|
inputTextLabel,
|
|
1347
1265
|
inputTheme,
|
|
@@ -1379,6 +1297,7 @@ export {
|
|
|
1379
1297
|
mx,
|
|
1380
1298
|
osTranslations,
|
|
1381
1299
|
palette,
|
|
1300
|
+
panelTheme,
|
|
1382
1301
|
popoverArrow,
|
|
1383
1302
|
popoverContent,
|
|
1384
1303
|
popoverTheme,
|
|
@@ -1388,6 +1307,7 @@ export {
|
|
|
1388
1307
|
scrollAreaRoot,
|
|
1389
1308
|
scrollAreaTheme,
|
|
1390
1309
|
scrollAreaViewport,
|
|
1310
|
+
scrollbar,
|
|
1391
1311
|
selectArrow,
|
|
1392
1312
|
selectContent,
|
|
1393
1313
|
selectItem,
|
|
@@ -1398,23 +1318,23 @@ export {
|
|
|
1398
1318
|
selectViewport,
|
|
1399
1319
|
separatorRoot,
|
|
1400
1320
|
separatorTheme,
|
|
1321
|
+
sizeToRem,
|
|
1401
1322
|
sizeValue,
|
|
1402
1323
|
skeletonRoot,
|
|
1403
1324
|
skeletonTheme,
|
|
1325
|
+
slottable,
|
|
1326
|
+
snapSize,
|
|
1404
1327
|
splitterTheme,
|
|
1405
1328
|
staticDefaultButtonColors,
|
|
1406
1329
|
staticDisabled,
|
|
1407
|
-
staticFocusRing,
|
|
1408
1330
|
statusBar,
|
|
1409
1331
|
statusRoot,
|
|
1410
1332
|
statusTheme,
|
|
1411
|
-
subduedFocus,
|
|
1412
1333
|
subtleHover,
|
|
1413
1334
|
surfaceShadow,
|
|
1414
1335
|
surfaceZIndex,
|
|
1415
1336
|
tagRoot,
|
|
1416
1337
|
tagTheme,
|
|
1417
|
-
textBlockWidth,
|
|
1418
1338
|
textValence,
|
|
1419
1339
|
toastActions,
|
|
1420
1340
|
toastBody,
|
|
@@ -1423,7 +1343,6 @@ export {
|
|
|
1423
1343
|
toastTheme,
|
|
1424
1344
|
toastTitle,
|
|
1425
1345
|
toastViewport,
|
|
1426
|
-
toolbarInner,
|
|
1427
1346
|
toolbarLayout,
|
|
1428
1347
|
toolbarRoot,
|
|
1429
1348
|
toolbarText,
|