cetec-design-system 4.5.0-0 → 4.7.0-0

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
@@ -974,7 +974,7 @@ const spinnerVariantKeys = [
974
974
  "inverse",
975
975
  "centered"
976
976
  ];
977
- const getVariantProps$y = (variants) => ({ ...spinnerDefaultVariants, ...compact(variants) });
977
+ const getVariantProps$z = (variants) => ({ ...spinnerDefaultVariants, ...compact(variants) });
978
978
  const spinner = /* @__PURE__ */ Object.assign(spinnerFn, {
979
979
  __recipe__: false,
980
980
  __name__: "spinner",
@@ -999,7 +999,7 @@ const spinner = /* @__PURE__ */ Object.assign(spinnerFn, {
999
999
  splitVariantProps(props) {
1000
1000
  return splitProps$1(props, spinnerVariantKeys);
1001
1001
  },
1002
- getVariantProps: getVariantProps$y
1002
+ getVariantProps: getVariantProps$z
1003
1003
  });
1004
1004
  const tagFn = /* @__PURE__ */ createRecipe("tag", {
1005
1005
  "variant": "default",
@@ -1667,7 +1667,7 @@ const toggleFn = memo((props = {}) => {
1667
1667
  return Object.fromEntries(toggleSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]));
1668
1668
  });
1669
1669
  const toggleVariantKeys = [];
1670
- const getVariantProps$x = (variants) => ({ ...toggleDefaultVariants, ...compact(variants) });
1670
+ const getVariantProps$y = (variants) => ({ ...toggleDefaultVariants, ...compact(variants) });
1671
1671
  const toggle = /* @__PURE__ */ Object.assign(toggleFn, {
1672
1672
  __recipe__: false,
1673
1673
  __name__: "toggle",
@@ -1678,7 +1678,7 @@ const toggle = /* @__PURE__ */ Object.assign(toggleFn, {
1678
1678
  splitVariantProps(props) {
1679
1679
  return splitProps$1(props, toggleVariantKeys);
1680
1680
  },
1681
- getVariantProps: getVariantProps$x
1681
+ getVariantProps: getVariantProps$y
1682
1682
  });
1683
1683
  const alertDefaultVariants = {
1684
1684
  "tone": "info"
@@ -1721,7 +1721,7 @@ const alertFn = memo((props = {}) => {
1721
1721
  const alertVariantKeys = [
1722
1722
  "tone"
1723
1723
  ];
1724
- const getVariantProps$w = (variants) => ({ ...alertDefaultVariants, ...compact(variants) });
1724
+ const getVariantProps$x = (variants) => ({ ...alertDefaultVariants, ...compact(variants) });
1725
1725
  const alert = /* @__PURE__ */ Object.assign(alertFn, {
1726
1726
  __recipe__: false,
1727
1727
  __name__: "alert",
@@ -1740,7 +1740,7 @@ const alert = /* @__PURE__ */ Object.assign(alertFn, {
1740
1740
  splitVariantProps(props) {
1741
1741
  return splitProps$1(props, alertVariantKeys);
1742
1742
  },
1743
- getVariantProps: getVariantProps$w
1743
+ getVariantProps: getVariantProps$x
1744
1744
  });
1745
1745
  const autocompleteDefaultVariants = {
1746
1746
  "size": "md",
@@ -1797,7 +1797,7 @@ const autocompleteVariantKeys = [
1797
1797
  "layer",
1798
1798
  "size"
1799
1799
  ];
1800
- const getVariantProps$v = (variants) => ({ ...autocompleteDefaultVariants, ...compact(variants) });
1800
+ const getVariantProps$w = (variants) => ({ ...autocompleteDefaultVariants, ...compact(variants) });
1801
1801
  const autocomplete = /* @__PURE__ */ Object.assign(autocompleteFn, {
1802
1802
  __recipe__: false,
1803
1803
  __name__: "autocomplete",
@@ -1819,7 +1819,7 @@ const autocomplete = /* @__PURE__ */ Object.assign(autocompleteFn, {
1819
1819
  splitVariantProps(props) {
1820
1820
  return splitProps$1(props, autocompleteVariantKeys);
1821
1821
  },
1822
- getVariantProps: getVariantProps$v
1822
+ getVariantProps: getVariantProps$w
1823
1823
  });
1824
1824
  const avatarDefaultVariants = {
1825
1825
  "size": "md",
@@ -1856,7 +1856,7 @@ const avatarVariantKeys = [
1856
1856
  "size",
1857
1857
  "shape"
1858
1858
  ];
1859
- const getVariantProps$u = (variants) => ({ ...avatarDefaultVariants, ...compact(variants) });
1859
+ const getVariantProps$v = (variants) => ({ ...avatarDefaultVariants, ...compact(variants) });
1860
1860
  const avatar = /* @__PURE__ */ Object.assign(avatarFn, {
1861
1861
  __recipe__: false,
1862
1862
  __name__: "avatar",
@@ -1881,7 +1881,7 @@ const avatar = /* @__PURE__ */ Object.assign(avatarFn, {
1881
1881
  splitVariantProps(props) {
1882
1882
  return splitProps$1(props, avatarVariantKeys);
1883
1883
  },
1884
- getVariantProps: getVariantProps$u
1884
+ getVariantProps: getVariantProps$v
1885
1885
  });
1886
1886
  const badgeDefaultVariants = {
1887
1887
  "size": "md",
@@ -1908,7 +1908,7 @@ const badgeVariantKeys = [
1908
1908
  "dot",
1909
1909
  "variant"
1910
1910
  ];
1911
- const getVariantProps$t = (variants) => ({ ...badgeDefaultVariants, ...compact(variants) });
1911
+ const getVariantProps$u = (variants) => ({ ...badgeDefaultVariants, ...compact(variants) });
1912
1912
  const badge = /* @__PURE__ */ Object.assign(badgeFn, {
1913
1913
  __recipe__: false,
1914
1914
  __name__: "badge",
@@ -1944,7 +1944,7 @@ const badge = /* @__PURE__ */ Object.assign(badgeFn, {
1944
1944
  splitVariantProps(props) {
1945
1945
  return splitProps$1(props, badgeVariantKeys);
1946
1946
  },
1947
- getVariantProps: getVariantProps$t
1947
+ getVariantProps: getVariantProps$u
1948
1948
  });
1949
1949
  const breadcrumbsDefaultVariants = {};
1950
1950
  const breadcrumbsCompoundVariants = [];
@@ -1971,7 +1971,7 @@ const breadcrumbsFn = memo((props = {}) => {
1971
1971
  return Object.fromEntries(breadcrumbsSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]));
1972
1972
  });
1973
1973
  const breadcrumbsVariantKeys = [];
1974
- const getVariantProps$s = (variants) => ({ ...breadcrumbsDefaultVariants, ...compact(variants) });
1974
+ const getVariantProps$t = (variants) => ({ ...breadcrumbsDefaultVariants, ...compact(variants) });
1975
1975
  const breadcrumbs = /* @__PURE__ */ Object.assign(breadcrumbsFn, {
1976
1976
  __recipe__: false,
1977
1977
  __name__: "breadcrumbs",
@@ -1982,7 +1982,7 @@ const breadcrumbs = /* @__PURE__ */ Object.assign(breadcrumbsFn, {
1982
1982
  splitVariantProps(props) {
1983
1983
  return splitProps$1(props, breadcrumbsVariantKeys);
1984
1984
  },
1985
- getVariantProps: getVariantProps$s
1985
+ getVariantProps: getVariantProps$t
1986
1986
  });
1987
1987
  const buttonDefaultVariants = {
1988
1988
  "variant": "standard",
@@ -2013,7 +2013,7 @@ const buttonVariantKeys = [
2013
2013
  "before",
2014
2014
  "after"
2015
2015
  ];
2016
- const getVariantProps$r = (variants) => ({ ...buttonDefaultVariants, ...compact(variants) });
2016
+ const getVariantProps$s = (variants) => ({ ...buttonDefaultVariants, ...compact(variants) });
2017
2017
  const button = /* @__PURE__ */ Object.assign(buttonFn, {
2018
2018
  __recipe__: false,
2019
2019
  __name__: "button",
@@ -2047,7 +2047,7 @@ const button = /* @__PURE__ */ Object.assign(buttonFn, {
2047
2047
  splitVariantProps(props) {
2048
2048
  return splitProps$1(props, buttonVariantKeys);
2049
2049
  },
2050
- getVariantProps: getVariantProps$r
2050
+ getVariantProps: getVariantProps$s
2051
2051
  });
2052
2052
  const calendarDefaultVariants = {
2053
2053
  "type": "days"
@@ -2086,7 +2086,7 @@ const calendarFn = memo((props = {}) => {
2086
2086
  const calendarVariantKeys = [
2087
2087
  "type"
2088
2088
  ];
2089
- const getVariantProps$q = (variants) => ({ ...calendarDefaultVariants, ...compact(variants) });
2089
+ const getVariantProps$r = (variants) => ({ ...calendarDefaultVariants, ...compact(variants) });
2090
2090
  const calendar = /* @__PURE__ */ Object.assign(calendarFn, {
2091
2091
  __recipe__: false,
2092
2092
  __name__: "calendar",
@@ -2103,7 +2103,7 @@ const calendar = /* @__PURE__ */ Object.assign(calendarFn, {
2103
2103
  splitVariantProps(props) {
2104
2104
  return splitProps$1(props, calendarVariantKeys);
2105
2105
  },
2106
- getVariantProps: getVariantProps$q
2106
+ getVariantProps: getVariantProps$r
2107
2107
  });
2108
2108
  const checkboxDefaultVariants = {};
2109
2109
  const checkboxCompoundVariants = [];
@@ -2130,7 +2130,7 @@ const checkboxFn = memo((props = {}) => {
2130
2130
  return Object.fromEntries(checkboxSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]));
2131
2131
  });
2132
2132
  const checkboxVariantKeys = [];
2133
- const getVariantProps$p = (variants) => ({ ...checkboxDefaultVariants, ...compact(variants) });
2133
+ const getVariantProps$q = (variants) => ({ ...checkboxDefaultVariants, ...compact(variants) });
2134
2134
  const checkbox = /* @__PURE__ */ Object.assign(checkboxFn, {
2135
2135
  __recipe__: false,
2136
2136
  __name__: "checkbox",
@@ -2141,7 +2141,7 @@ const checkbox = /* @__PURE__ */ Object.assign(checkboxFn, {
2141
2141
  splitVariantProps(props) {
2142
2142
  return splitProps$1(props, checkboxVariantKeys);
2143
2143
  },
2144
- getVariantProps: getVariantProps$p
2144
+ getVariantProps: getVariantProps$q
2145
2145
  });
2146
2146
  const chipDefaultVariants = {
2147
2147
  "size": "md"
@@ -2179,7 +2179,7 @@ const chipVariantKeys = [
2179
2179
  "after",
2180
2180
  "dismissable"
2181
2181
  ];
2182
- const getVariantProps$o = (variants) => ({ ...chipDefaultVariants, ...compact(variants) });
2182
+ const getVariantProps$p = (variants) => ({ ...chipDefaultVariants, ...compact(variants) });
2183
2183
  const chip = /* @__PURE__ */ Object.assign(chipFn, {
2184
2184
  __recipe__: false,
2185
2185
  __name__: "chip",
@@ -2206,7 +2206,7 @@ const chip = /* @__PURE__ */ Object.assign(chipFn, {
2206
2206
  splitVariantProps(props) {
2207
2207
  return splitProps$1(props, chipVariantKeys);
2208
2208
  },
2209
- getVariantProps: getVariantProps$o
2209
+ getVariantProps: getVariantProps$p
2210
2210
  });
2211
2211
  const codeBlockDefaultVariants = {
2212
2212
  "tone": "default",
@@ -2275,7 +2275,7 @@ const codeBlockVariantKeys = [
2275
2275
  "collapsed",
2276
2276
  "actionGutter"
2277
2277
  ];
2278
- const getVariantProps$n = (variants) => ({ ...codeBlockDefaultVariants, ...compact(variants) });
2278
+ const getVariantProps$o = (variants) => ({ ...codeBlockDefaultVariants, ...compact(variants) });
2279
2279
  const codeBlock = /* @__PURE__ */ Object.assign(codeBlockFn, {
2280
2280
  __recipe__: false,
2281
2281
  __name__: "codeBlock",
@@ -2311,7 +2311,7 @@ const codeBlock = /* @__PURE__ */ Object.assign(codeBlockFn, {
2311
2311
  splitVariantProps(props) {
2312
2312
  return splitProps$1(props, codeBlockVariantKeys);
2313
2313
  },
2314
- getVariantProps: getVariantProps$n
2314
+ getVariantProps: getVariantProps$o
2315
2315
  });
2316
2316
  const dateMenusDefaultVariants = {};
2317
2317
  const dateMenusCompoundVariants = [];
@@ -2334,7 +2334,7 @@ const dateMenusFn = memo((props = {}) => {
2334
2334
  return Object.fromEntries(dateMenusSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]));
2335
2335
  });
2336
2336
  const dateMenusVariantKeys = [];
2337
- const getVariantProps$m = (variants) => ({ ...dateMenusDefaultVariants, ...compact(variants) });
2337
+ const getVariantProps$n = (variants) => ({ ...dateMenusDefaultVariants, ...compact(variants) });
2338
2338
  const dateMenus = /* @__PURE__ */ Object.assign(dateMenusFn, {
2339
2339
  __recipe__: false,
2340
2340
  __name__: "dateMenus",
@@ -2345,7 +2345,7 @@ const dateMenus = /* @__PURE__ */ Object.assign(dateMenusFn, {
2345
2345
  splitVariantProps(props) {
2346
2346
  return splitProps$1(props, dateMenusVariantKeys);
2347
2347
  },
2348
- getVariantProps: getVariantProps$m
2348
+ getVariantProps: getVariantProps$n
2349
2349
  });
2350
2350
  const dateTimeMenusDefaultVariants = {};
2351
2351
  const dateTimeMenusCompoundVariants = [];
@@ -2368,7 +2368,7 @@ const dateTimeMenusFn = memo((props = {}) => {
2368
2368
  return Object.fromEntries(dateTimeMenusSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]));
2369
2369
  });
2370
2370
  const dateTimeMenusVariantKeys = [];
2371
- const getVariantProps$l = (variants) => ({ ...dateTimeMenusDefaultVariants, ...compact(variants) });
2371
+ const getVariantProps$m = (variants) => ({ ...dateTimeMenusDefaultVariants, ...compact(variants) });
2372
2372
  const dateTimeMenus = /* @__PURE__ */ Object.assign(dateTimeMenusFn, {
2373
2373
  __recipe__: false,
2374
2374
  __name__: "dateTimeMenus",
@@ -2379,7 +2379,7 @@ const dateTimeMenus = /* @__PURE__ */ Object.assign(dateTimeMenusFn, {
2379
2379
  splitVariantProps(props) {
2380
2380
  return splitProps$1(props, dateTimeMenusVariantKeys);
2381
2381
  },
2382
- getVariantProps: getVariantProps$l
2382
+ getVariantProps: getVariantProps$m
2383
2383
  });
2384
2384
  const drawerDefaultVariants = {
2385
2385
  "side": "right",
@@ -2426,7 +2426,7 @@ const drawerVariantKeys = [
2426
2426
  "size",
2427
2427
  "scrollable"
2428
2428
  ];
2429
- const getVariantProps$k = (variants) => ({ ...drawerDefaultVariants, ...compact(variants) });
2429
+ const getVariantProps$l = (variants) => ({ ...drawerDefaultVariants, ...compact(variants) });
2430
2430
  const drawer = /* @__PURE__ */ Object.assign(drawerFn, {
2431
2431
  __recipe__: false,
2432
2432
  __name__: "drawer",
@@ -2453,6 +2453,64 @@ const drawer = /* @__PURE__ */ Object.assign(drawerFn, {
2453
2453
  splitVariantProps(props) {
2454
2454
  return splitProps$1(props, drawerVariantKeys);
2455
2455
  },
2456
+ getVariantProps: getVariantProps$l
2457
+ });
2458
+ const filterFieldDefaultVariants = {};
2459
+ const filterFieldCompoundVariants = [];
2460
+ const filterFieldSlotNames = [
2461
+ [
2462
+ "root",
2463
+ "filterField__root"
2464
+ ],
2465
+ [
2466
+ "icon",
2467
+ "filterField__icon"
2468
+ ],
2469
+ [
2470
+ "values",
2471
+ "filterField__values"
2472
+ ],
2473
+ [
2474
+ "sizer",
2475
+ "filterField__sizer"
2476
+ ],
2477
+ [
2478
+ "token",
2479
+ "filterField__token"
2480
+ ],
2481
+ [
2482
+ "input",
2483
+ "filterField__input"
2484
+ ],
2485
+ [
2486
+ "more",
2487
+ "filterField__more"
2488
+ ],
2489
+ [
2490
+ "shortcut",
2491
+ "filterField__shortcut"
2492
+ ],
2493
+ [
2494
+ "clear",
2495
+ "filterField__clear"
2496
+ ]
2497
+ ];
2498
+ const filterFieldSlotFns = /* @__PURE__ */ filterFieldSlotNames.map(([slotName, slotKey]) => [slotName, createRecipe(slotKey, filterFieldDefaultVariants, getSlotCompoundVariant(filterFieldCompoundVariants, slotName))]);
2499
+ const filterFieldFn = memo((props = {}) => {
2500
+ return Object.fromEntries(filterFieldSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]));
2501
+ });
2502
+ const filterFieldVariantKeys = [];
2503
+ const getVariantProps$k = (variants) => ({ ...filterFieldDefaultVariants, ...compact(variants) });
2504
+ const filterField = /* @__PURE__ */ Object.assign(filterFieldFn, {
2505
+ __recipe__: false,
2506
+ __name__: "filterField",
2507
+ raw: (props) => props,
2508
+ classNameMap: {},
2509
+ variantKeys: filterFieldVariantKeys,
2510
+ variantMap: {},
2511
+ splitVariantProps(props) {
2512
+ return splitProps$1(props, filterFieldVariantKeys);
2513
+ },
2456
2514
  getVariantProps: getVariantProps$k
2457
2515
  });
2458
2516
  const filterMenuDefaultVariants = {
@@ -15578,6 +15636,7 @@ const defaultLocaleLabels = {
15578
15636
  apply: "Apply",
15579
15637
  dismiss: "Dismiss",
15580
15638
  closeDialog: "Close dialog",
15639
+ closeDrawer: "Close drawer",
15581
15640
  removeItem: (item) => `Remove ${item}`,
15582
15641
  removeFilter: (filter) => `Remove filter: ${filter}`,
15583
15642
  switchToTheme: (nextTheme) => `Switch to ${nextTheme} theme`,
@@ -15591,6 +15650,15 @@ const defaultLocaleLabels = {
15591
15650
  optionCreated: (value) => `${value} created and selected.`,
15592
15651
  optionRemoved: (label2) => `${label2} removed.`,
15593
15652
  moreSelected: (count2) => `${count2} more selected`,
15653
+ filterOrSearch: "Filter or search",
15654
+ clearFilters: "Clear all filters",
15655
+ moreFilters: (count2) => `+${count2} more`,
15656
+ copyCode: "Copy code",
15657
+ copied: "Copied",
15658
+ copyFailed: "Copy failed",
15659
+ showAllLines: (count2) => `Show all ${count2} lines`,
15660
+ showLess: "Show less",
15661
+ moreTabs: "More tabs",
15594
15662
  chooseDate: "Choose date",
15595
15663
  previousMonth: "Previous month",
15596
15664
  nextMonth: "Next month",
@@ -17693,13 +17761,14 @@ const scrollbarHeight = (element) => {
17693
17761
  );
17694
17762
  };
17695
17763
  const CodeBlock = (props) => {
17764
+ const { labels } = useLocale();
17696
17765
  const {
17697
17766
  code: codeProp,
17698
17767
  children,
17699
17768
  language,
17700
17769
  title,
17701
17770
  copyable = true,
17702
- copyLabel = "Copy code",
17771
+ copyLabel = labels.copyCode,
17703
17772
  maxLines,
17704
17773
  expanded: expandedProp,
17705
17774
  defaultExpanded = false,
@@ -17778,7 +17847,7 @@ const CodeBlock = (props) => {
17778
17847
  {
17779
17848
  ...dsPart("copy"),
17780
17849
  iconName: copied ? "check" : "copy",
17781
- altText: copied ? "Copied" : copyLabel,
17850
+ altText: copied ? labels.copied : copyLabel,
17782
17851
  variant: tone === "inverse" ? "primary" : "ghost",
17783
17852
  size: "sm",
17784
17853
  onClick: () => {
@@ -17861,11 +17930,11 @@ const CodeBlock = (props) => {
17861
17930
  "aria-hidden": "true"
17862
17931
  }
17863
17932
  ),
17864
- expanded ? "Show less" : `Show all ${lineCount} lines`
17933
+ expanded ? labels.showLess : labels.showAllLines(lineCount)
17865
17934
  ]
17866
17935
  }
17867
17936
  ),
17868
- /* @__PURE__ */ jsx(Box, { as: "span", role: "status", "aria-live": "polite", srOnly: true, children: copied ? "Copied" : failed ? "Copy failed" : "" })
17937
+ /* @__PURE__ */ jsx(Box, { as: "span", role: "status", "aria-live": "polite", srOnly: true, children: copied ? labels.copied : failed ? labels.copyFailed : "" })
17869
17938
  ]
17870
17939
  }
17871
17940
  );
@@ -22653,6 +22722,7 @@ const DrawerHeader = (props) => {
22653
22722
  const classes = drawer();
22654
22723
  const { onClose } = useDrawerContext();
22655
22724
  const isSm = useMediaQuery("sm");
22725
+ const { labels } = useLocale();
22656
22726
  return /* @__PURE__ */ jsx(Box, { className: cx(classes.header, className), ...otherProps, children: children ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
22657
22727
  title && /* @__PURE__ */ jsx(
22658
22728
  Heading,
@@ -22670,8 +22740,8 @@ const DrawerHeader = (props) => {
22670
22740
  variant: "ghost",
22671
22741
  size: isSm ? "md" : "lg",
22672
22742
  onClick: onClose,
22673
- altText: "Close drawer",
22674
- "aria-label": "Close drawer",
22743
+ altText: labels.closeDrawer,
22744
+ "aria-label": labels.closeDrawer,
22675
22745
  className: classes.closeButton,
22676
22746
  iconName: "x"
22677
22747
  }
@@ -22690,6 +22760,433 @@ const DrawerFooter = (props) => {
22690
22760
  const classes = drawer();
22691
22761
  return /* @__PURE__ */ jsx(Box, { className: cx(classes.footer, className), ...otherProps, children });
22692
22762
  };
22763
+ const MAX_VISIBLE_VALUES = 2;
22764
+ const FilterToken = (props) => {
22765
+ const {
22766
+ field,
22767
+ operator,
22768
+ value,
22769
+ state = "applied",
22770
+ tone = "default",
22771
+ operatorLocked,
22772
+ editor,
22773
+ disabled,
22774
+ retainFocus,
22775
+ onFieldClick,
22776
+ onOperatorClick,
22777
+ onValueClick,
22778
+ onRemove,
22779
+ removeLabel,
22780
+ ...rest
22781
+ } = props;
22782
+ const [className, otherProps] = splitProps(rest);
22783
+ const classes = filterToken();
22784
+ const { labels } = useLocale();
22785
+ const values = Array.isArray(value) ? value : void 0;
22786
+ const fullValue = Array.isArray(value) ? value.join(", ") : value;
22787
+ const hidden = values ? Math.max(0, values.length - MAX_VISIBLE_VALUES) : 0;
22788
+ const shownValue = values ? values.slice(0, MAX_VISIBLE_VALUES).join(", ") : value;
22789
+ const sentence = [field, operator, fullValue].filter(Boolean).join(" ");
22790
+ const keepFocus = retainFocus ? (e) => e.preventDefault() : void 0;
22791
+ const valueTextRef = useRef(null);
22792
+ const [clipped, setClipped] = useState(false);
22793
+ useLayoutEffect(() => {
22794
+ const node = valueTextRef.current;
22795
+ if (!node) {
22796
+ setClipped(false);
22797
+ return;
22798
+ }
22799
+ const check = () => setClipped(node.scrollWidth > node.clientWidth);
22800
+ check();
22801
+ if (typeof ResizeObserver === "undefined") return;
22802
+ const observer = new ResizeObserver(check);
22803
+ observer.observe(node);
22804
+ return () => observer.disconnect();
22805
+ }, [shownValue, editor]);
22806
+ const part = (slot, content, onClick, extra) => onClick ? /* @__PURE__ */ jsx(
22807
+ Box,
22808
+ {
22809
+ as: "button",
22810
+ type: "button",
22811
+ className: cx(classes.part, slot),
22812
+ disabled,
22813
+ onMouseDown: keepFocus,
22814
+ onClick,
22815
+ ...extra,
22816
+ children: content
22817
+ }
22818
+ ) : /* @__PURE__ */ jsx(Box, { as: "span", className: cx(classes.part, slot), ...extra, children: content });
22819
+ const valueContent = /* @__PURE__ */ jsxs(Fragment, { children: [
22820
+ /* @__PURE__ */ jsx(
22821
+ Box,
22822
+ {
22823
+ as: "span",
22824
+ ref: valueTextRef,
22825
+ className: classes.valueText,
22826
+ "aria-hidden": hidden > 0 || void 0,
22827
+ children: shownValue || "…"
22828
+ }
22829
+ ),
22830
+ hidden > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
22831
+ /* @__PURE__ */ jsx(Box, { as: "span", className: classes.count, "aria-hidden": true, children: `+${hidden}` }),
22832
+ /* @__PURE__ */ jsx(Box, { as: "span", srOnly: true, children: fullValue })
22833
+ ] })
22834
+ ] });
22835
+ return /* @__PURE__ */ jsxs(
22836
+ Box,
22837
+ {
22838
+ ...dsComponent("FilterToken"),
22839
+ as: "span",
22840
+ role: "group",
22841
+ "aria-label": sentence,
22842
+ className: cx(classes.root, className),
22843
+ "data-state": state,
22844
+ "data-tone": tone,
22845
+ "data-disabled": disabled || void 0,
22846
+ ...otherProps,
22847
+ children: [
22848
+ part(classes.field, field, onFieldClick ?? onValueClick),
22849
+ part(
22850
+ classes.operator,
22851
+ operator,
22852
+ operatorLocked ? void 0 : onOperatorClick,
22853
+ operatorLocked ? { "data-locked": true } : void 0
22854
+ ),
22855
+ editor !== void 0 ? (
22856
+ // `inert` keeps a disabled token's editor out of the tab order.
22857
+ /* @__PURE__ */ jsxs(
22858
+ Box,
22859
+ {
22860
+ as: "span",
22861
+ className: cx(classes.part, classes.editor),
22862
+ inert: disabled || void 0,
22863
+ children: [
22864
+ shownValue && /* @__PURE__ */ jsx(Box, { as: "span", className: classes.value, children: valueContent }),
22865
+ editor
22866
+ ]
22867
+ }
22868
+ )
22869
+ ) : value !== void 0 && /* @__PURE__ */ jsx(Tooltip, { text: fullValue ?? "", disabled: hidden === 0 && !clipped, children: part(classes.value, valueContent, onValueClick) }),
22870
+ onRemove && state !== "removing" && /* @__PURE__ */ jsx(
22871
+ Box,
22872
+ {
22873
+ as: "button",
22874
+ type: "button",
22875
+ className: classes.remove,
22876
+ "aria-label": removeLabel ?? labels.removeFilter(sentence),
22877
+ disabled,
22878
+ onMouseDown: keepFocus,
22879
+ onClick: onRemove,
22880
+ children: /* @__PURE__ */ jsx(Icon, { name: "x", size: "16", "aria-hidden": true })
22881
+ }
22882
+ )
22883
+ ]
22884
+ }
22885
+ );
22886
+ };
22887
+ const specialSymbols = {
22888
+ "⌘": "command",
22889
+ "⌥": "option",
22890
+ "⌃": "control",
22891
+ "⇪": "shift",
22892
+ "⎋": "escape",
22893
+ "⌫": "delete",
22894
+ "↩": "return",
22895
+ "⇥": "tab",
22896
+ "←": "left",
22897
+ "→": "right",
22898
+ "↑": "up",
22899
+ "↓": "down"
22900
+ };
22901
+ const isSpecialSymbol = (value) => value in specialSymbols;
22902
+ const getKbdLabel = (value) => isSpecialSymbol(value) ? specialSymbols[value] : value;
22903
+ const defaultClasses = kbd({});
22904
+ const symbolClasses = kbd({ variant: "symbol" });
22905
+ const Kbd = (props) => {
22906
+ const { keys, ...rest } = props;
22907
+ const [className, otherProps] = splitProps(rest);
22908
+ const tooltipText = keys.map(getKbdLabel).join(" + ");
22909
+ const keyOccurrences = /* @__PURE__ */ new Map();
22910
+ const renderedKeys = keys.map((keyValue) => {
22911
+ const occurrence = keyOccurrences.get(keyValue) ?? 0;
22912
+ keyOccurrences.set(keyValue, occurrence + 1);
22913
+ return { id: `${keyValue}-${occurrence}`, value: keyValue };
22914
+ });
22915
+ const content = /* @__PURE__ */ jsx(
22916
+ Box,
22917
+ {
22918
+ ...dsComponent("Kbd"),
22919
+ as: "span",
22920
+ className: cx(defaultClasses.kbdGroup, className),
22921
+ ...otherProps,
22922
+ children: renderedKeys.map(({ id, value }) => /* @__PURE__ */ jsx(
22923
+ Box,
22924
+ {
22925
+ as: "kbd",
22926
+ className: isSpecialSymbol(value) ? symbolClasses.key : defaultClasses.key,
22927
+ children: value
22928
+ },
22929
+ id
22930
+ ))
22931
+ }
22932
+ );
22933
+ return /* @__PURE__ */ jsx(Tooltip, { text: tooltipText, children: content });
22934
+ };
22935
+ const MORE_BUTTON_RESERVE = 96;
22936
+ const isTextEntry = (target) => target instanceof HTMLElement && Boolean(
22937
+ target.closest(
22938
+ 'input, textarea, select, [contenteditable=""], [contenteditable="true"]'
22939
+ )
22940
+ );
22941
+ const FilterField = (props) => {
22942
+ const {
22943
+ tokens: tokens2,
22944
+ inputValue,
22945
+ onInputChange,
22946
+ inputProps,
22947
+ inputRef,
22948
+ placeholder,
22949
+ editingKey = null,
22950
+ onMoreClick,
22951
+ moreOpen,
22952
+ onClearAll,
22953
+ clearLabel,
22954
+ shortcut,
22955
+ disabled,
22956
+ ...rest
22957
+ } = props;
22958
+ const [className, otherProps] = splitProps(rest);
22959
+ const classes = filterField();
22960
+ const { labels } = useLocale();
22961
+ const [armedKey, setArmedKey] = useState(null);
22962
+ const [hasFocus, setHasFocus] = useState(false);
22963
+ const rootRef = useRef(null);
22964
+ const sizerRef = useRef(null);
22965
+ const moreRef = useRef(null);
22966
+ const inputElement = useRef(null);
22967
+ const tokenElements = useRef(/* @__PURE__ */ new Map());
22968
+ const refocus = useRef(false);
22969
+ const trackInput = useCallback((node) => {
22970
+ if (node) {
22971
+ inputElement.current = node;
22972
+ if (refocus.current) {
22973
+ refocus.current = false;
22974
+ node.focus();
22975
+ }
22976
+ return;
22977
+ }
22978
+ if (inputElement.current && inputElement.current === inputElement.current.ownerDocument.activeElement) {
22979
+ refocus.current = true;
22980
+ }
22981
+ }, []);
22982
+ const mergedInputRef = useMergeRefs([trackInput, inputRef]);
22983
+ const focusInput = useCallback(() => {
22984
+ var _a;
22985
+ return (_a = inputElement.current) == null ? void 0 : _a.focus();
22986
+ }, []);
22987
+ const removable = tokens2.filter(
22988
+ (token2) => token2.onRemove && token2.state !== "removing"
22989
+ );
22990
+ const lastRemovable = removable[removable.length - 1];
22991
+ const armed = armedKey !== null && (lastRemovable == null ? void 0 : lastRemovable.key) === armedKey ? armedKey : null;
22992
+ const keys = tokens2.map((token2) => token2.key);
22993
+ const getItemElement = useCallback(
22994
+ (key) => tokenElements.current.get(key) ?? null,
22995
+ []
22996
+ );
22997
+ const { visible, overflow } = useOverflowItems({
22998
+ items: keys,
22999
+ containerRef: sizerRef,
23000
+ getItemElement,
23001
+ activeItem: editingKey ?? armed,
23002
+ reserve: MORE_BUTTON_RESERVE,
23003
+ reserveRef: moreRef
23004
+ });
23005
+ const hiddenKeys = overflow.filter((key) => keys.includes(key));
23006
+ const hiddenTokens = tokens2.filter((token2) => hiddenKeys.includes(token2.key));
23007
+ const visibleKeys = new Set(visible);
23008
+ useEffect(() => {
23009
+ if (!shortcut || disabled) return;
23010
+ const onKeyDown2 = (event) => {
23011
+ if (event.key !== shortcut || event.metaKey || event.ctrlKey || event.altKey || event.defaultPrevented || isTextEntry(event.target)) {
23012
+ return;
23013
+ }
23014
+ event.preventDefault();
23015
+ focusInput();
23016
+ };
23017
+ document.addEventListener("keydown", onKeyDown2);
23018
+ return () => document.removeEventListener("keydown", onKeyDown2);
23019
+ }, [shortcut, disabled, focusInput]);
23020
+ const onKeyDown = (event) => {
23021
+ var _a, _b;
23022
+ (_a = inputProps == null ? void 0 : inputProps.onKeyDown) == null ? void 0 : _a.call(inputProps, event);
23023
+ if (event.defaultPrevented) return;
23024
+ if (event.key !== "Backspace") {
23025
+ setArmedKey(null);
23026
+ return;
23027
+ }
23028
+ if (inputValue !== "" || editingKey !== null || !lastRemovable) return;
23029
+ event.preventDefault();
23030
+ if (armed === lastRemovable.key) {
23031
+ setArmedKey(null);
23032
+ (_b = lastRemovable.onRemove) == null ? void 0 : _b.call(lastRemovable);
23033
+ } else {
23034
+ setArmedKey(lastRemovable.key);
23035
+ }
23036
+ };
23037
+ const withFocus = (handler) => handler && ((...args) => {
23038
+ focusInput();
23039
+ handler(...args);
23040
+ });
23041
+ const input = (inline) => /* @__PURE__ */ jsx(
23042
+ "input",
23043
+ {
23044
+ type: "text",
23045
+ autoComplete: "off",
23046
+ spellCheck: false,
23047
+ "aria-label": labels.filterOrSearch,
23048
+ "aria-keyshortcuts": shortcut,
23049
+ ...inputProps,
23050
+ ref: mergedInputRef,
23051
+ className: cx(classes.input, inputProps == null ? void 0 : inputProps.className),
23052
+ "data-inline": inline || void 0,
23053
+ size: inline ? Math.max(inputValue.length, 1) : void 0,
23054
+ value: inputValue,
23055
+ placeholder: inline ? void 0 : placeholder,
23056
+ disabled,
23057
+ onChange: (event) => {
23058
+ setArmedKey(null);
23059
+ onInputChange(event.target.value);
23060
+ },
23061
+ onKeyDown
23062
+ }
23063
+ );
23064
+ const editingVisible = editingKey !== null && visibleKeys.has(editingKey);
23065
+ const showClear = Boolean(onClearAll) && !disabled && (tokens2.length > 0 || inputValue !== "");
23066
+ return /* @__PURE__ */ jsxs(
23067
+ Box,
23068
+ {
23069
+ ...dsComponent("FilterField"),
23070
+ ref: rootRef,
23071
+ className: cx(classes.root, className),
23072
+ "data-disabled": disabled || void 0,
23073
+ "data-has-clear": showClear || void 0,
23074
+ onFocusCapture: () => setHasFocus(true),
23075
+ onBlurCapture: (event) => {
23076
+ var _a;
23077
+ if ((_a = rootRef.current) == null ? void 0 : _a.contains(event.relatedTarget)) {
23078
+ return;
23079
+ }
23080
+ setHasFocus(false);
23081
+ setArmedKey(null);
23082
+ },
23083
+ onMouseDown: (event) => {
23084
+ if (disabled || event.target !== event.currentTarget) return;
23085
+ event.preventDefault();
23086
+ focusInput();
23087
+ },
23088
+ ...otherProps,
23089
+ children: [
23090
+ /* @__PURE__ */ jsx(
23091
+ Icon,
23092
+ {
23093
+ name: "search",
23094
+ size: "20",
23095
+ fill: disabled ? "icon.disabled" : "icon.subtle",
23096
+ className: classes.icon,
23097
+ "aria-hidden": true
23098
+ }
23099
+ ),
23100
+ /* @__PURE__ */ jsxs(
23101
+ Box,
23102
+ {
23103
+ className: classes.values,
23104
+ onMouseDown: (event) => {
23105
+ if (disabled || event.target !== event.currentTarget) return;
23106
+ event.preventDefault();
23107
+ focusInput();
23108
+ },
23109
+ children: [
23110
+ /* @__PURE__ */ jsx(Box, { ref: sizerRef, className: classes.sizer, "aria-hidden": true }),
23111
+ tokens2.map(({ key, ...token2 }) => {
23112
+ const overflowed = !visibleKeys.has(key);
23113
+ const editing = key === editingKey && !overflowed;
23114
+ return /* @__PURE__ */ jsx(
23115
+ Box,
23116
+ {
23117
+ as: "span",
23118
+ ref: (node) => {
23119
+ if (node) tokenElements.current.set(key, node);
23120
+ else tokenElements.current.delete(key);
23121
+ },
23122
+ className: classes.token,
23123
+ "data-overflowed": overflowed || void 0,
23124
+ inert: overflowed || void 0,
23125
+ children: /* @__PURE__ */ jsx(
23126
+ FilterToken,
23127
+ {
23128
+ ...token2,
23129
+ state: key === armed ? "armed" : token2.state,
23130
+ disabled,
23131
+ retainFocus: true,
23132
+ editor: editing ? input(true) : void 0,
23133
+ onFieldClick: withFocus(token2.onFieldClick),
23134
+ onOperatorClick: withFocus(token2.onOperatorClick),
23135
+ onValueClick: withFocus(token2.onValueClick),
23136
+ onRemove: withFocus(token2.onRemove)
23137
+ }
23138
+ )
23139
+ },
23140
+ key
23141
+ );
23142
+ }),
23143
+ hiddenTokens.length > 0 && /* @__PURE__ */ jsx(
23144
+ Button,
23145
+ {
23146
+ ref: moreRef,
23147
+ size: "sm",
23148
+ variant: "hollow",
23149
+ iconAfter: "caret-down",
23150
+ className: classes.more,
23151
+ disabled,
23152
+ "aria-expanded": onMoreClick ? Boolean(moreOpen) : void 0,
23153
+ "data-open": moreOpen || void 0,
23154
+ "data-pending": hiddenTokens.some(
23155
+ (token2) => token2.state === "pending" || token2.state === "removing"
23156
+ ) || void 0,
23157
+ onMouseDown: (event) => event.preventDefault(),
23158
+ onClick: (event) => {
23159
+ focusInput();
23160
+ onMoreClick == null ? void 0 : onMoreClick(hiddenKeys, event.currentTarget);
23161
+ },
23162
+ children: labels.moreFilters(hiddenTokens.length)
23163
+ }
23164
+ ),
23165
+ !editingVisible && input(false)
23166
+ ]
23167
+ }
23168
+ ),
23169
+ shortcut && !hasFocus && !disabled && /* @__PURE__ */ jsx(Kbd, { keys: [shortcut], className: classes.shortcut }),
23170
+ showClear && /* @__PURE__ */ jsx(
23171
+ IconButton,
23172
+ {
23173
+ variant: "ghost",
23174
+ size: "sm",
23175
+ iconName: "x",
23176
+ altText: clearLabel ?? labels.clearFilters,
23177
+ className: classes.clear,
23178
+ onMouseDown: (event) => event.preventDefault(),
23179
+ onClick: () => {
23180
+ setArmedKey(null);
23181
+ focusInput();
23182
+ onClearAll == null ? void 0 : onClearAll();
23183
+ }
23184
+ }
23185
+ )
23186
+ ]
23187
+ }
23188
+ );
23189
+ };
22693
23190
  const getFilterMenuOptionId = (menuId, key) => `${menuId}-option-${encodeURIComponent(key)}`;
22694
23191
  const isPickable = (row) => row.type === "item" && !row.disabled;
22695
23192
  const useFilterMenu = (options) => {
@@ -22897,130 +23394,6 @@ const FilterMenu = (props) => {
22897
23394
  }
22898
23395
  ) }) });
22899
23396
  };
22900
- const MAX_VISIBLE_VALUES = 2;
22901
- const FilterToken = (props) => {
22902
- const {
22903
- field,
22904
- operator,
22905
- value,
22906
- state = "applied",
22907
- tone = "default",
22908
- operatorLocked,
22909
- editor,
22910
- disabled,
22911
- retainFocus,
22912
- onFieldClick,
22913
- onOperatorClick,
22914
- onValueClick,
22915
- onRemove,
22916
- removeLabel,
22917
- ...rest
22918
- } = props;
22919
- const [className, otherProps] = splitProps(rest);
22920
- const classes = filterToken();
22921
- const { labels } = useLocale();
22922
- const values = Array.isArray(value) ? value : void 0;
22923
- const fullValue = Array.isArray(value) ? value.join(", ") : value;
22924
- const hidden = values ? Math.max(0, values.length - MAX_VISIBLE_VALUES) : 0;
22925
- const shownValue = values ? values.slice(0, MAX_VISIBLE_VALUES).join(", ") : value;
22926
- const sentence = [field, operator, fullValue].filter(Boolean).join(" ");
22927
- const keepFocus = retainFocus ? (e) => e.preventDefault() : void 0;
22928
- const valueTextRef = useRef(null);
22929
- const [clipped, setClipped] = useState(false);
22930
- useLayoutEffect(() => {
22931
- const node = valueTextRef.current;
22932
- if (!node) {
22933
- setClipped(false);
22934
- return;
22935
- }
22936
- const check = () => setClipped(node.scrollWidth > node.clientWidth);
22937
- check();
22938
- if (typeof ResizeObserver === "undefined") return;
22939
- const observer = new ResizeObserver(check);
22940
- observer.observe(node);
22941
- return () => observer.disconnect();
22942
- }, [shownValue, editor]);
22943
- const part = (slot, content, onClick, extra) => onClick ? /* @__PURE__ */ jsx(
22944
- Box,
22945
- {
22946
- as: "button",
22947
- type: "button",
22948
- className: cx(classes.part, slot),
22949
- disabled,
22950
- onMouseDown: keepFocus,
22951
- onClick,
22952
- ...extra,
22953
- children: content
22954
- }
22955
- ) : /* @__PURE__ */ jsx(Box, { as: "span", className: cx(classes.part, slot), ...extra, children: content });
22956
- const valueContent = /* @__PURE__ */ jsxs(Fragment, { children: [
22957
- /* @__PURE__ */ jsx(
22958
- Box,
22959
- {
22960
- as: "span",
22961
- ref: valueTextRef,
22962
- className: classes.valueText,
22963
- "aria-hidden": hidden > 0 || void 0,
22964
- children: shownValue || "…"
22965
- }
22966
- ),
22967
- hidden > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
22968
- /* @__PURE__ */ jsx(Box, { as: "span", className: classes.count, "aria-hidden": true, children: `+${hidden}` }),
22969
- /* @__PURE__ */ jsx(Box, { as: "span", srOnly: true, children: fullValue })
22970
- ] })
22971
- ] });
22972
- return /* @__PURE__ */ jsxs(
22973
- Box,
22974
- {
22975
- ...dsComponent("FilterToken"),
22976
- as: "span",
22977
- role: "group",
22978
- "aria-label": sentence,
22979
- className: cx(classes.root, className),
22980
- "data-state": state,
22981
- "data-tone": tone,
22982
- "data-disabled": disabled || void 0,
22983
- ...otherProps,
22984
- children: [
22985
- part(classes.field, field, onFieldClick ?? onValueClick),
22986
- part(
22987
- classes.operator,
22988
- operator,
22989
- operatorLocked ? void 0 : onOperatorClick,
22990
- operatorLocked ? { "data-locked": true } : void 0
22991
- ),
22992
- editor !== void 0 ? (
22993
- // `inert` keeps a disabled token's editor out of the tab order.
22994
- /* @__PURE__ */ jsxs(
22995
- Box,
22996
- {
22997
- as: "span",
22998
- className: cx(classes.part, classes.editor),
22999
- inert: disabled || void 0,
23000
- children: [
23001
- shownValue && /* @__PURE__ */ jsx(Box, { as: "span", className: classes.value, children: valueContent }),
23002
- editor
23003
- ]
23004
- }
23005
- )
23006
- ) : value !== void 0 && /* @__PURE__ */ jsx(Tooltip, { text: fullValue ?? "", disabled: hidden === 0 && !clipped, children: part(classes.value, valueContent, onValueClick) }),
23007
- onRemove && state !== "removing" && /* @__PURE__ */ jsx(
23008
- Box,
23009
- {
23010
- as: "button",
23011
- type: "button",
23012
- className: classes.remove,
23013
- "aria-label": removeLabel ?? labels.removeFilter(sentence),
23014
- disabled,
23015
- onMouseDown: keepFocus,
23016
- onClick: onRemove,
23017
- children: /* @__PURE__ */ jsx(Icon, { name: "x", size: "16", "aria-hidden": true })
23018
- }
23019
- )
23020
- ]
23021
- }
23022
- );
23023
- };
23024
23397
  const Required = () => {
23025
23398
  return /* @__PURE__ */ jsx(Text, { color: "text.danger", fontSize: "inherit", lineHeight: "tight", children: "*" });
23026
23399
  };
@@ -23163,54 +23536,6 @@ const InlineNote = (props) => {
23163
23536
  }
23164
23537
  );
23165
23538
  };
23166
- const specialSymbols = {
23167
- "⌘": "command",
23168
- "⌥": "option",
23169
- "⌃": "control",
23170
- "⇪": "shift",
23171
- "⎋": "escape",
23172
- "⌫": "delete",
23173
- "↩": "return",
23174
- "⇥": "tab",
23175
- "←": "left",
23176
- "→": "right",
23177
- "↑": "up",
23178
- "↓": "down"
23179
- };
23180
- const isSpecialSymbol = (value) => value in specialSymbols;
23181
- const getKbdLabel = (value) => isSpecialSymbol(value) ? specialSymbols[value] : value;
23182
- const defaultClasses = kbd({});
23183
- const symbolClasses = kbd({ variant: "symbol" });
23184
- const Kbd = (props) => {
23185
- const { keys, ...rest } = props;
23186
- const [className, otherProps] = splitProps(rest);
23187
- const tooltipText = keys.map(getKbdLabel).join(" + ");
23188
- const keyOccurrences = /* @__PURE__ */ new Map();
23189
- const renderedKeys = keys.map((keyValue) => {
23190
- const occurrence = keyOccurrences.get(keyValue) ?? 0;
23191
- keyOccurrences.set(keyValue, occurrence + 1);
23192
- return { id: `${keyValue}-${occurrence}`, value: keyValue };
23193
- });
23194
- const content = /* @__PURE__ */ jsx(
23195
- Box,
23196
- {
23197
- ...dsComponent("Kbd"),
23198
- as: "span",
23199
- className: cx(defaultClasses.kbdGroup, className),
23200
- ...otherProps,
23201
- children: renderedKeys.map(({ id, value }) => /* @__PURE__ */ jsx(
23202
- Box,
23203
- {
23204
- as: "kbd",
23205
- className: isSpecialSymbol(value) ? symbolClasses.key : defaultClasses.key,
23206
- children: value
23207
- },
23208
- id
23209
- ))
23210
- }
23211
- );
23212
- return /* @__PURE__ */ jsx(Tooltip, { text: tooltipText, children: content });
23213
- };
23214
23539
  const ModalWrapperContext = createContext(null);
23215
23540
  const useModalWrapperContext = () => {
23216
23541
  const context2 = useContext(ModalWrapperContext);
@@ -24165,6 +24490,7 @@ const TabsOverflowMenu = ({
24165
24490
  selectedValue
24166
24491
  }) => {
24167
24492
  const [isOpen, setIsOpen] = useState(false);
24493
+ const { labels } = useLocale();
24168
24494
  return /* @__PURE__ */ jsx(
24169
24495
  Menu,
24170
24496
  {
@@ -24178,7 +24504,7 @@ const TabsOverflowMenu = ({
24178
24504
  variant: "ghost",
24179
24505
  size: "md",
24180
24506
  iconName: isOpen ? "caret-up" : "caret-down",
24181
- altText: "More tabs",
24507
+ altText: labels.moreTabs,
24182
24508
  "aria-haspopup": "menu"
24183
24509
  }
24184
24510
  ),
@@ -24206,6 +24532,7 @@ const TabsOverflowMenu = ({
24206
24532
  );
24207
24533
  };
24208
24534
  const Tabs = (props) => {
24535
+ const { labels } = useLocale();
24209
24536
  const {
24210
24537
  children,
24211
24538
  value,
@@ -24319,7 +24646,7 @@ const Tabs = (props) => {
24319
24646
  variant: "ghost",
24320
24647
  size: "md",
24321
24648
  iconName: "caret-down",
24322
- altText: "More tabs",
24649
+ altText: labels.moreTabs,
24323
24650
  disabled: true,
24324
24651
  tabIndex: -1
24325
24652
  }
@@ -26482,6 +26809,7 @@ export {
26482
26809
  DrawerFooter,
26483
26810
  DrawerHeader,
26484
26811
  DsChainScope,
26812
+ FilterField,
26485
26813
  FilterMenu,
26486
26814
  FilterToken,
26487
26815
  FormField,