@dxos/ui-theme 0.8.4-main.21d9917 → 0.8.4-main.3eb6e50203

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.
Files changed (132) hide show
  1. package/dist/lib/browser/index.mjs +688 -599
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +688 -599
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/plugin/node-cjs/{chunk-ZVALPM6U.cjs → chunk-TH5YZMTA.cjs} +248 -234
  8. package/dist/plugin/node-cjs/chunk-TH5YZMTA.cjs.map +7 -0
  9. package/dist/plugin/node-cjs/config/tailwind.cjs +2 -2
  10. package/dist/plugin/node-cjs/config/tailwind.cjs.map +1 -1
  11. package/dist/plugin/node-cjs/meta.json +1 -1
  12. package/dist/plugin/node-cjs/plugins/esbuild-plugin.cjs +2 -2
  13. package/dist/plugin/node-cjs/plugins/plugin.cjs +3 -3
  14. package/dist/plugin/node-cjs/theme.css +39 -23
  15. package/dist/plugin/node-cjs/theme.css.map +3 -3
  16. package/dist/plugin/node-esm/{chunk-HJE6EZWE.mjs → chunk-6EGZAB2N.mjs} +259 -245
  17. package/dist/plugin/node-esm/chunk-6EGZAB2N.mjs.map +7 -0
  18. package/dist/plugin/node-esm/config/tailwind.mjs +1 -1
  19. package/dist/plugin/node-esm/meta.json +1 -1
  20. package/dist/plugin/node-esm/plugins/esbuild-plugin.mjs +1 -1
  21. package/dist/plugin/node-esm/plugins/plugin.mjs +1 -1
  22. package/dist/plugin/node-esm/theme.css +39 -23
  23. package/dist/plugin/node-esm/theme.css.map +3 -3
  24. package/dist/types/src/config/tailwind.d.ts.map +1 -1
  25. package/dist/types/src/config/tokens/colors/alias-colors.d.ts.map +1 -0
  26. package/dist/types/src/config/tokens/colors/index.d.ts +5 -0
  27. package/dist/types/src/config/tokens/colors/index.d.ts.map +1 -0
  28. package/dist/types/src/config/tokens/colors/physical-colors.d.ts.map +1 -0
  29. package/dist/types/src/config/tokens/{semantic-colors.d.ts → colors/semantic-colors.d.ts} +5 -0
  30. package/dist/types/src/config/tokens/{semantic-colors.d.ts.map → colors/semantic-colors.d.ts.map} +1 -1
  31. package/dist/types/src/config/tokens/colors/sememes-calls.d.ts.map +1 -0
  32. package/dist/types/src/config/tokens/colors/sememes-codemirror.d.ts.map +1 -0
  33. package/dist/types/src/config/tokens/colors/sememes-hue.d.ts.map +1 -0
  34. package/dist/types/src/config/tokens/colors/sememes-sheet.d.ts.map +1 -0
  35. package/dist/types/src/config/tokens/{sememes-system.d.ts → colors/sememes-system.d.ts} +5 -0
  36. package/dist/types/src/config/tokens/colors/sememes-system.d.ts.map +1 -0
  37. package/dist/types/src/config/tokens/colors/types.d.ts.map +1 -0
  38. package/dist/types/src/config/tokens/index.d.ts +1 -484
  39. package/dist/types/src/config/tokens/index.d.ts.map +1 -1
  40. package/dist/types/src/config/tokens/lengths.d.ts +12 -9
  41. package/dist/types/src/config/tokens/lengths.d.ts.map +1 -1
  42. package/dist/types/src/config/tokens/sizes.d.ts +2 -0
  43. package/dist/types/src/config/tokens/sizes.d.ts.map +1 -1
  44. package/dist/types/src/config/tokens/tokens.d.ts +498 -0
  45. package/dist/types/src/config/tokens/tokens.d.ts.map +1 -0
  46. package/dist/types/src/index.d.ts +3 -2
  47. package/dist/types/src/index.d.ts.map +1 -1
  48. package/dist/types/src/styles/components/dialog.d.ts +2 -0
  49. package/dist/types/src/styles/components/dialog.d.ts.map +1 -1
  50. package/dist/types/src/styles/components/index.d.ts +1 -0
  51. package/dist/types/src/styles/components/index.d.ts.map +1 -1
  52. package/dist/types/src/styles/components/input.d.ts +0 -1
  53. package/dist/types/src/styles/components/input.d.ts.map +1 -1
  54. package/dist/types/src/styles/components/main.d.ts +4 -4
  55. package/dist/types/src/styles/components/main.d.ts.map +1 -1
  56. package/dist/types/src/styles/components/menu.d.ts.map +1 -1
  57. package/dist/types/src/styles/components/scroll-area.d.ts +12 -5
  58. package/dist/types/src/styles/components/scroll-area.d.ts.map +1 -1
  59. package/dist/types/src/styles/components/skeleton.d.ts +7 -0
  60. package/dist/types/src/styles/components/skeleton.d.ts.map +1 -0
  61. package/dist/types/src/styles/components/tag.d.ts.map +1 -1
  62. package/dist/types/src/styles/components/toolbar.d.ts +4 -4
  63. package/dist/types/src/styles/components/toolbar.d.ts.map +1 -1
  64. package/dist/types/src/styles/index.d.ts +2 -1
  65. package/dist/types/src/styles/index.d.ts.map +1 -1
  66. package/dist/types/src/styles/primitives/container.d.ts +15 -0
  67. package/dist/types/src/styles/primitives/container.d.ts.map +1 -0
  68. package/dist/types/src/styles/primitives/index.d.ts +2 -0
  69. package/dist/types/src/styles/primitives/index.d.ts.map +1 -0
  70. package/dist/types/src/styles/theme.d.ts +3 -3
  71. package/dist/types/src/styles/theme.d.ts.map +1 -1
  72. package/dist/types/src/types.d.ts +1 -1
  73. package/dist/types/src/types.d.ts.map +1 -1
  74. package/dist/types/tsconfig.tsbuildinfo +1 -1
  75. package/package.json +5 -5
  76. package/src/Tokens.stories.tsx +2 -2
  77. package/src/config/tailwind.ts +4 -3
  78. package/src/config/tokens/colors/index.ts +8 -0
  79. package/src/config/tokens/{sememes-system.ts → colors/sememes-system.ts} +79 -70
  80. package/src/config/tokens/index.ts +2 -88
  81. package/src/config/tokens/lengths.ts +13 -5
  82. package/src/config/tokens/sizes.ts +2 -0
  83. package/src/config/tokens/tokens.ts +87 -0
  84. package/src/index.ts +3 -2
  85. package/src/styles/components/dialog.ts +9 -1
  86. package/src/styles/components/index.ts +1 -0
  87. package/src/styles/components/input.ts +2 -2
  88. package/src/styles/components/main.ts +7 -9
  89. package/src/styles/components/menu.ts +2 -10
  90. package/src/styles/components/popover.ts +3 -3
  91. package/src/styles/components/scroll-area.ts +70 -23
  92. package/src/styles/components/skeleton.ts +23 -0
  93. package/src/styles/components/tag.ts +1 -1
  94. package/src/styles/components/toolbar.ts +16 -9
  95. package/src/styles/components/tooltip.ts +2 -2
  96. package/src/styles/fragments/size.ts +2 -2
  97. package/src/styles/index.ts +2 -1
  98. package/src/styles/layers/dialog.css +1 -5
  99. package/src/styles/layers/index.css +1 -0
  100. package/src/styles/layers/main.css +30 -7
  101. package/src/styles/layers/scrollbar.css +11 -0
  102. package/src/styles/layers/size.css +17 -19
  103. package/src/styles/layers/tokens.css +3 -1
  104. package/src/styles/primitives/container.ts +33 -0
  105. package/src/styles/primitives/index.ts +5 -0
  106. package/src/styles/theme.ts +18 -5
  107. package/src/types.ts +1 -1
  108. package/dist/plugin/node-cjs/chunk-ZVALPM6U.cjs.map +0 -7
  109. package/dist/plugin/node-esm/chunk-HJE6EZWE.mjs.map +0 -7
  110. package/dist/types/src/config/tokens/alias-colors.d.ts.map +0 -1
  111. package/dist/types/src/config/tokens/physical-colors.d.ts.map +0 -1
  112. package/dist/types/src/config/tokens/sememes-calls.d.ts.map +0 -1
  113. package/dist/types/src/config/tokens/sememes-codemirror.d.ts.map +0 -1
  114. package/dist/types/src/config/tokens/sememes-hue.d.ts.map +0 -1
  115. package/dist/types/src/config/tokens/sememes-sheet.d.ts.map +0 -1
  116. package/dist/types/src/config/tokens/sememes-system.d.ts.map +0 -1
  117. package/dist/types/src/config/tokens/types.d.ts.map +0 -1
  118. /package/dist/types/src/config/tokens/{alias-colors.d.ts → colors/alias-colors.d.ts} +0 -0
  119. /package/dist/types/src/config/tokens/{physical-colors.d.ts → colors/physical-colors.d.ts} +0 -0
  120. /package/dist/types/src/config/tokens/{sememes-calls.d.ts → colors/sememes-calls.d.ts} +0 -0
  121. /package/dist/types/src/config/tokens/{sememes-codemirror.d.ts → colors/sememes-codemirror.d.ts} +0 -0
  122. /package/dist/types/src/config/tokens/{sememes-hue.d.ts → colors/sememes-hue.d.ts} +0 -0
  123. /package/dist/types/src/config/tokens/{sememes-sheet.d.ts → colors/sememes-sheet.d.ts} +0 -0
  124. /package/dist/types/src/config/tokens/{types.d.ts → colors/types.d.ts} +0 -0
  125. /package/src/config/tokens/{alias-colors.ts → colors/alias-colors.ts} +0 -0
  126. /package/src/config/tokens/{physical-colors.ts → colors/physical-colors.ts} +0 -0
  127. /package/src/config/tokens/{semantic-colors.ts → colors/semantic-colors.ts} +0 -0
  128. /package/src/config/tokens/{sememes-calls.ts → colors/sememes-calls.ts} +0 -0
  129. /package/src/config/tokens/{sememes-codemirror.ts → colors/sememes-codemirror.ts} +0 -0
  130. /package/src/config/tokens/{sememes-hue.ts → colors/sememes-hue.ts} +0 -0
  131. /package/src/config/tokens/{sememes-sheet.ts → colors/sememes-sheet.ts} +0 -0
  132. /package/src/config/tokens/{types.ts → colors/types.ts} +0 -0
