@uniformdev/design-system 20.37.1-alpha.1 → 20.37.1-alpha.11

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
@@ -1446,6 +1446,7 @@ __export(src_exports, {
1446
1446
  MenuItemIcon: () => MenuItemIcon,
1447
1447
  MenuItemInner: () => MenuItemInner,
1448
1448
  MenuItemSeparator: () => MenuItemSeparator,
1449
+ MenuSelect: () => MenuSelect,
1449
1450
  MenuThreeDots: () => MenuThreeDots,
1450
1451
  Modal: () => Modal,
1451
1452
  ModalDialog: () => ModalDialog,
@@ -1601,6 +1602,7 @@ __export(src_exports, {
1601
1602
  labelText: () => labelText,
1602
1603
  mq: () => mq,
1603
1604
  numberInput: () => numberInput,
1605
+ prefersReducedMotion: () => prefersReducedMotion,
1604
1606
  queryStringIcon: () => queryStringIcon,
1605
1607
  rectangleRoundedIcon: () => rectangleRoundedIcon,
1606
1608
  replaceUnderscoreInString: () => replaceUnderscoreInString,
@@ -1753,11 +1755,12 @@ var Theme = ({ disableReset = false, disableGlobalReset = false }) => {
1753
1755
  --typography-inverted: var(--white);
1754
1756
 
1755
1757
  /* chart colours */
1756
- --charting-chart-1: #ffa600;
1757
- --charting-chart-2: #c444b2;
1758
- --charting-chart-3: #ff5368;
1759
- --charting-chart-4: #f53d90;
1760
- --charting-chart-5: #ff7b3d;
1758
+ --charting-chart-1: #0072B2;
1759
+ --charting-chart-2: #D55E00;
1760
+ --charting-chart-3: #009E73;
1761
+ --charting-chart-4: #E41A1C;
1762
+ --charting-chart-5: #F0E442;
1763
+ --charting-chart-6: #56B4E9;
1761
1764
 
1762
1765
  /* utility colours */
1763
1766
  --utility-success: #4ade80;
@@ -2331,6 +2334,7 @@ var useBreakpoint = (0, import_react_use.createBreakpoint)(breakpoints);
2331
2334
  var mq = (size) => `@media (min-width: ${breakpoints[size]}px)`;
2332
2335
  var supports = (cssProp) => `@supports (${cssProp})`;
2333
2336
  var cq = (size) => `@container (min-width: ${size})`;
2337
+ var prefersReducedMotion = (cssProp) => `@media (prefers-reduced-motion: ${cssProp})`;
2334
2338
 
2335
2339
  // src/components/Layout/styles/AsideAndSectionLayout.styles.ts
2336
2340
  var AsideAdnSectionLayoutContainer = (withSidebar) => import_react6.css`
@@ -3925,6 +3929,9 @@ var IconColorAccentLight = import_react22.css`
3925
3929
  var IconColorAccentAltDark = import_react22.css`
3926
3930
  color: var(--accent-alt-dark);
3927
3931
  `;
3932
+ var IconColorUtilitySuccess = import_react22.css`
3933
+ color: var(--utility-success-icon);
3934
+ `;
3928
3935
 
3929
3936
  // src/components/Icons/IconsProvider.tsx
3930
3937
  init_emotion_jsx_shim();
@@ -3969,7 +3976,8 @@ var IconInner = ({ icon, iconColor = "default", size = "1.5rem", ...otherProps }
3969
3976
  currentColor: IconColorCurrent,
3970
3977
  "accent-dark": IconColorAccentDark,
3971
3978
  "accent-light": IconColorAccentLight,
3972
- "accent-alt-dark": IconColorAccentAltDark
3979
+ "accent-alt-dark": IconColorAccentAltDark,
3980
+ "utility-success": IconColorUtilitySuccess
3973
3981
  };
3974
3982
  if (isIconName && isLoading) {
3975
3983
  return null;
@@ -5492,11 +5500,13 @@ var UniformBadge = ({
5492
5500
  xmlns: "http://www.w3.org/2000/svg",
5493
5501
  "data-testid": "uniform-Badge",
5494
5502
  css: [SVG, theme === "dark" ? SVGDark : SVGLight],
5503
+ role: "img",
5495
5504
  ...props,
5496
5505
  children: [
5497
5506
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
5498
5507
  "path",
5499
5508
  {
5509
+ role: "presentation",
5500
5510
  d: "M19.3444 4.35168L7 11.484V25.7181L19.3444 18.5858L31.6583 11.484L19.3444 4.35168Z",
5501
5511
  fill: "#84ADFF"
5502
5512
  }
@@ -5504,6 +5514,7 @@ var UniformBadge = ({
5504
5514
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
5505
5515
  "path",
5506
5516
  {
5517
+ role: "presentation",
5507
5518
  d: "M19.3444 32.8505V18.5858L7 25.7182V39.9523L19.3444 47.0846L31.6583 39.9523V25.7182L19.3444 32.8505Z",
5508
5519
  fill: "#5786FF"
5509
5520
  }
@@ -5511,6 +5522,7 @@ var UniformBadge = ({
5511
5522
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
5512
5523
  "path",
5513
5524
  {
5525
+ role: "presentation",
5514
5526
  d: "M31.6583 11.484L19.3444 18.5858L31.6583 25.7182V39.9523L44.0027 32.8505V18.5858L31.6583 11.484Z",
5515
5527
  fill: "#EC2924"
5516
5528
  }
@@ -5536,20 +5548,37 @@ var UniformLogo = ({
5536
5548
  fill: "none",
5537
5549
  xmlns: "http://www.w3.org/2000/svg",
5538
5550
  css: [SVG, theme === "dark" ? SVGDark : SVGLight],
5551
+ role: "img",
5539
5552
  ...props,
5540
5553
  children: [
5541
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { d: "M11.249 0 0 6.495v12.99l11.249-6.495L22.5 6.495 11.25 0Z", fill: "#7BB3FF" }),
5542
5554
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5543
5555
  "path",
5544
5556
  {
5557
+ role: "presentation",
5558
+ d: "M11.249 0 0 6.495v12.99l11.249-6.495L22.5 6.495 11.25 0Z",
5559
+ fill: "#7BB3FF"
5560
+ }
5561
+ ),
5562
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5563
+ "path",
5564
+ {
5565
+ role: "presentation",
5545
5566
  d: "M11.249 25.98V12.99L0 19.486v12.99l11.249 6.495L22.5 32.476v-12.99L11.25 25.98Z",
5546
5567
  fill: "#498DFF"
5547
5568
  }
5548
5569
  ),
5549
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { d: "m22.5 6.495-11.25 6.496 11.25 6.495v12.99l11.25-6.495V12.99L22.5 6.495Z", fill: "#E61408" }),
5550
5570
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5551
5571
  "path",
5552
5572
  {
5573
+ role: "presentation",
5574
+ d: "m22.5 6.495-11.25 6.496 11.25 6.495v12.99l11.25-6.495V12.99L22.5 6.495Z",
5575
+ fill: "#E61408"
5576
+ }
5577
+ ),
5578
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5579
+ "path",
5580
+ {
5581
+ role: "presentation",
5553
5582
  d: "M86.45 12.98h-4.076v14.87h4.076V12.98Zm.146-6.843h-4.371v4.076h4.37V6.137Zm5.861 1.993v4.85h-2.736v3.477h2.736V27.85h4.076V16.457h3.27V12.98h-3.27V9.617h3.27v-3.48h-3.896l-3.45 1.992Zm13.503 4.7-3.45 1.993v11.183l3.45 1.992h6.335l3.45-1.992V14.823l-3.45-1.992h-6.335Zm5.71 11.688h-5.087v-8.21h5.087v8.21Zm12.607-10.315-2.119-1.224h-1.954v14.87h4.076V16.457h5.115V12.98h-2.999l-2.119 1.224ZM71.034 12.83l-2.375 1.373-2.379-1.372h-1.6v15.018h4.075V16.31h5.084v11.54h4.076V14.823l-3.45-1.992h-3.431ZM56.145 24.517h-5.087V12.98h-4.073v13.027l3.45 1.992h3.593l2.111-1.22.003.002.003-.003v.003l2.108 1.218h1.965v-15.02h-4.073v11.538Zm93.68-11.687h-2.855l-2.794 1.604-2.767-1.603h-2.854l-2.111 1.218-2.111-1.218h-1.965v15.018h4.076V16.31h4.343v11.54h4.073V16.31h4.343v11.54h4.073V14.823l-3.451-1.992Z",
5554
5583
  fill: "currentColor"
5555
5584
  }
@@ -5567,13 +5596,22 @@ var UniformLogoLarge = ({ ...props }) => {
5567
5596
  viewBox: "0 0 250 64",
5568
5597
  fill: "none",
5569
5598
  xmlns: "http://www.w3.org/2000/svg",
5599
+ role: "img",
5570
5600
  ...props,
5571
5601
  children: [
5572
5602
  /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("g", { clipPath: "url(#clip0)", children: [
5573
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { d: "M18.3804 0L0 10.6131V31.8393L18.3804 21.2262L36.7654 10.6131L18.3804 0Z", fill: "#7BB3FF" }),
5574
5603
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5575
5604
  "path",
5576
5605
  {
5606
+ role: "presentation",
5607
+ d: "M18.3804 0L0 10.6131V31.8393L18.3804 21.2262L36.7654 10.6131L18.3804 0Z",
5608
+ fill: "#7BB3FF"
5609
+ }
5610
+ ),
5611
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5612
+ "path",
5613
+ {
5614
+ role: "presentation",
5577
5615
  d: "M18.3804 42.4524V21.2262L0 31.8393V53.0655L18.3804 63.6786L36.7654 53.0655V31.8393L18.3804 42.4524Z",
5578
5616
  fill: "#498DFF"
5579
5617
  }
@@ -5581,15 +5619,17 @@ var UniformLogoLarge = ({ ...props }) => {
5581
5619
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5582
5620
  "path",
5583
5621
  {
5622
+ role: "presentation",
5584
5623
  d: "M36.7654 10.6132L18.3804 21.2263L36.7654 31.8394V53.0656L55.1458 42.4525V21.2263L36.7654 10.6132Z",
5585
5624
  fill: "#E61408"
5586
5625
  }
5587
5626
  ),
5588
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { d: "M141.257 21.2081H134.598V45.5052H141.257V21.2081Z", fill: "currentColor" }),
5589
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { d: "M141.496 10.0277H134.355V16.6874H141.496V10.0277Z", fill: "currentColor" }),
5627
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { role: "presentation", d: "M141.257 21.2081H134.598V45.5052H141.257V21.2081Z", fill: "currentColor" }),
5628
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { role: "presentation", d: "M141.496 10.0277H134.355V16.6874H141.496V10.0277Z", fill: "currentColor" }),
5590
5629
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5591
5630
  "path",
5592
5631
  {
5632
+ role: "presentation",
5593
5633
  d: "M151.073 13.2832V21.2082H146.602V26.8907H151.073V45.5053H157.733V26.8907H163.078V21.2082H157.733V15.7147H163.078V10.0277H156.711L151.073 13.2832Z",
5594
5634
  fill: "currentColor"
5595
5635
  }
@@ -5597,6 +5637,7 @@ var UniformLogoLarge = ({ ...props }) => {
5597
5637
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5598
5638
  "path",
5599
5639
  {
5640
+ role: "presentation",
5600
5641
  d: "M173.137 20.965L167.5 24.2205V42.4929L173.137 45.7484H183.489L189.127 42.4929V24.2205L183.489 20.965H173.137ZM182.467 40.0613H174.155V26.6475H182.467V40.0613Z",
5601
5642
  fill: "currentColor"
5602
5643
  }
@@ -5604,6 +5645,7 @@ var UniformLogoLarge = ({ ...props }) => {
5604
5645
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5605
5646
  "path",
5606
5647
  {
5648
+ role: "presentation",
5607
5649
  d: "M203.067 23.2074L199.605 21.2081H196.412V45.5052H203.072V26.8907H211.429V21.2081H206.53L203.067 23.2074Z",
5608
5650
  fill: "currentColor"
5609
5651
  }
@@ -5611,6 +5653,7 @@ var UniformLogoLarge = ({ ...props }) => {
5611
5653
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5612
5654
  "path",
5613
5655
  {
5656
+ role: "presentation",
5614
5657
  d: "M116.069 20.965L112.187 23.2074L108.301 20.965H105.685V45.5052H112.345V26.6475H120.653V45.5052H127.312V24.2205L121.675 20.965H116.069Z",
5615
5658
  fill: "currentColor"
5616
5659
  }
@@ -5618,6 +5661,7 @@ var UniformLogoLarge = ({ ...props }) => {
5618
5661
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5619
5662
  "path",
5620
5663
  {
5664
+ role: "presentation",
5621
5665
  d: "M91.7401 40.0614H83.4279V21.2081H76.7728V42.4929L82.4103 45.7484H88.2819L91.7311 43.7537L91.7356 43.7582L91.7401 43.7537V43.7582L95.1847 45.7484H98.3952V21.2081H91.7401V40.0614Z",
5622
5666
  fill: "currentColor"
5623
5667
  }
@@ -5625,12 +5669,13 @@ var UniformLogoLarge = ({ ...props }) => {
5625
5669
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5626
5670
  "path",
5627
5671
  {
5672
+ role: "presentation",
5628
5673
  d: "M244.813 20.965H240.148L235.582 23.5856L231.061 20.965H226.396L222.947 22.9552L219.498 20.965H216.288V45.5052H222.947V26.6475H230.044V45.5052H236.699V26.6475H243.795V45.5052H250.45V24.2205L244.813 20.965Z",
5629
5674
  fill: "currentColor"
5630
5675
  }
5631
5676
  )
5632
5677
  ] }),
5633
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("clipPath", { id: "clip0", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("rect", { width: "250", height: "63.6786", fill: "currentColor" }) }) })
5678
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("clipPath", { id: "clip0", "data-testid": "clipPath", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("rect", { width: "250", height: "63.6786", fill: "currentColor" }) }) })
5634
5679
  ]
5635
5680
  }
5636
5681
  );
@@ -5647,11 +5692,13 @@ var import_CgChevronDown2 = require("@react-icons/all-files/cg/CgChevronDown");
5647
5692
  var import_react31 = require("react");
5648
5693
  var import_jsx_runtime23 = require("@emotion/react/jsx-runtime");
5649
5694
  var buttonStyle = (bgColor) => import_react30.css`
5650
- border: 0;
5651
5695
  background-color: ${bgColor};
5652
5696
  display: block;
5653
5697
  font-size: var(--fs-sm);
5654
5698
  line-height: 1.5;
5699
+ `;
5700
+ var ghostButtonStyle = import_react30.css`
5701
+ border: 0;
5655
5702
  transition:
5656
5703
  background-color var(--duration-fast) var(--timing-ease-out),
5657
5704
  outline var(--duration-fast) var(--timing-ease-out);
@@ -5667,11 +5714,32 @@ var buttonStyle = (bgColor) => import_react30.css`
5667
5714
  color: var(--gray-400);
5668
5715
  }
5669
5716
  `;
5717
+ var outlineButtonStyle = import_react30.css`
5718
+ align-items: center;
5719
+ border: 1px solid var(--gray-200);
5720
+ border-radius: var(--rounded-sm);
5721
+ background-color: var(--white);
5722
+ color: var(--typography-light);
5723
+ display: flex;
5724
+ font-size: var(--fs-sm);
5725
+ line-height: 1.5;
5726
+ cursor: pointer;
5727
+ transition: border-color var(--duration-fast) var(--timing-ease-out);
5728
+ padding: var(--spacing-sm);
5729
+ gap: var(--spacing-sm);
5730
+ width: fit-content;
5731
+
5732
+ &:hover,
5733
+ &:focus {
5734
+ border-color: var(--gray-300);
5735
+ }
5736
+ `;
5670
5737
  var DropdownStyleMenuTrigger = (0, import_react31.forwardRef)(
5671
- ({ bgColor = "var(--white)", children, ...buttonProps }, ref) => {
5672
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("button", { ref, ...buttonProps, css: buttonStyle(bgColor), type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(HorizontalRhythm, { align: "center", gap: "xs", children: [
5738
+ ({ bgColor = "var(--white)", variant = "ghost", children, ...buttonProps }, ref) => {
5739
+ const buttonVariantStyle = variant === "ghost" ? ghostButtonStyle : outlineButtonStyle;
5740
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("button", { ref, ...buttonProps, css: [buttonStyle(bgColor), buttonVariantStyle], type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(HorizontalRhythm, { align: "center", gap: "xs", children: [
5673
5741
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { children }),
5674
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_CgChevronDown2.CgChevronDown, { size: "1rem" })
5742
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_CgChevronDown2.CgChevronDown, { iconColor: "currentColor", size: "1rem" })
5675
5743
  ] }) });
5676
5744
  }
5677
5745
  );
@@ -5916,6 +5984,41 @@ var menuTriggerStyles = import_react35.css`
5916
5984
  outline: 2px solid var(--accent-dark-active);
5917
5985
  }
5918
5986
  `;
5987
+ var menuSelectStyles = import_react35.css`
5988
+ align-items: center;
5989
+ color: var(--primary-action-default);
5990
+ display: flex;
5991
+ gap: var(--spacing-xs);
5992
+ transition: color var(--duration-fast) var(--timing-ease-out);
5993
+
5994
+ &:hover,
5995
+ &:focus {
5996
+ outline: none;
5997
+ color: var(--primary-action-hover);
5998
+ }
5999
+
6000
+ &:active {
6001
+ outline: none;
6002
+ color: var(--primary-action-active);
6003
+ }
6004
+ `;
6005
+ var menuSelectSizeStyles = {
6006
+ xs: import_react35.css`
6007
+ font-size: var(--fs-xs);
6008
+ `,
6009
+ sm: import_react35.css`
6010
+ font-size: var(--fs-sm);
6011
+ `,
6012
+ base: import_react35.css`
6013
+ font-size: var(--fs-base);
6014
+ `,
6015
+ md: import_react35.css`
6016
+ font-size: var(--fs-md);
6017
+ `,
6018
+ lg: import_react35.css`
6019
+ font-size: var(--fs-lg);
6020
+ `
6021
+ };
5919
6022
 
5920
6023
  // src/components/Menu/Menu.tsx
5921
6024
  var import_jsx_runtime26 = require("@emotion/react/jsx-runtime");
@@ -6069,6 +6172,21 @@ var MenuThreeDots = (0, import_react38.forwardRef)(
6069
6172
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(MenuButton2, { css: menuTriggerStyles, ref, "aria-label": buttonTitle, title: buttonTitle, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { icon: "more-alt", size: iconSize, iconColor: "currentColor" }) });
6070
6173
  }
6071
6174
  );
6175
+ var MenuSelect = (0, import_react38.forwardRef)(
6176
+ ({ children, size = "base", ...props }, ref) => {
6177
+ const iconSize = {
6178
+ xs: "0.85rem",
6179
+ sm: "0.95rem",
6180
+ base: "1rem",
6181
+ md: "1.1rem",
6182
+ lg: "1.25rem"
6183
+ };
6184
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(MenuButton2, { css: [menuSelectStyles, menuSelectSizeStyles[size]], ref, ...props, children: [
6185
+ children,
6186
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { icon: "chevron-down", size: iconSize[size], iconColor: "currentColor" })
6187
+ ] });
6188
+ }
6189
+ );
6072
6190
 
6073
6191
  // src/components/Menu/SearchableMenu.tsx
6074
6192
  init_emotion_jsx_shim();
@@ -6527,7 +6645,7 @@ function inputComboBoxStyles(baseStyles2) {
6527
6645
  var _a;
6528
6646
  return {
6529
6647
  ...base,
6530
- padding: "12px var(--spacing-base) 12px var(--spacing-sm)",
6648
+ padding: "10px var(--spacing-base) 10px var(--spacing-sm)",
6531
6649
  gap: "2px",
6532
6650
  ...(_a = baseStyles2 == null ? void 0 : baseStyles2.valueContainer) == null ? void 0 : _a.call(baseStyles2, base, sProps)
6533
6651
  };
@@ -6567,6 +6685,9 @@ function inputComboBoxStyles(baseStyles2) {
6567
6685
  minHeight: "48px",
6568
6686
  // matches the min-height of other input fields
6569
6687
  boxShadow: state.isFocused ? "var(--elevation-100)" : "none",
6688
+ ...state.isDisabled ? {
6689
+ background: "var(--gray-50)"
6690
+ } : {},
6570
6691
  "&:hover": {
6571
6692
  boxShadow: "none",
6572
6693
  borderColor: "var(--accent-dark-hover)"
@@ -6626,28 +6747,40 @@ function inputComboBoxStyles(baseStyles2) {
6626
6747
  multiValue: (styles) => {
6627
6748
  return {
6628
6749
  ...styles,
6629
- background: "var(--gray-100)",
6750
+ background: "transparent",
6630
6751
  borderRadius: "var(--rounded-sm)",
6631
6752
  margin: "0"
6632
6753
  };
6633
6754
  },
6634
- multiValueLabel: (styles) => {
6755
+ multiValueLabel: (styles, state) => {
6756
+ const isFixed = state.data.isFixed;
6635
6757
  return {
6636
6758
  ...styles,
6759
+ borderRadius: isFixed ? "var(--rounded-full)" : "var(--rounded-full) 0 0 var(--rounded-full)",
6637
6760
  background: "var(--gray-100)",
6638
- borderRight: "1px solid var(--gray-300)",
6761
+ ...isFixed ? {
6762
+ paddingLeft: "var(--spacing-sm)",
6763
+ paddingRight: "var(--spacing-sm)"
6764
+ } : {
6765
+ paddingLeft: "var(--spacing-sm)"
6766
+ },
6639
6767
  color: "var(--typography-base)"
6640
6768
  };
6641
6769
  },
6642
6770
  multiValueRemove: (styles, state) => {
6771
+ const isFixed = state.data.isFixed;
6643
6772
  return {
6644
6773
  ...styles,
6645
6774
  background: "var(--gray-100)",
6775
+ borderRadius: "0 var(--rounded-full) var(--rounded-full) 0",
6646
6776
  ":hover": {
6647
6777
  color: "var(--white)",
6648
6778
  background: "var(--action-destructive-default)",
6649
6779
  transition: "color var(--duration-fast) var(--timing-ease-out), background-color var(--duration-fast) var(--timing-ease-out)"
6650
6780
  },
6781
+ paddingRight: "var(--spacing-sm)",
6782
+ paddingLeft: "var(--spacing-xs)",
6783
+ ...isFixed && { display: "none" },
6651
6784
  ...state.isDisabled && { display: "none" }
6652
6785
  };
6653
6786
  }
@@ -8701,14 +8834,26 @@ var counterContainer = (bgColor, hasIcon) => import_react69.css`
8701
8834
  background: ${bgColor};
8702
8835
  color: ${bgColor === "var(--accent-dark)" ? "white" : "var(--typography-base)"};
8703
8836
  display: inline-flex;
8704
- gap: var(--spacing-xs);
8705
- font-size: var(--fs-xs);
8706
8837
  font-weight: var(--fw-regular);
8707
8838
  justify-content: center;
8708
- padding: 4px;
8839
+ padding: ${hasIcon ? "0 var(--spacing-sm)" : "var(--spacing-sm)"};
8709
8840
  width: ${hasIcon ? "auto" : "var(--spacing-base)"};
8710
- height: var(--spacing-base);
8841
+ height: ${hasIcon ? "auto" : "var(--spacing-base)"};
8711
8842
  `;
8843
+ var counterSize = {
8844
+ sm: import_react69.css`
8845
+ gap: var(--spacing-xs);
8846
+ font-size: var(--fs-xs);
8847
+ `,
8848
+ md: import_react69.css`
8849
+ gap: var(--spacing-xs);
8850
+ font-size: var(--fs-sm);
8851
+ `
8852
+ };
8853
+ var counterIconSize = {
8854
+ sm: "0.75rem",
8855
+ md: "0.85rem"
8856
+ };
8712
8857
  var counterZeroValue = import_react69.css`
8713
8858
  background: var(--gray-800);
8714
8859
  border-radius: var(--rounded-full);
@@ -8719,15 +8864,20 @@ var counterZeroValue = import_react69.css`
8719
8864
  var counterTripleValue = import_react69.css`
8720
8865
  position: relative;
8721
8866
  `;
8722
- var counterIcon = import_react69.css`
8723
- border-radius: var(--rounded-full);
8724
- background: var(--white);
8725
- color: var(--brand-secondary-3);
8726
- display: block;
8727
- position: absolute;
8728
- top: -0.25rem;
8729
- right: -0.25rem;
8730
- `;
8867
+ var counterIcon = {
8868
+ default: import_react69.css`
8869
+ display: block;
8870
+ `,
8871
+ tripleValue: import_react69.css`
8872
+ border-radius: var(--rounded-full);
8873
+ background: var(--white);
8874
+ color: var(--brand-secondary-3);
8875
+ display: block;
8876
+ position: absolute;
8877
+ top: -0.25rem;
8878
+ right: -0.25rem;
8879
+ `
8880
+ };
8731
8881
 
8732
8882
  // src/components/Counter/Counter.tsx
8733
8883
  var import_jsx_runtime60 = require("@emotion/react/jsx-runtime");
@@ -8736,25 +8886,36 @@ var Counter = ({
8736
8886
  bgColor = "transparent",
8737
8887
  icon,
8738
8888
  iconColor = "auto",
8889
+ size = "sm",
8739
8890
  ...props
8740
8891
  }) => {
8892
+ const sizeStyles = {
8893
+ sm: counterSize.sm,
8894
+ md: counterSize.md
8895
+ };
8896
+ const iconSizeStyles = {
8897
+ sm: counterIconSize.sm,
8898
+ md: counterIconSize.md
8899
+ };
8741
8900
  if (typeof count === "undefined") {
8742
8901
  return null;
8743
8902
  }
8744
8903
  const isTripleDigits = count > 99 ? /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("span", { css: counterTripleValue, title: `${count}`, children: [
8745
8904
  "99",
8746
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { icon: "math-plus", iconColor: "currentColor", size: "0.5rem", css: counterIcon })
8905
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { icon: "math-plus", iconColor: "currentColor", size: "0.5rem", css: counterIcon.tripleValue })
8747
8906
  ] }) : count;
8748
8907
  const formatCount = count === 0 ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { css: counterZeroValue, title: `${count}` }) : isTripleDigits;
8749
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { css: counterContainer(bgColor, Boolean(icon)), ...props, children: [
8908
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { css: [counterContainer(bgColor, Boolean(icon)), sizeStyles[size]], ...props, children: [
8750
8909
  icon ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8751
8910
  "span",
8752
8911
  {
8912
+ "data-testid": "icon-container",
8753
8913
  css: [
8914
+ counterIcon.default,
8754
8915
  iconColor ? functionalColors : void 0,
8755
8916
  { color: iconColor ? iconColor === "red" ? "var(--brand-secondary-5)" : iconColor : "inherit" }
8756
8917
  ],
8757
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { icon, iconColor: "currentColor", size: "0.6rem" })
8918
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { icon, iconColor: "currentColor", size: iconSizeStyles[size] })
8758
8919
  }
8759
8920
  ) : null,
8760
8921
  /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { children: formatCount })
@@ -12250,11 +12411,18 @@ var LoadingOverlay = ({
12250
12411
  "aria-busy": isActive && !isPaused,
12251
12412
  children: [
12252
12413
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { css: loadingOverlayBackground(overlayBackgroundColor) }),
12253
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { css: { position: "relative", maxWidth: "100%", margin: isTopAligned ? "0" : "auto" }, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { css: loadingOverlayBody, children: [
12254
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(LoadingAnimation, { label: "Loading...", isPaused, width: loaderSize }),
12255
- statusMessage ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { css: loadingOverlayMessage, children: statusMessage }) : null,
12256
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { css: { width: "100%", marginTop: "var(--spacing-md)" }, children })
12257
- ] }) })
12414
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
12415
+ "div",
12416
+ {
12417
+ "data-testid": "loading-overlay-content",
12418
+ css: { position: "relative", maxWidth: "100%", margin: isTopAligned ? "0" : "auto" },
12419
+ children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { css: loadingOverlayBody, children: [
12420
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(LoadingAnimation, { label: "Loading...", isPaused, width: loaderSize }),
12421
+ statusMessage ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { css: loadingOverlayMessage, children: statusMessage }) : null,
12422
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { css: { width: "100%", marginTop: "var(--spacing-md)" }, children })
12423
+ ] })
12424
+ }
12425
+ )
12258
12426
  ]
12259
12427
  }
12260
12428
  );
@@ -12326,18 +12494,27 @@ var LoadingIcon = ({ height, width, ...props }) => {
12326
12494
  ...props,
12327
12495
  "data-testid": "loading-icon",
12328
12496
  children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("g", { fill: "none", fillRule: "evenodd", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("g", { transform: "translate(1 1)", strokeWidth: "2", children: [
12329
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("circle", { strokeOpacity: ".25", cx: "18", cy: "18", r: "18" }),
12330
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("path", { d: "M36 18c0-9.94-8.06-18-18-18", transform: "rotate(166.645 18 18)", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
12331
- "animateTransform",
12497
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("circle", { "data-testid": "loading-icon-circle", strokeOpacity: ".25", cx: "18", cy: "18", r: "18" }),
12498
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
12499
+ "path",
12332
12500
  {
12333
- attributeName: "transform",
12334
- type: "rotate",
12335
- from: "0 18 18",
12336
- to: "360 18 18",
12337
- dur: "0.8s",
12338
- repeatCount: "indefinite"
12501
+ "data-testid": "loading-icon-path",
12502
+ d: "M36 18c0-9.94-8.06-18-18-18",
12503
+ transform: "rotate(166.645 18 18)",
12504
+ children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
12505
+ "animateTransform",
12506
+ {
12507
+ attributeName: "transform",
12508
+ type: "rotate",
12509
+ from: "0 18 18",
12510
+ to: "360 18 18",
12511
+ dur: "0.8s",
12512
+ repeatCount: "indefinite",
12513
+ "data-testid": "loading-icon-animateTransform"
12514
+ }
12515
+ )
12339
12516
  }
12340
- ) })
12517
+ )
12341
12518
  ] }) })
12342
12519
  }
12343
12520
  );
@@ -13064,6 +13241,10 @@ var ObjectListItem = import_react127.css`
13064
13241
  container-type: inline-size;
13065
13242
  grid-template-columns: minmax(0, auto) 1fr auto;
13066
13243
 
13244
+ &[aria-selected='true'] {
13245
+ background: var(--gray-50);
13246
+ }
13247
+
13067
13248
  &:hover,
13068
13249
  &:focus-within,
13069
13250
  &:focus-visible {
@@ -19204,7 +19385,7 @@ var SwitchInputLabel = (size) => import_react179.css`
19204
19385
  align-items: center;
19205
19386
  color: var(--typography-base);
19206
19387
  display: inline-flex;
19207
- line-height: 1.25;
19388
+ line-height: ${size === "sm" ? "1.25" : "1.5"};
19208
19389
 
19209
19390
  &:before {
19210
19391
  border-radius: var(--rounded-full);
@@ -19701,6 +19882,7 @@ var StatusBullet = ({
19701
19882
  MenuItemIcon,
19702
19883
  MenuItemInner,
19703
19884
  MenuItemSeparator,
19885
+ MenuSelect,
19704
19886
  MenuThreeDots,
19705
19887
  Modal,
19706
19888
  ModalDialog,
@@ -19856,6 +20038,7 @@ var StatusBullet = ({
19856
20038
  labelText,
19857
20039
  mq,
19858
20040
  numberInput,
20041
+ prefersReducedMotion,
19859
20042
  queryStringIcon,
19860
20043
  rectangleRoundedIcon,
19861
20044
  replaceUnderscoreInString,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/design-system",
3
- "version": "20.37.1-alpha.1+5ac67f77a7",
3
+ "version": "20.37.1-alpha.11+f4e46464b5",
4
4
  "description": "Uniform design system components",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "exports": {
@@ -38,8 +38,8 @@
38
38
  "@storybook/theming": "^8.3.3",
39
39
  "@types/react": "18.3.24",
40
40
  "@types/react-dom": "18.3.7",
41
- "@uniformdev/canvas": "^20.37.1-alpha.1+5ac67f77a7",
42
- "@uniformdev/richtext": "^20.37.1-alpha.1+5ac67f77a7",
41
+ "@uniformdev/canvas": "^20.37.1-alpha.11+f4e46464b5",
42
+ "@uniformdev/richtext": "^20.37.1-alpha.11+f4e46464b5",
43
43
  "@vitest/coverage-v8": "3.2.4",
44
44
  "autoprefixer": "10.4.21",
45
45
  "hygen": "6.2.11",
@@ -91,5 +91,5 @@
91
91
  "publishConfig": {
92
92
  "access": "public"
93
93
  },
94
- "gitHead": "5ac67f77a77da73d93c76b9ec23d86acbd0a2123"
94
+ "gitHead": "f4e46464b5578eadab4feec5dcb102446067e053"
95
95
  }