@uniformdev/design-system 20.7.1-alpha.23 → 20.7.1-alpha.28

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/index.js CHANGED
@@ -1495,6 +1495,7 @@ __export(src_exports, {
1495
1495
  ProgressList: () => ProgressList,
1496
1496
  ProgressListItem: () => ProgressListItem,
1497
1497
  ResolveIcon: () => ResolveIcon,
1498
+ ResponsiveTableContainer: () => ResponsiveTableContainer,
1498
1499
  RichTextToolbarIcon: () => RichTextToolbarIcon,
1499
1500
  ScrollableList: () => ScrollableList,
1500
1501
  ScrollableListInputItem: () => ScrollableListInputItem,
@@ -1620,6 +1621,7 @@ __export(src_exports, {
1620
1621
  uniformStatusDraftIcon: () => uniformStatusDraftIcon,
1621
1622
  uniformStatusModifiedIcon: () => uniformStatusModifiedIcon,
1622
1623
  uniformStatusPublishedIcon: () => uniformStatusPublishedIcon,
1624
+ uniformUsageStatusIcon: () => uniformUsageStatusIcon,
1623
1625
  useBreakpoint: () => useBreakpoint,
1624
1626
  useButtonStyles: () => useButtonStyles,
1625
1627
  useCloseCurrentDrawer: () => useCloseCurrentDrawer,
@@ -3253,6 +3255,9 @@ function useShortcut({
3253
3255
  const handle = (0, import_react14.useCallback)(
3254
3256
  (e) => {
3255
3257
  if (disabled2) {
3258
+ if (disabled2 === "silent") {
3259
+ return;
3260
+ }
3256
3261
  import_react_toastify.toast.info(`Shortcut ${getFormattedShortcut(shortcut).join("")} is currently disabled`);
3257
3262
  return;
3258
3263
  }
@@ -5094,6 +5099,24 @@ var uniformStatusPublishedIcon = (0, import_all_files2.GenIcon)({
5094
5099
  }
5095
5100
  ]
5096
5101
  });
5102
+ var uniformUsageStatusIcon = (0, import_all_files2.GenIcon)({
5103
+ tag: "svg",
5104
+ attr: {
5105
+ role: "img",
5106
+ viewBox: "0 0 12 12",
5107
+ fill: "none"
5108
+ },
5109
+ child: [
5110
+ {
5111
+ tag: "path",
5112
+ attr: {
5113
+ fill: "currentColor",
5114
+ d: "M9.37501 7.12499C9.04355 7.12482 8.72146 7.23498 8.45954 7.43812L7.37626 6.59437C7.45804 6.40689 7.50017 6.20453 7.50001 5.99999C7.50001 5.96531 7.50001 5.93062 7.49626 5.8964L8.11641 5.68968C8.31261 5.99228 8.61126 6.21406 8.95766 6.3144C9.30406 6.41474 9.67501 6.38692 10.0026 6.23604C10.3301 6.08516 10.5924 5.82131 10.7412 5.49284C10.8901 5.16436 10.9157 4.79324 10.8132 4.44747C10.7107 4.10169 10.4871 3.8044 10.1833 3.61006C9.87954 3.41572 9.5159 3.33733 9.15902 3.38926C8.80214 3.44119 8.47592 3.61996 8.2401 3.89281C8.00429 4.16567 7.87468 4.51436 7.87501 4.87499C7.87501 4.90968 7.87501 4.94437 7.87876 4.97859L7.2586 5.18531C7.12265 4.97514 6.93627 4.80233 6.71644 4.68263C6.49661 4.56293 6.25031 4.50014 6.00001 4.49999C5.91724 4.50017 5.83462 4.50706 5.75297 4.52062L5.43235 3.79687C5.7092 3.57566 5.8988 3.26358 5.96753 2.91594C6.03626 2.5683 5.9797 2.20755 5.80786 1.89763C5.63602 1.58771 5.36 1.34863 5.02873 1.22278C4.69746 1.09693 4.33233 1.09243 3.99805 1.21007C3.66378 1.32771 3.38195 1.5599 3.20251 1.86549C3.02308 2.17108 2.95763 2.53032 3.01777 2.87956C3.07791 3.22879 3.25975 3.54545 3.53106 3.77342C3.80237 4.00139 4.14563 4.12594 4.50001 4.12499C4.58277 4.12482 4.66539 4.11792 4.74704 4.10437L5.06766 4.82624C4.79577 5.04144 4.60706 5.34439 4.53378 5.68331C4.46051 6.02223 4.50722 6.37608 4.66594 6.68437L3.46079 7.75499C3.1575 7.55053 2.79005 7.4637 2.42732 7.51078C2.06459 7.55785 1.73148 7.7356 1.49043 8.01071C1.24938 8.28581 1.11693 8.63939 1.11793 9.00516C1.11892 9.37093 1.25327 9.72379 1.49581 9.99758C1.73835 10.2714 2.07242 10.4473 2.4354 10.4924C2.79838 10.5375 3.16535 10.4487 3.46753 10.2426C3.7697 10.0365 3.98634 9.72728 4.07683 9.37288C4.16732 9.01847 4.12545 8.64323 3.95907 8.31749L5.16422 7.24687C5.42516 7.42256 5.73485 7.51152 6.04925 7.50108C6.36365 7.49064 6.66676 7.38135 6.91547 7.18874L7.99876 8.03249C7.91723 8.21939 7.8751 8.42109 7.87501 8.62499C7.87501 8.92167 7.96298 9.21168 8.1278 9.45835C8.29262 9.70502 8.52689 9.89728 8.80098 10.0108C9.07507 10.1243 9.37667 10.154 9.66764 10.0962C9.95861 10.0383 10.2259 9.89543 10.4357 9.68565C10.6454 9.47588 10.7883 9.2086 10.8462 8.91763C10.9041 8.62666 10.8744 8.32506 10.7608 8.05097C10.6473 7.77688 10.455 7.54261 10.2084 7.37779C9.96169 7.21297 9.67168 7.12499 9.37501 7.12499ZM9.37501 4.12499C9.52334 4.12499 9.66835 4.16898 9.79168 4.25139C9.91502 4.3338 10.0112 4.45094 10.0679 4.58798C10.1247 4.72503 10.1395 4.87583 10.1106 5.02131C10.0817 5.1668 10.0102 5.30044 9.90534 5.40532C9.80045 5.51021 9.66681 5.58164 9.52132 5.61058C9.37584 5.63952 9.22504 5.62467 9.08799 5.5679C8.95095 5.51114 8.83382 5.41501 8.7514 5.29167C8.66899 5.16833 8.62501 5.02333 8.62501 4.87499C8.62501 4.67608 8.70402 4.48532 8.84468 4.34466C8.98533 4.20401 9.17609 4.12499 9.37501 4.12499ZM3.75001 2.62499C3.75001 2.47666 3.79399 2.33165 3.8764 2.20832C3.95881 2.08498 4.07595 1.98885 4.21299 1.93208C4.35004 1.87532 4.50084 1.86047 4.64632 1.88941C4.79181 1.91834 4.92545 1.98978 5.03034 2.09466C5.13522 2.19955 5.20666 2.33319 5.23559 2.47868C5.26453 2.62416 5.24968 2.77496 5.19292 2.91201C5.13615 3.04905 5.04002 3.16619 4.91668 3.2486C4.79335 3.33101 4.64834 3.37499 4.50001 3.37499C4.30109 3.37499 4.11033 3.29598 3.96968 3.15532C3.82902 3.01467 3.75001 2.82391 3.75001 2.62499ZM2.62501 9.74999C2.47667 9.74999 2.33167 9.70601 2.20833 9.6236C2.08499 9.54119 1.98886 9.42405 1.9321 9.28701C1.87533 9.14996 1.86048 8.99916 1.88942 8.85368C1.91836 8.70819 1.98979 8.57455 2.09468 8.46966C2.19957 8.36478 2.3332 8.29334 2.47869 8.26441C2.62417 8.23547 2.77497 8.25032 2.91202 8.30708C3.04906 8.36385 3.1662 8.45998 3.24861 8.58332C3.33102 8.70665 3.37501 8.85166 3.37501 8.99999C3.37501 9.19891 3.29599 9.38967 3.15534 9.53032C3.01468 9.67098 2.82392 9.74999 2.62501 9.74999ZM9.37501 9.37499C9.22667 9.37499 9.08167 9.33101 8.95833 9.2486C8.83499 9.16619 8.73886 9.04905 8.6821 8.91201C8.62533 8.77496 8.61048 8.62416 8.63942 8.47868C8.66836 8.33319 8.73979 8.19955 8.84468 8.09466C8.94957 7.98978 9.0832 7.91834 9.22869 7.88941C9.37417 7.86047 9.52497 7.87532 9.66202 7.93208C9.79906 7.98885 9.9162 8.08498 9.99861 8.20832C10.081 8.33165 10.125 8.47666 10.125 8.62499C10.125 8.82391 10.046 9.01467 9.90534 9.15532C9.76468 9.29598 9.57392 9.37499 9.37501 9.37499Z"
5115
+ },
5116
+ child: []
5117
+ }
5118
+ ]
5119
+ });
5097
5120
 
5098
5121
  // src/components/AddListButton/AddListButton.styles.ts
5099
5122
  init_emotion_jsx_shim();
@@ -8253,7 +8276,7 @@ var ChipContainer = import_react67.css`
8253
8276
  `;
8254
8277
  var ChipText = import_react67.css`
8255
8278
  align-self: center;
8256
- line-height: 1;
8279
+ line-height: 1.1;
8257
8280
  text-wrap: nowrap;
8258
8281
  `;
8259
8282
  var ChipIcon = import_react67.css`
@@ -9556,7 +9579,7 @@ function renderDrawerId(drawer) {
9556
9579
  }
9557
9580
  var DrawerProvider = ({ children }) => {
9558
9581
  const [drawersRegistry, setDrawersRegistry] = (0, import_react81.useState)([]);
9559
- const providerId = (0, import_react81.useRef)(crypto.randomUUID());
9582
+ const providerId = (0, import_react81.useId)();
9560
9583
  const [drawerTakeoverStackId, setDrawerTakeoverStackId] = (0, import_react81.useState)(void 0);
9561
9584
  useShortcut({
9562
9585
  handler: () => {
@@ -9638,7 +9661,7 @@ var DrawerProvider = ({ children }) => {
9638
9661
  drawersRegistry,
9639
9662
  registerDrawer,
9640
9663
  unregisterDrawer,
9641
- providerId: providerId.current,
9664
+ providerId,
9642
9665
  drawerTakeoverStackId,
9643
9666
  registerTakeoverStackId,
9644
9667
  unregisterTakeoverStackId
@@ -10689,21 +10712,28 @@ var import_react97 = require("react");
10689
10712
  init_emotion_jsx_shim();
10690
10713
  var import_react96 = require("@emotion/react");
10691
10714
  var tileBorderSize = "1px";
10715
+ var tileBorderRadius = "var(--rounded-2xl)";
10716
+ var tileBorderColor = "var(--gray-300)";
10692
10717
  var Tile = import_react96.css`
10693
10718
  background: var(--white);
10694
10719
  cursor: pointer;
10695
- border: ${tileBorderSize} solid var(--gray-300);
10696
- display: grid;
10720
+ border: ${tileBorderSize} solid var(--tile-border-color, ${tileBorderColor});
10721
+ display: flex;
10722
+ flex-direction: column;
10697
10723
  padding: var(--spacing-base);
10698
- place-items: center;
10699
- place-content: center;
10724
+ align-items: center;
10725
+ justify-content: center;
10700
10726
  gap: var(--spacing-sm);
10701
- transition: background-color var(--duration-fast) var(--timing-ease-out);
10702
- min-height: 128px;
10727
+ border-radius: var(--tile-border-radius, ${tileBorderRadius});
10728
+ transition:
10729
+ background-color var(--duration-fast) var(--timing-ease-out),
10730
+ border-color var(--duration-fast) var(--timing-ease-out);
10703
10731
 
10704
10732
  &:hover,
10705
10733
  &:focus {
10706
10734
  background: var(--gray-50);
10735
+ border-color: var(--tile-border-color-hover, var(--accent-dark));
10736
+ z-index: 1;
10707
10737
  }
10708
10738
 
10709
10739
  &[aria-disabled='true'],
@@ -10719,28 +10749,56 @@ var TileIsSelected = import_react96.css`
10719
10749
  border: calc(${tileBorderSize} + 1px) solid var(--primary-action-active);
10720
10750
  z-index: 1; // Used to elevate active state border over other Tile borders
10721
10751
  `;
10752
+ var TileHorizontal = import_react96.css`
10753
+ flex-direction: row;
10754
+ justify-content: flex-start;
10755
+ `;
10722
10756
 
10723
10757
  // src/components/Tiles/LinkTile.tsx
10724
10758
  var import_jsx_runtime83 = require("@emotion/react/jsx-runtime");
10725
10759
  var LinkTile2 = (0, import_react97.forwardRef)(
10726
- ({ children, ...props }, ref) => {
10760
+ ({ orientation = "vertical", children, ...props }, ref) => {
10727
10761
  if ("linkManagerComponent" in props) {
10728
10762
  const { linkManagerComponent: LinkManager, ...rest } = props;
10729
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(LinkManager, { css: [Tile, LinkTile], ref, ...rest, children });
10763
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
10764
+ LinkManager,
10765
+ {
10766
+ css: [
10767
+ Tile,
10768
+ LinkTile,
10769
+ orientation === "horizontal" ? TileHorizontal : void 0
10770
+ ],
10771
+ ref,
10772
+ ...rest,
10773
+ children
10774
+ }
10775
+ );
10730
10776
  }
10731
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("a", { ref, css: [Tile, LinkTile], ...props, children });
10777
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
10778
+ "a",
10779
+ {
10780
+ ref,
10781
+ css: [Tile, LinkTile, orientation === "horizontal" ? TileHorizontal : void 0],
10782
+ ...props,
10783
+ children
10784
+ }
10785
+ );
10732
10786
  }
10733
10787
  );
10734
10788
 
10735
10789
  // src/components/Tiles/Tile.tsx
10736
10790
  init_emotion_jsx_shim();
10737
10791
  var import_jsx_runtime84 = require("@emotion/react/jsx-runtime");
10738
- var Tile2 = ({ children, disabled: disabled2, isSelected, ...props }) => {
10792
+ var Tile2 = ({ children, disabled: disabled2, isSelected, orientation = "vertical", ...props }) => {
10739
10793
  return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
10740
10794
  "button",
10741
10795
  {
10742
10796
  type: "button",
10743
- css: [Tile, isSelected ? TileIsSelected : void 0],
10797
+ css: [
10798
+ Tile,
10799
+ orientation === "horizontal" ? TileHorizontal : void 0,
10800
+ isSelected ? TileIsSelected : void 0
10801
+ ],
10744
10802
  disabled: disabled2,
10745
10803
  ...props,
10746
10804
  children
@@ -10759,17 +10817,46 @@ var TileContainerWrapper = (theme, padding) => import_react98.css`
10759
10817
  padding: ${padding != "none" ? `var(--spacing-${padding})` : "0"};
10760
10818
  `;
10761
10819
  var TileContainerInner = (gap, templateColumns) => import_react98.css`
10820
+ /* We remove the border radius from the tiles when used inside TileContainer */
10821
+ --tile-border-radius: 0;
10822
+ --tile-border-color: ${tileBorderColor};
10823
+ /* We don't want the tiles to change border color on hover, because of the border radius we have on the container-level */
10824
+ --tile-border-color-hover: ${tileBorderColor};
10825
+
10826
+ position: relative;
10762
10827
  display: grid;
10763
10828
  grid-template-columns: ${templateColumns};
10829
+ grid-auto-rows: 1fr;
10764
10830
  gap: var(--spacing-${gap});
10831
+ background-color: var(--gray-5);
10765
10832
  margin-top: ${tileBorderSize};
10766
10833
  margin-left: ${tileBorderSize};
10834
+ border-radius: ${tileBorderRadius};
10835
+ overflow: hidden;
10836
+
10837
+ /* This is used to create a border around the tiles */
10838
+ &::after {
10839
+ content: '';
10840
+ position: absolute;
10841
+ inset: 0;
10842
+ border-radius: ${tileBorderRadius};
10843
+ border: ${tileBorderSize} solid var(--tile-border-color);
10844
+ pointer-events: none;
10845
+ z-index: 1;
10846
+ }
10767
10847
 
10768
10848
  > * {
10769
10849
  margin-top: -${tileBorderSize};
10770
10850
  margin-left: -${tileBorderSize};
10771
10851
  }
10772
10852
  `;
10853
+ var TileContainerInnerWithoutGrouping = import_react98.css`
10854
+ overflow: visible;
10855
+
10856
+ &::after {
10857
+ display: none;
10858
+ }
10859
+ `;
10773
10860
 
10774
10861
  // src/components/Tiles/TileContainer.tsx
10775
10862
  var import_jsx_runtime85 = require("@emotion/react/jsx-runtime");
@@ -10779,9 +10866,19 @@ var TileContainer = ({
10779
10866
  gap = "base",
10780
10867
  gridTemplateColumns = "repeat(auto-fill, minmax(13rem, 1fr))",
10781
10868
  children,
10869
+ withoutGrouping = false,
10782
10870
  ...props
10783
10871
  }) => {
10784
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { css: TileContainerWrapper(bgColor, containerPadding), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { css: TileContainerInner(gap, gridTemplateColumns), children }) });
10872
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { css: TileContainerWrapper(bgColor, containerPadding), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
10873
+ "div",
10874
+ {
10875
+ css: [
10876
+ TileContainerInner(gap, gridTemplateColumns),
10877
+ withoutGrouping ? TileContainerInnerWithoutGrouping : void 0
10878
+ ],
10879
+ children
10880
+ }
10881
+ ) });
10785
10882
  };
10786
10883
 
10787
10884
  // src/components/Tiles/TileText.tsx
@@ -12508,24 +12605,23 @@ var CoverSelectedChip = import_react119.css`
12508
12605
  var import_jsx_runtime101 = require("@emotion/react/jsx-runtime");
12509
12606
  var ObjectGridItemCardCover = (props) => {
12510
12607
  if ("imageUrl" in props && props.imageUrl) {
12511
- const { imageUrl, srcSet, ...otherProps } = props;
12608
+ const { imageUrl, srcSet, alt } = props;
12512
12609
  return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { css: CoverContainer, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
12513
12610
  "img",
12514
12611
  {
12515
12612
  src: imageUrl,
12516
12613
  srcSet,
12517
- alt: props.alt,
12518
12614
  css: CoverImage,
12519
12615
  loading: "lazy",
12520
12616
  role: "presentation",
12521
12617
  "data-testid": "object-grid-item-thumbnail",
12522
- ...otherProps
12618
+ alt
12523
12619
  }
12524
12620
  ) });
12525
12621
  }
12526
12622
  if ("icon" in props && props.icon) {
12527
- const { icon, iconColor, ...rest } = props;
12528
- return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { css: CoverContainer, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { css: CoverIconWrapper, "data-testid": "object-grid-item-thumbnail", ...rest, children: [
12623
+ const { icon, iconColor } = props;
12624
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { css: CoverContainer, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { css: CoverIconWrapper, "data-testid": "object-grid-item-thumbnail", children: [
12529
12625
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Icon, { icon, iconColor: iconColor != null ? iconColor : "currentColor", css: CoverIconGhost }),
12530
12626
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Icon, { icon, iconColor: iconColor != null ? iconColor : "currentColor", size: 48 })
12531
12627
  ] }) });
@@ -12752,7 +12848,7 @@ var ObjectListItemRightSlot = import_react123.css`
12752
12848
  gap: var(--spacing-sm);
12753
12849
  `;
12754
12850
  var ObjectListItemContainer = import_react123.css`
12755
- > [role='listitem'] {
12851
+ > [role='listitem']:not(:first-of-type) {
12756
12852
  border-top: 1px solid var(--gray-200);
12757
12853
  }
12758
12854
  `;
@@ -12860,13 +12956,21 @@ var ObjectListItem2 = ({ minContainerQueryWidth = "34rem", ...props }) => {
12860
12956
  css: [
12861
12957
  ObjectListItemContentWrapper,
12862
12958
  `${cq(minContainerQueryWidth)} {
12863
- grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
12959
+ grid-template-columns: ${cover ? "minmax(0, auto)" : ""} minmax(0, 1fr) minmax(0, auto);
12864
12960
  }`
12865
12961
  ],
12866
12962
  children: [
12867
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(HorizontalRhythm, { gap: "sm", align: "center", children: cover }),
12963
+ cover ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(HorizontalRhythm, { gap: "sm", align: "center", children: cover }) : null,
12868
12964
  /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(VerticalRhythm, { gap: "0", justify: renderAs === "multi" ? "flex-start" : "center", children: [
12869
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(HorizontalRhythm, { gap: "xs", align: renderAs === "multi" ? "flex-start" : "center", children: header2 }),
12965
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
12966
+ HorizontalRhythm,
12967
+ {
12968
+ gap: "xs",
12969
+ align: renderAs === "multi" ? "flex-start" : "center",
12970
+ "data-testid": "title",
12971
+ children: header2
12972
+ }
12973
+ ),
12870
12974
  renderAs === "multi" ? props.children : null
12871
12975
  ] }),
12872
12976
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(HorizontalRhythm, { gap: "xs", align: renderAs === "multi" ? "flex-start" : "center", children: rightSlot })
@@ -17379,6 +17483,7 @@ var SegmentedControl = ({
17379
17483
  }
17380
17484
  const text = option.label ? option.label : option.icon ? null : String(option.value);
17381
17485
  const isDisabled = disabled2 || option.disabled;
17486
+ const isChecked = option.value === value;
17382
17487
  return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Tooltip, { title: (_a = option.tooltip) != null ? _a : "", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
17383
17488
  "div",
17384
17489
  {
@@ -17388,7 +17493,7 @@ var SegmentedControl = ({
17388
17493
  "label",
17389
17494
  {
17390
17495
  css: [
17391
- segmentedControlLabelStyles(option.value === value, isDisabled),
17496
+ segmentedControlLabelStyles(isChecked, isDisabled),
17392
17497
  sizeStyles,
17393
17498
  isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
17394
17499
  ],
@@ -17400,7 +17505,7 @@ var SegmentedControl = ({
17400
17505
  type: "radio",
17401
17506
  name,
17402
17507
  value: index,
17403
- checked: option.value === value,
17508
+ checked: isChecked,
17404
17509
  onChange: onOptionChange,
17405
17510
  disabled: isDisabled
17406
17511
  }
@@ -18106,14 +18211,13 @@ var Switch = (0, import_react171.forwardRef)(
18106
18211
  }
18107
18212
  );
18108
18213
 
18109
- // src/components/Table/Table.tsx
18214
+ // src/components/Table/ResponsiveTableContainer.tsx
18110
18215
  init_emotion_jsx_shim();
18111
- var React21 = __toESM(require("react"));
18112
18216
 
18113
18217
  // src/components/Table/Table.styles.ts
18114
18218
  init_emotion_jsx_shim();
18115
18219
  var import_react172 = require("@emotion/react");
18116
- var table = ({ cellPadding = "var(--spacing-sm) var(--spacing-md)" }) => import_react172.css`
18220
+ var table = ({ cellPadding = "var(--spacing-sm)" }) => import_react172.css`
18117
18221
  border-bottom: 1px solid var(--gray-400);
18118
18222
  border-collapse: collapse;
18119
18223
  min-width: 100%;
@@ -18123,10 +18227,11 @@ var table = ({ cellPadding = "var(--spacing-sm) var(--spacing-md)" }) => import_
18123
18227
  th,
18124
18228
  td {
18125
18229
  padding: ${cellPadding};
18230
+ vertical-align: top;
18126
18231
  }
18127
18232
 
18128
18233
  thead tr {
18129
- border-color: var(--gray-300);
18234
+ border-color: var(--gray-200);
18130
18235
  }
18131
18236
 
18132
18237
  tbody tr:hover {
@@ -18138,49 +18243,77 @@ var tableHead = import_react172.css`
18138
18243
  text-align: left;
18139
18244
  `;
18140
18245
  var tableRow = import_react172.css`
18141
- border-bottom: 1px solid var(--gray-100);
18246
+ border-bottom: 1px solid var(--gray-200);
18247
+ vertical-align: top;
18248
+ font-size: var(--fs-sm);
18142
18249
  `;
18143
18250
  var tableCellHead = import_react172.css`
18144
18251
  font-size: var(--fs-sm);
18145
- text-transform: uppercase;
18146
- font-weight: var(--fw-bold);
18252
+ font-weight: var(--fw-regular);
18253
+ line-height: 1.2;
18254
+ }
18147
18255
  `;
18256
+ var responsiveTableContainer = import_react172.css`
18257
+ max-width: calc(100vw - var(--spacing-md) * 2);
18258
+ overflow-x: auto;
18259
+ ${scrollbarStyles}
18148
18260
 
18149
- // src/components/Table/Table.tsx
18261
+ > table {
18262
+ display: block;
18263
+ overflow-x: auto;
18264
+ white-space: nowrap;
18265
+ ${scrollbarStyles}
18266
+
18267
+ ${mq("lg")} {
18268
+ display: table;
18269
+ white-space: initial;
18270
+ }
18271
+ }
18272
+ `;
18273
+
18274
+ // src/components/Table/ResponsiveTableContainer.tsx
18150
18275
  var import_jsx_runtime138 = require("@emotion/react/jsx-runtime");
18276
+ var ResponsiveTableContainer = ({ children }) => {
18277
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("div", { css: responsiveTableContainer, children });
18278
+ };
18279
+
18280
+ // src/components/Table/Table.tsx
18281
+ init_emotion_jsx_shim();
18282
+ var React21 = __toESM(require("react"));
18283
+ var import_jsx_runtime139 = require("@emotion/react/jsx-runtime");
18151
18284
  var Table = React21.forwardRef(
18152
18285
  ({ children, cellPadding, ...otherProps }, ref) => {
18153
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("table", { ref, css: table({ cellPadding }), ...otherProps, children });
18286
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("table", { ref, css: table({ cellPadding }), ...otherProps, children });
18154
18287
  }
18155
18288
  );
18156
18289
  var TableHead = React21.forwardRef(
18157
18290
  ({ children, ...otherProps }, ref) => {
18158
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("thead", { ref, css: tableHead, ...otherProps, children });
18291
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("thead", { ref, css: tableHead, ...otherProps, children });
18159
18292
  }
18160
18293
  );
18161
18294
  var TableBody = React21.forwardRef(
18162
18295
  ({ children, ...otherProps }, ref) => {
18163
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("tbody", { ref, ...otherProps, children });
18296
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("tbody", { ref, ...otherProps, children });
18164
18297
  }
18165
18298
  );
18166
18299
  var TableFoot = React21.forwardRef(
18167
18300
  ({ children, ...otherProps }, ref) => {
18168
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("tfoot", { ref, ...otherProps, children });
18301
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("tfoot", { ref, ...otherProps, children });
18169
18302
  }
18170
18303
  );
18171
18304
  var TableRow = React21.forwardRef(
18172
18305
  ({ children, ...otherProps }, ref) => {
18173
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("tr", { ref, css: tableRow, ...otherProps, children });
18306
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("tr", { ref, css: tableRow, ...otherProps, children });
18174
18307
  }
18175
18308
  );
18176
18309
  var TableCellHead = React21.forwardRef(
18177
18310
  ({ children, ...otherProps }, ref) => {
18178
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("th", { ref, css: tableCellHead, ...otherProps, children });
18311
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("th", { ref, css: tableCellHead, ...otherProps, children });
18179
18312
  }
18180
18313
  );
18181
18314
  var TableCellData = React21.forwardRef(
18182
18315
  ({ children, ...otherProps }, ref) => {
18183
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("td", { ref, ...otherProps, children });
18316
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("td", { ref, ...otherProps, children });
18184
18317
  }
18185
18318
  );
18186
18319
 
@@ -18216,7 +18349,7 @@ var tabButtonGroupStyles = import_react173.css`
18216
18349
  `;
18217
18350
 
18218
18351
  // src/components/Tabs/Tabs.tsx
18219
- var import_jsx_runtime139 = require("@emotion/react/jsx-runtime");
18352
+ var import_jsx_runtime140 = require("@emotion/react/jsx-runtime");
18220
18353
  var useCurrentTab = () => {
18221
18354
  const context = (0, import_react174.useTabStore)();
18222
18355
  if (!context) {
@@ -18247,23 +18380,23 @@ var Tabs = ({
18247
18380
  },
18248
18381
  [onSelectedIdChange, useHashForState]
18249
18382
  );
18250
- return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_react174.TabProvider, { selectedId: selected, selectOnMove: !manual, setSelectedId: onTabSelect, ...props, children });
18383
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_react174.TabProvider, { selectedId: selected, selectOnMove: !manual, setSelectedId: onTabSelect, ...props, children });
18251
18384
  };
18252
18385
  var TabButtonGroup = ({ children, ...props }) => {
18253
- return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_react174.TabList, { ...props, css: tabButtonGroupStyles, children });
18386
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_react174.TabList, { ...props, css: tabButtonGroupStyles, children });
18254
18387
  };
18255
18388
  var TabButton = ({
18256
18389
  children,
18257
18390
  id,
18258
18391
  ...props
18259
18392
  }) => {
18260
- return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_react174.Tab, { type: "button", id, ...props, css: tabButtonStyles, children });
18393
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_react174.Tab, { type: "button", id, ...props, css: tabButtonStyles, children });
18261
18394
  };
18262
18395
  var TabContent = ({
18263
18396
  children,
18264
18397
  ...props
18265
18398
  }) => {
18266
- return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_react174.TabPanel, { ...props, children });
18399
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_react174.TabPanel, { ...props, children });
18267
18400
  };
18268
18401
 
18269
18402
  // src/components/Validation/StatusBullet.tsx
@@ -18349,7 +18482,7 @@ var StatusDeleted = import_react176.css`
18349
18482
  `;
18350
18483
 
18351
18484
  // src/components/Validation/StatusBullet.tsx
18352
- var import_jsx_runtime140 = require("@emotion/react/jsx-runtime");
18485
+ var import_jsx_runtime141 = require("@emotion/react/jsx-runtime");
18353
18486
  var StatusBullet = ({
18354
18487
  status,
18355
18488
  hideText = false,
@@ -18370,7 +18503,7 @@ var StatusBullet = ({
18370
18503
  Deleted: StatusDeleted
18371
18504
  };
18372
18505
  const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
18373
- const StatusComponent = () => /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
18506
+ const StatusComponent = () => /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
18374
18507
  "span",
18375
18508
  {
18376
18509
  role: "status",
@@ -18380,9 +18513,9 @@ var StatusBullet = ({
18380
18513
  }
18381
18514
  );
18382
18515
  if (compact) {
18383
- return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(StatusComponent, {});
18516
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(StatusComponent, {});
18384
18517
  }
18385
- return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(Tooltip, { title: message != null ? message : status, children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(StatusComponent, {}) }) });
18518
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(Tooltip, { title: message != null ? message : status, children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(StatusComponent, {}) }) });
18386
18519
  };
18387
18520
  // Annotate the CommonJS export names for ESM import in node:
18388
18521
  0 && (module.exports = {
@@ -18521,6 +18654,7 @@ var StatusBullet = ({
18521
18654
  ProgressList,
18522
18655
  ProgressListItem,
18523
18656
  ResolveIcon,
18657
+ ResponsiveTableContainer,
18524
18658
  RichTextToolbarIcon,
18525
18659
  ScrollableList,
18526
18660
  ScrollableListInputItem,
@@ -18646,6 +18780,7 @@ var StatusBullet = ({
18646
18780
  uniformStatusDraftIcon,
18647
18781
  uniformStatusModifiedIcon,
18648
18782
  uniformStatusPublishedIcon,
18783
+ uniformUsageStatusIcon,
18649
18784
  useBreakpoint,
18650
18785
  useButtonStyles,
18651
18786
  useCloseCurrentDrawer,
package/package.json CHANGED
@@ -1,8 +1,20 @@
1
1
  {
2
2
  "name": "@uniformdev/design-system",
3
- "version": "20.7.1-alpha.23+37257141fc",
3
+ "version": "20.7.1-alpha.28+5b9868df5c",
4
4
  "description": "Uniform design system components",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
+ "exports": {
7
+ ".": {
8
+ "import": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/esm/index.js"
11
+ },
12
+ "require": {
13
+ "types": "./dist/index.d.cts",
14
+ "default": "./dist/index.js"
15
+ }
16
+ }
17
+ },
6
18
  "main": "./dist/index.js",
7
19
  "module": "./dist/esm/index.js",
8
20
  "types": "./dist/index.d.ts",
@@ -16,7 +28,7 @@
16
28
  "lint": "eslint \"src/**/*.{js,ts,tsx}\"",
17
29
  "format": "prettier --write \"src/**/*.{js,ts,tsx}\"",
18
30
  "create:component": "hygen component with-prompt",
19
- "document": "api-extractor run --local"
31
+ "document:prebuild": "api-extractor run --local"
20
32
  },
21
33
  "devDependencies": {
22
34
  "@emotion/jest": "11.13.0",
@@ -26,11 +38,11 @@
26
38
  "@storybook/theming": "^8.3.3",
27
39
  "@types/react": "18.3.11",
28
40
  "@types/react-dom": "18.3.1",
29
- "@uniformdev/canvas": "^20.7.1-alpha.23+37257141fc",
30
- "@uniformdev/richtext": "^20.7.1-alpha.23+37257141fc",
31
- "autoprefixer": "10.4.16",
41
+ "@uniformdev/canvas": "^20.7.1-alpha.28+5b9868df5c",
42
+ "@uniformdev/richtext": "^20.7.1-alpha.28+5b9868df5c",
43
+ "autoprefixer": "10.4.21",
32
44
  "hygen": "6.2.11",
33
- "postcss": "8.4.47",
45
+ "postcss": "8.5.3",
34
46
  "react": "18.3.1",
35
47
  "react-dom": "18.3.1",
36
48
  "react-select-event": "^5.5.1",
@@ -44,7 +56,7 @@
44
56
  "@dnd-kit/utilities": "^3.2.2",
45
57
  "@emotion/css": "11.13.5",
46
58
  "@emotion/react": "11.13.5",
47
- "@internationalized/date": "^3.5.2",
59
+ "@internationalized/date": "^3.7.0",
48
60
  "@lexical/code": "0.25.0",
49
61
  "@lexical/link": "0.25.0",
50
62
  "@lexical/list": "0.25.0",
@@ -55,7 +67,7 @@
55
67
  "@lexical/table": "0.25.0",
56
68
  "@lexical/utils": "0.25.0",
57
69
  "@monaco-editor/react": "4.6.0",
58
- "@react-icons/all-files": "https://github.com/react-icons/react-icons/releases/download/v5.2.1/react-icons-all-files-5.2.1.tgz",
70
+ "@react-icons/all-files": "https://github.com/react-icons/react-icons/releases/download/v5.5.0/react-icons-all-files-5.5.0.tgz",
59
71
  "fast-equals": "^5.0.1",
60
72
  "lexical": "0.25.0",
61
73
  "monaco-editor": "0.50.0",
@@ -68,8 +80,8 @@
68
80
  "zod-to-json-schema": "3.21.4"
69
81
  },
70
82
  "peerDependencies": {
71
- "react": ">=17 || 17 || 18",
72
- "react-dom": ">=17"
83
+ "react": ">=18",
84
+ "react-dom": ">=18"
73
85
  },
74
86
  "files": [
75
87
  "/dist"
@@ -77,5 +89,5 @@
77
89
  "publishConfig": {
78
90
  "access": "public"
79
91
  },
80
- "gitHead": "37257141fcca7a9e77b96fad775141380e9dffb0"
92
+ "gitHead": "5b9868df5c62413be37a4f1e59c11f05d52ac169"
81
93
  }