@@ -7,10 +7,17 @@ import defaultConfig from "tailwindcss/stubs/config.full.js";
7
7
  import tailwindcssLogical from "tailwindcss-logical";
8
8
  import tailwindcssRadix from "tailwindcss-radix";
9
9
 
10
- // src/config/tokens/index.ts
10
+ // src/config/tokens/sizes.ts
11
+ var cardMinInlineSize = 18;
12
+ var cardDefaultInlineSize = 20;
13
+ var cardMaxInlineSize = 22;
14
+ var cardMinBlockSize = 18;
15
+ var cardMaxBlockSize = 30;
16
+
17
+ // src/config/tokens/tokens.ts
11
18
  import adapter from "@ch-ui/tailwind-tokens";
12
19
 
13
- // src/config/tokens/physical-colors.ts
20
+ // src/config/tokens/colors/physical-colors.ts
14
21
  var reflectiveRelation = {
15
22
  initial: 1e3,
16
23
  slope: -1e3,
@@ -151,7 +158,7 @@ var physicalColors = {
151
158
  }, {})
152
159
  };
153
160
 
154
- // src/config/tokens/sememes-hue.ts
161
+ // src/config/tokens/colors/sememes-hue.ts
155
162
  var hueSememes = [
156
163
  ...Object.keys(huePalettes),
157
164
  "neutral",
@@ -255,7 +262,7 @@ var valenceAliases = valenceAliasSememeStems.reduce((acc, stem) => {
255
262
  }, acc);
256
263
  }, {});
257
264
 
258
- // src/config/tokens/sememes-sheet.ts
265
+ // src/config/tokens/colors/sememes-sheet.ts
259
266
  var sheetSememes = {
260
267
  // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.
261
268
  axisSurface: {
@@ -390,7 +397,7 @@ var sheetAliases = {
390
397
  }
391
398
  };
392
399
 
393
- // src/config/tokens/sememes-system.ts
400
+ // src/config/tokens/colors/sememes-system.ts
394
401
  var getMapValue = (map, key, defaultValue) => {
395
402
  let value = map[key];
396
403
  if (!value) {
@@ -449,6 +456,59 @@ var contrastCadence = (lightDepth, darkDepth = lightDepth, alpha = 1) => applyAl
449
456
  darkContrastCadence(darkDepth)
450
457
  ]
451
458
  }, alpha);
