@dxos/ui-theme 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef

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 (63) hide show
  1. package/dist/lib/browser/index.mjs +63 -57
  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 +63 -57
  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/main.css +64 -29
  8. package/dist/plugin/node-cjs/main.css.map +2 -2
  9. package/dist/plugin/node-cjs/meta.json +1 -1
  10. package/dist/plugin/node-esm/main.css +64 -29
  11. package/dist/plugin/node-esm/main.css.map +2 -2
  12. package/dist/plugin/node-esm/meta.json +1 -1
  13. package/dist/plugin/node-esm/plugins/ThemePlugin.mjs.map +2 -2
  14. package/dist/types/src/Theme.stories.d.ts.map +1 -1
  15. package/dist/types/src/defs.d.ts +1 -1
  16. package/dist/types/src/defs.d.ts.map +1 -1
  17. package/dist/types/src/fragments/density.d.ts +1 -4
  18. package/dist/types/src/fragments/density.d.ts.map +1 -1
  19. package/dist/types/src/fragments/text.d.ts +0 -1
  20. package/dist/types/src/fragments/text.d.ts.map +1 -1
  21. package/dist/types/src/plugins/ThemePlugin.d.ts +1 -1
  22. package/dist/types/src/plugins/ThemePlugin.d.ts.map +1 -1
  23. package/dist/types/src/theme/components/card.d.ts.map +1 -1
  24. package/dist/types/src/theme/components/dialog.d.ts.map +1 -1
  25. package/dist/types/src/theme/components/icon-button.d.ts +1 -0
  26. package/dist/types/src/theme/components/icon-button.d.ts.map +1 -1
  27. package/dist/types/src/theme/components/input.d.ts +8 -8
  28. package/dist/types/src/theme/components/input.d.ts.map +1 -1
  29. package/dist/types/src/theme/components/main.d.ts.map +1 -1
  30. package/dist/types/src/theme/components/scroll-area.d.ts.map +1 -1
  31. package/dist/types/src/theme/primitives/column.d.ts +22 -5
  32. package/dist/types/src/theme/primitives/column.d.ts.map +1 -1
  33. package/dist/types/src/theme/primitives/panel.d.ts.map +1 -1
  34. package/dist/types/src/theme/theme.d.ts.map +1 -1
  35. package/dist/types/src/util/hash-styles.d.ts.map +1 -1
  36. package/dist/types/src/util/mx.d.ts +21 -1
  37. package/dist/types/src/util/mx.d.ts.map +1 -1
  38. package/dist/types/src/util/size.d.ts.map +1 -1
  39. package/dist/types/src/util/valence.d.ts +2 -2
  40. package/dist/types/src/util/valence.d.ts.map +1 -1
  41. package/dist/types/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +9 -16
  43. package/src/css/components/panel.css +22 -22
  44. package/src/css/components/selected.css +8 -3
  45. package/src/css/components/selected.md +101 -0
  46. package/src/css/components/tag.css +3 -1
  47. package/src/css/layout/size.css +16 -3
  48. package/src/css/theme/animation.css +31 -0
  49. package/src/css/theme/spacing.css +6 -7
  50. package/src/css/utilities.css +48 -6
  51. package/src/fragments/AUDIT.md +0 -1
  52. package/src/fragments/density.ts +8 -5
  53. package/src/fragments/text.ts +1 -1
  54. package/src/main.css +36 -2
  55. package/src/theme/components/card.ts +4 -0
  56. package/src/theme/components/dialog.ts +5 -3
  57. package/src/theme/components/icon-button.ts +6 -3
  58. package/src/theme/components/input.ts +6 -6
  59. package/src/theme/components/message.ts +5 -5
  60. package/src/theme/components/popover.ts +1 -1
  61. package/src/theme/components/scroll-area.ts +10 -5
  62. package/src/theme/primitives/column.ts +44 -20
  63. package/src/util/mx.ts +3 -3
@@ -46,11 +46,12 @@ var cardMinBlockSize = 18;
46
46
  var cardMaxBlockSize = 30;
47
47
 
48
48
  // src/fragments/density.ts
49
- var coarseBlockSize = "min-h-[2.5rem]";
50
- var coarseDimensions = `${coarseBlockSize} px-3`;
51
49
  var fineBlockSize = "min-h-[2.5rem] pointer-fine:min-h-[2rem]";
50
+ var coarseBlockSize = "min-h-[2.5rem]";
52
51
  var fineDimensions = `${fineBlockSize} px-2`;
53
- var densityBlockSize = (density = "coarse") => density === "fine" ? fineBlockSize : coarseBlockSize;
52
+ var coarseDimensions = `${coarseBlockSize} px-3`;
53
+ var densityDimensions = (density = "fine") => density === "fine" ? fineDimensions : coarseDimensions;
54
+ var densityBlockSize = (density = "fine") => density === "fine" ? fineBlockSize : coarseBlockSize;
54
55
 
55
56
  // src/fragments/disabled.ts
56
57
  var staticDisabled = "opacity-40 cursor-not-allowed shadow-none";
@@ -68,7 +69,6 @@ var hoverableOpenControlItem = "hover-hover:aria-[expanded=true]:[--controls-opa
68
69
  var hoverableControlItem = "opacity-(--controls-opacity)";
69
70
 
70
71
  // src/fragments/text.ts
71
- var descriptionTextPrimary = "text-sm font-normal text-base-surface-text";
72
72
  var descriptionMessage = "text-description border border-dashed border-separator rounded-sm p-4";
73
73
 
74
74
  // src/util/elevation.ts
@@ -341,12 +341,7 @@ function slottable(render) {
341
341
  warn = true;
342
342
  log.warn("slot child is not composable; create it with composable() or slottable()", {
343
343
  child: child.type.displayName ?? child.type.name
344
- }, {
345
- F: __dxlog_file,
346
- L: 125,
347
- S: this,
348
- C: (f, a) => f(...a)
349
- });
344
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 100, S: this });
350
345
  }
351
346
  } catch {
352
347
  }
@@ -628,12 +623,14 @@ var cardAction = (_props, ...etc) => mx("dx-card__acztion col-span-3 !grid grid-
628
623
  var cardActionLabel = (_props, ...etc) => mx("dx-card__action-label min-w-0 flex-1 truncate", ...etc);
629
624
  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);
630
625
  var cardLinkLabel = (_props, ...etc) => mx("dx-card__link-label min-w-0 flex-1 truncate", ...etc);
626
+ var cardRow = (_, ...etc) => mx("dx-card__row col-span-3 grid grid-cols-subgrid", ...etc);
631
627
  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);