459
+ var aliasDefs = {
460
+ // Selected items, current items, other surfaces needing special contrast against baseSurface.
461
+ activeSurface: {
462
+ root: "inputSurfaceBase"
463
+ },
464
+ // Main sidebar panel.
465
+ sidebarSurface: {
466
+ root: "groupSurface"
467
+ },
468
+ // Plank header.
469
+ headerSurface: {
470
+ root: "groupSurface"
471
+ },
472
+ // Toolbars, table/sheet headers, etc.
473
+ toolbarSurface: {
474
+ root: "groupSurface"
475
+ },
476
+ // Forms, cards, etc.
477
+ cardSurface: {
478
+ root: "groupSurface"
479
+ },
480
+ // Secondary aliases.
481
+ textInputSurface: {
482
+ root: "textInputSurfaceBase",
483
+ group: "textInputSurfaceGroup",
484
+ modal: "textInputSurfaceModal"
485
+ },
486
+ inputSurface: {
487
+ root: "inputSurfaceBase",
488
+ group: "inputSurfaceGroup",
489
+ modal: "inputSurfaceModal"
490
+ },
491
+ hoverSurface: {
492
+ root: "hoverSurfaceBase",
493
+ group: "hoverSurfaceGroup",
494
+ modal: "hoverSurfaceModal"
495
+ },
496
+ // TODO(thure): Rename uses of this token to `focusSurface` and remove this alias.
497
+ attention: {
498
+ root: "focusSurface"
499
+ },
500
+ // In “master-detail” patterns, the background of the item in the list which is enumerated in the adjacent view.
501
+ // TODO(burdon): Review tokens.
502
+ currentRelated: {
503
+ root: "modalSurface"
504
+ },
505
+ // Borders and dividers.
506
+ separator: {
507
+ root: "separatorBase",
508
+ group: "separatorGroup",
509
+ modal: "separatorModal"
510
+ }
511
+ };
452
512
  var systemSememes = {
453
513
  //
454
514
  // Elevation cadence tokens
@@ -472,6 +532,11 @@ var systemSememes = {
472
532
  separatorGroup: contrastCadence(3, 2.5),
473
533
  separatorModal: contrastCadence(3, 3),
474
534
  subduedSeparator: contrastCadence(3, 1),
535
+ scrollbarTrack: contrastCadence(0),
536
+ scrollbarThumbSubdued: contrastCadence(1, 1),
537
+ scrollbarThumb: contrastCadence(2.5, 2.5),
538
+ scrollbarThumbHover: contrastCadence(3.5, 3.5),
539
+ scrollbarThumbActive: contrastCadence(4.5, 4.5),
475
540
  unAccent: {
476
541
  light: [
477
542
  "neutral",
@@ -686,59 +751,6 @@ var systemSememes = {
686
751
  ]
687
752
  }
688
753
  };
689
- var aliasDefs = {
690
- // Selected items, current items, other surfaces needing special contrast against baseSurface.
691
- activeSurface: {
692
- root: "inputSurfaceBase"
693
- },
694
- // Main sidebar panel.
695
- sidebarSurface: {
696
- root: "groupSurface"
697
- },
698
- // Plank header.
699
- headerSurface: {
700
- root: "groupSurface"
701
- },
702
- // Toolbars, table/sheet headers, etc.
703
- toolbarSurface: {
704
- root: "groupSurface"
705
- },
706
- // Forms, cards, etc.
707
- cardSurface: {
708
- root: "groupSurface"
709
- },
710
- // Secondary aliases.
711
- textInputSurface: {
712
- root: "textInputSurfaceBase",
713
- group: "textInputSurfaceGroup",
714
- modal: "textInputSurfaceModal"
715
- },
716
- inputSurface: {
717
- root: "inputSurfaceBase",
718
- group: "inputSurfaceGroup",
719
- modal: "inputSurfaceModal"
720
- },
721
- hoverSurface: {
722
- root: "hoverSurfaceBase",
723
- group: "hoverSurfaceGroup",
724
- modal: "hoverSurfaceModal"
725
- },
726
- // TODO(thure): Rename uses of this token to `focusSurface` and remove this alias.
727
- attention: {
728
- root: "focusSurface"
729
- },
730
- // In “master-detail” patterns, the background of the item in the list which is enumerated in the adjacent view.
731
- // TODO(burdon): Review tokens.
732
- currentRelated: {
733
- root: "modalSurface"
734
- },
735
- // Borders and dividers.
736
- separator: {
737
- root: "separatorBase",
738
- group: "separatorGroup",
739
- modal: "separatorModal"
740
- }
741
- };
742
754
  var systemAliases = Object.entries(aliasDefs).reduce((aliases, [alias, values]) => {
743
755
  Object.entries(values).forEach(([key, sememe]) => {
744
756
  const record = getMapValue(aliases, sememe, () => ({}));
@@ -748,7 +760,7 @@ var systemAliases = Object.entries(aliasDefs).reduce((aliases, [alias, values])
748
760
  return aliases;
749
761
  }, {});
750
762
 
751
- // src/config/tokens/alias-colors.ts
763
+ // src/config/tokens/colors/alias-colors.ts
752
764
  var groupAliases = [
753
765
  "groupSurface",
754
766
  ...systemAliases.groupSurface?.root ?? []
@@ -787,112 +799,258 @@ var aliasColors = {
787
799
  namespace: "dx-"
788
800
  };
789
801
 
790
- // src/config/tokens/sizes.ts
791
- var cardMinInlineSize = 18;
792
- var cardDefaultInlineSize = 20;
793
- var cardMaxInlineSize = 22;
802
+ // src/config/tokens/colors/sememes-calls.ts
803
+ var callsSememes = {
804
+ callActive: {
805
+ light: [
806
+ "green",
807
+ "500"
808
+ ],
809
+ dark: [
810
+ "green",
811
+ "500"
812
+ ]
813
+ },
814
+ callAlert: {
815
+ light: [
816
+ "rose",
817
+ "500"
818
+ ],
819
+ dark: [
820
+ "rose",
821
+ "500"
822
+ ]
823
+ }
824
+ };
794
825
 
795
- // src/config/tokens/lengths.ts
796
- var lengthsFacet = {
797
- physical: {
798
- namespace: "dx-",
799
- conditions: {
800
- root: [
801
- ":root"
802
- ]
803
- },
804
- series: {
805
- line: {
806
- root: {
807
- unit: "px",
808
- initial: 0,
809
- slope: 1
810
- }
811
- },
812
- // "gap"
813
- lacuna: {
814
- root: {
815
- unit: "rem",
816
- initial: 0,
817
- slope: 0.125
818
- }
819
- }
820
- }
826
+ // src/config/tokens/colors/sememes-codemirror.ts
827
+ var codemirrorSememes = {
828
+ // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.
829
+ cmCodeblock: {
830
+ light: [
831
+ "neutral",
832
+ "500/.1"
833
+ ],
834
+ dark: [
835
+ "neutral",
836
+ "500/.1"
837
+ ]
821
838
  },
822
- semantic: {
823
- namespace: "dx-",
824
- conditions: {
825
- root: [
826
- ":root"
827
- ]
828
- },
829
- sememes: {
830
- noLine: {
831
- root: [
832
- "line",
833
- 0
834
- ]
835
- },
836
- hairLine: {
837
- root: [
838
- "line",
839
- 1
840
- ]
841
- },
842
- thickLine: {
843
- root: [
844
- "line",
845
- 2
846
- ]
847
- },
848
- trimXs: {
849
- root: [
850
- "lacuna",
851
- 3
852
- ]
853
- },
854
- trimSm: {
855
- root: [
856
- "lacuna",
857
- 4
858
- ]
859
- },
860
- trimMd: {
861
- root: [
862
- "lacuna",
863
- 6
864
- ]
865
- },
866
- trimLg: {
867
- root: [
868
- "lacuna",
869
- 12
870
- ]
871
- },
872
- inputFine: {
873
- root: [
874
- "lacuna",
875
- 3
876
- ]
877
- },
878
- inputCoarse: {
879
- root: [
880
- "lacuna",
881
- 4
882
- ]
883
- }
884
- }
839
+ cmActiveLine: {
840
+ light: [
841
+ "neutral",
842
+ "200/.5"
843
+ ],
844
+ dark: [
845
+ "neutral",
846
+ "800/.5"
847
+ ]
885
848
  },
886
- alias: {
887
- namespace: "dx-",
888
- conditions: {
889
- fine: [
890
- ":root, .density-fine"
891
- ],
892
- coarse: [
893
- ".density-coarse"
894
- ],
895
- flush: [
849
+ cmSeparator: {
850
+ light: [
851
+ "primary",
852
+ 500
853
+ ],
854
+ dark: [
855
+ "primary",
856
+ 500
857
+ ]
858
+ },
859
+ cmCursor: {
860
+ light: [
861
+ "neutral",
862
+ 900
863
+ ],
864
+ dark: [
865
+ "neutral",
866
+ 100
867
+ ]
868
+ },
869
+ cmSelection: {
870
+ light: [
871
+ "primary",
872
+ "400/.5"
873
+ ],
874
+ dark: [
875
+ "primary",
876
+ "600/.5"
877
+ ]
878
+ },
879
+ cmFocusedSelection: {
880
+ light: [
881
+ "primary",
882
+ 400
883
+ ],
884
+ dark: [
885
+ "primary",
886
+ 600
887
+ ]
888
+ },
889
+ cmHighlight: {
890
+ light: [
891
+ "neutral",
892
+ 950
893
+ ],
894
+ dark: [
895
+ "neutral",
896
+ 50
897
+ ]
898
+ },
899
+ cmHighlightSurface: {
900
+ light: [
901
+ "sky",
902
+ 200
903
+ ],
904
+ dark: [
905
+ "cyan",
906
+ 600
907
+ ]
908
+ },
909
+ // TODO(burdon): Factor out defs in common with sheet.
910
+ cmCommentText: {
911
+ light: [
912
+ "neutral",
913
+ 50
914
+ ],
915
+ dark: [
916
+ "neutral",
917
+ 950
918
+ ]
919
+ },
920
+ cmCommentSurface: {
921
+ light: [
922
+ "amber",
923
+ 700
924
+ ],
925
+ dark: [
926
+ "amber",
927
+ 200
928
+ ]
929
+ }
930
+ };
931
+
932
+ // src/config/tokens/colors/semantic-colors.ts
933
+ var semanticColors = {
934
+ conditions: {
935
+ light: [
936
+ ":root"
937
+ ],
938
+ dark: [
939
+ ".dark"
940
+ ]
941
+ },
942
+ sememes: {
943
+ // Define each set of sememes in its own file.
944
+ ...callsSememes,
945
+ ...codemirrorSememes,
946
+ ...hueSememes,
947
+ ...sheetSememes,
948
+ ...systemSememes
949
+ },
950
+ namespace: "dx-"
951
+ };
952
+
953
+ // src/config/tokens/lengths.ts
954
+ var lengthsFacet = {
955
+ physical: {
956
+ namespace: "dx-",
957
+ conditions: {
958
+ root: [
959
+ ":root"
960
+ ]
961
+ },
962
+ series: {
963
+ line: {
964
+ root: {
965
+ unit: "px",
966
+ initial: 0,
967
+ slope: 1
968
+ }
969
+ },
970
+ // "gap"
971
+ lacuna: {
972
+ root: {
973
+ unit: "rem",
974
+ initial: 0,
975
+ slope: 0.125
976
+ }
977
+ }
978
+ }
979
+ },
980
+ semantic: {
981
+ namespace: "dx-",
982
+ conditions: {
983
+ root: [
984
+ ":root"
985
+ ]
986
+ },
987
+ sememes: {
988
+ noLine: {
989
+ root: [
990
+ "line",
991
+ 0
992
+ ]
993
+ },
994
+ hairLine: {
995
+ root: [
996
+ "line",
997
+ 1
998
+ ]
999
+ },
1000
+ thickLine: {
1001
+ root: [
1002
+ "line",
1003
+ 2
1004
+ ]
1005
+ },
1006
+ trimXs: {
1007
+ root: [
1008
+ "lacuna",
1009
+ 3
1010
+ ]
1011
+ },
1012
+ trimSm: {
1013
+ root: [
1014
+ "lacuna",
1015
+ 4
1016
+ ]
1017
+ },
1018
+ trimMd: {
1019
+ root: [
1020
+ "lacuna",
1021
+ 6
1022
+ ]
1023
+ },
1024
+ trimLg: {
1025
+ root: [
1026
+ "lacuna",
1027
+ 12
1028
+ ]
1029
+ },
1030
+ inputFine: {
1031
+ root: [
1032
+ "lacuna",
1033
+ 3
1034
+ ]
1035
+ },
1036
+ inputCoarse: {
1037
+ root: [
1038
+ "lacuna",
1039
+ 4
1040
+ ]
1041
+ }
1042
+ }
1043
+ },
1044
+ alias: {
1045
+ namespace: "dx-",
1046
+ conditions: {
1047
+ fine: [
1048
+ ":root, .density-fine"
1049
+ ],
1050
+ coarse: [
1051
+ ".density-coarse"
1052
+ ],
1053
+ flush: [
896
1054
  ".density-flush"
897
1055
  ],
898
1056
  gridFocusStack: [
@@ -922,6 +1080,16 @@ var lengthsFacet = {
922
1080
  "gridFocusIndicatorWidth"
923
1081
  ]
924
1082
  },
1083
+ inputFine: {
1084
+ fine: [
1085
+ "iconButtonPadding"
1086
+ ]
1087
+ },
1088
+ inputCoarse: {
1089
+ coarse: [
1090
+ "iconButtonPadding"
1091
+ ]
1092
+ },
925
1093
  trimXs: {
926
1094
  fine: [
927
1095
  "cardSpacingChrome",
@@ -942,16 +1110,6 @@ var lengthsFacet = {
942
1110
  "cardSpacingBlock",
943
1111
  "cardSpacingGap"
944
1112
  ]
945
- },
946
- inputFine: {
947
- fine: [
948
- "iconButtonPadding"
949
- ]
950
- },
951
- inputCoarse: {
952
- coarse: [
953
- "iconButtonPadding"
954
- ]
955
1113
  }
956
1114
  }
957
1115
  }
@@ -994,12 +1152,6 @@ var maxSizesFacet = {
994
1152
  50
995
1153
  ]
996
1154
  },
997
- "popover-max-width": {
998
- root: [
999
- "size",
1000
- cardDefaultInlineSize
1001
- ]
1002
- },
1003
1155
  "card-default-width": {
1004
1156
  root: [
1005
1157
  "size",
@@ -1016,174 +1168,25 @@ var maxSizesFacet = {
1016
1168
  root: [
1017
1169
  "size",
1018
1170
  cardMaxInlineSize
1019
- ]
1020
- }
1021
- }
1022
- }
1023
- };
1024
-
1025
- // src/config/tokens/sememes-calls.ts
1026
- var callsSememes = {
1027
- callActive: {
1028
- light: [
1029
- "green",
1030
- "500"
1031
- ],
1032
- dark: [
1033
- "green",
1034
- "500"
1035
- ]
1036
- },
1037
- callAlert: {
1038
- light: [
1039
- "rose",
1040
- "500"
1041
- ],
1042
- dark: [
1043
- "rose",
1044
- "500"
1045
- ]
1046
- }
1047
- };
1048
-
1049
- // src/config/tokens/sememes-codemirror.ts
1050
- var codemirrorSememes = {
1051
- // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.
1052
- cmCodeblock: {
1053
- light: [
1054
- "neutral",
1055
- "500/.1"
1056
- ],
1057
- dark: [
1058
- "neutral",
1059
- "500/.1"
1060
- ]
1061
- },
1062
- cmActiveLine: {
1063
- light: [
1064
- "neutral",
1065
- "200/.5"
1066
- ],
1067
- dark: [
1068
- "neutral",
1069
- "800/.5"
1070
- ]
1071
- },
1072
- cmSeparator: {
1073
- light: [
1074
- "primary",
1075
- 500
1076
- ],
1077
- dark: [
1078
- "primary",
1079
- 500
1080
- ]
1081
- },
1082
- cmCursor: {
1083
- light: [
1084
- "neutral",
1085
- 900
1086
- ],
1087
- dark: [
1088
- "neutral",
1089
- 100
1090
- ]
1091
- },
1092
- cmSelection: {
1093
- light: [
1094
- "primary",
1095
- "400/.5"
1096
- ],
1097
- dark: [
1098
- "primary",
1099
- "600/.5"
1100
- ]
1101
- },
1102
- cmFocusedSelection: {
1103
- light: [
1104
- "primary",
1105
- 400
1106
- ],
1107
- dark: [
1108
- "primary",
1109
- 600
1110
- ]
1111
- },
1112
- cmHighlight: {
1113
- light: [
1114
- "neutral",
1115
- 950
1116
- ],
1117
- dark: [
1118
- "neutral",
1119
- 50
1120
- ]
1121
- },
1122
- cmHighlightSurface: {
1123
- light: [
1124
- "sky",
1125
- 200
1126
- ],
1127
- dark: [
1128
- "cyan",
1129
- 600
1130
- ]
1131
- },
1132
- // TODO(burdon): Factor out defs in common with sheet.
1133
- cmCommentText: {
1134
- light: [
1135
- "neutral",
1136
- 50
1137
- ],
1138
- dark: [
1139
- "neutral",
1140
- 950
1141
- ]
1142
- },
1143
- cmCommentSurface: {
1144
- light: [
1145
- "amber",
1146
- 700
1147
- ],
1148
- dark: [
1149
- "amber",
1150
- 200
1151
- ]
1171
+ ]
1172
+ },
1173
+ "card-min-height": {
1174
+ root: [
1175
+ "size",
1176
+ cardMinBlockSize
1177
+ ]
1178
+ },
1179
+ "card-max-height": {
1180
+ root: [
1181
+ "size",
1182
+ cardMaxBlockSize
1183
+ ]
1184
+ }
1185
+ }
1152
1186
  }
1153
1187
  };
1154
1188
 
1155
- // src/config/tokens/semantic-colors.ts
1156
- var semanticColors = {
1157
- conditions: {
1158
- light: [
1159
- ":root"
1160
- ],
1161
- dark: [
1162
- ".dark"
1163
- ]
1164
- },
1165
- sememes: {
1166
- // Define each set of sememes in its own file.
1167
- ...callsSememes,
1168
- ...codemirrorSememes,
1169
- ...hueSememes,
1170
- ...sheetSememes,
1171
- ...systemSememes
1172
- },
1173
- namespace: "dx-"
1174
- };
1175
-
1176
- // src/config/tokens/index.ts
1177
- var hues = Object.keys(huePalettes);
1178
- var tokenSet = {
1179
- colors: {
1180
- physical: physicalColors,
1181
- semantic: semanticColors,
1182
- alias: aliasColors
1183
- },
1184
- lengths: lengthsFacet,
1185
- maxSizes: maxSizesFacet
1186
- };
1189
+ // src/config/tokens/tokens.ts
1187
1190
  var adapterConfig = {
1188
1191
  colors: {
1189
1192
  facet: "colors",
@@ -1216,6 +1219,16 @@ var adapterConfig = {
1216
1219
  tokenization: "keep-series"
1217
1220
  }
1218
1221
  };
1222
+ var hues = Object.keys(huePalettes);
1223
+ var tokenSet = {
1224
+ colors: {
1225
+ physical: physicalColors,
1226
+ semantic: semanticColors,
1227
+ alias: aliasColors
1228
+ },
1229
+ lengths: lengthsFacet,
1230
+ maxSizes: maxSizesFacet
1231
+ };
1219
1232
  var userDefaultTokenSet = {
1220
1233
  colors: {
1221
1234
  physical: {
@@ -1266,12 +1279,13 @@ var tailwindConfig = ({ env = "production", content = [], extensions = [] }) =>
1266
1279
  extend: merge({
1267
1280
  // Generates is-card-default-width, is-card-min-width, etc.
1268
1281
  spacing: {
1282
+ "prose-max-width": "var(--dx-prose-max-width)",
1283
+ "container-max-width": "var(--dx-container-max-width)",
1269
1284
  "card-default-width": "var(--dx-card-default-width)",
1270
1285
  "card-min-width": "var(--dx-card-min-width)",
1271
1286
  "card-max-width": "var(--dx-card-max-width)",
1272
- "container-max-width": "var(--dx-container-max-width)",
1273
- "popover-max-width": "var(--dx-popover-max-width)",
1274
- "prose-max-width": "var(--dx-prose-max-width)"
1287
+ "card-min-height": "var(--dx-card-min-height)",
1288
+ "card-max-height": "var(--dx-card-max-height)"
1275
1289
  },
1276
1290
  backgroundImage: {
1277
1291
  "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
@@ -1530,209 +1544,80 @@ var tailwindConfig = ({ env = "production", content = [], extensions = [] }) =>
1530
1544
  left: "100%",
1531
1545
  width: "0%"
1532
1546
  }
1533
- },
1534
- // Border trail effect
1535
- "trail": {
1536
- to: {
1537
- "offset-distance": "100%"
1538
- }
1539
- },
1540
- "trail-offset": {
1541
- "0%": {
1542
- "offset-distance": "50%"
1543
- },
1544
- "100%": {
1545
- "offset-distance": "150%"
1546
- }
1547
- }
1548
- },
1549
- animation: {
1550
- // Fade
1551
- "fade-in": "fade-in 200ms ease-out",
1552
- "fade-out": "fade-out 400ms ease-out",
1553
- // Popper chrome
1554
- "slide-down-and-fade": "slide-down-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1555
- "slide-left-and-fade": "slide-left-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1556
- "slide-up-and-fade": "slide-up-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1557
- "slide-right-and-fade": "slide-right-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1558
- // Toast
1559
- "toast-hide": "toast-hide 100ms ease-in forwards",
1560
- "toast-slide-in-right": "toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)",
1561
- "toast-slide-in-bottom": "toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)",
1562
- "toast-swipe-out": "toast-swipe-out 100ms ease-out forwards",
1563
- // Accordion
1564
- "slide-down": "slide-down 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1565
- "slide-up": "slide-up 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1566
- // Border trail effect
1567
- "trail": "trail 6s linear infinite",
1568
- "trail-offset": "trail-offset 6s linear infinite",
1569
- // Progress effects
1570
- "spin": "spin 1.5s linear infinite",
1571
- "spin-slow": "spin 3s linear infinite",
1572
- "shimmer": "shimmer-loop 2s infinite",
1573
- "halo-pulse": "halo-pulse 2s ease-out infinite",
1574
- "progress-indeterminate": "progress-indeterminate 2s ease-out infinite",
1575
- "progress-linear": "progress-linear 2s ease-out infinite"
1576
- }
1577
- }, extendTokens, ...extensions),
1578
- ...overrideTokens,
1579
- colors: {
1580
- ...overrideTokens.colors,
1581
- inherit: "inherit",
1582
- current: "currentColor",
1583
- transparent: "transparent",
1584
- black: "black",
1585
- white: "white"
1586
- }
1587
- },
1588
- plugins: [
1589
- tailwindcssContainerQueries,
1590
- tailwindcssForms,
1591
- tailwindcssLogical,
1592
- tailwindcssRadix(),
1593
- // https://adoxography.github.io/tailwind-scrollbar/utilities
1594
- tailwindScrollbar({
1595
- nocompatible: true,
1596
- preferredStrategy: "pseudoelements"
1597
- })
1598
- ],
1599
- ...env === "development" && {
1600
- mode: "jit"
1601
- },
1602
- content,
1603
- future: {
1604
- hoverOnlyWhenSupported: true
1605
- }
1606
- });
1607
-
1608
- // src/styles/fragments/density.ts
1609
- var coarseBlockSize = "min-bs-[2.5rem]";
1610
- var coarseTextPadding = "pli-3";
1611
- var coarseButtonPadding = "pli-4";
1612
- var coarseDimensions = `${coarseBlockSize} ${coarseTextPadding}`;
1613
- var coarseButtonDimensions = `${coarseBlockSize} ${coarseButtonPadding}`;
1614
- var fineBlockSize = "min-bs-[2.5rem] pointer-fine:min-bs-[2rem]";
1615
- var fineTextPadding = "pli-2";
1616
- var fineButtonPadding = "pli-2.5";
1617
- var fineDimensions = `${fineBlockSize} ${fineTextPadding}`;
1618
- var fineButtonDimensions = `${fineBlockSize} ${fineButtonPadding}`;
1619
- var densityBlockSize = (density = "coarse") => density === "fine" ? fineBlockSize : coarseBlockSize;
1620
-
1621
- // src/styles/fragments/disabled.ts
1622
- var staticDisabled = "opacity-40 cursor-not-allowed shadow-none";
1623
- var dataDisabled = "data-[disabled]:opacity-40 data-[disabled]:cursor-not-allowed";
1624
-
1625
- // src/styles/fragments/dimension.ts
1626
- var textBlockWidth = "is-full mli-auto max-is-[--text-content]";
1627
-
1628
- // src/styles/fragments/elevation.ts
1629
- var contentShadow = (_) => [
1630
- "shadow-none"
1631
- ];
1632
- var surfaceShadow = ({ elevation }) => [
1633
- elevation === "positioned" ? "shadow" : elevation === "dialog" || elevation === "toast" ? "shadow-md" : "shadow-none"
1634
- ];
1635
- var surfaceZIndex = ({ level, elevation }) => {
1636
- switch (level) {
1637
- case "tooltip":
1638
- return elevation === "dialog" ? [
1639
- "z-[53]"
1640
- ] : elevation === "toast" ? [
1641
- "z-[43]"
1642
- ] : [
1643
- "z-30"
1644
- ];
1645
- case "menu":
1646
- return elevation === "dialog" ? [
1647
- "z-[52]"
1648
- ] : elevation === "toast" ? [
1649
- "z-[42]"
1650
- ] : [
1651
- "z-20"
1652
- ];
1653
- default:
1654
- return elevation === "dialog" ? [
1655
- "z-[51]"
1656
- ] : elevation === "toast" ? [
1657
- "z-[41]"
1658
- ] : [
1659
- "z-[1]"
1660
- ];
1661
- }
1662
- };
1663
-
1664
- // src/styles/fragments/focus.ts
1665
- var focusRing = "dx-focus-ring";
1666
- var dropRing = "ring-1 ring-offset-0 ring-primary-350 ring-offset-white dark:ring-primary-450 dark:ring-offset-black";
1667
- var dropRingInner = "before:z-[1] before:absolute before:inset-0 before:ring-1 before:ring-inset before:ring-primary-350 before:dark:ring-primary-450";
1668
- var subduedFocus = "focus:outline-none focus-visible:outline-none focus:ring-0 ring-0 focus:border-0 border-0";
1669
- var staticFocusRing = "ring-2 ring-offset-0 ring-primary-350 ring-offset-white dark:ring-primary-450 dark:ring-offset-black";
1670
-
1671
- // src/styles/fragments/group.ts
1672
- var group = (props) => [
1673
- props.elevation === "base" ? "bg-transparent border border-separator" : "bg-modalSurface",
1674
- surfaceShadow(props)
1675
- ];
1676
-
1677
- // src/styles/fragments/hover.ts
1678
- var hoverColors = "transition-colors duration-100 linear hover:bg-hoverSurface";
1679
- var ghostHover = "hover:bg-hoverSurface";
1680
- var ghostFocusWithin = "focus-within:bg-hoverSurface";
1681
- var subtleHover = "hover:bg-hoverOverlay";
1682
- var hoverableControls = "[--controls-opacity:1] hover-hover:[--controls-opacity:0] hover-hover:hover:[--controls-opacity:1]";
1683
- var groupHoverControlItemWithTransition = "transition-opacity duration-200 opacity-0 group-hover:opacity-100";
1684
- var hoverableFocusedKeyboardControls = "focus-visible:[--controls-opacity:1]";
1685
- var hoverableFocusedWithinControls = "focus-within:[--controls-opacity:1]";
1686
- var hoverableFocusedControls = "focus:[--controls-opacity:1]";
1687
- var hoverableOpenControlItem = "hover-hover:aria-[expanded=true]:[--controls-opacity:1]";
1688
- var hoverableControlItem = "opacity-[--controls-opacity]";
1689
- var hoverableControlItemTransition = "transition-opacity duration-200";
1690
- var staticHoverableControls = "hover-hover:[--controls-opacity:1]";
1691
-
1692
- // src/styles/fragments/layout.ts
1693
- var bounceLayout = "fixed inset-0 z-0 overflow-auto overscroll-auto";
1694
- var fixedInsetFlexLayout = "flex flex-col fixed inset-0 overflow-hidden overscroll-none";
1695
-
1696
- // src/styles/fragments/motion.ts
1697
- var popperMotion = "will-change-[opacity,transform] data-[side=top]:animate-slide-down-and-fade data-[side=right]:animate-slide-left-and-fade data-[side=bottom]:animate-slide-up-and-fade data-[side=left]:animate-slide-right-and-fade";
1698
-
1699
- // src/styles/fragments/ornament.ts
1700
- var separatorBorderColor = "border-separator";
1701
- var subduedSeparatorBorderColor = "border-subduedSeparator";
1702
- var inlineSeparator = "self-stretch border-ie mli-1";
1703
- var blockSeparator = "self-stretch border-be mlb-1";
1704
-
1705
- // src/styles/fragments/selected.ts
1706
- var ghostSelectedCurrent = [
1707
- ghostHover,
1708
- "aria-[current]:bg-inputSurface hover:aria-[current]:bg-hoverSurface",
1709
- "aria-selected:bg-primary-100 dark:aria-selected:bg-primary-850 hover:aria-selected:bg-primary-150 hover:dark:aria-selected:bg-primary-800",
1710
- "aria-[current]:aria-selected:bg-primary-200 dark:aria-[current]:aria-selected:bg-primary-750 hover:aria-[current]:aria-selected:bg-primary-200 hover:dark:aria-[current]:aria-selected:bg-primary-750"
1711
- ];
1712
- 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";
1713
- var ghostSelectedTrackingInterFromNormal = "tracking-[0.0092em]";
1714
- var ghostSelected = "aria-selected:bg-baseSurface aria-selected:text-accentText hover:aria-selected:text-accentTextHover aria-selected:font-semibold aria-selected:tracking-normal transition-[color,font-variation-settings,letter-spacing]";
1715
- var ghostSelectedContainerMd = "@md:aria-selected:bg-baseSurface @md:aria-selected:text-accentText @md:hover:aria-selected:text-accentTextHover @md:aria-selected:font-semibold @md:aria-selected:tracking-normal @md:transition-[color,font-variation-settings,letter-spacing]";
1716
- var staticGhostSelectedCurrent = ({ current, selected }) => [
1717
- current && selected ? "bg-primary-200 dark:bg-primary-750 hover:bg-primary-200 hover:dark:bg-primary-750" : current ? "bg-inputSurface hover:bg-hoverSurface" : selected ? "bg-primary-100 dark:bg-primary-850 hover:bg-primary-150 hover:dark:bg-primary-800" : ghostHover
1718
- ];
1719
- var staticGhostSelected = ({ selected }) => selected ? [
1720
- "bg-primary-200 dark:bg-primary-750"
1721
- ] : [];
1722
-
1723
- // src/styles/fragments/shimmer.ts
1724
- var shimmer = "relative before:absolute before:inset-0 before:-translate-x-full before:animate-shimmer before:bg-gradient-to-r before:from-transparent before:via-neutral-100/10 before:to-transparent isolate overflow-hidden";
1725
- var strongShimmer = "relative before:absolute before:inset-0 before:-translate-x-full before:animate-shimmer before:bg-gradient-to-r before:from-transparent before:via-primary-100/80 before:to-transparent isolate overflow-hidden";
1726
-
1727
- // src/styles/fragments/surface.ts
1728
- var baseSurface = "base-surface";
1729
- var sidebarSurface = "sidebar-surface backdrop-blur-md dark:backdrop-blur-lg";
1730
- var sidebarBorder = "border-separator";
1731
- var activeSurface = "base-surface";
1732
- var groupBorder = "border-separator";
1733
- var modalSurface = "modal-surface backdrop-blur-md";
1734
- var attentionSurface = "attention-surface";
1735
- var accentSurface = "bg-accentSurface text-accentSurfaceText";
1547
+ },
1548
+ // Border trail effect
1549
+ "trail": {
1550
+ to: {
1551
+ "offset-distance": "100%"
1552
+ }
1553
+ },
1554
+ "trail-offset": {
1555
+ "0%": {
1556
+ "offset-distance": "50%"
1557
+ },
1558
+ "100%": {
1559
+ "offset-distance": "150%"
1560
+ }
1561
+ }
1562
+ },
1563
+ animation: {
1564
+ // Fade
1565
+ "fade-in": "fade-in 200ms ease-out",
1566
+ "fade-out": "fade-out 400ms ease-out",
1567
+ // Popper chrome
1568
+ "slide-down-and-fade": "slide-down-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1569
+ "slide-left-and-fade": "slide-left-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1570
+ "slide-up-and-fade": "slide-up-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1571
+ "slide-right-and-fade": "slide-right-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)",
1572
+ // Toast
1573
+ "toast-hide": "toast-hide 100ms ease-in forwards",
1574
+ "toast-slide-in-right": "toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)",
1575
+ "toast-slide-in-bottom": "toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)",
1576
+ "toast-swipe-out": "toast-swipe-out 100ms ease-out forwards",
1577
+ // Accordion
1578
+ "slide-down": "slide-down 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1579
+ "slide-up": "slide-up 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1580
+ // Border trail effect
1581
+ "trail": "trail 6s linear infinite",
1582
+ "trail-offset": "trail-offset 6s linear infinite",
1583
+ // Progress effects
1584
+ "spin": "spin 1.5s linear infinite",
1585
+ "spin-slow": "spin 3s linear infinite",
1586
+ "shimmer": "shimmer-loop 2s infinite",
1587
+ "halo-pulse": "halo-pulse 2s ease-out infinite",
1588
+ "progress-indeterminate": "progress-indeterminate 2s ease-out infinite",
1589
+ "progress-linear": "progress-linear 2s ease-out infinite"
1590
+ }
1591
+ }, extendTokens, ...extensions),
1592
+ ...overrideTokens,
1593
+ colors: {
1594
+ ...overrideTokens.colors,
1595
+ inherit: "inherit",
1596
+ current: "currentColor",
1597
+ transparent: "transparent",
1598
+ black: "black",
1599
+ white: "white"
1600
+ }
1601
+ },
1602
+ plugins: [
1603
+ tailwindcssContainerQueries,
1604
+ tailwindcssForms,
1605
+ tailwindcssLogical,
1606
+ tailwindcssRadix(),
1607
+ // https://adoxography.github.io/tailwind-scrollbar/utilities
1608
+ tailwindScrollbar({
1609
+ nocompatible: true,
1610
+ preferredStrategy: "pseudoelements"
1611
+ })
1612
+ ],
1613
+ ...env === "development" && {
1614
+ mode: "jit"
1615
+ },
1616
+ content,
1617
+ future: {
1618
+ hoverOnlyWhenSupported: true
1619
+ }
1620
+ });
1736
1621
 
1737
1622
  // src/util/hash-styles.ts
1738
1623
  var neutralColor = {
@@ -2334,6 +2219,143 @@ var mx = extendTailwindMerge({
2334
2219
  }
2335
2220
  }, withLogical);
2336
2221
 
2222
+ // src/styles/components/anchored-overflow.ts
2223
+ var anchoredOverflowRoot = (_props, ...etc) => mx("overflow-anchored overflow-auto", ...etc);
2224
+ var anchoredOverflowAnchor = (_props, ...etc) => mx("overflow-anchor is-px bs-px", ...etc);
2225
+ var anchoredOverflowTheme = {
2226
+ root: anchoredOverflowRoot,
2227
+ anchor: anchoredOverflowAnchor
2228
+ };
2229
+
2230
+ // src/styles/fragments/density.ts
2231
+ var coarseBlockSize = "min-bs-[2.5rem]";
2232
+ var coarseTextPadding = "pli-3";
2233
+ var coarseButtonPadding = "pli-4";
2234
+ var coarseDimensions = `${coarseBlockSize} ${coarseTextPadding}`;
2235
+ var coarseButtonDimensions = `${coarseBlockSize} ${coarseButtonPadding}`;
2236
+ var fineBlockSize = "min-bs-[2.5rem] pointer-fine:min-bs-[2rem]";
2237
+ var fineTextPadding = "pli-2";
2238
+ var fineButtonPadding = "pli-2.5";
2239
+ var fineDimensions = `${fineBlockSize} ${fineTextPadding}`;
2240
+ var fineButtonDimensions = `${fineBlockSize} ${fineButtonPadding}`;
2241
+ var densityBlockSize = (density = "coarse") => density === "fine" ? fineBlockSize : coarseBlockSize;
2242
+
2243
+ // src/styles/fragments/disabled.ts
2244
+ var staticDisabled = "opacity-40 cursor-not-allowed shadow-none";
2245
+ var dataDisabled = "data-[disabled]:opacity-40 data-[disabled]:cursor-not-allowed";
2246
+
2247
+ // src/styles/fragments/dimension.ts
2248
+ var textBlockWidth = "is-full mli-auto max-is-[--text-content]";
2249
+
2250
+ // src/styles/fragments/elevation.ts
2251
+ var contentShadow = (_) => [
2252
+ "shadow-none"
2253
+ ];
2254
+ var surfaceShadow = ({ elevation }) => [
2255
+ elevation === "positioned" ? "shadow" : elevation === "dialog" || elevation === "toast" ? "shadow-md" : "shadow-none"
2256
+ ];
2257
+ var surfaceZIndex = ({ level, elevation }) => {
2258
+ switch (level) {
2259
+ case "tooltip":
2260
+ return elevation === "dialog" ? [
2261
+ "z-[53]"
2262
+ ] : elevation === "toast" ? [
2263
+ "z-[43]"
2264
+ ] : [
2265
+ "z-30"
2266
+ ];
2267
+ case "menu":
2268
+ return elevation === "dialog" ? [
2269
+ "z-[52]"
2270
+ ] : elevation === "toast" ? [
2271
+ "z-[42]"
2272
+ ] : [
2273
+ "z-20"
2274
+ ];
2275
+ default:
2276
+ return elevation === "dialog" ? [
2277
+ "z-[51]"
2278
+ ] : elevation === "toast" ? [
2279
+ "z-[41]"
2280
+ ] : [
2281
+ "z-[1]"
2282
+ ];
2283
+ }
2284
+ };
2285
+
2286
+ // src/styles/fragments/focus.ts
2287
+ var focusRing = "dx-focus-ring";
2288
+ var dropRing = "ring-1 ring-offset-0 ring-primary-350 ring-offset-white dark:ring-primary-450 dark:ring-offset-black";
2289
+ var dropRingInner = "before:z-[1] before:absolute before:inset-0 before:ring-1 before:ring-inset before:ring-primary-350 before:dark:ring-primary-450";
2290
+ var subduedFocus = "focus:outline-none focus-visible:outline-none focus:ring-0 ring-0 focus:border-0 border-0";
2291
+ var staticFocusRing = "ring-2 ring-offset-0 ring-primary-350 ring-offset-white dark:ring-primary-450 dark:ring-offset-black";
2292
+
2293
+ // src/styles/fragments/group.ts
2294
+ var group = (props) => [
2295
+ props.elevation === "base" ? "bg-transparent border border-separator" : "bg-modalSurface",
2296
+ surfaceShadow(props)
2297
+ ];
2298
+
2299
+ // src/styles/fragments/hover.ts
2300
+ var hoverColors = "transition-colors duration-100 linear hover:bg-hoverSurface";
2301
+ var ghostHover = "hover:bg-hoverSurface";
2302
+ var ghostFocusWithin = "focus-within:bg-hoverSurface";
2303
+ var subtleHover = "hover:bg-hoverOverlay";
2304
+ var hoverableControls = "[--controls-opacity:1] hover-hover:[--controls-opacity:0] hover-hover:hover:[--controls-opacity:1]";
2305
+ var groupHoverControlItemWithTransition = "transition-opacity duration-200 opacity-0 group-hover:opacity-100";
2306
+ var hoverableFocusedKeyboardControls = "focus-visible:[--controls-opacity:1]";
2307
+ var hoverableFocusedWithinControls = "focus-within:[--controls-opacity:1]";
2308
+ var hoverableFocusedControls = "focus:[--controls-opacity:1]";
2309
+ var hoverableOpenControlItem = "hover-hover:aria-[expanded=true]:[--controls-opacity:1]";
2310
+ var hoverableControlItem = "opacity-[--controls-opacity]";
2311
+ var hoverableControlItemTransition = "transition-opacity duration-200";
2312
+ var staticHoverableControls = "hover-hover:[--controls-opacity:1]";
2313
+
2314
+ // src/styles/fragments/layout.ts
2315
+ var bounceLayout = "fixed inset-0 z-0 overflow-auto overscroll-auto";
2316
+ var fixedInsetFlexLayout = "flex flex-col fixed inset-0 overflow-hidden overscroll-none";
2317
+
2318
+ // src/styles/fragments/motion.ts
2319
+ var popperMotion = "will-change-[opacity,transform] data-[side=top]:animate-slide-down-and-fade data-[side=right]:animate-slide-left-and-fade data-[side=bottom]:animate-slide-up-and-fade data-[side=left]:animate-slide-right-and-fade";
2320
+
2321
+ // src/styles/fragments/ornament.ts
2322
+ var separatorBorderColor = "border-separator";
2323
+ var subduedSeparatorBorderColor = "border-subduedSeparator";
2324
+ var inlineSeparator = "self-stretch border-ie mli-1";
2325
+ var blockSeparator = "self-stretch border-be mlb-1";
2326
+
2327
+ // src/styles/fragments/selected.ts
2328
+ var ghostSelectedCurrent = [
2329
+ ghostHover,
2330
+ "aria-[current]:bg-inputSurface hover:aria-[current]:bg-hoverSurface",
2331
+ "aria-selected:bg-primary-100 dark:aria-selected:bg-primary-850 hover:aria-selected:bg-primary-150 hover:dark:aria-selected:bg-primary-800",
2332
+ "aria-[current]:aria-selected:bg-primary-200 dark:aria-[current]:aria-selected:bg-primary-750 hover:aria-[current]:aria-selected:bg-primary-200 hover:dark:aria-[current]:aria-selected:bg-primary-750"
2333
+ ];
2334
+ 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";
2335
+ var ghostSelectedTrackingInterFromNormal = "tracking-[0.0092em]";
2336
+ var ghostSelected = "aria-selected:bg-baseSurface aria-selected:text-accentText hover:aria-selected:text-accentTextHover aria-selected:font-semibold aria-selected:tracking-normal transition-[color,font-variation-settings,letter-spacing]";
2337
+ var ghostSelectedContainerMd = "@md:aria-selected:bg-baseSurface @md:aria-selected:text-accentText @md:hover:aria-selected:text-accentTextHover @md:aria-selected:font-semibold @md:aria-selected:tracking-normal @md:transition-[color,font-variation-settings,letter-spacing]";
2338
+ var staticGhostSelectedCurrent = ({ current, selected }) => [
2339
+ current && selected ? "bg-primary-200 dark:bg-primary-750 hover:bg-primary-200 hover:dark:bg-primary-750" : current ? "bg-inputSurface hover:bg-hoverSurface" : selected ? "bg-primary-100 dark:bg-primary-850 hover:bg-primary-150 hover:dark:bg-primary-800" : ghostHover
2340
+ ];
2341
+ var staticGhostSelected = ({ selected }) => selected ? [
2342
+ "bg-primary-200 dark:bg-primary-750"
2343
+ ] : [];
2344
+
2345
+ // src/styles/fragments/shimmer.ts
2346
+ var shimmer = "relative before:absolute before:inset-0 before:-translate-x-full before:animate-shimmer before:bg-gradient-to-r before:from-transparent before:via-neutral-100/10 before:to-transparent isolate overflow-hidden";
2347
+ var strongShimmer = "relative before:absolute before:inset-0 before:-translate-x-full before:animate-shimmer before:bg-gradient-to-r before:from-transparent before:via-primary-100/80 before:to-transparent isolate overflow-hidden";
2348
+
2349
+ // src/styles/fragments/surface.ts
2350
+ var baseSurface = "base-surface";
2351
+ var sidebarSurface = "sidebar-surface backdrop-blur-md dark:backdrop-blur-lg";
2352
+ var sidebarBorder = "border-separator";
2353
+ var activeSurface = "base-surface";
2354
+ var groupBorder = "border-separator";
2355
+ var modalSurface = "modal-surface backdrop-blur-md";
2356
+ var attentionSurface = "attention-surface";
2357
+ var accentSurface = "bg-accentSurface text-accentSurfaceText";
2358
+
2337
2359
  // src/styles/fragments/size.ts
2338
2360
  var sizeWidthMap = /* @__PURE__ */ new Map([
2339
2361
  [
@@ -2700,14 +2722,6 @@ var messageValence = (valence) => {
2700
2722
  }
2701
2723
  };
2702
2724
 
2703
- // src/styles/components/anchored-overflow.ts
2704
- var anchoredOverflowRoot = (_props, ...etc) => mx("overflow-anchored overflow-auto", ...etc);
2705
- var anchoredOverflowAnchor = (_props, ...etc) => mx("overflow-anchor is-px bs-px", ...etc);
2706
- var anchoredOverflowTheme = {
2707
- root: anchoredOverflowRoot,
2708
- anchor: anchoredOverflowAnchor
2709
- };
2710
-
2711
2725
  // src/styles/components/avatar.ts
2712
2726
  var avatarRoot = ({ size = 10, inGroup }, ...etc) => mx("relative inline-flex shrink-0", getSize(size), inGroup && (size === "px" || size <= 3 ? "-mie-1" : "-mie-2"), ...etc);
2713
2727
  var avatarLabel = ({ srOnly }, ...etc) => mx(srOnly && "sr-only", ...etc);
@@ -2771,15 +2785,19 @@ var sizeMap = {
2771
2785
  };
2772
2786
  var dialogOverlay = (_props, ...etc) => mx("dx-dialog__overlay", ...etc);
2773
2787
  var dialogContent = ({ inOverlayLayout, size }, ...etc) => {
2774
- return mx("@container dx-dialog__content dx-focus-ring modal-surface density-coarse is-full gap-2", !inOverlayLayout && "fixed z-50 top-[50%] left-[50%] -translate-x-[50%] -translate-y-[50%]", size && sizeMap[size], ...etc);
2788
+ return mx("@container dx-dialog__content dx-focus-ring modal-surface density-coarse is-full gap-4", !inOverlayLayout && "fixed z-50 top-[50%] left-[50%] -translate-x-[50%] -translate-y-[50%]", size && sizeMap[size], ...etc);
2775
2789
  };
2776
2790
  var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex items-center justify-between", ...etc);
2791
+ var dialogBody = (_props, ...etc) => mx("dx-dialog__body flex flex-col gap-4 bs-full overflow-hidden", ...etc);
2792
+ var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center density-coarse", ...etc);
2777
2793
  var dialogTitle = ({ srOnly }, ...etc) => mx("dx-dialog__title", srOnly && "sr-only", ...etc);
2778
2794
  var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", descriptionText, srOnly && "sr-only", ...etc);
2779
2795
  var dialogTheme = {
2780
2796
  overlay: dialogOverlay,
2781
2797
  content: dialogContent,
2782
2798
  header: dialogHeader,
2799
+ body: dialogBody,
2800
+ actionbar: dialogActionBar,
2783
2801
  title: dialogTitle,
2784
2802
  description: dialogDescription
2785
2803
  };
@@ -2808,7 +2826,7 @@ var textInputSurfaceFocus = "transition-colors bg-textInputSurface focus:bg-focu
2808
2826
  var textInputSurfaceHover = "hover:bg-textInputSurface focus:hover:bg-focusSurface";
2809
2827
  var booleanInputSurface = "shadow-inner transition-colors bg-unAccent aria-checked:bg-accentSurface aria-[checked=mixed]:bg-accentSurface";
2810
2828
  var booleanInputSurfaceHover = "hover:bg-unAccentHover hover:aria-checked:bg-accentSurfaceHover hover:aria-[checked=mixed]:bg-accentSurfaceHover";
2811
- var inputTextLabel = "text-description text-xs font-medium mbs-inputSpacingBlock mbe-labelSpacingBlock first:mbs-0";
2829
+ var inputTextLabel = "text-sm text-description plb-1";
2812
2830
  var inputValence = (valence) => {
2813
2831
  switch (valence) {
2814
2832
  case "success":
@@ -2910,11 +2928,11 @@ var listTheme = {
2910
2928
  // src/styles/components/main.ts
2911
2929
  var topbarBlockPaddingStart = "pbs-[--topbar-size] sticky-top-from-topbar-bottom";
2912
2930
  var bottombarBlockPaddingEnd = "pbe-[--statusbar-size] sticky-bottom-from-statusbar-bottom";
2913
- var mainSidebar = (_, ...etc) => mx("dx-main-sidebar", "dx-focus-ring-inset-over-all", ...etc);
2914
2931
  var mainPadding = "dx-main-content-padding";
2915
2932
  var mainPaddingTransitions = "dx-main-content-padding-transitions";
2916
- var mainContent = ({ bounce }, ...etc) => mx(mainPadding, mainPaddingTransitions, bounce && "dx-main-bounce-layout", "dx-focus-ring-main", ...etc);
2917
2933
  var mainIntrinsicSize = "dx-main-intrinsic-size";
2934
+ var mainContent = ({ bounce }, ...etc) => mx(mainPadding, mainPaddingTransitions, bounce && "dx-main-bounce-layout", "dx-focus-ring-main", ...etc);
2935
+ var mainSidebar = (_, ...etc) => mx("dx-main-sidebar", "dx-focus-ring-inset-over-all", ...etc);
2918
2936
  var mainOverlay = (_, ...etc) => mx("dx-main-overlay", ...etc);
2919
2937
  var mainTheme = {
2920
2938
  content: mainContent,
@@ -2924,12 +2942,18 @@ var mainTheme = {
2924
2942
 
2925
2943
  // src/styles/components/menu.ts
2926
2944
  var menuViewport = (_props, ...etc) => mx("rounded p-1 max-bs-[--radix-dropdown-menu-content-available-height] overflow-y-auto", ...etc);
2927
- var menuContent = ({ elevation }, ...etc) => mx("is-48 rounded md:is-56 border border-separator", surfaceZIndex({
2928
- elevation,
2929
- level: "menu"
2930
- }), surfaceShadow({
2931
- elevation: "positioned"
2932
- }), modalSurface, popperMotion, ...etc);
2945
+ var menuContent = ({ elevation }, ...etc) => mx(
2946
+ "is-48 rounded md:is-56 border border-separator",
2947
+ surfaceZIndex({
2948
+ elevation,
2949
+ level: "menu"
2950
+ }),
2951
+ surfaceShadow({
2952
+ elevation: "positioned"
2953
+ }),
2954
+ modalSurface,
2955
+ ...etc
2956
+ );
2933
2957
  var menuItem = (_props, ...etc) => mx("flex cursor-pointer select-none items-center gap-2 rounded-sm pli-2 plb-2 text-sm", "data-[highlighted]:bg-hoverSurface", subduedFocus, dataDisabled, ...etc);
2934
2958
  var menuSeparator = (_props, ...etc) => mx("mlb-1 mli-2 bs-px bg-separator", ...etc);
2935
2959
  var menuGroupLabel = (_props, ...etc) => mx(descriptionText, "select-none pli-2 plb-2", ...etc);
@@ -2964,7 +2988,7 @@ var messageTheme = {
2964
2988
  };
2965
2989
 
2966
2990
  // src/styles/components/popover.ts
2967
- var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx("rounded-md", constrainBlock && "max-bs-[--radix-popover-content-available-height] overflow-y-auto", constrainInline && "max-is-[--radix-popover-content-available-width] overflow-x-auto", ...etc);
2991
+ var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx("flex flex-col rounded-md", constrainBlock && "max-bs-[--radix-popover-content-available-height] overflow-hidden", constrainInline && "max-is-[--radix-popover-content-available-width] overflow-hidden", ...etc);
2968
2992
  var popoverContent = ({ elevation }, ...etc) => mx("border border-separator rounded-md", modalSurface, surfaceShadow({
2969
2993
  elevation: "positioned"
2970
2994
  }), surfaceZIndex({
@@ -2979,20 +3003,54 @@ var popoverTheme = {
2979
3003
  };
2980
3004
 
2981
3005
  // src/styles/components/scroll-area.ts
2982
- var scrollAreaRoot = (_props, ...etc) => mx("__bs-full __is-full overflow-hidden", ...etc);
2983
- var scrollAreaViewport = (_props, ...etc) => (
2984
- // mx('bs-full is-full [&>div]:is-full [&>div]:bs-auto', ...etc);
2985
- mx("bs-full is-full [&>div]:table-fixed [&>div]:is-full", ...etc)
3006
+ var scrollAreaRoot = ({ orientation, margin, thin }, ...etc) => mx(
3007
+ "overflow-hidden",
3008
+ orientation === "vertical" && "group/scroll-v bs-full is-full min-bs-0",
3009
+ orientation === "horizontal" && "group/scroll-h bs-full is-full min-is-0",
3010
+ orientation === "all" && "group/scroll-all bs-full is-full min-bs-0 min-is-0",
3011
+ // Balance left/right, top/bottom "margin" with scrollbar.
3012
+ margin && [
3013
+ orientation === "vertical" && (thin ? "pis-[4px]" : "pis-[8px]"),
3014
+ orientation === "horizontal" && (thin ? "pbs-[4px]" : "pbs-[8px]"),
3015
+ orientation === "all" && (thin ? "pis-[4px] pbs-[8px]" : "pis-[8px] pbs-[8px]")
3016
+ ],
3017
+ ...etc
3018
+ );
3019
+ var scrollAreaViewport = ({ orientation, autoHide, padding: padding2, snap, thin }, ...etc) => mx(
3020
+ "bs-full is-full",
3021
+ orientation === "vertical" && "flex flex-col overflow-y-scroll",
3022
+ orientation === "horizontal" && "flex overflow-x-scroll",
3023
+ orientation === "all" && "overflow-scroll",
3024
+ thin ? "[&::-webkit-scrollbar]:is-[4px] [&::-webkit-scrollbar]:bs-[4px]" : "[&::-webkit-scrollbar]:is-[8px] [&::-webkit-scrollbar]:bs-[8px]",
3025
+ // '[&::-webkit-scrollbar-thumb]:rounded-full',
3026
+ "[&::-webkit-scrollbar-thumb]:bg-transparent",
3027
+ "[&::-webkit-scrollbar-corner]:bg-transparent",
3028
+ // TODO(burdon): Define token.
3029
+ autoHide ? [
3030
+ orientation === "vertical" && "group-hover/scroll-v:[&::-webkit-scrollbar-thumb]:bg-subduedSeparator",
3031
+ orientation === "horizontal" && "group-hover/scroll-h:[&::-webkit-scrollbar-thumb]:bg-subduedSeparator",
3032
+ orientation === "all" && "group-hover/scroll-all:[&::-webkit-scrollbar-thumb]:bg-subduedSeparator"
3033
+ ] : [
3034
+ orientation === "vertical" && "[&::-webkit-scrollbar-thumb]:bg-subduedSeparator",
3035
+ orientation === "horizontal" && "[&::-webkit-scrollbar-thumb]:bg-subduedSeparator",
3036
+ orientation === "all" && "[&::-webkit-scrollbar-thumb]:bg-subduedSeparator"
3037
+ ],
3038
+ // TODO(burdon): Are scrollbars reserved on native devices?
3039
+ padding2 && [
3040
+ orientation === "vertical" && "pli-[4px]",
3041
+ orientation === "horizontal" && "pbe-[4px]",
3042
+ orientation === "all" && "pis-[4px] pbe-[4px]"
3043
+ ],
3044
+ snap && [
3045
+ orientation === "vertical" && "snap-y snap-mandatory",
3046
+ orientation === "horizontal" && "snap-x snap-mandatory",
3047
+ orientation === "all" && "snap-both snap-mandatory"
3048
+ ],
3049
+ ...etc
2986
3050
  );
2987
- var scrollAreaScrollbar = (_props, ...etc) => mx("flex select-none touch-none p-0.5 ease-out", "data-[orientation=vertical]:is-1.5 sm:data-[orientation=vertical]:data-[variant=coarse]:is-3", "data-[orientation=horizontal]:flex-col data-[orientation=horizontal]:bs-1.5 sm:data-[orientation=horizontal]:data-[variant=coarse]:bs-3", "sm:data-[variant=coarse]:bg-separator rounded-full", "[&>div]:bg-unAccent sm:[&[data-variant=coarse]>div]:bg-attention", ...etc);
2988
- var scrollAreaThumb = (_props, ...etc) => mx("flex-1 rounded-full relative", "before:content-[''] before:absolute before:top-1/2 before:left-1/2 before:-translate-x-1/2 before:-translate-y-1/2 before:is-full before:bs-full before:min-w-[6px] before:min-h-[6px]", ...etc);
2989
- var scrollAreaCorner = (_props, ...etc) => mx(...etc);
2990
3051
  var scrollAreaTheme = {
2991
3052
  root: scrollAreaRoot,
2992
- viewport: scrollAreaViewport,
2993
- scrollbar: scrollAreaScrollbar,
2994
- thumb: scrollAreaThumb,
2995
- corner: scrollAreaCorner
3053
+ viewport: scrollAreaViewport
2996
3054
  };
2997
3055
 
2998
3056
  // src/styles/components/select.ts
@@ -3026,6 +3084,12 @@ var separatorTheme = {
3026
3084
  root: separatorRoot
3027
3085
  };
3028
3086
 
3087
+ // src/styles/components/skeleton.ts
3088
+ var skeletonRoot = ({ variant = "default" }, ...etc) => mx("animate-pulse bg-neutral-250 dark:bg-neutral-750 rounded-md", variant === "circle" && "rounded-full", variant === "text" && "rounded", ...etc);
3089
+ var skeletonTheme = {
3090
+ root: skeletonRoot
3091
+ };
3092
+
3029
3093
  // src/styles/components/status.ts
3030
3094
  var statusRoot = ({ variant = "default" }, ...etc) => mx("bs-1 relative bg-hoverOverlay rounded-full overflow-hidden", variant === "main-bottom" ? "is-full block" : "is-20 inline-block", ...etc);
3031
3095
  var statusBar = ({ indeterminate, variant = "default" }, ...etc) => mx("absolute inset-block-0 block rounded-full", variant === "main-bottom" ? "bg-accentSurface" : "bg-unAccent", indeterminate ? "animate-progress-indeterminate" : "inline-start-0", ...etc);
@@ -3035,7 +3099,7 @@ var statusTheme = {
3035
3099
  };
3036
3100
 
3037
3101
  // src/styles/components/tag.ts
3038
- var tagRoot = ({ palette = "neutral" }, ...etc) => mx("dx-tag", ...etc);
3102
+ var tagRoot = (_, ...etc) => mx("dx-tag", ...etc);
3039
3103
  var tagTheme = {
3040
3104
  root: tagRoot
3041
3105
  };
@@ -3064,10 +3128,9 @@ var toastTheme = {
3064
3128
  };
3065
3129
 
3066
3130
  // src/styles/components/toolbar.ts
3067
- var toolbarLayout = "is-full shrink-0 flex flex-nowrap items-center gap-1 p-1 overflow-x-auto scrollbar-none contain-layout";
3068
- var toolbarInactive = "*:opacity-20";
3069
- var toolbarRoot = ({ layoutManaged, disabled }, ...etc) => {
3070
- return mx("bg-toolbarSurface dx-toolbar", !layoutManaged && toolbarLayout, disabled && toolbarInactive, ...etc);
3131
+ var toolbarLayout = "is-full shrink-0 flex flex-nowrap p-1 gap-1 items-center overflow-x-auto scrollbar-none contain-layout";
3132
+ var toolbarRoot = ({ density, disabled, layoutManaged }, ...etc) => {
3133
+ return mx("bg-toolbarSurface dx-toolbar", density === "coarse" && "bs-[var(--rail-size)] !pli-3", disabled && "*:opacity-20", !layoutManaged && toolbarLayout, ...etc);
3071
3134
  };
3072
3135
  var toolbarInner = ({ layoutManaged }, ...etc) => {
3073
3136
  return mx(!layoutManaged && [
@@ -3081,12 +3144,19 @@ var toolbarTheme = {
3081
3144
  };
3082
3145
 
3083
3146
  // src/styles/components/tooltip.ts
3084
- var tooltipContent = ({ elevation }, ...etc) => mx("inline-flex items-center rounded-sm plb-1 pli-2 max-is-64 bg-inverseSurface text-inverseSurfaceText", popperMotion, surfaceShadow({
3085
- elevation: "positioned"
3086
- }), surfaceZIndex({
3087
- elevation,
3088
- level: "tooltip"
3089
- }), chromeText, ...etc);
3147
+ var tooltipContent = ({ elevation }, ...etc) => mx(
3148
+ "inline-flex items-center rounded-sm plb-1 pli-2 max-is-64 bg-inverseSurface text-inverseSurfaceText",
3149
+ // popperMotion,
3150
+ surfaceShadow({
3151
+ elevation: "positioned"
3152
+ }),
3153
+ surfaceZIndex({
3154
+ elevation,
3155
+ level: "tooltip"
3156
+ }),
3157
+ chromeText,
3158
+ ...etc
3159
+ );
3090
3160
  var tooltipArrow = (_props, ...etc) => mx("fill-inverseSurface", ...etc);
3091
3161
  var tooltipTheme = {
3092
3162
  content: tooltipContent,
@@ -3137,10 +3207,28 @@ var treegridTheme = {
3137
3207
  cell: treegridCell
3138
3208
  };
3139
3209
 
3210
+ // src/styles/primitives/container.ts
3211
+ var padding = {
3212
+ sm: "pli-2",
3213
+ md: "pli-3",
3214
+ lg: "pli-6"
3215
+ };
3216
+ var containerColumn = ({ variant }, ...etc) => mx(variant && padding[variant], ...etc);
3217
+ var containerTheme = {
3218
+ column: containerColumn
3219
+ };
3220
+
3140
3221
  // src/styles/theme.ts
3141
3222
  import { get } from "@dxos/util";
3142
3223
  var defaultTheme = {
3143
3224
  themeName: () => "default",
3225
+ //
3226
+ // Primitives
3227
+ //
3228
+ container: containerTheme,
3229
+ //
3230
+ // Components
3231
+ //
3144
3232
  anchoredOverflow: anchoredOverflowTheme,
3145
3233
  avatar: avatarTheme,
3146
3234
  breadcrumb: breadcrumbTheme,
@@ -3155,9 +3243,10 @@ var defaultTheme = {
3155
3243
  message: messageTheme,
3156
3244
  menu: menuTheme,
3157
3245
  popover: popoverTheme,
3158
- select: selectTheme,
3159
3246
  scrollArea: scrollAreaTheme,
3247
+ select: selectTheme,
3160
3248
  separator: separatorTheme,
3249
+ skeleton: skeletonTheme,
3161
3250
  status: statusTheme,
3162
3251
  tag: tagTheme,
3163
3252
  toast: toastTheme,
@@ -3166,15 +3255,15 @@ var defaultTheme = {
3166
3255
  treegrid: treegridTheme
3167
3256
  };
3168
3257
  var bindTheme = (theme) => {
3169
- return (path, defaultClassName, styleProps, ...options) => {
3258
+ return (path, styleProps, ...etc) => {
3170
3259
  const result = get(theme, path);
3171
- return typeof result === "function" ? result(styleProps, ...options) : defaultClassName;
3260
+ return typeof result === "function" ? result(styleProps ?? {}, ...etc) : void 0;
3172
3261
  };
3173
3262
  };
3174
3263
  var defaultTx = bindTheme(defaultTheme);
3175
3264
 
3176
3265
  // src/index.ts
3177
- var tokens = tailwindConfig({}).theme;
3266
+ var { theme: tokens } = tailwindConfig({});
3178
3267
  var osTranslations = "dxos.org/i18n/os";
3179
3268
  export {
3180
3269
  accentSurface,
@@ -3218,6 +3307,7 @@ export {
3218
3307
  coarseDimensions,
3219
3308
  coarseTextPadding,
3220
3309
  computeSize,
3310
+ containerTheme,
3221
3311
  contentShadow,
3222
3312
  dataDisabled,
3223
3313
  defaultButtonColors,
@@ -3227,6 +3317,8 @@ export {
3227
3317
  descriptionMessage,
3228
3318
  descriptionText,
3229
3319
  descriptionTextPrimary,
3320
+ dialogActionBar,
3321
+ dialogBody,
3230
3322
  dialogContent,
3231
3323
  dialogDescription,
3232
3324
  dialogHeader,
@@ -3287,7 +3379,6 @@ export {
3287
3379
  inputLabel,
3288
3380
  inputSwitch,
3289
3381
  inputSwitchThumb,
3290
- inputTextLabel,
3291
3382
  inputTheme,
3292
3383
  inputValence,
3293
3384
  inputValidation,
@@ -3334,11 +3425,8 @@ export {
3334
3425
  popoverViewport,
3335
3426
  popperMotion,
3336
3427
  primaryButtonColors,
3337
- scrollAreaCorner,
3338
3428
  scrollAreaRoot,
3339
- scrollAreaScrollbar,
3340
3429
  scrollAreaTheme,
3341
- scrollAreaThumb,
3342
3430
  scrollAreaViewport,
3343
3431
  selectArrow,
3344
3432
  selectContent,
@@ -3357,6 +3445,8 @@ export {
3357
3445
  sizeHeightMap,
3358
3446
  sizeValue,
3359
3447
  sizeWidthMap,
3448
+ skeletonRoot,
3449
+ skeletonTheme,
3360
3450
  staticDefaultButtonColors,
3361
3451
  staticDisabled,
3362
3452
  staticFocusRing,
@@ -3388,7 +3478,6 @@ export {
3388
3478
  toastTitle,
3389
3479
  toastViewport,
3390
3480
  tokens,
3391
- toolbarInactive,
3392
3481
  toolbarInner,
3393
3482
  toolbarLayout,
3394
3483
  toolbarRoot,