632
628
  var cardTheme = {
633
629
  root: cardRoot,
634
630
  toolbar: cardToolbar,
635
631
  title: cardTitle,
636
632
  content: cardContent,
633
+ row: cardRow,
637
634
  heading: cardHeading,
638
635
  text: cardText,
639
636
  "text-span": cardTextSpan,
@@ -662,6 +659,35 @@ var buttonTheme = {
662
659
  group: buttonGroup
663
660
  };
664
661
 
662
+ // src/theme/primitives/column.ts
663
+ var withColumn = {
664
+ /** Centers element in the Column grid via --dx-col. No-op outside Column or inside ScrollArea. */
665
+ center: () => "[grid-column:var(--dx-col,auto)]",
666
+ /** Propagates the Column grid to children via subgrid. No-op outside Column.
667
+ * Direct children default to center column unless they are a dx-container (ScrollArea). */
668
+ propagate: () => "[.dx-column-root_&]:col-span-full [.dx-column-root_&]:grid [.dx-column-root_&]:grid-cols-subgrid [.dx-column-root_&]:[&>*:not(.dx-container)]:[grid-column:var(--dx-col,auto)]",
669
+ /** Resets --dx-col after consuming --gutter. Applied by ScrollArea.Viewport. */
670
+ consumed: () => "[--dx-col:auto]"
671
+ };
672
+ var columnRoot = (_, ...etc) => {
673
+ return mx("dx-column-root grid", ...etc);
674
+ };
675
+ var columnRow = (_, ...etc) => {
676
+ return mx("col-span-3 grid grid-cols-subgrid", ...etc);
677
+ };
678
+ var columnBleed = (_, ...etc) => {
679
+ return mx("col-span-full grid grid-cols-subgrid min-h-0", ...etc);
680
+ };
681
+ var columnCenter = (_, ...etc) => {
682
+ return mx(withColumn.center(), "min-h-0", ...etc);
683
+ };
684
+ var columnTheme = {
685
+ root: columnRoot,
686
+ row: columnRow,
687
+ bleed: columnBleed,
688
+ center: columnCenter
689
+ };
690
+
665
691
  // src/theme/components/dialog.ts
666
692
  var sizeMap2 = {
667
693
  sm: "md:max-w-[24rem]",
@@ -673,9 +699,9 @@ var dialogOverlay = (_props, ...etc) => mx("dx-dialog__overlay", ...etc);
673
699
  var dialogContent = ({ inOverlayLayout, size = "md" }, ...etc) => {
674
700
  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);
675
701
  };
676
- var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", ...etc);
677
- var dialogBody = (_props, ...etc) => mx("dx-dialog__body", ...etc);
678
- var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", ...etc);
702
+ var dialogHeader = (_props, ...etc) => mx("dx-dialog__header flex pb-4 items-center justify-between", withColumn.center(), ...etc);
703
+ var dialogBody = (_props, ...etc) => mx("dx-dialog__body dx-expander", withColumn.propagate(), ...etc);
704
+ var dialogActionBar = (_props, ...etc) => mx("dx-dialog__actionbar flex items-center pt-4 gap-2 dx-density-coarse", withColumn.center(), ...etc);
679
705
  var dialogTitle = ({ srOnly }, ...etc) => mx("dx-dialog__title", srOnly && "sr-only", ...etc);
680
706
  var dialogDescription = ({ srOnly }, ...etc) => mx("dx-dialog__description", "text-description", srOnly && "sr-only", ...etc);
681
707
  var dialogTheme = {
@@ -704,8 +730,8 @@ var iconTheme = {
704
730
  };
705
731
 
706
732
  // src/theme/components/icon-button.ts
707
- var iconButtonRoot = ({ iconOnly }, ...etc) => {
708
- return mx("px-1.5", !iconOnly && "gap-2", ...etc);
733
+ var iconButtonRoot = ({ iconOnly, square }, ...etc) => {
734
+ return mx("px-1.5", !iconOnly && "gap-2", square && "aspect-square", ...etc);
709
735
  };
710
736
  var iconButtonTheme = {
711
737
  root: iconButtonRoot
@@ -730,22 +756,22 @@ var inputValence = (valence) => {
730
756
  }
731
757
  };
732
758
  var sharedSubduedInputStyles = (props) => [
733
- "py-0 w-full bg-transparent text-current placeholder-placeholder",
734
759
  '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
735
- props.density === "fine" ? fineBlockSize : coarseBlockSize,
760
+ "py-0 w-full bg-transparent text-current placeholder-placeholder",
736
761
  "dx-focus-subdued",
762
+ densityDimensions(props.density),
737
763
  props.disabled && staticDisabled
738
764
  ];
739
765
  var sharedDefaultInputStyles = (props) => [
740
- "py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
741
766
  '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
767
+ "py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
742
768
  textInputSurfaceFocus,
743
- props.density === "fine" ? fineDimensions : coarseDimensions,
769
+ densityDimensions(props.density),
744
770
  props.disabled ? staticDisabled : textInputSurfaceHover
745
771
  ];
746
772
  var sharedStaticInputStyles = (props) => [
747
- "py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
748
773
  '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
774
+ "py-0 w-full text-base-surface-text rounded-xs placeholder-placeholder",
749
775
  textInputSurfaceFocus,
750
776
  textInputSurfaceHover,
751
777
  props.focused && "bg-attention-surface",
@@ -855,19 +881,19 @@ var menuTheme = {
855
881
 
856
882
  // src/theme/components/message.ts
857
883
  var messageRoot = ({ valence }, etc) => {
858
- return mx("grid grid-cols-[min-content_1fr] gap-x-2 p-trim-sm rounded-sm", messageValence(valence), etc);
884
+ return mx("grid grid-cols-[2rem_1fr_2rem] p-1 rounded-sm", messageValence(valence), etc);
859
885
  };
860
886
  var messageHeader = (_, etc) => {
861
- return mx("col-span-2 grid grid-cols-subgrid items-center", etc);
887
+ return mx("col-span-full grid grid-cols-subgrid items-center", etc);
862
888
  };
863
889
  var messageTitle = (_, etc) => {
864
- return mx("col-start-2 gap-trim-sm [&>svg]:inline-block", etc);
890
+ return mx("col-start-2 truncate", etc);
865
891
  };
866
892
  var messageIcon = (_, etc) => {
867
- return mx("col-start-1", etc);
893
+ return mx("col-start-1 grid place-items-center", etc);
868
894
  };
869
895
  var messageContent = (_, etc) => {
870
- return mx("grid grid-cols-subgrid col-start-2 first:font-medium", etc);
896
+ return mx("col-start-2 grid grid-cols-subgrid first:font-medium", etc);
871
897
  };
872
898
  var messageTheme = {
873
899
  root: messageRoot,
@@ -884,7 +910,7 @@ var popoverContent = ({ elevation }, ...etc) => mx("dx-modal-surface border bord
884
910
  elevation,
885
911
  level: "menu"
886
912
  }), "dx-focus-ring", ...etc);
887
- 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);
913
+ var popoverViewport = ({ constrainBlock, constrainInline }, ...etc) => mx("grid grid-rows-[1fr] min-h-0 min-w-popover-min-width", (constrainBlock || constrainInline) && "overflow-hidden", constrainBlock && "max-h-(--radix-popover-content-available-height)", constrainBlock && "max-h-[min(var(--radix-popover-content-available-height),calc(100dvh-var(--spacing-screen-border)*2))]", constrainInline && "max-w-(--radix-popover-content-available-width)", ...etc);
888
914
  var popoverArrow = (_props, ...etc) => mx("fill-separator", ...etc);
889
915
  var popoverTheme = {
890
916
  content: popoverContent,
@@ -909,14 +935,17 @@ var scrollAreaRoot = ({ orientation }, ...etc) => mx(
909
935
  orientation === "vertical" && "group/scroll-v flex flex-col",
910
936
  orientation === "horizontal" && "group/scroll-h flex",
911
937
  orientation === "all" && "group/scroll-all",
912
- // Apply col-span-full only when inside a Column.Root grid (detected via dx-column marker).
913
- "[.dx-column_&]:col-span-full",
938
+ // Apply col-span-full only when inside a Column.Root grid (detected via dx-column-root marker).
939
+ "[.dx-column-root_&]:col-span-full",
914
940
  ...etc
915
941
  );
916
- var scrollAreaViewport = ({ orientation, centered, padding, snap, thin, autoHide }, ...etc) => {
942
+ var scrollAreaViewport = ({ orientation, centered, padding, snap, autoHide }, ...etc) => {
917
943
  return mx(
918
- "h-full w-full",
919
- orientation === "vertical" && "flex flex-col overflow-y-scroll",
944
+ "flex-1 min-h-0 w-full",
945
+ // Reset --dx-col so nested components don't try to grid-position themselves.
946
+ // ScrollArea has already consumed --gutter for padding.
947
+ withColumn.consumed(),
948
+ orientation === "vertical" && "overflow-y-scroll",
920
949
  orientation === "horizontal" && "flex overflow-x-scroll overscroll-x-contain",
921
950
  orientation === "all" && "overflow-scroll",
922
951
  "[&::-webkit-scrollbar-corner]:bg-transparent",
@@ -1107,26 +1136,6 @@ var treegridTheme = {
1107
1136
  cell: treegridCell
1108
1137
  };
1109
1138
 
1110
- // src/theme/primitives/column.ts
1111
- var columnRoot = (_, ...etc) => {
1112
- return mx("dx-column grid", ...etc);
1113
- };
1114
- var columnContent = (_, ...etc) => {
1115
- return mx("col-span-full grid grid-cols-subgrid min-h-0 [&>:not(.dx-container)]:col-start-2", ...etc);
1116
- };
1117
- var columnViewport = (_, ...etc) => {
1118
- return mx(...etc);
1119
- };
1120
- var columnRow = ({ fullWidth, center }, ...etc) => {
1121
- return mx("col-span-3 grid grid-cols-subgrid", fullWidth ? "col-span-3" : center && "col-start-2 col-span-1", ...etc);
1122
- };
1123
- var columnTheme = {
1124
- root: columnRoot,
1125
- content: columnContent,
1126
- viewport: columnViewport,
1127
- row: columnRow
1128
- };
1129
-
1130
1139
  // src/theme/primitives/panel.ts
1131
1140
  var sizes = {
1132
1141
  lg: "h-(--dx-topbar-size)",
@@ -1223,8 +1232,6 @@ export {
1223
1232
  cardMinBlockSize,
1224
1233
  cardMinInlineSize,
1225
1234
  cardTheme,
1226
- coarseBlockSize,
1227
- coarseDimensions,
1228
1235
  columnTheme,
1229
1236
  composable,
1230
1237
  composableProps,
@@ -1233,8 +1240,8 @@ export {
1233
1240
  defaultTheme,
1234
1241
  defaultTx,
1235
1242
  densityBlockSize,
1243
+ densityDimensions,
1236
1244
  descriptionMessage,
1237
- descriptionTextPrimary,
1238
1245
  dialogActionBar,
1239
1246
  dialogBody,
1240
1247
  dialogContent,
@@ -1243,8 +1250,6 @@ export {
1243
1250
  dialogOverlay,
1244
1251
  dialogTheme,
1245
1252
  dialogTitle,
1246
- fineBlockSize,
1247
- fineDimensions,
1248
1253
  focusTheme,
1249
1254
  getHashHue,
1250
1255
  getHashStyles,
@@ -1361,6 +1366,7 @@ export {
1361
1366
  treegridCell,
1362
1367
  treegridRoot,
1363
1368
  treegridRow,
1364
- treegridTheme
1369
+ treegridTheme,
1370
+ withColumn
1365
1371
  };
1366
1372
  //# sourceMappingURL=index.mjs.map