@lumx/react 4.16.1-alpha.1 → 4.17.0-next.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.
Files changed (4) hide show
  1. package/index.d.ts +131 -6
  2. package/index.js +1382 -548
  3. package/index.js.map +1 -1
  4. package/package.json +3 -3
package/index.js CHANGED
@@ -308,7 +308,7 @@ function modifier$1(baseName, modifiers) {
308
308
  * block('button', { active: true, disabled: false }); // 'button button--active'
309
309
  */
310
310
 
311
- function block$1a(baseName, modifiersOrAdditionalClasses, additionalClasses) {
311
+ function block$1c(baseName, modifiersOrAdditionalClasses, additionalClasses) {
312
312
  let modifiers;
313
313
  let classes;
314
314
  if (typeof modifiersOrAdditionalClasses === 'string' || Array.isArray(modifiersOrAdditionalClasses)) {
@@ -343,7 +343,7 @@ const ACTION_ELEMENT = `${PREFIX}__action`;
343
343
  const actionArea = Object.assign(/** Action area container class. Sets `position: relative`. */
344
344
  () => PREFIX, {
345
345
  /** Action element class. Adds a `::before` pseudo-element with `position: absolute; inset: 0` to expand the click area. */
346
- action: modifiers => block$1a(ACTION_ELEMENT, modifiers)
346
+ action: modifiers => block$1c(ACTION_ELEMENT, modifiers)
347
347
  });
348
348
 
349
349
  /** Resolve color & color variant from a `ColorWithVariants` and optionally a `ColorVariant`. */
@@ -465,8 +465,8 @@ const visuallyHidden = () => VISUALLY_HIDDEN;
465
465
  * element('my-button', 'icon', { active: true }); // 'my-button__icon my-button__icon--active'
466
466
  */
467
467
 
468
- function element$R(baseClass, elem, modifiersOrAdditionalClasses, additionalClasses) {
469
- return block$1a(`${baseClass}__${elem}`, modifiersOrAdditionalClasses, additionalClasses);
468
+ function element$T(baseClass, elem, modifiersOrAdditionalClasses, additionalClasses) {
469
+ return block$1c(`${baseClass}__${elem}`, modifiersOrAdditionalClasses, additionalClasses);
470
470
  }
471
471
 
472
472
  /**
@@ -474,10 +474,10 @@ function element$R(baseClass, elem, modifiersOrAdditionalClasses, additionalClas
474
474
  */
475
475
  function bem(baseName) {
476
476
  function blockFn(modifiersOrAdditionalClasses, additionalClasses) {
477
- return block$1a(baseName, modifiersOrAdditionalClasses, additionalClasses);
477
+ return block$1c(baseName, modifiersOrAdditionalClasses, additionalClasses);
478
478
  }
479
479
  function elementFn(elem, modifiersOrAdditionalClasses, additionalClasses) {
480
- return element$R(baseName, elem, modifiersOrAdditionalClasses, additionalClasses);
480
+ return element$T(baseName, elem, modifiersOrAdditionalClasses, additionalClasses);
481
481
  }
482
482
  return {
483
483
  block: blockFn,
@@ -557,15 +557,15 @@ const CONFIG$1 = {
557
557
  /**
558
558
  * Component display name.
559
559
  */
560
- const COMPONENT_NAME$1A = 'AlertDialog';
560
+ const COMPONENT_NAME$1F = 'AlertDialog';
561
561
 
562
562
  /**
563
563
  * Component default class name and class prefix.
564
564
  */
565
- const CLASSNAME$1y = 'lumx-alert-dialog';
565
+ const CLASSNAME$1C = 'lumx-alert-dialog';
566
566
  const {
567
- block: block$19
568
- } = bem(CLASSNAME$1y);
567
+ block: block$1b
568
+ } = bem(CLASSNAME$1C);
569
569
 
570
570
  /**
571
571
  * Component default props.
@@ -633,7 +633,7 @@ const AlertDialog$1 = props => {
633
633
  'aria-describedby': descriptionId,
634
634
  ...dialogProps
635
635
  },
636
- className: classnames(className, block$19({
636
+ className: classnames(className, block$1b({
637
637
  [`kind-${kind}`]: Boolean(kind)
638
638
  })),
639
639
  ...forwardedProps,
@@ -731,8 +731,8 @@ const AlertDialog = forwardRef((props, ref) => {
731
731
  ...forwardedProps
732
732
  });
733
733
  });
734
- AlertDialog.displayName = COMPONENT_NAME$1A;
735
- AlertDialog.className = CLASSNAME$1y;
734
+ AlertDialog.displayName = COMPONENT_NAME$1F;
735
+ AlertDialog.className = CLASSNAME$1C;
736
736
  AlertDialog.defaultProps = DEFAULT_PROPS$1h;
737
737
 
738
738
  /**
@@ -825,12 +825,12 @@ function useDisableStateProps(props) {
825
825
  /**
826
826
  * Component display name.
827
827
  */
828
- const COMPONENT_NAME$1z = 'Autocomplete';
828
+ const COMPONENT_NAME$1E = 'Autocomplete';
829
829
 
830
830
  /**
831
831
  * Component default class name and class prefix.
832
832
  */
833
- const CLASSNAME$1x = 'lumx-autocomplete';
833
+ const CLASSNAME$1B = 'lumx-autocomplete';
834
834
 
835
835
  /**
836
836
  * Component default props.
@@ -898,7 +898,7 @@ const Autocomplete = forwardRef((props, ref) => {
898
898
  return /*#__PURE__*/jsxs("div", {
899
899
  ref: ref,
900
900
  ...forwardedProps,
901
- className: classNames.join(className, CLASSNAME$1x),
901
+ className: classNames.join(className, CLASSNAME$1B),
902
902
  children: [/*#__PURE__*/jsx(TextField, {
903
903
  ...textFieldProps,
904
904
  chips: chips,
@@ -938,19 +938,19 @@ const Autocomplete = forwardRef((props, ref) => {
938
938
  })]
939
939
  });
940
940
  });
941
- Autocomplete.displayName = COMPONENT_NAME$1z;
942
- Autocomplete.className = CLASSNAME$1x;
941
+ Autocomplete.displayName = COMPONENT_NAME$1E;
942
+ Autocomplete.className = CLASSNAME$1B;
943
943
  Autocomplete.defaultProps = DEFAULT_PROPS$1g;
944
944
 
945
945
  /**
946
946
  * Component display name.
947
947
  */
948
- const COMPONENT_NAME$1y = 'AutocompleteMultiple';
948
+ const COMPONENT_NAME$1D = 'AutocompleteMultiple';
949
949
 
950
950
  /**
951
951
  * Component default class name and class prefix.
952
952
  */
953
- const CLASSNAME$1w = 'lumx-autocomplete-multiple';
953
+ const CLASSNAME$1A = 'lumx-autocomplete-multiple';
954
954
 
955
955
  /**
956
956
  * Component default props.
@@ -1031,7 +1031,7 @@ const AutocompleteMultiple = forwardRef((props, ref) => {
1031
1031
  ref: ref,
1032
1032
  ...forwardedProps,
1033
1033
  anchorToInput: anchorToInput,
1034
- className: classNames.join(className, CLASSNAME$1w),
1034
+ className: classNames.join(className, CLASSNAME$1A),
1035
1035
  name: name,
1036
1036
  value: value,
1037
1037
  onChange: onChange,
@@ -1064,23 +1064,23 @@ const AutocompleteMultiple = forwardRef((props, ref) => {
1064
1064
  children: children
1065
1065
  });
1066
1066
  });
1067
- AutocompleteMultiple.displayName = COMPONENT_NAME$1y;
1068
- AutocompleteMultiple.className = CLASSNAME$1w;
1067
+ AutocompleteMultiple.displayName = COMPONENT_NAME$1D;
1068
+ AutocompleteMultiple.className = CLASSNAME$1A;
1069
1069
  AutocompleteMultiple.defaultProps = DEFAULT_PROPS$1f;
1070
1070
 
1071
1071
  /**
1072
1072
  * Component display name.
1073
1073
  */
1074
- const COMPONENT_NAME$1x = 'Avatar';
1074
+ const COMPONENT_NAME$1C = 'Avatar';
1075
1075
 
1076
1076
  /**
1077
1077
  * Component default class name and class prefix.
1078
1078
  */
1079
- const CLASSNAME$1v = 'lumx-avatar';
1079
+ const CLASSNAME$1z = 'lumx-avatar';
1080
1080
  const {
1081
- block: block$18,
1082
- element: element$Q
1083
- } = bem(CLASSNAME$1v);
1081
+ block: block$1a,
1082
+ element: element$S
1083
+ } = bem(CLASSNAME$1z);
1084
1084
 
1085
1085
  /**
1086
1086
  * Component default props.
@@ -1110,15 +1110,15 @@ const Avatar$1 = props => {
1110
1110
  return /*#__PURE__*/jsxs("div", {
1111
1111
  ref: ref,
1112
1112
  ...forwardedProps,
1113
- className: classnames(className, block$18({
1113
+ className: classnames(className, block$1a({
1114
1114
  [`size-${size}`]: Boolean(size),
1115
1115
  [`theme-${theme}`]: Boolean(theme)
1116
1116
  })),
1117
1117
  children: [image, actions && /*#__PURE__*/jsx("div", {
1118
- className: element$Q('actions'),
1118
+ className: element$S('actions'),
1119
1119
  children: actions
1120
1120
  }), badge && /*#__PURE__*/jsx("div", {
1121
- className: element$Q('badge'),
1121
+ className: element$S('badge'),
1122
1122
  children: badge
1123
1123
  })]
1124
1124
  });
@@ -1159,7 +1159,7 @@ const Avatar = forwardRef((props, ref) => {
1159
1159
  image: /*#__PURE__*/jsx(Thumbnail, {
1160
1160
  linkProps: linkProps,
1161
1161
  linkAs: linkAs,
1162
- className: element$Q('thumbnail'),
1162
+ className: element$S('thumbnail'),
1163
1163
  onClick: onClick,
1164
1164
  onKeyPress: onKeyPress,
1165
1165
  ...thumbnailProps,
@@ -1171,22 +1171,22 @@ const Avatar = forwardRef((props, ref) => {
1171
1171
  })
1172
1172
  });
1173
1173
  });
1174
- Avatar.displayName = COMPONENT_NAME$1x;
1175
- Avatar.className = CLASSNAME$1v;
1174
+ Avatar.displayName = COMPONENT_NAME$1C;
1175
+ Avatar.className = CLASSNAME$1z;
1176
1176
  Avatar.defaultProps = DEFAULT_PROPS$1e;
1177
1177
 
1178
1178
  /**
1179
1179
  * Component display name.
1180
1180
  */
1181
- const COMPONENT_NAME$1w = 'Badge';
1181
+ const COMPONENT_NAME$1B = 'Badge';
1182
1182
 
1183
1183
  /**
1184
1184
  * Component default class name and class prefix.
1185
1185
  */
1186
- const CLASSNAME$1u = 'lumx-badge';
1186
+ const CLASSNAME$1y = 'lumx-badge';
1187
1187
  const {
1188
- block: block$17
1189
- } = bem(CLASSNAME$1u);
1188
+ block: block$19
1189
+ } = bem(CLASSNAME$1y);
1190
1190
 
1191
1191
  /**
1192
1192
  * Component default props.
@@ -1212,14 +1212,14 @@ const Badge$1 = props => {
1212
1212
  return /*#__PURE__*/jsx("div", {
1213
1213
  ref: ref,
1214
1214
  ...forwardedProps,
1215
- className: classnames(className, block$17({
1215
+ className: classnames(className, block$19({
1216
1216
  [`color-${color}`]: Boolean(color)
1217
1217
  })),
1218
1218
  children: children
1219
1219
  });
1220
1220
  };
1221
- Badge$1.displayName = COMPONENT_NAME$1w;
1222
- Badge$1.className = CLASSNAME$1u;
1221
+ Badge$1.displayName = COMPONENT_NAME$1B;
1222
+ Badge$1.className = CLASSNAME$1y;
1223
1223
  Badge$1.defaultProps = DEFAULT_PROPS$1d;
1224
1224
 
1225
1225
  /**
@@ -1243,12 +1243,12 @@ Badge.displayName = Badge$1.displayName;
1243
1243
  Badge.className = Badge$1.className;
1244
1244
  Badge.defaultProps = Badge$1.defaultProps;
1245
1245
 
1246
- const COMPONENT_NAME$1v = 'BadgeWrapper';
1247
- const CLASSNAME$1t = 'lumx-badge-wrapper';
1246
+ const COMPONENT_NAME$1A = 'BadgeWrapper';
1247
+ const CLASSNAME$1x = 'lumx-badge-wrapper';
1248
1248
  const {
1249
- block: block$16,
1250
- element: element$P
1251
- } = bem(CLASSNAME$1t);
1249
+ block: block$18,
1250
+ element: element$R
1251
+ } = bem(CLASSNAME$1x);
1252
1252
  const BadgeWrapper$1 = props => {
1253
1253
  const {
1254
1254
  badge,
@@ -1260,9 +1260,9 @@ const BadgeWrapper$1 = props => {
1260
1260
  return /*#__PURE__*/jsxs("div", {
1261
1261
  ref: ref,
1262
1262
  ...forwardedProps,
1263
- className: classnames(className, block$16()),
1263
+ className: classnames(className, block$18()),
1264
1264
  children: [children, badge && /*#__PURE__*/jsx("div", {
1265
- className: element$P('badge'),
1265
+ className: element$R('badge'),
1266
1266
  children: badge
1267
1267
  })]
1268
1268
  });
@@ -1274,8 +1274,8 @@ const BadgeWrapper = forwardRef((props, ref) => {
1274
1274
  ref
1275
1275
  });
1276
1276
  });
1277
- BadgeWrapper.displayName = COMPONENT_NAME$1v;
1278
- BadgeWrapper.className = CLASSNAME$1t;
1277
+ BadgeWrapper.displayName = COMPONENT_NAME$1A;
1278
+ BadgeWrapper.className = CLASSNAME$1x;
1279
1279
 
1280
1280
  /**
1281
1281
  * Render clickable element (link, button or custom element)
@@ -1325,7 +1325,7 @@ const RawClickable = props => {
1325
1325
  /**
1326
1326
  * Component display name.
1327
1327
  */
1328
- const COMPONENT_NAME$1u = 'ButtonRoot';
1328
+ const COMPONENT_NAME$1z = 'ButtonRoot';
1329
1329
  const BUTTON_WRAPPER_CLASSNAME = `lumx-button-wrapper`;
1330
1330
  const {
1331
1331
  block: buttonWrapperBlock
@@ -1423,7 +1423,7 @@ const ButtonRoot = props => {
1423
1423
  children
1424
1424
  });
1425
1425
  };
1426
- ButtonRoot.displayName = COMPONENT_NAME$1u;
1426
+ ButtonRoot.displayName = COMPONENT_NAME$1z;
1427
1427
  ButtonRoot.defaultProps = {};
1428
1428
 
1429
1429
  /**
@@ -1433,15 +1433,15 @@ ButtonRoot.defaultProps = {};
1433
1433
  /**
1434
1434
  * Component display name.
1435
1435
  */
1436
- const COMPONENT_NAME$1t = 'Button';
1436
+ const COMPONENT_NAME$1y = 'Button';
1437
1437
 
1438
1438
  /**
1439
1439
  * Component default class name and class prefix.
1440
1440
  */
1441
- const CLASSNAME$1s = 'lumx-button';
1441
+ const CLASSNAME$1w = 'lumx-button';
1442
1442
  const {
1443
1443
  modifier
1444
- } = bem(CLASSNAME$1s);
1444
+ } = bem(CLASSNAME$1w);
1445
1445
 
1446
1446
  /**
1447
1447
  * Component default props.
@@ -1478,8 +1478,8 @@ const Button$1 = props => {
1478
1478
  variant: 'button'
1479
1479
  });
1480
1480
  };
1481
- Button$1.displayName = COMPONENT_NAME$1t;
1482
- Button$1.className = CLASSNAME$1s;
1481
+ Button$1.displayName = COMPONENT_NAME$1y;
1482
+ Button$1.className = CLASSNAME$1w;
1483
1483
  Button$1.defaultProps = DEFAULT_PROPS$1c;
1484
1484
 
1485
1485
  /**
@@ -1553,21 +1553,21 @@ const Button = forwardRef((props, ref) => {
1553
1553
  })
1554
1554
  });
1555
1555
  });
1556
- Button.displayName = COMPONENT_NAME$1t;
1557
- Button.className = CLASSNAME$1s;
1556
+ Button.displayName = COMPONENT_NAME$1y;
1557
+ Button.className = CLASSNAME$1w;
1558
1558
  Button.defaultProps = DEFAULT_PROPS$1c;
1559
1559
 
1560
- const COMPONENT_NAME$1s = 'Icon';
1560
+ const COMPONENT_NAME$1x = 'Icon';
1561
1561
  const IconClassName = 'lumx-icon';
1562
1562
 
1563
1563
  /**
1564
1564
  * Defines the props of the component.
1565
1565
  */
1566
1566
 
1567
- const CLASSNAME$1r = IconClassName;
1567
+ const CLASSNAME$1v = IconClassName;
1568
1568
  const {
1569
- block: block$15
1570
- } = bem(CLASSNAME$1r);
1569
+ block: block$17
1570
+ } = bem(CLASSNAME$1v);
1571
1571
 
1572
1572
  /**
1573
1573
  * Component default props.
@@ -1621,7 +1621,7 @@ const Icon$1 = props => {
1621
1621
  return /*#__PURE__*/jsx("i", {
1622
1622
  ref: ref,
1623
1623
  ...forwardedProps,
1624
- className: classnames(className, block$15({
1624
+ className: classnames(className, block$17({
1625
1625
  [`color-${iconColor}`]: Boolean(iconColor),
1626
1626
  [`color-variant-${iconColorVariant}`]: Boolean(iconColorVariant),
1627
1627
  'has-shape': hasShape,
@@ -1650,19 +1650,19 @@ const Icon$1 = props => {
1650
1650
  })
1651
1651
  });
1652
1652
  };
1653
- Icon$1.displayName = COMPONENT_NAME$1s;
1654
- Icon$1.className = CLASSNAME$1r;
1653
+ Icon$1.displayName = COMPONENT_NAME$1x;
1654
+ Icon$1.className = CLASSNAME$1v;
1655
1655
  Icon$1.defaultProps = DEFAULT_PROPS$1b;
1656
1656
 
1657
1657
  /**
1658
1658
  * Component display name.
1659
1659
  */
1660
- const COMPONENT_NAME$1r = 'IconButton';
1660
+ const COMPONENT_NAME$1w = 'IconButton';
1661
1661
 
1662
1662
  /**
1663
1663
  * Component default class name and class prefix.
1664
1664
  */
1665
- const CLASSNAME$1q = 'lumx-icon-button';
1665
+ const CLASSNAME$1u = 'lumx-icon-button';
1666
1666
 
1667
1667
  /**
1668
1668
  * Component default props.
@@ -1703,8 +1703,8 @@ const IconButton$1 = props => {
1703
1703
  children: defaultChildren
1704
1704
  });
1705
1705
  };
1706
- IconButton$1.displayName = COMPONENT_NAME$1r;
1707
- IconButton$1.className = CLASSNAME$1q;
1706
+ IconButton$1.displayName = COMPONENT_NAME$1w;
1707
+ IconButton$1.className = CLASSNAME$1u;
1708
1708
  IconButton$1.defaultProps = DEFAULT_PROPS$1a;
1709
1709
 
1710
1710
  /**
@@ -1748,19 +1748,19 @@ const IconButton = forwardRef((props, ref) => {
1748
1748
  })
1749
1749
  });
1750
1750
  });
1751
- IconButton.displayName = COMPONENT_NAME$1r;
1752
- IconButton.className = CLASSNAME$1q;
1751
+ IconButton.displayName = COMPONENT_NAME$1w;
1752
+ IconButton.className = CLASSNAME$1u;
1753
1753
  IconButton.defaultProps = DEFAULT_PROPS$1a;
1754
1754
 
1755
1755
  /**
1756
1756
  * Component display name.
1757
1757
  */
1758
- const COMPONENT_NAME$1q = 'ButtonGroup';
1758
+ const COMPONENT_NAME$1v = 'ButtonGroup';
1759
1759
 
1760
1760
  /**
1761
1761
  * Component default class name and class prefix.
1762
1762
  */
1763
- const CLASSNAME$1p = 'lumx-button-group';
1763
+ const CLASSNAME$1t = 'lumx-button-group';
1764
1764
 
1765
1765
  /**
1766
1766
  * Component default props.
@@ -1781,12 +1781,12 @@ const ButtonGroup$1 = props => {
1781
1781
  } = props;
1782
1782
  return /*#__PURE__*/jsx("div", {
1783
1783
  ...forwardedProps,
1784
- className: classnames(className, CLASSNAME$1p),
1784
+ className: classnames(className, CLASSNAME$1t),
1785
1785
  children: children
1786
1786
  });
1787
1787
  };
1788
- ButtonGroup$1.displayName = COMPONENT_NAME$1q;
1789
- ButtonGroup$1.className = CLASSNAME$1p;
1788
+ ButtonGroup$1.displayName = COMPONENT_NAME$1v;
1789
+ ButtonGroup$1.className = CLASSNAME$1t;
1790
1790
  ButtonGroup$1.defaultProps = DEFAULT_PROPS$19;
1791
1791
 
1792
1792
  /**
@@ -1802,16 +1802,16 @@ const ButtonGroup = forwardRef((props, ref) => {
1802
1802
  ...props
1803
1803
  });
1804
1804
  });
1805
- ButtonGroup.displayName = COMPONENT_NAME$1q;
1806
- ButtonGroup.className = CLASSNAME$1p;
1805
+ ButtonGroup.displayName = COMPONENT_NAME$1v;
1806
+ ButtonGroup.className = CLASSNAME$1t;
1807
1807
  ButtonGroup.defaultProps = DEFAULT_PROPS$19;
1808
1808
 
1809
- const COMPONENT_NAME$1p = 'InputLabel';
1809
+ const COMPONENT_NAME$1u = 'InputLabel';
1810
1810
  const InputLabelClassName = 'lumx-input-label';
1811
- const CLASSNAME$1o = InputLabelClassName;
1811
+ const CLASSNAME$1s = InputLabelClassName;
1812
1812
  const {
1813
- block: block$14
1814
- } = bem(CLASSNAME$1o);
1813
+ block: block$16
1814
+ } = bem(CLASSNAME$1s);
1815
1815
  const DEFAULT_PROPS$18 = {};
1816
1816
 
1817
1817
  /**
@@ -1834,7 +1834,7 @@ function InputLabel$1(props) {
1834
1834
  ref: ref,
1835
1835
  ...forwardedProps,
1836
1836
  htmlFor: htmlFor,
1837
- className: classnames(className, block$14({
1837
+ className: classnames(className, block$16({
1838
1838
  'is-required': isRequired,
1839
1839
  [`theme-${theme}`]: Boolean(theme),
1840
1840
  'has-custom-typography': Boolean(typography$1)
@@ -1842,8 +1842,8 @@ function InputLabel$1(props) {
1842
1842
  children: children
1843
1843
  });
1844
1844
  }
1845
- InputLabel$1.displayName = COMPONENT_NAME$1p;
1846
- InputLabel$1.className = CLASSNAME$1o;
1845
+ InputLabel$1.displayName = COMPONENT_NAME$1u;
1846
+ InputLabel$1.className = CLASSNAME$1s;
1847
1847
  InputLabel$1.defaultProps = DEFAULT_PROPS$18;
1848
1848
 
1849
1849
  const INPUT_HELPER_CONFIGURATION = {
@@ -1858,17 +1858,17 @@ const INPUT_HELPER_CONFIGURATION = {
1858
1858
  }
1859
1859
  };
1860
1860
 
1861
- const COMPONENT_NAME$1o = 'InputHelper';
1861
+ const COMPONENT_NAME$1t = 'InputHelper';
1862
1862
  const InputHelperClassName = 'lumx-input-helper';
1863
1863
 
1864
1864
  /**
1865
1865
  * Defines the props of the component.
1866
1866
  */
1867
1867
 
1868
- const CLASSNAME$1n = InputHelperClassName;
1868
+ const CLASSNAME$1r = InputHelperClassName;
1869
1869
  const {
1870
- block: block$13
1871
- } = bem(CLASSNAME$1n);
1870
+ block: block$15
1871
+ } = bem(CLASSNAME$1r);
1872
1872
 
1873
1873
  /**
1874
1874
  * Component default props.
@@ -1895,15 +1895,15 @@ function InputHelper$1(props) {
1895
1895
  return /*#__PURE__*/jsx("p", {
1896
1896
  ref: ref,
1897
1897
  ...forwardedProps,
1898
- className: classnames(className, block$13({
1898
+ className: classnames(className, block$15({
1899
1899
  [`color-${color}`]: Boolean(color),
1900
1900
  [`theme-${theme}`]: Boolean(theme)
1901
1901
  })),
1902
1902
  children: children
1903
1903
  });
1904
1904
  }
1905
- InputHelper$1.displayName = COMPONENT_NAME$1o;
1906
- InputHelper$1.className = CLASSNAME$1n;
1905
+ InputHelper$1.displayName = COMPONENT_NAME$1t;
1906
+ InputHelper$1.className = CLASSNAME$1r;
1907
1907
  InputHelper$1.defaultProps = DEFAULT_PROPS$17;
1908
1908
 
1909
1909
  const INTERMEDIATE_STATE = 'intermediate';
@@ -1915,16 +1915,16 @@ const INTERMEDIATE_STATE = 'intermediate';
1915
1915
  /**
1916
1916
  * Component display name.
1917
1917
  */
1918
- const COMPONENT_NAME$1n = 'Checkbox';
1918
+ const COMPONENT_NAME$1s = 'Checkbox';
1919
1919
 
1920
1920
  /**
1921
1921
  * Component default class name and class prefix.
1922
1922
  */
1923
- const CLASSNAME$1m = 'lumx-checkbox';
1923
+ const CLASSNAME$1q = 'lumx-checkbox';
1924
1924
  const {
1925
- block: block$12,
1926
- element: element$O
1927
- } = bem(CLASSNAME$1m);
1925
+ block: block$14,
1926
+ element: element$Q
1927
+ } = bem(CLASSNAME$1q);
1928
1928
 
1929
1929
  /**
1930
1930
  * Checkbox component.
@@ -1960,7 +1960,7 @@ const Checkbox$1 = props => {
1960
1960
  return /*#__PURE__*/jsxs("div", {
1961
1961
  ref: ref,
1962
1962
  ...forwardedProps,
1963
- className: classnames(className, block$12({
1963
+ className: classnames(className, block$14({
1964
1964
  // Whether state is intermediate class name will "-checked"
1965
1965
  'is-checked': intermediateState ? true : isChecked,
1966
1966
  'is-disabled': isDisabled,
@@ -1968,12 +1968,12 @@ const Checkbox$1 = props => {
1968
1968
  [`theme-${theme}`]: Boolean(theme)
1969
1969
  })),
1970
1970
  children: [/*#__PURE__*/jsxs("div", {
1971
- className: element$O('input-wrapper'),
1971
+ className: element$Q('input-wrapper'),
1972
1972
  children: [/*#__PURE__*/jsx("input", {
1973
1973
  ref: inputRef,
1974
1974
  type: "checkbox",
1975
1975
  id: inputId,
1976
- className: element$O('input-native'),
1976
+ className: element$Q('input-native'),
1977
1977
  name: name,
1978
1978
  value: value,
1979
1979
  checked: isChecked,
@@ -1985,26 +1985,26 @@ const Checkbox$1 = props => {
1985
1985
  } : {}),
1986
1986
  ...inputProps
1987
1987
  }), /*#__PURE__*/jsxs("div", {
1988
- className: element$O('input-placeholder'),
1988
+ className: element$Q('input-placeholder'),
1989
1989
  children: [/*#__PURE__*/jsx("div", {
1990
- className: element$O('input-background')
1990
+ className: element$Q('input-background')
1991
1991
  }), /*#__PURE__*/jsx("div", {
1992
- className: element$O('input-indicator'),
1992
+ className: element$Q('input-indicator'),
1993
1993
  children: Icon$1({
1994
1994
  icon: intermediateState ? mdiMinus : mdiCheck
1995
1995
  })
1996
1996
  })]
1997
1997
  })]
1998
1998
  }), /*#__PURE__*/jsxs("div", {
1999
- className: element$O('content'),
1999
+ className: element$Q('content'),
2000
2000
  children: [label && InputLabel$1({
2001
2001
  htmlFor: inputId,
2002
- className: element$O('label'),
2002
+ className: element$Q('label'),
2003
2003
  theme,
2004
2004
  children: label
2005
2005
  }), helper && InputHelper$1({
2006
2006
  id: `${inputId}-helper`,
2007
- className: element$O('helper'),
2007
+ className: element$Q('helper'),
2008
2008
  theme,
2009
2009
  children: helper
2010
2010
  })]
@@ -2079,8 +2079,8 @@ const Checkbox = forwardRef((props, ref) => {
2079
2079
  inputId
2080
2080
  });
2081
2081
  });
2082
- Checkbox.displayName = COMPONENT_NAME$1n;
2083
- Checkbox.className = CLASSNAME$1m;
2082
+ Checkbox.displayName = COMPONENT_NAME$1s;
2083
+ Checkbox.className = CLASSNAME$1q;
2084
2084
  Checkbox.defaultProps = DEFAULT_PROPS$16;
2085
2085
 
2086
2086
  /**
@@ -2102,16 +2102,16 @@ function useStopPropagation(handler) {
2102
2102
  /**
2103
2103
  * Component display name.
2104
2104
  */
2105
- const COMPONENT_NAME$1m = 'Chip';
2105
+ const COMPONENT_NAME$1r = 'Chip';
2106
2106
 
2107
2107
  /**
2108
2108
  * Component default class name and class prefix.
2109
2109
  */
2110
- const CLASSNAME$1l = 'lumx-chip';
2110
+ const CLASSNAME$1p = 'lumx-chip';
2111
2111
  const {
2112
- block: block$11,
2113
- element: element$N
2114
- } = bem(CLASSNAME$1l);
2112
+ block: block$13,
2113
+ element: element$P
2114
+ } = bem(CLASSNAME$1p);
2115
2115
 
2116
2116
  /**
2117
2117
  * Component default props.
@@ -2178,7 +2178,7 @@ const Chip$1 = props => {
2178
2178
  ...forwardedProps,
2179
2179
  href: !disabledStateProps.disabled ? href : undefined,
2180
2180
  ref: ref,
2181
- className: classnames(className, block$11({
2181
+ className: classnames(className, block$13({
2182
2182
  'is-clickable': isClickable,
2183
2183
  [`color-${chipColor}`]: Boolean(chipColor),
2184
2184
  'is-disabled': isAnyDisabled,
@@ -2195,19 +2195,19 @@ const Chip$1 = props => {
2195
2195
  /*#__PURE__*/
2196
2196
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
2197
2197
  jsx("div", {
2198
- className: element$N('before', {
2198
+ className: element$P('before', {
2199
2199
  'is-clickable': hasBeforeClick
2200
2200
  }),
2201
2201
  onClick: handleBeforeClick,
2202
2202
  children: before
2203
2203
  }), /*#__PURE__*/jsx("div", {
2204
- className: element$N('label'),
2204
+ className: element$P('label'),
2205
2205
  children: children
2206
2206
  }), after &&
2207
2207
  /*#__PURE__*/
2208
2208
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
2209
2209
  jsx("div", {
2210
- className: element$N('after', {
2210
+ className: element$P('after', {
2211
2211
  'is-clickable': hasAfterClick
2212
2212
  }),
2213
2213
  onClick: handleAfterClick,
@@ -2263,19 +2263,19 @@ const Chip = forwardRef((props, ref) => {
2263
2263
  ...forwardedProps
2264
2264
  });
2265
2265
  });
2266
- Chip.displayName = COMPONENT_NAME$1m;
2267
- Chip.className = CLASSNAME$1l;
2266
+ Chip.displayName = COMPONENT_NAME$1r;
2267
+ Chip.className = CLASSNAME$1p;
2268
2268
  Chip.defaultProps = DEFAULT_PROPS$15;
2269
2269
 
2270
2270
  /**
2271
2271
  * Component display name.
2272
2272
  */
2273
- const COMPONENT_NAME$1l = 'ChipGroup';
2273
+ const COMPONENT_NAME$1q = 'ChipGroup';
2274
2274
 
2275
2275
  /**
2276
2276
  * Component default class name and class prefix.
2277
2277
  */
2278
- const CLASSNAME$1k = 'lumx-chip-group';
2278
+ const CLASSNAME$1o = 'lumx-chip-group';
2279
2279
 
2280
2280
  /**
2281
2281
  * Component default props.
@@ -2298,7 +2298,7 @@ const ChipGroup$1 = props => {
2298
2298
  return /*#__PURE__*/jsx("div", {
2299
2299
  ref: ref,
2300
2300
  ...forwardedProps,
2301
- className: classnames(className, CLASSNAME$1k),
2301
+ className: classnames(className, CLASSNAME$1o),
2302
2302
  children: children
2303
2303
  });
2304
2304
  };
@@ -2376,8 +2376,8 @@ const InternalChipGroup = forwardRef((props, ref) => {
2376
2376
  ...forwardedProps
2377
2377
  });
2378
2378
  });
2379
- InternalChipGroup.displayName = COMPONENT_NAME$1l;
2380
- InternalChipGroup.className = CLASSNAME$1k;
2379
+ InternalChipGroup.displayName = COMPONENT_NAME$1q;
2380
+ InternalChipGroup.className = CLASSNAME$1o;
2381
2381
  InternalChipGroup.defaultProps = DEFAULT_PROPS$14;
2382
2382
  const ChipGroup = Object.assign(InternalChipGroup, {
2383
2383
  useChipGroupNavigation
@@ -2386,16 +2386,16 @@ const ChipGroup = Object.assign(InternalChipGroup, {
2386
2386
  /**
2387
2387
  * Component display name.
2388
2388
  */
2389
- const COMPONENT_NAME$1k = 'SelectionChipGroup';
2389
+ const COMPONENT_NAME$1p = 'SelectionChipGroup';
2390
2390
 
2391
2391
  /**
2392
2392
  * Component default class name and class prefix.
2393
2393
  */
2394
- const CLASSNAME$1j = 'lumx-selection-chip-group';
2394
+ const CLASSNAME$1n = 'lumx-selection-chip-group';
2395
2395
  const {
2396
- block: block$10,
2397
- element: element$M
2398
- } = bem(CLASSNAME$1j);
2396
+ block: block$12,
2397
+ element: element$O
2398
+ } = bem(CLASSNAME$1n);
2399
2399
 
2400
2400
  /**
2401
2401
  * SelectionChipGroup component.
@@ -2433,7 +2433,7 @@ const SelectionChipGroup$1 = (props, {
2433
2433
  "aria-label": label,
2434
2434
  "aria-multiselectable": "true",
2435
2435
  "aria-orientation": "horizontal",
2436
- className: block$10([className]),
2436
+ className: block$12([className]),
2437
2437
  children: value.map(v => {
2438
2438
  const name = getOptionName && getWithSelector(getOptionName, v) || getWithSelector(getOptionId, v);
2439
2439
  const id = getWithSelector(getOptionId, v);
@@ -2452,7 +2452,7 @@ const SelectionChipGroup$1 = (props, {
2452
2452
  after: /*#__PURE__*/jsx(Icon, {
2453
2453
  icon: mdiClose
2454
2454
  }),
2455
- className: element$M('chip', [customProps.className]),
2455
+ className: element$O('chip', [customProps.className]),
2456
2456
  "data-option-id": id,
2457
2457
  isClickable: true,
2458
2458
  role: "option",
@@ -2491,10 +2491,10 @@ function createSelectorTreeWalker(container, selector) {
2491
2491
  }
2492
2492
 
2493
2493
  /** CSS selector for enabled chips (not aria-disabled). */
2494
- const ENABLED_CHIP_SELECTOR = `.${CLASSNAME$1l}:not([aria-disabled="true"])`;
2494
+ const ENABLED_CHIP_SELECTOR = `.${CLASSNAME$1p}:not([aria-disabled="true"])`;
2495
2495
 
2496
2496
  /** Find the closest chip element from an event target. */
2497
- const getChip = target => target?.closest?.(`.${CLASSNAME$1l}`) || null;
2497
+ const getChip = target => target?.closest?.(`.${CLASSNAME$1p}`) || null;
2498
2498
 
2499
2499
  /** Whether the chip is marked as disabled via aria-disabled. */
2500
2500
  const isChipDisabled = chip => chip?.getAttribute('aria-disabled') === 'true';
@@ -2708,15 +2708,15 @@ function wrapChildrenIconWithSpaces(children) {
2708
2708
  /**
2709
2709
  * Component display name.
2710
2710
  */
2711
- const COMPONENT_NAME$1j = 'Text';
2711
+ const COMPONENT_NAME$1o = 'Text';
2712
2712
 
2713
2713
  /**
2714
2714
  * Component default class name and class prefix.
2715
2715
  */
2716
- const CLASSNAME$1i = 'lumx-text';
2716
+ const CLASSNAME$1m = 'lumx-text';
2717
2717
  const {
2718
- block: block$$
2719
- } = bem(CLASSNAME$1i);
2718
+ block: block$11
2719
+ } = bem(CLASSNAME$1m);
2720
2720
 
2721
2721
  /**
2722
2722
  * Component default props.
@@ -2757,7 +2757,7 @@ const getTextProps = props => {
2757
2757
  '--lumx-text-white-space': whiteSpace
2758
2758
  };
2759
2759
  return {
2760
- className: classnames(className, block$$({
2760
+ className: classnames(className, block$11({
2761
2761
  'is-truncated': isTruncated && !isTruncatedMultiline,
2762
2762
  'is-truncated-multiline': isTruncatedMultiline,
2763
2763
  'no-wrap': noWrap
@@ -2806,8 +2806,8 @@ const Text = forwardRef((props, ref) => {
2806
2806
  children: wrapChildrenIconWithSpaces(children)
2807
2807
  });
2808
2808
  });
2809
- Text.displayName = COMPONENT_NAME$1j;
2810
- Text.className = CLASSNAME$1i;
2809
+ Text.displayName = COMPONENT_NAME$1o;
2810
+ Text.className = CLASSNAME$1m;
2811
2811
  Text.defaultProps = DEFAULT_PROPS$13;
2812
2812
 
2813
2813
  /**
@@ -4900,16 +4900,16 @@ const DEFAULT_PROPS$12 = {
4900
4900
  /**
4901
4901
  * Component display name.
4902
4902
  */
4903
- const COMPONENT_NAME$1i = 'Tooltip';
4903
+ const COMPONENT_NAME$1n = 'Tooltip';
4904
4904
 
4905
4905
  /**
4906
4906
  * Component default class name and class prefix.
4907
4907
  */
4908
- const CLASSNAME$1h = 'lumx-tooltip';
4908
+ const CLASSNAME$1l = 'lumx-tooltip';
4909
4909
  const {
4910
- block: block$_,
4911
- element: element$L
4912
- } = bem(CLASSNAME$1h);
4910
+ block: block$10,
4911
+ element: element$N
4912
+ } = bem(CLASSNAME$1l);
4913
4913
 
4914
4914
  /**
4915
4915
  * Props for the TooltipPopup rendering component.
@@ -4940,7 +4940,7 @@ const TooltipPopup = props => {
4940
4940
  ...forwardedProps,
4941
4941
  id: id,
4942
4942
  role: "tooltip",
4943
- className: classnames(className, block$_({
4943
+ className: classnames(className, block$10({
4944
4944
  [`position-${position}`]: Boolean(position)
4945
4945
  }), isHidden && visuallyHidden()),
4946
4946
  style: {
@@ -4949,17 +4949,17 @@ const TooltipPopup = props => {
4949
4949
  },
4950
4950
  "data-popper-placement": position,
4951
4951
  children: [/*#__PURE__*/jsx("div", {
4952
- className: element$L('arrow')
4952
+ className: element$N('arrow')
4953
4953
  }), /*#__PURE__*/jsx("div", {
4954
- className: element$L('inner'),
4954
+ className: element$N('inner'),
4955
4955
  children: labelLines.map((line, index) => /*#__PURE__*/jsx("p", {
4956
4956
  children: line
4957
4957
  }, index))
4958
4958
  })]
4959
4959
  });
4960
4960
  };
4961
- TooltipPopup.displayName = COMPONENT_NAME$1i;
4962
- TooltipPopup.className = CLASSNAME$1h;
4961
+ TooltipPopup.displayName = COMPONENT_NAME$1n;
4962
+ TooltipPopup.className = CLASSNAME$1l;
4963
4963
 
4964
4964
  /**
4965
4965
  * Add ref and ARIA attribute(s) in tooltip children or wrapped children.
@@ -5321,8 +5321,8 @@ const Tooltip = forwardRef((props, ref) => {
5321
5321
  })]
5322
5322
  });
5323
5323
  });
5324
- Tooltip.displayName = COMPONENT_NAME$1i;
5325
- Tooltip.className = CLASSNAME$1h;
5324
+ Tooltip.displayName = COMPONENT_NAME$1n;
5325
+ Tooltip.className = CLASSNAME$1l;
5326
5326
  Tooltip.defaultProps = DEFAULT_PROPS$12;
5327
5327
 
5328
5328
  /** Create a pending navigation store; discards intent on abort. */
@@ -6192,8 +6192,8 @@ const SelectionChipGroup = ({
6192
6192
  }, [container, inputRef, getOptionId]);
6193
6193
  useRovingTabIndexContainer({
6194
6194
  containerRef: container,
6195
- itemSelector: `.${CLASSNAME$1l}`,
6196
- itemDisabledSelector: `.${CLASSNAME$1l}[aria-disabled="true"]`
6195
+ itemSelector: `.${CLASSNAME$1p}`,
6196
+ itemDisabledSelector: `.${CLASSNAME$1p}[aria-disabled="true"]`
6197
6197
  });
6198
6198
 
6199
6199
  // Merge getChipProps and renderChip: getChipProps provides base props, renderChip overrides them,
@@ -6233,8 +6233,8 @@ const SelectionChipGroup = ({
6233
6233
  Tooltip
6234
6234
  });
6235
6235
  };
6236
- SelectionChipGroup.displayName = COMPONENT_NAME$1k;
6237
- SelectionChipGroup.className = CLASSNAME$1j;
6236
+ SelectionChipGroup.displayName = COMPONENT_NAME$1p;
6237
+ SelectionChipGroup.className = CLASSNAME$1n;
6238
6238
 
6239
6239
  /**
6240
6240
  * Get the value for a combobox option element.
@@ -7020,7 +7020,12 @@ function createTypeahead(getWalker, getItemValue, signal) {
7020
7020
  };
7021
7021
  }
7022
7022
 
7023
- /** Is the key a single printable character (not Space, no modifier keys)? */
7023
+ /**
7024
+ * Is the key a single printable character (not Space, no modifier keys)?
7025
+ *
7026
+ * Used by typeahead-style keyboard handlers (menu, combobox) to detect when a
7027
+ * keypress should start/continue a type-to-search rather than trigger navigation.
7028
+ */
7024
7029
  function isPrintableKey({
7025
7030
  key,
7026
7031
  altKey,
@@ -7135,12 +7140,12 @@ function setupComboboxButton(button, callbacks) {
7135
7140
  /**
7136
7141
  * Component display name.
7137
7142
  */
7138
- const COMPONENT_NAME$1h = 'ComboboxButton';
7143
+ const COMPONENT_NAME$1m = 'ComboboxButton';
7139
7144
 
7140
7145
  /**
7141
7146
  * Component default class name and class prefix.
7142
7147
  */
7143
- const CLASSNAME$1g = 'lumx-combobox-button';
7148
+ const CLASSNAME$1k = 'lumx-combobox-button';
7144
7149
 
7145
7150
  /**
7146
7151
  * ComboboxButton core template.
@@ -7180,7 +7185,7 @@ const ComboboxButton$1 = (props, {
7180
7185
  const componentProps = {
7181
7186
  ref,
7182
7187
  ...forwardedProps,
7183
- className: classnames(className, CLASSNAME$1g),
7188
+ className: classnames(className, CLASSNAME$1k),
7184
7189
  role: 'combobox',
7185
7190
  'aria-controls': listboxId,
7186
7191
  'aria-haspopup': 'listbox',
@@ -7320,8 +7325,8 @@ const ComboboxButton = Object.assign(forwardRefPolymorphic((props, ref) => {
7320
7325
  Tooltip
7321
7326
  });
7322
7327
  }), {
7323
- displayName: COMPONENT_NAME$1h,
7324
- className: CLASSNAME$1g
7328
+ displayName: COMPONENT_NAME$1m,
7329
+ className: CLASSNAME$1k
7325
7330
  });
7326
7331
 
7327
7332
  /** Options for configuring the input-mode combobox controller. */
@@ -7481,12 +7486,12 @@ function getDisabledState(context, props) {
7481
7486
  /**
7482
7487
  * Component display name.
7483
7488
  */
7484
- const COMPONENT_NAME$1g = 'ComboboxInput';
7489
+ const COMPONENT_NAME$1l = 'ComboboxInput';
7485
7490
 
7486
7491
  /**
7487
7492
  * Component default class name and class prefix.
7488
7493
  */
7489
- const CLASSNAME$1f = 'lumx-combobox-input';
7494
+ const CLASSNAME$1j = 'lumx-combobox-input';
7490
7495
 
7491
7496
  /**
7492
7497
  * ComboboxInput core template.
@@ -7549,22 +7554,22 @@ const ComboboxInput$1 = (props, {
7549
7554
  /**
7550
7555
  * Component display name.
7551
7556
  */
7552
- const COMPONENT_NAME$1f = 'TextField';
7557
+ const COMPONENT_NAME$1k = 'TextField';
7553
7558
 
7554
7559
  /**
7555
7560
  * Component default class name and class prefix.
7556
7561
  */
7557
- const CLASSNAME$1e = 'lumx-text-field';
7562
+ const CLASSNAME$1i = 'lumx-text-field';
7558
7563
 
7559
7564
  /**
7560
7565
  * Input native element class name.
7561
7566
  */
7562
- const INPUT_NATIVE_CLASSNAME = `${CLASSNAME$1e}__input-native`;
7567
+ const INPUT_NATIVE_CLASSNAME = `${CLASSNAME$1i}__input-native`;
7563
7568
 
7564
7569
  const {
7565
- block: block$Z,
7566
- element: element$K
7567
- } = bem(CLASSNAME$1e);
7570
+ block: block$$,
7571
+ element: element$M
7572
+ } = bem(CLASSNAME$1i);
7568
7573
 
7569
7574
  /**
7570
7575
  * Defines the props of the component.
@@ -7636,7 +7641,7 @@ const TextField$1 = props => {
7636
7641
  const isNotEmpty = valueLength > 0;
7637
7642
  return /*#__PURE__*/jsxs("div", {
7638
7643
  ref: ref,
7639
- className: classnames(className, block$Z({
7644
+ className: classnames(className, block$$({
7640
7645
  'has-chips': Boolean(chips),
7641
7646
  'has-error': !isValid && hasError,
7642
7647
  'has-icon': Boolean(icon),
@@ -7652,17 +7657,17 @@ const TextField$1 = props => {
7652
7657
  [`theme-${theme}`]: Boolean(theme)
7653
7658
  })),
7654
7659
  children: [(label || maxLength) && /*#__PURE__*/jsxs("div", {
7655
- className: element$K('header'),
7660
+ className: element$M('header'),
7656
7661
  children: [label && InputLabel$1({
7657
7662
  ...labelProps,
7658
7663
  id: labelId,
7659
7664
  htmlFor: textFieldId,
7660
- className: element$K('label'),
7665
+ className: element$M('label'),
7661
7666
  isRequired,
7662
7667
  theme,
7663
7668
  children: label
7664
7669
  }), maxLength && /*#__PURE__*/jsxs("div", {
7665
- className: element$K('char-counter'),
7670
+ className: element$M('char-counter'),
7666
7671
  children: [/*#__PURE__*/jsx("span", {
7667
7672
  children: maxLength - valueLength
7668
7673
  }), maxLength - valueLength === 0 && Icon$1({
@@ -7671,45 +7676,45 @@ const TextField$1 = props => {
7671
7676
  })]
7672
7677
  })]
7673
7678
  }), /*#__PURE__*/jsxs("div", {
7674
- className: element$K('wrapper'),
7679
+ className: element$M('wrapper'),
7675
7680
  ref: textFieldRef,
7676
7681
  children: [icon && Icon$1({
7677
- className: element$K('input-icon'),
7682
+ className: element$M('input-icon'),
7678
7683
  color: theme === Theme.dark ? 'light' : undefined,
7679
7684
  icon,
7680
7685
  size: Size.xs
7681
7686
  }), chips ? /*#__PURE__*/jsxs("div", {
7682
- className: element$K('chips'),
7687
+ className: element$M('chips'),
7683
7688
  children: [chips, input]
7684
7689
  }) : /*#__PURE__*/jsx("div", {
7685
- className: element$K('input-wrapper'),
7690
+ className: element$M('input-wrapper'),
7686
7691
  children: input
7687
7692
  }), (isValid || hasError) && Icon$1({
7688
- className: element$K('input-validity'),
7693
+ className: element$M('input-validity'),
7689
7694
  color: theme === Theme.dark ? 'light' : undefined,
7690
7695
  icon: isValid ? mdiCheckCircle : mdiAlertCircle,
7691
7696
  size: Size.xxs
7692
7697
  }), clearButtonProps && isNotEmpty && !isAnyDisabled && /*#__PURE__*/jsx(IconButton, {
7693
7698
  "aria-describedby": labelId,
7694
7699
  ...clearButtonProps,
7695
- className: element$K('input-clear'),
7700
+ className: element$M('input-clear'),
7696
7701
  icon: mdiCloseCircle,
7697
7702
  emphasis: Emphasis.low,
7698
7703
  size: Size.s,
7699
7704
  theme: theme,
7700
7705
  type: "button"
7701
7706
  }), afterElement && /*#__PURE__*/jsx("div", {
7702
- className: element$K('after-element'),
7707
+ className: element$M('after-element'),
7703
7708
  children: afterElement
7704
7709
  })]
7705
7710
  }), hasError && error && InputHelper$1({
7706
7711
  children: error,
7707
- className: element$K('helper'),
7712
+ className: element$M('helper'),
7708
7713
  kind: Kind.error,
7709
7714
  theme,
7710
7715
  id: errorId
7711
7716
  }), helper && InputHelper$1({
7712
- className: element$K('helper'),
7717
+ className: element$M('helper'),
7713
7718
  theme,
7714
7719
  id: helperId,
7715
7720
  children: helper
@@ -7718,7 +7723,7 @@ const TextField$1 = props => {
7718
7723
  };
7719
7724
 
7720
7725
  const {
7721
- block: block$Y
7726
+ block: block$_
7722
7727
  } = bem(INPUT_NATIVE_CLASSNAME);
7723
7728
 
7724
7729
  /**
@@ -7761,7 +7766,7 @@ const RawInputText$1 = props => {
7761
7766
  name: name,
7762
7767
  type: type,
7763
7768
  ref: ref,
7764
- className: classnames(className, block$Y({
7769
+ className: classnames(className, block$_({
7765
7770
  [`theme-${theme}`]: Boolean(theme),
7766
7771
  text: true
7767
7772
  })),
@@ -7797,7 +7802,7 @@ const RawInputText = forwardRef((props, ref) => {
7797
7802
  });
7798
7803
 
7799
7804
  const {
7800
- block: block$X
7805
+ block: block$Z
7801
7806
  } = bem(INPUT_NATIVE_CLASSNAME);
7802
7807
 
7803
7808
  /**
@@ -7839,7 +7844,7 @@ const RawInputTextarea$1 = props => {
7839
7844
  ...forwardedProps,
7840
7845
  name: name,
7841
7846
  ref: ref,
7842
- className: classnames(className, block$X({
7847
+ className: classnames(className, block$Z({
7843
7848
  [`theme-${theme}`]: Boolean(theme),
7844
7849
  textarea: true
7845
7850
  })),
@@ -8085,8 +8090,8 @@ const TextField = forwardRef((props, ref) => {
8085
8090
  } : undefined
8086
8091
  });
8087
8092
  });
8088
- TextField.displayName = COMPONENT_NAME$1f;
8089
- TextField.className = CLASSNAME$1e;
8093
+ TextField.displayName = COMPONENT_NAME$1k;
8094
+ TextField.className = CLASSNAME$1i;
8090
8095
  TextField.defaultProps = DEFAULT_PROPS$_;
8091
8096
 
8092
8097
  /**
@@ -8164,21 +8169,21 @@ const ComboboxInput = forwardRef((props, ref) => {
8164
8169
  IconButton
8165
8170
  });
8166
8171
  });
8167
- ComboboxInput.displayName = COMPONENT_NAME$1g;
8168
- ComboboxInput.className = CLASSNAME$1f;
8172
+ ComboboxInput.displayName = COMPONENT_NAME$1l;
8173
+ ComboboxInput.className = CLASSNAME$1j;
8169
8174
 
8170
8175
  /**
8171
8176
  * Component display name.
8172
8177
  */
8173
- const COMPONENT_NAME$1e = 'List';
8178
+ const COMPONENT_NAME$1j = 'List';
8174
8179
 
8175
8180
  /**
8176
8181
  * Component default class name and class prefix.
8177
8182
  */
8178
- const CLASSNAME$1d = 'lumx-list';
8183
+ const CLASSNAME$1h = 'lumx-list';
8179
8184
  const {
8180
- block: block$W
8181
- } = bem(CLASSNAME$1d);
8185
+ block: block$Y
8186
+ } = bem(CLASSNAME$1h);
8182
8187
 
8183
8188
  /**
8184
8189
  * Component default props.
@@ -8201,15 +8206,15 @@ const List$1 = props => {
8201
8206
  } = props;
8202
8207
  return /*#__PURE__*/jsx("ul", {
8203
8208
  ...forwardedProps,
8204
- className: classnames(className, block$W({
8209
+ className: classnames(className, block$Y({
8205
8210
  [`item-padding-${itemPadding}`]: Boolean(itemPadding)
8206
8211
  })),
8207
8212
  ref: ref,
8208
8213
  children: children
8209
8214
  });
8210
8215
  };
8211
- List$1.displayName = COMPONENT_NAME$1e;
8212
- List$1.className = CLASSNAME$1d;
8216
+ List$1.displayName = COMPONENT_NAME$1j;
8217
+ List$1.className = CLASSNAME$1h;
8213
8218
  List$1.defaultProps = DEFAULT_PROPS$Z;
8214
8219
 
8215
8220
  /**
@@ -8225,12 +8230,12 @@ List$1.defaultProps = DEFAULT_PROPS$Z;
8225
8230
  /**
8226
8231
  * Component display name.
8227
8232
  */
8228
- const COMPONENT_NAME$1d = 'ComboboxList';
8233
+ const COMPONENT_NAME$1i = 'ComboboxList';
8229
8234
 
8230
8235
  /**
8231
8236
  * Component default class name and class prefix.
8232
8237
  */
8233
- const CLASSNAME$1c = 'lumx-combobox-list';
8238
+ const CLASSNAME$1g = 'lumx-combobox-list';
8234
8239
 
8235
8240
  /**
8236
8241
  * ComboboxList core template.
@@ -8252,7 +8257,7 @@ const ComboboxList$1 = props => {
8252
8257
  } = props;
8253
8258
  return List$1({
8254
8259
  ...forwardedProps,
8255
- className: classnames(className, CLASSNAME$1c),
8260
+ className: classnames(className, CLASSNAME$1g),
8256
8261
  ref,
8257
8262
  itemPadding: 'big',
8258
8263
  id,
@@ -8342,22 +8347,22 @@ const ComboboxList = forwardRef((props, ref) => {
8342
8347
  })
8343
8348
  });
8344
8349
  });
8345
- ComboboxList.displayName = COMPONENT_NAME$1d;
8346
- ComboboxList.className = CLASSNAME$1c;
8350
+ ComboboxList.displayName = COMPONENT_NAME$1i;
8351
+ ComboboxList.className = CLASSNAME$1g;
8347
8352
 
8348
8353
  /**
8349
8354
  * Component display name.
8350
8355
  */
8351
- const COMPONENT_NAME$1c = 'ListItem';
8356
+ const COMPONENT_NAME$1h = 'ListItem';
8352
8357
 
8353
8358
  /**
8354
8359
  * Component default class name and class prefix.
8355
8360
  */
8356
- const CLASSNAME$1b = 'lumx-list-item';
8361
+ const CLASSNAME$1f = 'lumx-list-item';
8357
8362
  const {
8358
- block: block$V,
8359
- element: element$J
8360
- } = bem(CLASSNAME$1b);
8363
+ block: block$X,
8364
+ element: element$L
8365
+ } = bem(CLASSNAME$1f);
8361
8366
 
8362
8367
  /**
8363
8368
  * Component default props.
@@ -8394,7 +8399,7 @@ const ListItem$1 = props => {
8394
8399
  return /*#__PURE__*/jsx("li", {
8395
8400
  ref: ref,
8396
8401
  ...forwardedProps,
8397
- className: classnames(className, block$V({
8402
+ className: classnames(className, block$X({
8398
8403
  [`size-${size}`]: Boolean(size)
8399
8404
  })),
8400
8405
  children: RawClickable({
@@ -8402,7 +8407,7 @@ const ListItem$1 = props => {
8402
8407
  isDisabled,
8403
8408
  'aria-disabled': ariaDisabled,
8404
8409
  ...linkProps,
8405
- className: element$J(clickable ? 'link' : 'wrapper', {
8410
+ className: element$L(clickable ? 'link' : 'wrapper', {
8406
8411
  'is-highlighted': isHighlighted,
8407
8412
  'is-selected': isSelected,
8408
8413
  'is-disabled': isDisabled || ariaDisabled === 'true'
@@ -8411,21 +8416,21 @@ const ListItem$1 = props => {
8411
8416
  ref: linkRef,
8412
8417
  children: /*#__PURE__*/jsxs(Fragment, {
8413
8418
  children: [before && /*#__PURE__*/jsx("div", {
8414
- className: element$J('before'),
8419
+ className: element$L('before'),
8415
8420
  children: before
8416
8421
  }), /*#__PURE__*/jsx("div", {
8417
- className: element$J('content'),
8422
+ className: element$L('content'),
8418
8423
  children: children
8419
8424
  }), after && /*#__PURE__*/jsx("div", {
8420
- className: element$J('after'),
8425
+ className: element$L('after'),
8421
8426
  children: after
8422
8427
  })]
8423
8428
  })
8424
8429
  })
8425
8430
  });
8426
8431
  };
8427
- ListItem$1.displayName = COMPONENT_NAME$1c;
8428
- ListItem$1.className = CLASSNAME$1b;
8432
+ ListItem$1.displayName = COMPONENT_NAME$1h;
8433
+ ListItem$1.className = CLASSNAME$1f;
8429
8434
  ListItem$1.defaultProps = DEFAULT_PROPS$Y;
8430
8435
 
8431
8436
  /**
@@ -8435,12 +8440,12 @@ ListItem$1.defaultProps = DEFAULT_PROPS$Y;
8435
8440
  /**
8436
8441
  * Component display name.
8437
8442
  */
8438
- const COMPONENT_NAME$1b = 'ListItemAction';
8443
+ const COMPONENT_NAME$1g = 'ListItemAction';
8439
8444
 
8440
8445
  /**
8441
8446
  * Component classname (used by action area CSS pattern).
8442
8447
  */
8443
- const CLASSNAME$1a = 'lumx-action-area__action';
8448
+ const CLASSNAME$1e = 'lumx-action-area__action';
8444
8449
  const DEFAULT_PROPS$X = {};
8445
8450
 
8446
8451
  /**
@@ -8474,16 +8479,16 @@ const ListItemAction$1 = props => {
8474
8479
  /**
8475
8480
  * Component display name.
8476
8481
  */
8477
- const COMPONENT_NAME$1a = 'ComboboxOption';
8482
+ const COMPONENT_NAME$1f = 'ComboboxOption';
8478
8483
 
8479
8484
  /**
8480
8485
  * Component default class name and class prefix.
8481
8486
  */
8482
- const CLASSNAME$19 = 'lumx-combobox-option';
8487
+ const CLASSNAME$1d = 'lumx-combobox-option';
8483
8488
  const {
8484
- block: block$U,
8485
- element: element$I
8486
- } = bem(CLASSNAME$19);
8489
+ block: block$W,
8490
+ element: element$K
8491
+ } = bem(CLASSNAME$1d);
8487
8492
 
8488
8493
  /**
8489
8494
  * ComboboxOption core template.
@@ -8527,7 +8532,7 @@ const ComboboxOption$1 = (props, {
8527
8532
  as: 'button',
8528
8533
  ...actionProps,
8529
8534
  id,
8530
- className: element$I('action'),
8535
+ className: element$K('action'),
8531
8536
  handleClick,
8532
8537
  'aria-selected': isSelected ? 'true' : 'false',
8533
8538
  'data-value': value,
@@ -8545,7 +8550,7 @@ const ComboboxOption$1 = (props, {
8545
8550
  size: 'tiny',
8546
8551
  ...forwardedProps,
8547
8552
  hidden,
8548
- className: !hidden ? classnames(className, block$U()) : undefined,
8553
+ className: !hidden ? classnames(className, block$W()) : undefined,
8549
8554
  before,
8550
8555
  after,
8551
8556
  role: itemRole,
@@ -8553,7 +8558,7 @@ const ComboboxOption$1 = (props, {
8553
8558
  children: [wrappedAction, description && /*#__PURE__*/jsx("p", {
8554
8559
  id: descriptionId,
8555
8560
  ...getTextProps({
8556
- className: element$I('description'),
8561
+ className: element$K('description'),
8557
8562
  typography: 'caption',
8558
8563
  color: 'dark-L2'
8559
8564
  }),
@@ -8667,8 +8672,8 @@ const ComboboxOption = forwardRef((props, ref) => {
8667
8672
  Tooltip
8668
8673
  });
8669
8674
  });
8670
- ComboboxOption.displayName = COMPONENT_NAME$1a;
8671
- ComboboxOption.className = CLASSNAME$19;
8675
+ ComboboxOption.displayName = COMPONENT_NAME$1f;
8676
+ ComboboxOption.className = CLASSNAME$1d;
8672
8677
 
8673
8678
  /**
8674
8679
  * Defines the props for the core ComboboxOptionAction template.
@@ -8677,12 +8682,12 @@ ComboboxOption.className = CLASSNAME$19;
8677
8682
  /**
8678
8683
  * Component display name.
8679
8684
  */
8680
- const COMPONENT_NAME$19 = 'ComboboxOptionAction';
8685
+ const COMPONENT_NAME$1e = 'ComboboxOptionAction';
8681
8686
 
8682
8687
  /**
8683
8688
  * Component default class name and class prefix.
8684
8689
  */
8685
- const CLASSNAME$18 = 'lumx-combobox-option-action';
8690
+ const CLASSNAME$1c = 'lumx-combobox-option-action';
8686
8691
 
8687
8692
  /**
8688
8693
  * ComboboxOptionAction core template.
@@ -8705,7 +8710,7 @@ const ComboboxOptionAction$1 = props => {
8705
8710
  as: Element,
8706
8711
  ...forwardedProps,
8707
8712
  role: 'gridcell',
8708
- className: classnames(className, CLASSNAME$18),
8713
+ className: classnames(className, CLASSNAME$1c),
8709
8714
  handleClick,
8710
8715
  children
8711
8716
  });
@@ -8755,23 +8760,23 @@ const ComboboxOptionAction = Object.assign(forwardRefPolymorphic((props, ref) =>
8755
8760
  children
8756
8761
  });
8757
8762
  }), {
8758
- displayName: COMPONENT_NAME$19,
8759
- className: CLASSNAME$18
8763
+ displayName: COMPONENT_NAME$1e,
8764
+ className: CLASSNAME$1c
8760
8765
  });
8761
8766
 
8762
8767
  /**
8763
8768
  * Component display name.
8764
8769
  */
8765
- const COMPONENT_NAME$18 = 'ComboboxOptionMoreInfo';
8770
+ const COMPONENT_NAME$1d = 'ComboboxOptionMoreInfo';
8766
8771
 
8767
8772
  /**
8768
8773
  * Component default class name and class prefix.
8769
8774
  */
8770
- const CLASSNAME$17 = 'lumx-combobox-option-more-info';
8775
+ const CLASSNAME$1b = 'lumx-combobox-option-more-info';
8771
8776
  const {
8772
- block: block$T,
8773
- element: element$H
8774
- } = bem(CLASSNAME$17);
8777
+ block: block$V,
8778
+ element: element$J
8779
+ } = bem(CLASSNAME$1b);
8775
8780
 
8776
8781
  /**
8777
8782
  * ComboboxOptionMoreInfo core template.
@@ -8805,7 +8810,7 @@ const ComboboxOptionMoreInfo$1 = (props, {
8805
8810
  icon: mdiInformationOutline,
8806
8811
  size: "s",
8807
8812
  ...buttonProps,
8808
- className: block$T([className, buttonProps?.className]),
8813
+ className: block$V([className, buttonProps?.className]),
8809
8814
  emphasis: "low",
8810
8815
  onMouseEnter: onMouseEnter,
8811
8816
  onMouseLeave: onMouseLeave
@@ -8816,7 +8821,7 @@ const ComboboxOptionMoreInfo$1 = (props, {
8816
8821
  label: ""
8817
8822
  }), /*#__PURE__*/jsx(Popover, {
8818
8823
  id: popoverId,
8819
- className: element$H('popover'),
8824
+ className: element$J('popover'),
8820
8825
  anchorRef: ref,
8821
8826
  isOpen: isOpen,
8822
8827
  closeMode: "unmount",
@@ -9088,16 +9093,16 @@ const POPOVER_ZINDEX = 9999;
9088
9093
  /**
9089
9094
  * Component display name.
9090
9095
  */
9091
- const COMPONENT_NAME$17 = 'Popover';
9096
+ const COMPONENT_NAME$1c = 'Popover';
9092
9097
 
9093
9098
  /**
9094
9099
  * Component default class name and class prefix.
9095
9100
  */
9096
- const CLASSNAME$16 = 'lumx-popover';
9101
+ const CLASSNAME$1a = 'lumx-popover';
9097
9102
  const {
9098
- block: block$S,
9099
- element: element$G
9100
- } = bem(CLASSNAME$16);
9103
+ block: block$U,
9104
+ element: element$I
9105
+ } = bem(CLASSNAME$1a);
9101
9106
 
9102
9107
  /**
9103
9108
  * Component default props (used by framework wrappers).
@@ -9159,7 +9164,7 @@ const Popover$1 = (props, {
9159
9164
  children: /*#__PURE__*/jsxs(Component, {
9160
9165
  ...forwardedProps,
9161
9166
  ref: ref,
9162
- className: classnames(className, block$S({
9167
+ className: classnames(className, block$U({
9163
9168
  [`theme-${theme}`]: Boolean(theme),
9164
9169
  [`elevation-${adjustedElevation}`]: Boolean(adjustedElevation),
9165
9170
  [`position-${position}`]: Boolean(position),
@@ -9173,7 +9178,7 @@ const Popover$1 = (props, {
9173
9178
  childrenRefs: clickAwayRefs,
9174
9179
  children: [hasArrow && /*#__PURE__*/jsx("div", {
9175
9180
  ref: arrowRef,
9176
- className: element$G('arrow'),
9181
+ className: element$I('arrow'),
9177
9182
  style: isHidden ? undefined : arrowStyle,
9178
9183
  children: /*#__PURE__*/jsx("svg", {
9179
9184
  viewBox: "0 0 14 14",
@@ -9224,11 +9229,17 @@ function useRestoreFocusOnClose({
9224
9229
  const prevIsOpenRef = React__default.useRef(isOpen);
9225
9230
  const tryRestoreFocus = React__default.useCallback(() => {
9226
9231
  if (!popoverElement || !focusAnchorOnClose) return;
9227
- const isFocusWithin = popoverElement.contains(document.activeElement);
9232
+ const focusedAtClose = document.activeElement;
9233
+ const isFocusWithin = popoverElement.contains(focusedAtClose);
9228
9234
  if (!isFocusWithin) return;
9229
9235
 
9230
- // On next render
9236
+ // Defer restore: browser may still move focus after close (e.g. click-away on mousedown).
9231
9237
  setTimeout(() => {
9238
+ // Skip if focus moved to a real element (user intent). Restore if focus stayed
9239
+ // (closeMode="hide") or fell back to body (element removed on unmount).
9240
+ const active = document.activeElement;
9241
+ const focusMovedAway = active && active !== focusedAtClose && active !== document.body && active !== document.documentElement;
9242
+ if (focusMovedAway) return;
9232
9243
  const anchor = anchorRef.current;
9233
9244
  const elementToFocus =
9234
9245
  // Provided parent element
@@ -9550,7 +9561,7 @@ const _InnerPopover = forwardRef((props, ref) => {
9550
9561
  ThemeProvider
9551
9562
  });
9552
9563
  });
9553
- _InnerPopover.displayName = COMPONENT_NAME$17;
9564
+ _InnerPopover.displayName = COMPONENT_NAME$1c;
9554
9565
 
9555
9566
  /**
9556
9567
  * Popover component.
@@ -9562,8 +9573,8 @@ _InnerPopover.displayName = COMPONENT_NAME$17;
9562
9573
  const Popover = skipRender(
9563
9574
  // Skip render in SSR
9564
9575
  () => Boolean(DOCUMENT), _InnerPopover);
9565
- Popover.displayName = COMPONENT_NAME$17;
9566
- Popover.className = CLASSNAME$16;
9576
+ Popover.displayName = COMPONENT_NAME$1c;
9577
+ Popover.className = CLASSNAME$1a;
9567
9578
  Popover.defaultProps = DEFAULT_PROPS$W;
9568
9579
 
9569
9580
  /**
@@ -9626,22 +9637,22 @@ const ComboboxOptionMoreInfo = props => {
9626
9637
  Popover
9627
9638
  });
9628
9639
  };
9629
- ComboboxOptionMoreInfo.displayName = COMPONENT_NAME$18;
9630
- ComboboxOptionMoreInfo.className = CLASSNAME$17;
9640
+ ComboboxOptionMoreInfo.displayName = COMPONENT_NAME$1d;
9641
+ ComboboxOptionMoreInfo.className = CLASSNAME$1b;
9631
9642
 
9632
9643
  /**
9633
9644
  * Component display name.
9634
9645
  */
9635
- const COMPONENT_NAME$16 = 'SkeletonTypography';
9646
+ const COMPONENT_NAME$1b = 'SkeletonTypography';
9636
9647
 
9637
9648
  /**
9638
9649
  * Component default class name and class prefix.
9639
9650
  */
9640
- const CLASSNAME$15 = 'lumx-skeleton-typography';
9651
+ const CLASSNAME$19 = 'lumx-skeleton-typography';
9641
9652
  const {
9642
- block: block$R,
9643
- element: element$F
9644
- } = bem(CLASSNAME$15);
9653
+ block: block$T,
9654
+ element: element$H
9655
+ } = bem(CLASSNAME$19);
9645
9656
 
9646
9657
  /**
9647
9658
  * SkeletonTypography component.
@@ -9662,7 +9673,7 @@ const SkeletonTypography$1 = props => {
9662
9673
  return /*#__PURE__*/jsx("div", {
9663
9674
  ref: ref,
9664
9675
  ...forwardedProps,
9665
- className: classnames(className, block$R({
9676
+ className: classnames(className, block$T({
9666
9677
  [`theme-${theme}`]: Boolean(theme),
9667
9678
  [`typography-${typography}`]: Boolean(typography),
9668
9679
  [`color-${color}`]: Boolean(color)
@@ -9672,7 +9683,7 @@ const SkeletonTypography$1 = props => {
9672
9683
  width
9673
9684
  },
9674
9685
  children: /*#__PURE__*/jsx("div", {
9675
- className: element$F('inner')
9686
+ className: element$H('inner')
9676
9687
  })
9677
9688
  });
9678
9689
  };
@@ -9680,12 +9691,12 @@ const SkeletonTypography$1 = props => {
9680
9691
  /**
9681
9692
  * Component display name.
9682
9693
  */
9683
- const COMPONENT_NAME$15 = 'ComboboxOptionSkeleton';
9694
+ const COMPONENT_NAME$1a = 'ComboboxOptionSkeleton';
9684
9695
 
9685
9696
  /**
9686
9697
  * Component default class name and class prefix.
9687
9698
  */
9688
- const CLASSNAME$14 = 'lumx-combobox-option-skeleton';
9699
+ const CLASSNAME$18 = 'lumx-combobox-option-skeleton';
9689
9700
 
9690
9701
  /**
9691
9702
  * ComboboxOptionSkeleton core template.
@@ -9712,7 +9723,7 @@ const ComboboxOptionSkeleton$1 = props => {
9712
9723
  size: 'tiny',
9713
9724
  role: 'none',
9714
9725
  ...forwardedProps,
9715
- className: classnames(className, CLASSNAME$14),
9726
+ className: classnames(className, CLASSNAME$18),
9716
9727
  children: children || /*#__PURE__*/jsxs(Fragment, {
9717
9728
  children: [/*#__PURE__*/jsx(SkeletonTypography$1, {
9718
9729
  typography: "body1",
@@ -9765,19 +9776,19 @@ const ComboboxOptionSkeleton = props => {
9765
9776
  ...props
9766
9777
  });
9767
9778
  };
9768
- ComboboxOptionSkeleton.displayName = COMPONENT_NAME$15;
9769
- ComboboxOptionSkeleton.className = CLASSNAME$14;
9779
+ ComboboxOptionSkeleton.displayName = COMPONENT_NAME$1a;
9780
+ ComboboxOptionSkeleton.className = CLASSNAME$18;
9770
9781
 
9771
- const COMPONENT_NAME$14 = 'ComboboxPopover';
9782
+ const COMPONENT_NAME$19 = 'ComboboxPopover';
9772
9783
 
9773
9784
  /**
9774
9785
  * Component default class name.
9775
9786
  */
9776
- const CLASSNAME$13 = 'lumx-combobox-popover';
9787
+ const CLASSNAME$17 = 'lumx-combobox-popover';
9777
9788
  const {
9778
- block: block$Q,
9779
- element: element$E
9780
- } = bem(CLASSNAME$13);
9789
+ block: block$S,
9790
+ element: element$G
9791
+ } = bem(CLASSNAME$17);
9781
9792
 
9782
9793
  /**
9783
9794
  * Defines the props for the core ComboboxPopover template.
@@ -9818,7 +9829,7 @@ const ComboboxPopover$1 = (props, {
9818
9829
  ...forwardedProps,
9819
9830
  placement: placement,
9820
9831
  fitToAnchorWidth: fitToAnchorWidth,
9821
- className: block$Q([className]),
9832
+ className: block$S([className]),
9822
9833
  anchorRef: anchorRef,
9823
9834
  isOpen: isOpen,
9824
9835
  onClose: handleClose,
@@ -9827,7 +9838,7 @@ const ComboboxPopover$1 = (props, {
9827
9838
  closeMode: "hide",
9828
9839
  children: /*#__PURE__*/jsx(FlexBox, {
9829
9840
  orientation: "vertical",
9830
- className: element$E('scroll'),
9841
+ className: element$G('scroll'),
9831
9842
  children: children
9832
9843
  })
9833
9844
  });
@@ -9840,15 +9851,15 @@ const ComboboxPopover$1 = (props, {
9840
9851
  /**
9841
9852
  * Component display name.
9842
9853
  */
9843
- const COMPONENT_NAME$13 = 'FlexBox';
9854
+ const COMPONENT_NAME$18 = 'FlexBox';
9844
9855
 
9845
9856
  /**
9846
9857
  * Component default class name and class prefix.
9847
9858
  */
9848
- const CLASSNAME$12 = 'lumx-flex-box';
9859
+ const CLASSNAME$16 = 'lumx-flex-box';
9849
9860
  const {
9850
- block: block$P
9851
- } = bem(CLASSNAME$12);
9861
+ block: block$R
9862
+ } = bem(CLASSNAME$16);
9852
9863
 
9853
9864
  /**
9854
9865
  * Get FlexBox component props (className computation).
@@ -9872,7 +9883,7 @@ function getFlexBoxProps(props) {
9872
9883
  const adjustedOrientation = orientation ?? (wrap || hAlign || vAlign ? Orientation.horizontal : null);
9873
9884
  return {
9874
9885
  ...forwardedProps,
9875
- className: classnames(className, block$P({
9886
+ className: classnames(className, block$R({
9876
9887
  [`orientation-${adjustedOrientation}`]: Boolean(adjustedOrientation),
9877
9888
  [`v-align-${vAlign}`]: Boolean(vAlign),
9878
9889
  [`h-align-${hAlign}`]: Boolean(hAlign),
@@ -9904,8 +9915,8 @@ const FlexBox = forwardRef((props, ref) => {
9904
9915
  children: children
9905
9916
  });
9906
9917
  });
9907
- FlexBox.displayName = COMPONENT_NAME$13;
9908
- FlexBox.className = CLASSNAME$12;
9918
+ FlexBox.displayName = COMPONENT_NAME$18;
9919
+ FlexBox.className = CLASSNAME$16;
9909
9920
 
9910
9921
  /**
9911
9922
  * Props for Popover that can be passed to Combobox.Popover.
@@ -9943,8 +9954,8 @@ const ComboboxPopover = props => {
9943
9954
  FlexBox
9944
9955
  });
9945
9956
  };
9946
- ComboboxPopover.displayName = COMPONENT_NAME$14;
9947
- ComboboxPopover.className = CLASSNAME$13;
9957
+ ComboboxPopover.displayName = COMPONENT_NAME$19;
9958
+ ComboboxPopover.className = CLASSNAME$17;
9948
9959
 
9949
9960
  /**
9950
9961
  * Combobox.Provider component.
@@ -9989,12 +10000,12 @@ ComboboxProvider.displayName = 'Combobox.Provider';
9989
10000
  /**
9990
10001
  * Component display name.
9991
10002
  */
9992
- const COMPONENT_NAME$12 = 'ComboboxSection';
10003
+ const COMPONENT_NAME$17 = 'ComboboxSection';
9993
10004
 
9994
10005
  /**
9995
10006
  * Component default class name and class prefix.
9996
10007
  */
9997
- const CLASSNAME$11 = 'lumx-combobox-section';
10008
+ const CLASSNAME$15 = 'lumx-combobox-section';
9998
10009
 
9999
10010
  /**
10000
10011
  * ComboboxSection core template.
@@ -10021,7 +10032,7 @@ const ComboboxSection$1 = (props, {
10021
10032
  ...forwardedProps,
10022
10033
  hidden: hidden,
10023
10034
  "aria-hidden": ariaHidden || undefined,
10024
- className: !hidden ? classnames(className, CLASSNAME$11) : undefined,
10035
+ className: !hidden ? classnames(className, CLASSNAME$15) : undefined,
10025
10036
  role: !ariaHidden ? 'none' : undefined,
10026
10037
  itemsWrapperProps: {
10027
10038
  role: 'group'
@@ -10033,16 +10044,16 @@ const ComboboxSection$1 = (props, {
10033
10044
  /**
10034
10045
  * Component display name.
10035
10046
  */
10036
- const COMPONENT_NAME$11 = 'ListSection';
10047
+ const COMPONENT_NAME$16 = 'ListSection';
10037
10048
 
10038
10049
  /**
10039
10050
  * Component default class name and class prefix.
10040
10051
  */
10041
- const CLASSNAME$10 = 'lumx-list-section';
10052
+ const CLASSNAME$14 = 'lumx-list-section';
10042
10053
  const {
10043
- block: block$O,
10044
- element: element$D
10045
- } = bem(CLASSNAME$10);
10054
+ block: block$Q,
10055
+ element: element$F
10056
+ } = bem(CLASSNAME$14);
10046
10057
 
10047
10058
  /**
10048
10059
  * Component default props.
@@ -10072,25 +10083,25 @@ const ListSection$1 = props => {
10072
10083
  return /*#__PURE__*/jsxs("li", {
10073
10084
  ref: ref,
10074
10085
  ...forwardedProps,
10075
- className: classnames(className, block$O()),
10086
+ className: classnames(className, block$Q()),
10076
10087
  children: [hasHeader && /*#__PURE__*/jsxs(Text, {
10077
10088
  as: "p",
10078
10089
  typography: "overline",
10079
- className: element$D('title'),
10090
+ className: element$F('title'),
10080
10091
  id: labelId,
10081
10092
  children: [icon && Icon$1({
10082
10093
  icon
10083
10094
  }), label]
10084
10095
  }), /*#__PURE__*/jsx("ul", {
10085
10096
  ...itemsWrapperProps,
10086
- className: element$D('items'),
10097
+ className: element$F('items'),
10087
10098
  "aria-labelledby": hasHeader ? labelId : undefined,
10088
10099
  children: children
10089
10100
  })]
10090
10101
  });
10091
10102
  };
10092
- ListSection$1.displayName = COMPONENT_NAME$11;
10093
- ListSection$1.className = CLASSNAME$10;
10103
+ ListSection$1.displayName = COMPONENT_NAME$16;
10104
+ ListSection$1.className = CLASSNAME$14;
10094
10105
  ListSection$1.defaultProps = DEFAULT_PROPS$V;
10095
10106
 
10096
10107
  /**
@@ -10113,8 +10124,8 @@ const ListSection = forwardRef((props, ref) => {
10113
10124
  Text
10114
10125
  });
10115
10126
  });
10116
- ListSection.displayName = COMPONENT_NAME$11;
10117
- ListSection.className = CLASSNAME$10;
10127
+ ListSection.displayName = COMPONENT_NAME$16;
10128
+ ListSection.className = CLASSNAME$14;
10118
10129
  ListSection.defaultProps = DEFAULT_PROPS$V;
10119
10130
 
10120
10131
  /**
@@ -10163,21 +10174,21 @@ const ComboboxSection = forwardRef((props, ref) => {
10163
10174
  ListSection
10164
10175
  });
10165
10176
  });
10166
- ComboboxSection.displayName = COMPONENT_NAME$12;
10167
- ComboboxSection.className = CLASSNAME$11;
10177
+ ComboboxSection.displayName = COMPONENT_NAME$17;
10178
+ ComboboxSection.className = CLASSNAME$15;
10168
10179
 
10169
10180
  /**
10170
10181
  * Component display name.
10171
10182
  */
10172
- const COMPONENT_NAME$10 = 'ComboboxState';
10183
+ const COMPONENT_NAME$15 = 'ComboboxState';
10173
10184
 
10174
10185
  /**
10175
10186
  * Component default class name and class prefix.
10176
10187
  */
10177
- const CLASSNAME$$ = 'lumx-combobox-state';
10188
+ const CLASSNAME$13 = 'lumx-combobox-state';
10178
10189
  const {
10179
- block: block$N
10180
- } = bem(CLASSNAME$$);
10190
+ block: block$P
10191
+ } = bem(CLASSNAME$13);
10181
10192
 
10182
10193
  /**
10183
10194
  * Defines the props for the core ComboboxState template.
@@ -10238,7 +10249,7 @@ const ComboboxState$1 = (props, {
10238
10249
  // the popover's closeMode="hide") and revealing it doesn't trigger announcements.
10239
10250
  const renderContent = isOpen;
10240
10251
  return /*#__PURE__*/jsxs(GenericBlock, {
10241
- className: classnames(!show && visuallyHidden(), block$N(), padding('regular')),
10252
+ className: classnames(!show && visuallyHidden(), block$P(), padding('regular')),
10242
10253
  orientation: "vertical",
10243
10254
  ...alignProps,
10244
10255
  role: "status",
@@ -10350,16 +10361,16 @@ function partitionMulti(elements, predicates) {
10350
10361
  /**
10351
10362
  * Component display name.
10352
10363
  */
10353
- const COMPONENT_NAME$$ = 'GenericBlock';
10364
+ const COMPONENT_NAME$14 = 'GenericBlock';
10354
10365
 
10355
10366
  /**
10356
10367
  * Component default class name and class prefix.
10357
10368
  */
10358
- const CLASSNAME$_ = 'lumx-generic-block';
10369
+ const CLASSNAME$12 = 'lumx-generic-block';
10359
10370
  const {
10360
- block: block$M,
10361
- element: element$C
10362
- } = bem(CLASSNAME$_);
10371
+ block: block$O,
10372
+ element: element$E
10373
+ } = bem(CLASSNAME$12);
10363
10374
 
10364
10375
  /**
10365
10376
  * Component default props.
@@ -10398,23 +10409,23 @@ const GenericBlock$1 = props => {
10398
10409
  } = props;
10399
10410
  return /*#__PURE__*/jsxs(FlexBox, {
10400
10411
  ref: ref,
10401
- className: classnames(className, block$M()),
10412
+ className: classnames(className, block$O()),
10402
10413
  gap: gap,
10403
10414
  orientation: orientation,
10404
10415
  ...forwardedProps,
10405
10416
  children: [figure && /*#__PURE__*/jsx(FlexBox, {
10406
10417
  ...figureProps,
10407
- className: classnames(figureProps?.className, element$C('figure')),
10418
+ className: classnames(figureProps?.className, element$E('figure')),
10408
10419
  children: figure
10409
10420
  }), content && /*#__PURE__*/jsx(FlexBox, {
10410
10421
  orientation: Orientation.vertical,
10411
10422
  fillSpace: true,
10412
10423
  ...contentProps,
10413
- className: classnames(contentProps?.className, element$C('content')),
10424
+ className: classnames(contentProps?.className, element$E('content')),
10414
10425
  children: content
10415
10426
  }), actions && /*#__PURE__*/jsx(FlexBox, {
10416
10427
  ...actionsProps,
10417
- className: classnames(actionsProps?.className, element$C('actions')),
10428
+ className: classnames(actionsProps?.className, element$E('actions')),
10418
10429
  children: actions
10419
10430
  })]
10420
10431
  });
@@ -10501,8 +10512,8 @@ const BaseGenericBlock = forwardRef((props, ref) => {
10501
10512
  }) : undefined
10502
10513
  });
10503
10514
  });
10504
- BaseGenericBlock.displayName = COMPONENT_NAME$$;
10505
- BaseGenericBlock.className = CLASSNAME$_;
10515
+ BaseGenericBlock.displayName = COMPONENT_NAME$14;
10516
+ BaseGenericBlock.className = CLASSNAME$12;
10506
10517
  BaseGenericBlock.defaultProps = DEFAULT_PROPS$U;
10507
10518
  const GenericBlock = Object.assign(BaseGenericBlock, {
10508
10519
  Figure,
@@ -10581,18 +10592,18 @@ const ComboboxState = props => {
10581
10592
  Text
10582
10593
  });
10583
10594
  };
10584
- ComboboxState.displayName = COMPONENT_NAME$10;
10585
- ComboboxState.className = CLASSNAME$$;
10595
+ ComboboxState.displayName = COMPONENT_NAME$15;
10596
+ ComboboxState.className = CLASSNAME$13;
10586
10597
 
10587
10598
  /**
10588
10599
  * Component display name.
10589
10600
  */
10590
- const COMPONENT_NAME$_ = 'ListDivider';
10601
+ const COMPONENT_NAME$13 = 'ListDivider';
10591
10602
 
10592
10603
  /**
10593
10604
  * Component default class name and class prefix.
10594
10605
  */
10595
- const CLASSNAME$Z = 'lumx-list-divider';
10606
+ const CLASSNAME$11 = 'lumx-list-divider';
10596
10607
 
10597
10608
  /**
10598
10609
  * Component default props.
@@ -10616,11 +10627,11 @@ const ListDivider$1 = props => {
10616
10627
  ref: ref,
10617
10628
  role: "none",
10618
10629
  ...forwardedProps,
10619
- className: classnames(className, CLASSNAME$Z)
10630
+ className: classnames(className, CLASSNAME$11)
10620
10631
  });
10621
10632
  };
10622
- ListDivider$1.displayName = COMPONENT_NAME$_;
10623
- ListDivider$1.className = CLASSNAME$Z;
10633
+ ListDivider$1.displayName = COMPONENT_NAME$13;
10634
+ ListDivider$1.className = CLASSNAME$11;
10624
10635
  ListDivider$1.defaultProps = DEFAULT_PROPS$T;
10625
10636
 
10626
10637
  /**
@@ -10641,8 +10652,8 @@ const ListDivider = forwardRef((props, ref) => {
10641
10652
  ref
10642
10653
  });
10643
10654
  });
10644
- ListDivider.displayName = COMPONENT_NAME$_;
10645
- ListDivider.className = CLASSNAME$Z;
10655
+ ListDivider.displayName = COMPONENT_NAME$13;
10656
+ ListDivider.className = CLASSNAME$11;
10646
10657
  ListDivider.defaultProps = DEFAULT_PROPS$T;
10647
10658
 
10648
10659
  /**
@@ -10692,16 +10703,16 @@ const CommentBlockVariant = {
10692
10703
  /**
10693
10704
  * Component display name.
10694
10705
  */
10695
- const COMPONENT_NAME$Z = 'CommentBlock';
10706
+ const COMPONENT_NAME$12 = 'CommentBlock';
10696
10707
 
10697
10708
  /**
10698
10709
  * Component default class name and class prefix.
10699
10710
  */
10700
- const CLASSNAME$Y = 'lumx-comment-block';
10711
+ const CLASSNAME$10 = 'lumx-comment-block';
10701
10712
  const {
10702
- block: block$L,
10703
- element: element$B
10704
- } = classNames.bem(CLASSNAME$Y);
10713
+ block: block$N,
10714
+ element: element$D
10715
+ } = classNames.bem(CLASSNAME$10);
10705
10716
 
10706
10717
  /**
10707
10718
  * Component default props.
@@ -10742,7 +10753,7 @@ const CommentBlock = forwardRef((props, ref) => {
10742
10753
  const hasChildren = Children.count(children) > 0;
10743
10754
  return /*#__PURE__*/jsxs("div", {
10744
10755
  ref: ref,
10745
- className: classNames.join(className, block$L({
10756
+ className: classNames.join(className, block$N({
10746
10757
  'has-children': hasChildren && isOpen,
10747
10758
  'has-indented-children': hasChildren && variant === CommentBlockVariant.indented,
10748
10759
  'has-linear-children': hasChildren && variant === CommentBlockVariant.linear,
@@ -10751,60 +10762,60 @@ const CommentBlock = forwardRef((props, ref) => {
10751
10762
  })),
10752
10763
  ...forwardedProps,
10753
10764
  children: [/*#__PURE__*/jsxs("div", {
10754
- className: element$B('wrapper'),
10765
+ className: element$D('wrapper'),
10755
10766
  children: [/*#__PURE__*/jsx("div", {
10756
- className: element$B('avatar'),
10767
+ className: element$D('avatar'),
10757
10768
  children: /*#__PURE__*/jsx(Avatar, {
10758
10769
  ...avatarProps,
10759
10770
  size: Size$1.m,
10760
10771
  onClick: onClick
10761
10772
  })
10762
10773
  }), /*#__PURE__*/jsxs("div", {
10763
- className: element$B('container'),
10774
+ className: element$D('container'),
10764
10775
  children: [/*#__PURE__*/jsxs("div", {
10765
- className: element$B('content'),
10776
+ className: element$D('content'),
10766
10777
  children: [/*#__PURE__*/jsxs("div", {
10767
- className: element$B('meta'),
10778
+ className: element$D('meta'),
10768
10779
  children: [name &&
10769
10780
  /*#__PURE__*/
10770
10781
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
10771
10782
  jsx("span", {
10772
- className: element$B('name'),
10783
+ className: element$D('name'),
10773
10784
  onClick: onClick,
10774
10785
  onMouseEnter: onMouseEnter,
10775
10786
  onMouseLeave: onMouseLeave,
10776
10787
  children: name
10777
10788
  }), headerActions && /*#__PURE__*/jsx("span", {
10778
- className: element$B('header-actions'),
10789
+ className: element$D('header-actions'),
10779
10790
  children: headerActions
10780
10791
  })]
10781
10792
  }), /*#__PURE__*/jsx("div", {
10782
- className: element$B('text'),
10793
+ className: element$D('text'),
10783
10794
  children: text
10784
10795
  }), date && (fullDate ? /*#__PURE__*/jsx(Tooltip, {
10785
10796
  label: fullDate,
10786
10797
  placement: "top",
10787
10798
  children: /*#__PURE__*/jsx("span", {
10788
- className: element$B('date'),
10799
+ className: element$D('date'),
10789
10800
  children: date
10790
10801
  })
10791
10802
  }) : /*#__PURE__*/jsx("span", {
10792
- className: element$B('date'),
10803
+ className: element$D('date'),
10793
10804
  children: date
10794
10805
  }))]
10795
10806
  }), hasActions && /*#__PURE__*/jsx("div", {
10796
- className: element$B('actions'),
10807
+ className: element$D('actions'),
10797
10808
  children: actions
10798
10809
  })]
10799
10810
  })]
10800
10811
  }), hasChildren && isOpen && /*#__PURE__*/jsx("div", {
10801
- className: element$B('children'),
10812
+ className: element$D('children'),
10802
10813
  children: children
10803
10814
  })]
10804
10815
  });
10805
10816
  });
10806
- CommentBlock.displayName = COMPONENT_NAME$Z;
10807
- CommentBlock.className = CLASSNAME$Y;
10817
+ CommentBlock.displayName = COMPONENT_NAME$12;
10818
+ CommentBlock.className = CLASSNAME$10;
10808
10819
  CommentBlock.defaultProps = DEFAULT_PROPS$S;
10809
10820
 
10810
10821
  /**
@@ -10825,12 +10836,12 @@ const isDateValid = date => date instanceof Date && !Number.isNaN(date.getTime()
10825
10836
  /**
10826
10837
  * Component display name.
10827
10838
  */
10828
- const COMPONENT_NAME$Y = 'DatePicker';
10839
+ const COMPONENT_NAME$11 = 'DatePicker';
10829
10840
 
10830
10841
  /**
10831
10842
  * Component default class name and class prefix.
10832
10843
  */
10833
- const CLASSNAME$X = 'lumx-date-picker';
10844
+ const CLASSNAME$$ = 'lumx-date-picker';
10834
10845
 
10835
10846
  /** Get first day of week for locale from the browser API */
10836
10847
  const getFromBrowser = locale => {
@@ -11052,8 +11063,8 @@ function formatDayNumber(locale, date) {
11052
11063
  }
11053
11064
 
11054
11065
  const {
11055
- element: element$A
11056
- } = classNames.bem(CLASSNAME$X);
11066
+ element: element$C
11067
+ } = classNames.bem(CLASSNAME$$);
11057
11068
 
11058
11069
  /**
11059
11070
  * Defines the props of the component.
@@ -11062,7 +11073,7 @@ const {
11062
11073
  /**
11063
11074
  * Component display name.
11064
11075
  */
11065
- const COMPONENT_NAME$X = 'DatePickerControlled';
11076
+ const COMPONENT_NAME$10 = 'DatePickerControlled';
11066
11077
 
11067
11078
  /**
11068
11079
  * DatePickerControlled component.
@@ -11147,10 +11158,10 @@ const DatePickerControlled = forwardRef((props, ref) => {
11147
11158
  const yearLabel = getYearDisplayName(locale);
11148
11159
  return /*#__PURE__*/jsxs("div", {
11149
11160
  ref: ref,
11150
- className: `${CLASSNAME$X}`,
11161
+ className: `${CLASSNAME$$}`,
11151
11162
  style: style,
11152
11163
  children: [/*#__PURE__*/jsx(Toolbar, {
11153
- className: element$A('toolbar'),
11164
+ className: element$C('toolbar'),
11154
11165
  after: /*#__PURE__*/jsx(IconButton, {
11155
11166
  ...nextButtonProps,
11156
11167
  emphasis: Emphasis$1.low,
@@ -11170,7 +11181,7 @@ const DatePickerControlled = forwardRef((props, ref) => {
11170
11181
  dir: "auto",
11171
11182
  children: monthYear
11172
11183
  }), onMonthChange && /*#__PURE__*/jsx(FlexBox, {
11173
- className: element$A('month'),
11184
+ className: element$C('month'),
11174
11185
  orientation: "horizontal",
11175
11186
  hAlign: "center",
11176
11187
  gap: "regular",
@@ -11185,7 +11196,7 @@ const DatePickerControlled = forwardRef((props, ref) => {
11185
11196
  min: 0,
11186
11197
  onBlur: updateYear,
11187
11198
  onKeyPress: updateYearOnEnterPressed,
11188
- className: element$A('year')
11199
+ className: element$C('year')
11189
11200
  }, "year") : /*#__PURE__*/jsx(Text, {
11190
11201
  as: "p",
11191
11202
  children: part
@@ -11193,17 +11204,17 @@ const DatePickerControlled = forwardRef((props, ref) => {
11193
11204
  })]
11194
11205
  })
11195
11206
  }), /*#__PURE__*/jsxs("div", {
11196
- className: element$A('calendar'),
11207
+ className: element$C('calendar'),
11197
11208
  children: [/*#__PURE__*/jsx("div", {
11198
- className: classNames.join(element$A('week-days'), element$A('days-wrapper')),
11209
+ className: classNames.join(element$C('week-days'), element$C('days-wrapper')),
11199
11210
  children: weekDays.map(({
11200
11211
  letter,
11201
11212
  number,
11202
11213
  long
11203
11214
  }) => /*#__PURE__*/jsxs("div", {
11204
- className: element$A('day-wrapper'),
11215
+ className: element$C('day-wrapper'),
11205
11216
  children: [/*#__PURE__*/jsx("span", {
11206
- className: element$A('week-day'),
11217
+ className: element$C('week-day'),
11207
11218
  "aria-hidden": true,
11208
11219
  children: letter.toLocaleUpperCase()
11209
11220
  }), /*#__PURE__*/jsx("span", {
@@ -11212,7 +11223,7 @@ const DatePickerControlled = forwardRef((props, ref) => {
11212
11223
  })]
11213
11224
  }, number))
11214
11225
  }), /*#__PURE__*/jsx("div", {
11215
- className: classNames.join(element$A('month-days'), element$A('days-wrapper')),
11226
+ className: classNames.join(element$C('month-days'), element$C('days-wrapper')),
11216
11227
  children: weeks.flatMap((week, weekIndex) => {
11217
11228
  return weekDays.map((weekDay, dayIndex) => {
11218
11229
  const {
@@ -11223,10 +11234,10 @@ const DatePickerControlled = forwardRef((props, ref) => {
11223
11234
  const isToday = !isOutOfRange && date && isSameDay(date, new Date());
11224
11235
  const isSelected = date && value && isSameDay(value, date);
11225
11236
  return /*#__PURE__*/jsx("div", {
11226
- className: element$A('day-wrapper'),
11237
+ className: element$C('day-wrapper'),
11227
11238
  children: date && /*#__PURE__*/jsxs(Button, {
11228
11239
  ref: isSelected || !value && isToday ? todayOrSelectedDateRef : null,
11229
- className: element$A('month-day', {
11240
+ className: element$C('month-day', {
11230
11241
  'is-today': isToday
11231
11242
  }),
11232
11243
  disabled: isOutOfRange,
@@ -11252,8 +11263,8 @@ const DatePickerControlled = forwardRef((props, ref) => {
11252
11263
  })]
11253
11264
  });
11254
11265
  });
11255
- DatePickerControlled.displayName = COMPONENT_NAME$X;
11256
- DatePickerControlled.className = CLASSNAME$X;
11266
+ DatePickerControlled.displayName = COMPONENT_NAME$10;
11267
+ DatePickerControlled.className = CLASSNAME$$;
11257
11268
 
11258
11269
  /**
11259
11270
  * DatePicker component.
@@ -11295,8 +11306,8 @@ const DatePicker = forwardRef((props, ref) => {
11295
11306
  onMonthChange: setSelectedMonth
11296
11307
  });
11297
11308
  });
11298
- DatePicker.displayName = COMPONENT_NAME$Y;
11299
- DatePicker.className = CLASSNAME$X;
11309
+ DatePicker.displayName = COMPONENT_NAME$11;
11310
+ DatePicker.className = CLASSNAME$$;
11300
11311
 
11301
11312
  const useBooleanState = defaultValue => {
11302
11313
  const [booleanValue, setBoolean] = useState(defaultValue);
@@ -11309,7 +11320,7 @@ const useBooleanState = defaultValue => {
11309
11320
  /**
11310
11321
  * Component display name.
11311
11322
  */
11312
- const COMPONENT_NAME$W = 'DatePickerField';
11323
+ const COMPONENT_NAME$$ = 'DatePickerField';
11313
11324
 
11314
11325
  /**
11315
11326
  * DatePickerField component.
@@ -11398,7 +11409,7 @@ const DatePickerField = forwardRef((props, ref) => {
11398
11409
  }) : null]
11399
11410
  });
11400
11411
  });
11401
- DatePickerField.displayName = COMPONENT_NAME$W;
11412
+ DatePickerField.displayName = COMPONENT_NAME$$;
11402
11413
 
11403
11414
  /**
11404
11415
  * Convenient hook to create interaction observers.
@@ -11694,16 +11705,16 @@ const useTransitionVisibility = (ref, isComponentVisible, timeout, onVisibilityC
11694
11705
  /**
11695
11706
  * Component display name.
11696
11707
  */
11697
- const COMPONENT_NAME$V = 'Dialog';
11708
+ const COMPONENT_NAME$_ = 'Dialog';
11698
11709
 
11699
11710
  /**
11700
11711
  * Component default class name and class prefix.
11701
11712
  */
11702
- const CLASSNAME$W = 'lumx-dialog';
11713
+ const CLASSNAME$_ = 'lumx-dialog';
11703
11714
  const {
11704
- block: block$K,
11705
- element: element$z
11706
- } = bem(CLASSNAME$W);
11715
+ block: block$M,
11716
+ element: element$B
11717
+ } = bem(CLASSNAME$_);
11707
11718
 
11708
11719
  /**
11709
11720
  * Component default props.
@@ -11759,7 +11770,7 @@ const Dialog$1 = props => {
11759
11770
  children: /*#__PURE__*/jsxs("div", {
11760
11771
  ref: ref,
11761
11772
  ...forwardedProps,
11762
- className: classnames(className, block$K({
11773
+ className: classnames(className, block$M({
11763
11774
  'is-hidden': !isOpen,
11764
11775
  'is-loading': isLoading,
11765
11776
  'is-shown': isOpen || isVisible,
@@ -11769,13 +11780,13 @@ const Dialog$1 = props => {
11769
11780
  zIndex
11770
11781
  },
11771
11782
  children: [/*#__PURE__*/jsx("div", {
11772
- className: element$z('overlay')
11783
+ className: element$B('overlay')
11773
11784
  }), /*#__PURE__*/jsx(HeadingLevelProvider, {
11774
11785
  level: 2,
11775
11786
  children: /*#__PURE__*/jsx(ThemeProvider, {
11776
11787
  value: undefined,
11777
11788
  children: /*#__PURE__*/jsx("div", {
11778
- className: element$z('container'),
11789
+ className: element$B('container'),
11779
11790
  role: "dialog",
11780
11791
  "aria-modal": "true",
11781
11792
  ...dialogProps,
@@ -11784,36 +11795,36 @@ const Dialog$1 = props => {
11784
11795
  childrenRefs: clickAwayRefs,
11785
11796
  parentRef: rootRef,
11786
11797
  children: /*#__PURE__*/jsxs("section", {
11787
- className: element$z('wrapper'),
11798
+ className: element$B('wrapper'),
11788
11799
  ref: wrapperRef,
11789
11800
  children: [(header || headerChildContent) && /*#__PURE__*/jsxs("header", {
11790
11801
  ...headerChildProps,
11791
- className: classnames(element$z('header', {
11802
+ className: classnames(element$B('header', {
11792
11803
  'has-divider': Boolean(forceHeaderDivider || hasTopIntersection)
11793
11804
  }), headerChildProps?.className),
11794
11805
  children: [header, headerChildContent]
11795
11806
  }), /*#__PURE__*/jsxs("div", {
11796
11807
  ref: contentRef,
11797
- className: element$z('content'),
11808
+ className: element$B('content'),
11798
11809
  children: [/*#__PURE__*/jsx("div", {
11799
- className: element$z('sentinel', {
11810
+ className: element$B('sentinel', {
11800
11811
  top: true
11801
11812
  }),
11802
11813
  ref: setSentinelTop
11803
11814
  }), content, /*#__PURE__*/jsx("div", {
11804
- className: element$z('sentinel', {
11815
+ className: element$B('sentinel', {
11805
11816
  bottom: true
11806
11817
  }),
11807
11818
  ref: setSentinelBottom
11808
11819
  })]
11809
11820
  }), (footer || footerChildContent) && /*#__PURE__*/jsxs("footer", {
11810
11821
  ...footerChildProps,
11811
- className: classnames(element$z('footer', {
11822
+ className: classnames(element$B('footer', {
11812
11823
  'has-divider': Boolean(forceFooterDivider || hasBottomIntersection)
11813
11824
  }), footerChildProps?.className),
11814
11825
  children: [footer, footerChildContent]
11815
11826
  }), isLoading && /*#__PURE__*/jsx("div", {
11816
- className: element$z('progress-overlay'),
11827
+ className: element$B('progress-overlay'),
11817
11828
  children: /*#__PURE__*/jsx(ProgressCircular, {})
11818
11829
  })]
11819
11830
  })
@@ -11976,22 +11987,22 @@ const Dialog = forwardRef((props, ref) => {
11976
11987
  ...forwardedProps
11977
11988
  }) : null;
11978
11989
  });
11979
- Dialog.displayName = COMPONENT_NAME$V;
11980
- Dialog.className = CLASSNAME$W;
11990
+ Dialog.displayName = COMPONENT_NAME$_;
11991
+ Dialog.className = CLASSNAME$_;
11981
11992
  Dialog.defaultProps = DEFAULT_PROPS$Q;
11982
11993
 
11983
11994
  /**
11984
11995
  * Component display name.
11985
11996
  */
11986
- const COMPONENT_NAME$U = 'Divider';
11997
+ const COMPONENT_NAME$Z = 'Divider';
11987
11998
 
11988
11999
  /**
11989
12000
  * Component default class name and class prefix.
11990
12001
  */
11991
- const CLASSNAME$V = 'lumx-divider';
12002
+ const CLASSNAME$Z = 'lumx-divider';
11992
12003
  const {
11993
- block: block$J
11994
- } = bem(CLASSNAME$V);
12004
+ block: block$L
12005
+ } = bem(CLASSNAME$Z);
11995
12006
 
11996
12007
  /**
11997
12008
  * Divider component.
@@ -12009,7 +12020,7 @@ const Divider$1 = props => {
12009
12020
  return /*#__PURE__*/jsx("hr", {
12010
12021
  ref: ref,
12011
12022
  ...forwardedProps,
12012
- className: classnames(className, block$J({
12023
+ className: classnames(className, block$L({
12013
12024
  [`theme-${theme}`]: Boolean(theme)
12014
12025
  }))
12015
12026
  });
@@ -12043,22 +12054,22 @@ const Divider = forwardRef((props, ref) => {
12043
12054
  ...otherProps
12044
12055
  });
12045
12056
  });
12046
- Divider.displayName = COMPONENT_NAME$U;
12047
- Divider.className = CLASSNAME$V;
12057
+ Divider.displayName = COMPONENT_NAME$Z;
12058
+ Divider.className = CLASSNAME$Z;
12048
12059
  Divider.defaultProps = DEFAULT_PROPS$P;
12049
12060
 
12050
12061
  /**
12051
12062
  * Component display name.
12052
12063
  */
12053
- const COMPONENT_NAME$T = 'DragHandle';
12064
+ const COMPONENT_NAME$Y = 'DragHandle';
12054
12065
 
12055
12066
  /**
12056
12067
  * Component default class name and class prefix.
12057
12068
  */
12058
- const CLASSNAME$U = 'lumx-drag-handle';
12069
+ const CLASSNAME$Y = 'lumx-drag-handle';
12059
12070
  const {
12060
- block: block$I
12061
- } = bem(CLASSNAME$U);
12071
+ block: block$K
12072
+ } = bem(CLASSNAME$Y);
12062
12073
 
12063
12074
  /**
12064
12075
  * DragHandle component.
@@ -12076,7 +12087,7 @@ const DragHandle$1 = props => {
12076
12087
  return /*#__PURE__*/jsx("div", {
12077
12088
  ref: ref,
12078
12089
  ...forwardedProps,
12079
- className: classnames(className, block$I({
12090
+ className: classnames(className, block$K({
12080
12091
  [`theme-${theme}`]: Boolean(theme)
12081
12092
  })),
12082
12093
  children: Icon$1({
@@ -12115,8 +12126,8 @@ const DragHandle = forwardRef((props, ref) => {
12115
12126
  ...otherProps
12116
12127
  });
12117
12128
  });
12118
- DragHandle.displayName = COMPONENT_NAME$T;
12119
- DragHandle.className = CLASSNAME$U;
12129
+ DragHandle.displayName = COMPONENT_NAME$Y;
12130
+ DragHandle.className = CLASSNAME$Y;
12120
12131
  DragHandle.defaultProps = DEFAULT_PROPS$O;
12121
12132
 
12122
12133
  const INITIAL_INDEX = -1;
@@ -12311,8 +12322,8 @@ const InternalList = forwardRef((props, ref) => {
12311
12322
  itemPadding: adjustedItemPadding
12312
12323
  });
12313
12324
  });
12314
- InternalList.displayName = COMPONENT_NAME$1e;
12315
- InternalList.className = CLASSNAME$1d;
12325
+ InternalList.displayName = COMPONENT_NAME$1j;
12326
+ InternalList.className = CLASSNAME$1h;
12316
12327
  InternalList.defaultProps = DEFAULT_PROPS$Z;
12317
12328
  const List = Object.assign(InternalList, {
12318
12329
  useKeyboardListNavigation
@@ -12362,16 +12373,16 @@ const useInfiniteScroll = (ref, callback, callbackOnMount = false, scrollTrigger
12362
12373
  /**
12363
12374
  * Component display name.
12364
12375
  */
12365
- const COMPONENT_NAME$S = 'Dropdown';
12376
+ const COMPONENT_NAME$X = 'Dropdown';
12366
12377
 
12367
12378
  /**
12368
12379
  * Component default class name and class prefix.
12369
12380
  */
12370
- const CLASSNAME$T = 'lumx-dropdown';
12381
+ const CLASSNAME$X = 'lumx-dropdown';
12371
12382
  const {
12372
- block: block$H,
12373
- element: element$y
12374
- } = classNames.bem(CLASSNAME$T);
12383
+ block: block$J,
12384
+ element: element$A
12385
+ } = classNames.bem(CLASSNAME$X);
12375
12386
 
12376
12387
  /**
12377
12388
  * Component default props.
@@ -12435,7 +12446,7 @@ const Dropdown = forwardRef((props, ref) => {
12435
12446
  ...forwardedProps,
12436
12447
  focusAnchorOnClose: focusAnchorOnClose,
12437
12448
  anchorRef: anchorRef,
12438
- className: classNames.join(className, block$H()),
12449
+ className: classNames.join(className, block$J()),
12439
12450
  elevation: 0,
12440
12451
  closeOnClickAway: closeOnClickAway,
12441
12452
  closeOnEscape: closeOnEscape,
@@ -12448,29 +12459,29 @@ const Dropdown = forwardRef((props, ref) => {
12448
12459
  placement: placement,
12449
12460
  zIndex: zIndex,
12450
12461
  children: /*#__PURE__*/jsx("div", {
12451
- className: element$y('menu'),
12462
+ className: element$A('menu'),
12452
12463
  ref: innerRef,
12453
12464
  children: popperElement
12454
12465
  })
12455
12466
  }) : null;
12456
12467
  });
12457
- Dropdown.displayName = COMPONENT_NAME$S;
12458
- Dropdown.className = CLASSNAME$T;
12468
+ Dropdown.displayName = COMPONENT_NAME$X;
12469
+ Dropdown.className = CLASSNAME$X;
12459
12470
  Dropdown.defaultProps = DEFAULT_PROPS$N;
12460
12471
 
12461
12472
  /**
12462
12473
  * Component display name.
12463
12474
  */
12464
- const COMPONENT_NAME$R = 'ExpansionPanel';
12475
+ const COMPONENT_NAME$W = 'ExpansionPanel';
12465
12476
 
12466
12477
  /**
12467
12478
  * Component default class name and class prefix.
12468
12479
  */
12469
- const CLASSNAME$S = 'lumx-expansion-panel';
12480
+ const CLASSNAME$W = 'lumx-expansion-panel';
12470
12481
  const {
12471
- block: block$G,
12472
- element: element$x
12473
- } = bem(CLASSNAME$S);
12482
+ block: block$I,
12483
+ element: element$z
12484
+ } = bem(CLASSNAME$W);
12474
12485
 
12475
12486
  /**
12476
12487
  * Component default props.
@@ -12524,7 +12535,7 @@ const ExpansionPanel$1 = props => {
12524
12535
  }
12525
12536
  };
12526
12537
  const color = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;
12527
- const rootClassName = classnames(className, block$G({
12538
+ const rootClassName = classnames(className, block$I({
12528
12539
  'has-background': hasBackground,
12529
12540
  'has-header': Boolean(!isEmpty(headerProps.children)),
12530
12541
  'has-header-divider': hasHeaderDivider,
@@ -12538,17 +12549,17 @@ const ExpansionPanel$1 = props => {
12538
12549
  ...forwardedProps,
12539
12550
  className: rootClassName,
12540
12551
  children: [/*#__PURE__*/jsxs("header", {
12541
- className: element$x('header'),
12552
+ className: element$z('header'),
12542
12553
  onClick: toggleOpen,
12543
12554
  children: [dragHandle && /*#__PURE__*/jsx("div", {
12544
- className: element$x('header-drag'),
12555
+ className: element$z('header-drag'),
12545
12556
  children: dragHandle
12546
12557
  }), /*#__PURE__*/jsx("div", {
12547
12558
  ...headerProps,
12548
- className: element$x('header-content'),
12559
+ className: element$z('header-content'),
12549
12560
  children: headerContent
12550
12561
  }), /*#__PURE__*/jsx("div", {
12551
- className: element$x('header-toggle'),
12562
+ className: element$z('header-toggle'),
12552
12563
  children: /*#__PURE__*/jsx(IconButton, {
12553
12564
  ...toggleButtonProps,
12554
12565
  color: color,
@@ -12558,15 +12569,15 @@ const ExpansionPanel$1 = props => {
12558
12569
  })
12559
12570
  })]
12560
12571
  }), /*#__PURE__*/jsx("div", {
12561
- className: element$x('wrapper'),
12572
+ className: element$z('wrapper'),
12562
12573
  ref: wrapperRef,
12563
12574
  children: (isOpen || isChildrenVisible) && /*#__PURE__*/jsxs("div", {
12564
- className: element$x('container'),
12575
+ className: element$z('container'),
12565
12576
  children: [/*#__PURE__*/jsx("div", {
12566
- className: element$x('content'),
12577
+ className: element$z('content'),
12567
12578
  children: content
12568
12579
  }), footer && /*#__PURE__*/jsx("div", {
12569
- className: element$x('footer'),
12580
+ className: element$z('footer'),
12570
12581
  children: footer
12571
12582
  })]
12572
12583
  })
@@ -12606,7 +12617,7 @@ const ExpansionPanel = forwardRef((props, ref) => {
12606
12617
  // Either take the header in children or create one with the label.
12607
12618
  const headerProps = /*#__PURE__*/React__default.isValidElement(header) ? header.props : {};
12608
12619
  const headerContent = !isEmpty(headerProps.children) ? headerProps.children : /*#__PURE__*/jsx("span", {
12609
- className: element$x('label'),
12620
+ className: element$z('label'),
12610
12621
  children: label
12611
12622
  });
12612
12623
  const wrapperRef = useRef(null);
@@ -12659,17 +12670,17 @@ const ExpansionPanel = forwardRef((props, ref) => {
12659
12670
  ...forwardedProps
12660
12671
  });
12661
12672
  });
12662
- ExpansionPanel.displayName = COMPONENT_NAME$R;
12663
- ExpansionPanel.className = CLASSNAME$S;
12673
+ ExpansionPanel.displayName = COMPONENT_NAME$W;
12674
+ ExpansionPanel.className = CLASSNAME$W;
12664
12675
  ExpansionPanel.defaultProps = DEFAULT_PROPS$M;
12665
12676
 
12666
- const COMPONENT_NAME$Q = 'Flag';
12667
- const CLASSNAME$R = 'lumx-flag';
12677
+ const COMPONENT_NAME$V = 'Flag';
12678
+ const CLASSNAME$V = 'lumx-flag';
12668
12679
  const DEFAULT_PROPS$L = {};
12669
12680
  const {
12670
- block: block$F,
12671
- element: element$w
12672
- } = bem(CLASSNAME$R);
12681
+ block: block$H,
12682
+ element: element$y
12683
+ } = bem(CLASSNAME$V);
12673
12684
 
12674
12685
  /**
12675
12686
  * Flag component.
@@ -12692,19 +12703,19 @@ const Flag$1 = props => {
12692
12703
  const isTruncated = !!truncate;
12693
12704
  return /*#__PURE__*/jsxs("div", {
12694
12705
  ...forwardedProps,
12695
- className: classnames(className, block$F({
12706
+ className: classnames(className, block$H({
12696
12707
  [`color-${flagColor}`]: Boolean(flagColor),
12697
12708
  'is-truncated': isTruncated
12698
12709
  })),
12699
12710
  children: [icon && Icon$1({
12700
12711
  icon,
12701
12712
  size: Size.xxs,
12702
- className: element$w('icon')
12713
+ className: element$y('icon')
12703
12714
  }), /*#__PURE__*/jsx(Text, {
12704
12715
  as: "span",
12705
12716
  truncate: !!truncate,
12706
12717
  typography: "overline",
12707
- className: element$w('label'),
12718
+ className: element$y('label'),
12708
12719
  children: children
12709
12720
  })]
12710
12721
  });
@@ -12727,8 +12738,8 @@ const Flag = forwardRef((props, ref) => {
12727
12738
  Text
12728
12739
  });
12729
12740
  });
12730
- Flag.displayName = COMPONENT_NAME$Q;
12731
- Flag.className = CLASSNAME$R;
12741
+ Flag.displayName = COMPONENT_NAME$V;
12742
+ Flag.className = CLASSNAME$V;
12732
12743
  Flag.defaultProps = DEFAULT_PROPS$L;
12733
12744
 
12734
12745
  /** The maximum authorized heading level. */
@@ -12757,12 +12768,12 @@ const defaultContext = {
12757
12768
  /**
12758
12769
  * Component display name.
12759
12770
  */
12760
- const COMPONENT_NAME$P = 'Heading';
12771
+ const COMPONENT_NAME$U = 'Heading';
12761
12772
 
12762
12773
  /**
12763
12774
  * Component default class name and class prefix.
12764
12775
  */
12765
- const CLASSNAME$Q = 'lumx-heading';
12776
+ const CLASSNAME$U = 'lumx-heading';
12766
12777
 
12767
12778
  /**
12768
12779
  * Component default props.
@@ -12787,7 +12798,7 @@ const getHeadingProps = (props, contextHeadingElement) => {
12787
12798
  return {
12788
12799
  ...otherProps,
12789
12800
  as: computedHeadingElement,
12790
- className: classnames(className, CLASSNAME$Q),
12801
+ className: classnames(className, CLASSNAME$U),
12791
12802
  typography: typography || DEFAULT_TYPOGRAPHY_BY_LEVEL[computedHeadingElement]
12792
12803
  };
12793
12804
  };
@@ -12825,8 +12836,8 @@ const Heading = forwardRef((props, ref) => {
12825
12836
  children: children
12826
12837
  });
12827
12838
  });
12828
- Heading.displayName = COMPONENT_NAME$P;
12829
- Heading.className = CLASSNAME$Q;
12839
+ Heading.displayName = COMPONENT_NAME$U;
12840
+ Heading.className = CLASSNAME$U;
12830
12841
  Heading.defaultProps = DEFAULT_PROPS$K;
12831
12842
 
12832
12843
  /**
@@ -12865,15 +12876,15 @@ const HeadingLevelProvider = ({
12865
12876
  /**
12866
12877
  * Component display name.
12867
12878
  */
12868
- const COMPONENT_NAME$O = 'Grid';
12879
+ const COMPONENT_NAME$T = 'Grid';
12869
12880
 
12870
12881
  /**
12871
12882
  * Component default class name and class prefix.
12872
12883
  */
12873
- const CLASSNAME$P = 'lumx-grid';
12884
+ const CLASSNAME$T = 'lumx-grid';
12874
12885
  const {
12875
- block: block$E
12876
- } = classNames.bem(CLASSNAME$P);
12886
+ block: block$G
12887
+ } = classNames.bem(CLASSNAME$T);
12877
12888
 
12878
12889
  /**
12879
12890
  * Component default props.
@@ -12904,7 +12915,7 @@ const Grid = forwardRef((props, ref) => {
12904
12915
  return /*#__PURE__*/jsx("div", {
12905
12916
  ref: ref,
12906
12917
  ...forwardedProps,
12907
- className: classNames.join(className, classNames.bem(`${CLASSNAME$P}-container`).block(), block$E({
12918
+ className: classNames.join(className, classNames.bem(`${CLASSNAME$T}-container`).block(), block$G({
12908
12919
  [`h-align-${hAlign}`]: Boolean(hAlign),
12909
12920
  [`v-align-${vAlign}`]: Boolean(vAlign),
12910
12921
  [`orientation-${orientation}`]: Boolean(orientation),
@@ -12914,22 +12925,22 @@ const Grid = forwardRef((props, ref) => {
12914
12925
  children: children
12915
12926
  });
12916
12927
  });
12917
- Grid.displayName = COMPONENT_NAME$O;
12918
- Grid.className = CLASSNAME$P;
12928
+ Grid.displayName = COMPONENT_NAME$T;
12929
+ Grid.className = CLASSNAME$T;
12919
12930
  Grid.defaultProps = DEFAULT_PROPS$J;
12920
12931
 
12921
12932
  /**
12922
12933
  * Component display name.
12923
12934
  */
12924
- const COMPONENT_NAME$N = 'GridItem';
12935
+ const COMPONENT_NAME$S = 'GridItem';
12925
12936
 
12926
12937
  /**
12927
12938
  * Component default class name and class prefix.
12928
12939
  */
12929
- const CLASSNAME$O = 'lumx-grid-item';
12940
+ const CLASSNAME$S = 'lumx-grid-item';
12930
12941
  const {
12931
- block: block$D
12932
- } = classNames.bem(CLASSNAME$O);
12942
+ block: block$F
12943
+ } = classNames.bem(CLASSNAME$S);
12933
12944
 
12934
12945
  /**
12935
12946
  * GridItem component.
@@ -12950,7 +12961,7 @@ const GridItem = forwardRef((props, ref) => {
12950
12961
  return /*#__PURE__*/jsx("div", {
12951
12962
  ref: ref,
12952
12963
  ...forwardedProps,
12953
- className: classNames.join(className, block$D({
12964
+ className: classNames.join(className, block$F({
12954
12965
  [`width-${width}`]: Boolean(width),
12955
12966
  [`order-${order}`]: Boolean(order),
12956
12967
  [`align-${align}`]: Boolean(align)
@@ -12958,18 +12969,18 @@ const GridItem = forwardRef((props, ref) => {
12958
12969
  children: children
12959
12970
  });
12960
12971
  });
12961
- GridItem.displayName = COMPONENT_NAME$N;
12962
- GridItem.className = CLASSNAME$O;
12972
+ GridItem.displayName = COMPONENT_NAME$S;
12973
+ GridItem.className = CLASSNAME$S;
12963
12974
 
12964
12975
  /**
12965
12976
  * Component display name.
12966
12977
  */
12967
- const COMPONENT_NAME$M = 'GridColumn';
12978
+ const COMPONENT_NAME$R = 'GridColumn';
12968
12979
 
12969
12980
  /**
12970
12981
  * Component default class name and class prefix.
12971
12982
  */
12972
- const CLASSNAME$N = 'lumx-grid-column';
12983
+ const CLASSNAME$R = 'lumx-grid-column';
12973
12984
 
12974
12985
  /**
12975
12986
  * Component default props.
@@ -12999,7 +13010,7 @@ const GridColumn$1 = props => {
12999
13010
  return /*#__PURE__*/jsx(Component, {
13000
13011
  ...forwardedProps,
13001
13012
  ref: ref,
13002
- className: classnames(className, CLASSNAME$N),
13013
+ className: classnames(className, CLASSNAME$R),
13003
13014
  style: {
13004
13015
  ...style,
13005
13016
  ['--lumx-grid-column-item-min-width']: isInteger(itemMinWidth) && `${itemMinWidth}px`,
@@ -13009,8 +13020,8 @@ const GridColumn$1 = props => {
13009
13020
  children: children
13010
13021
  });
13011
13022
  };
13012
- GridColumn$1.displayName = COMPONENT_NAME$M;
13013
- GridColumn$1.className = CLASSNAME$N;
13023
+ GridColumn$1.displayName = COMPONENT_NAME$R;
13024
+ GridColumn$1.className = CLASSNAME$R;
13014
13025
  GridColumn$1.defaultProps = DEFAULT_PROPS$I;
13015
13026
 
13016
13027
  /**
@@ -13039,8 +13050,8 @@ const GridColumn = forwardRef((props, ref) => {
13039
13050
  ...props
13040
13051
  });
13041
13052
  });
13042
- GridColumn.displayName = COMPONENT_NAME$M;
13043
- GridColumn.className = CLASSNAME$N;
13053
+ GridColumn.displayName = COMPONENT_NAME$R;
13054
+ GridColumn.className = CLASSNAME$R;
13044
13055
  GridColumn.defaultProps = DEFAULT_PROPS$H;
13045
13056
 
13046
13057
  /**
@@ -13062,16 +13073,16 @@ const ImageBlockCaptionPosition = {
13062
13073
  /**
13063
13074
  * Component display name.
13064
13075
  */
13065
- const COMPONENT_NAME$L = 'ImageBlock';
13076
+ const COMPONENT_NAME$Q = 'ImageBlock';
13066
13077
 
13067
13078
  /**
13068
13079
  * Component default class name and class prefix.
13069
13080
  */
13070
- const CLASSNAME$M = 'lumx-image-block';
13081
+ const CLASSNAME$Q = 'lumx-image-block';
13071
13082
  const {
13072
- block: block$C,
13073
- element: element$v
13074
- } = bem(CLASSNAME$M);
13083
+ block: block$E,
13084
+ element: element$x
13085
+ } = bem(CLASSNAME$Q);
13075
13086
 
13076
13087
  /**
13077
13088
  * Component default props.
@@ -13114,7 +13125,7 @@ const ImageBlock$1 = props => {
13114
13125
  return /*#__PURE__*/jsxs("figure", {
13115
13126
  ref: ref,
13116
13127
  ...forwardedProps,
13117
- className: classnames(className, block$C({
13128
+ className: classnames(className, block$E({
13118
13129
  [`caption-position-${captionPosition}`]: Boolean(captionPosition),
13119
13130
  [`align-${align}`]: Boolean(align),
13120
13131
  [`size-${size}`]: Boolean(size),
@@ -13123,7 +13134,7 @@ const ImageBlock$1 = props => {
13123
13134
  })),
13124
13135
  children: [/*#__PURE__*/jsx(Thumbnail, {
13125
13136
  ...thumbnailProps,
13126
- className: classnames(element$v('image'), thumbnailProps?.className),
13137
+ className: classnames(element$x('image'), thumbnailProps?.className),
13127
13138
  fillHeight: fillHeight,
13128
13139
  align: align,
13129
13140
  image: image,
@@ -13132,7 +13143,7 @@ const ImageBlock$1 = props => {
13132
13143
  alt: alt || title
13133
13144
  }), /*#__PURE__*/jsx(ImageCaption, {
13134
13145
  as: "figcaption",
13135
- baseClassName: CLASSNAME$M,
13146
+ baseClassName: CLASSNAME$Q,
13136
13147
  theme: theme,
13137
13148
  title: title,
13138
13149
  titleProps: titleProps,
@@ -13143,7 +13154,7 @@ const ImageBlock$1 = props => {
13143
13154
  align: align,
13144
13155
  truncate: captionPosition === 'over'
13145
13156
  }), actions && /*#__PURE__*/jsx("div", {
13146
- className: element$v('actions'),
13157
+ className: element$x('actions'),
13147
13158
  children: actions
13148
13159
  })]
13149
13160
  });
@@ -13263,19 +13274,19 @@ const ImageBlock = forwardRef((props, ref) => {
13263
13274
  ImageCaption
13264
13275
  });
13265
13276
  });
13266
- ImageBlock.displayName = COMPONENT_NAME$L;
13267
- ImageBlock.className = CLASSNAME$M;
13277
+ ImageBlock.displayName = COMPONENT_NAME$Q;
13278
+ ImageBlock.className = CLASSNAME$Q;
13268
13279
  ImageBlock.defaultProps = DEFAULT_PROPS$G;
13269
13280
 
13270
13281
  /**
13271
13282
  * Component display name.
13272
13283
  */
13273
- const COMPONENT_NAME$K = 'ImageLightbox';
13284
+ const COMPONENT_NAME$P = 'ImageLightbox';
13274
13285
 
13275
13286
  /**
13276
13287
  * Component default class name and class prefix.
13277
13288
  */
13278
- const CLASSNAME$L = 'lumx-image-lightbox';
13289
+ const CLASSNAME$P = 'lumx-image-lightbox';
13279
13290
 
13280
13291
  /**
13281
13292
  * Observe element size (only works if it's size depends on the window size).
@@ -13520,8 +13531,8 @@ function useAnimateScroll(scrollAreaRef) {
13520
13531
  }
13521
13532
 
13522
13533
  const {
13523
- element: element$u
13524
- } = classNames.bem(CLASSNAME$L);
13534
+ element: element$w
13535
+ } = classNames.bem(CLASSNAME$P);
13525
13536
  /** Internal image slide component for ImageLightbox */
13526
13537
  const ImageSlide = /*#__PURE__*/React__default.memo(props => {
13527
13538
  const {
@@ -13588,12 +13599,12 @@ const ImageSlide = /*#__PURE__*/React__default.memo(props => {
13588
13599
  // Make it accessible to keyboard nav when the zone is scrollable
13589
13600
  ,
13590
13601
  tabIndex: isScrollable ? 0 : undefined,
13591
- className: element$u('image-slide'),
13602
+ className: element$w('image-slide'),
13592
13603
  children: /*#__PURE__*/jsx(Thumbnail, {
13593
13604
  imgRef: useMergeRefs(imgRef, propImgRef),
13594
13605
  image: image,
13595
13606
  alt: alt,
13596
- className: element$u('thumbnail'),
13607
+ className: element$w('thumbnail'),
13597
13608
  imgProps: {
13598
13609
  ...imgProps,
13599
13610
  style: {
@@ -13612,8 +13623,8 @@ const ImageSlide = /*#__PURE__*/React__default.memo(props => {
13612
13623
  }, isEqual);
13613
13624
 
13614
13625
  const {
13615
- element: element$t
13616
- } = classNames.bem(CLASSNAME$L);
13626
+ element: element$v
13627
+ } = classNames.bem(CLASSNAME$P);
13617
13628
  /** Internal image slideshow component for ImageLightbox */
13618
13629
  const ImageSlideshow = ({
13619
13630
  activeImageIndex,
@@ -13734,12 +13745,12 @@ const ImageSlideshow = ({
13734
13745
  })
13735
13746
  }), (metadata || slideShowControls || zoomControls) && /*#__PURE__*/jsxs(FlexBox, {
13736
13747
  ref: footerRef,
13737
- className: element$t('footer'),
13748
+ className: element$v('footer'),
13738
13749
  orientation: "vertical",
13739
13750
  vAlign: "center",
13740
13751
  gap: "big",
13741
13752
  children: [metadata, /*#__PURE__*/jsxs(FlexBox, {
13742
- className: element$t('footer-actions'),
13753
+ className: element$v('footer-actions'),
13743
13754
  orientation: "horizontal",
13744
13755
  gap: "regular",
13745
13756
  children: [slideShowControls, zoomControls]
@@ -13853,7 +13864,7 @@ function useImageLightbox(props) {
13853
13864
  viewTransitionName: {
13854
13865
  source: currentImageRef,
13855
13866
  target: triggerImageRefs[currentIndex],
13856
- name: CLASSNAME$L
13867
+ name: CLASSNAME$P
13857
13868
  }
13858
13869
  });
13859
13870
  }
@@ -13905,7 +13916,7 @@ function useImageLightbox(props) {
13905
13916
  viewTransitionName: {
13906
13917
  source: triggerImage,
13907
13918
  target: currentImageRef,
13908
- name: CLASSNAME$L
13919
+ name: CLASSNAME$P
13909
13920
  }
13910
13921
  });
13911
13922
  }
@@ -13959,7 +13970,7 @@ const Inner = forwardRef((props, ref) => {
13959
13970
  }, [onClose]);
13960
13971
  return /*#__PURE__*/jsx(Lightbox, {
13961
13972
  ref: ref,
13962
- className: classNames.join(className, CLASSNAME$L),
13973
+ className: classNames.join(className, CLASSNAME$P),
13963
13974
  parentElement: parentElement,
13964
13975
  isOpen: isOpen,
13965
13976
  onClose: onClose,
@@ -13988,8 +13999,8 @@ const Inner = forwardRef((props, ref) => {
13988
13999
  })
13989
14000
  });
13990
14001
  });
13991
- Inner.displayName = COMPONENT_NAME$K;
13992
- Inner.className = CLASSNAME$L;
14002
+ Inner.displayName = COMPONENT_NAME$P;
14003
+ Inner.className = CLASSNAME$P;
13993
14004
 
13994
14005
  /**
13995
14006
  * ImageLightbox component.
@@ -14005,16 +14016,16 @@ const ImageLightbox = Object.assign(Inner, {
14005
14016
  /**
14006
14017
  * Component display name.
14007
14018
  */
14008
- const COMPONENT_NAME$J = 'InlineList';
14019
+ const COMPONENT_NAME$O = 'InlineList';
14009
14020
 
14010
14021
  /**
14011
14022
  * Component default class name and class prefix.
14012
14023
  */
14013
- const CLASSNAME$K = 'lumx-inline-list';
14024
+ const CLASSNAME$O = 'lumx-inline-list';
14014
14025
  const {
14015
- block: block$B,
14016
- element: element$s
14017
- } = bem(CLASSNAME$K);
14026
+ block: block$D,
14027
+ element: element$u
14028
+ } = bem(CLASSNAME$O);
14018
14029
 
14019
14030
  /**
14020
14031
  * Component default props.
@@ -14044,7 +14055,7 @@ const InlineList$1 = props => {
14044
14055
  jsx("ul", {
14045
14056
  ...forwardedProps,
14046
14057
  ref: ref,
14047
- className: classnames(className, block$B({
14058
+ className: classnames(className, block$D({
14048
14059
  wrap: Boolean(wrap)
14049
14060
  }), color && font(color, colorVariant), typography$1 && typography(typography$1))
14050
14061
  // Lists with removed bullet style can lose their a11y list role on some browsers
@@ -14056,9 +14067,9 @@ const InlineList$1 = props => {
14056
14067
  // eslint-disable-next-line jsx-a11y/no-redundant-roles
14057
14068
  jsxs("li", {
14058
14069
  role: "listitem",
14059
- className: element$s('item'),
14070
+ className: element$u('item'),
14060
14071
  children: [index !== 0 && /*#__PURE__*/jsx("span", {
14061
- className: element$s('item-separator'),
14072
+ className: element$u('item-separator'),
14062
14073
  "aria-hidden": "true",
14063
14074
  children: '\u00A0•\u00A0'
14064
14075
  }), item]
@@ -14066,8 +14077,8 @@ const InlineList$1 = props => {
14066
14077
  })
14067
14078
  );
14068
14079
  };
14069
- InlineList$1.displayName = COMPONENT_NAME$J;
14070
- InlineList$1.className = CLASSNAME$K;
14080
+ InlineList$1.displayName = COMPONENT_NAME$O;
14081
+ InlineList$1.className = CLASSNAME$O;
14071
14082
  InlineList$1.defaultProps = DEFAULT_PROPS$F;
14072
14083
 
14073
14084
  /**
@@ -14092,8 +14103,8 @@ const InlineList = forwardRef((props, ref) => {
14092
14103
  items: Children.toArray(children)
14093
14104
  });
14094
14105
  });
14095
- InlineList.displayName = COMPONENT_NAME$J;
14096
- InlineList.className = CLASSNAME$K;
14106
+ InlineList.displayName = COMPONENT_NAME$O;
14107
+ InlineList.className = CLASSNAME$O;
14097
14108
  InlineList.defaultProps = DEFAULT_PROPS$F;
14098
14109
 
14099
14110
  /**
@@ -14137,16 +14148,16 @@ InputLabel.defaultProps = InputLabel$1.defaultProps;
14137
14148
  /**
14138
14149
  * Component display name.
14139
14150
  */
14140
- const COMPONENT_NAME$I = 'Lightbox';
14151
+ const COMPONENT_NAME$N = 'Lightbox';
14141
14152
 
14142
14153
  /**
14143
14154
  * Component default class name and class prefix.
14144
14155
  */
14145
- const CLASSNAME$J = 'lumx-lightbox';
14156
+ const CLASSNAME$N = 'lumx-lightbox';
14146
14157
  const {
14147
- block: block$A,
14148
- element: element$r
14149
- } = bem(CLASSNAME$J);
14158
+ block: block$C,
14159
+ element: element$t
14160
+ } = bem(CLASSNAME$N);
14150
14161
 
14151
14162
  /**
14152
14163
  * Lightbox component.
@@ -14193,7 +14204,7 @@ const Lightbox$1 = props => {
14193
14204
  "aria-modal": "true",
14194
14205
  role: "dialog",
14195
14206
  tabIndex: -1,
14196
- className: classnames(className, block$A({
14207
+ className: classnames(className, block$C({
14197
14208
  'is-hidden': !isOpen,
14198
14209
  'is-shown': isOpen || isVisible,
14199
14210
  [`theme-${theme}`]: Boolean(theme)
@@ -14202,7 +14213,7 @@ const Lightbox$1 = props => {
14202
14213
  zIndex
14203
14214
  },
14204
14215
  children: [closeButtonProps && /*#__PURE__*/jsx("div", {
14205
- className: element$r('close'),
14216
+ className: element$t('close'),
14206
14217
  children: /*#__PURE__*/jsx(IconButton, {
14207
14218
  ...closeButtonProps,
14208
14219
  ref: closeButtonRef,
@@ -14222,7 +14233,7 @@ const Lightbox$1 = props => {
14222
14233
  childrenRefs: clickAwayRefs,
14223
14234
  children: /*#__PURE__*/jsx("div", {
14224
14235
  ref: childrenRef,
14225
- className: element$r('wrapper'),
14236
+ className: element$t('wrapper'),
14226
14237
  role: "presentation",
14227
14238
  children: children
14228
14239
  })
@@ -14330,8 +14341,8 @@ const Lightbox = forwardRef((props, ref) => {
14330
14341
  ...forwardedProps
14331
14342
  });
14332
14343
  });
14333
- Lightbox.displayName = COMPONENT_NAME$I;
14334
- Lightbox.className = CLASSNAME$J;
14344
+ Lightbox.displayName = COMPONENT_NAME$N;
14345
+ Lightbox.className = CLASSNAME$N;
14335
14346
 
14336
14347
  /**
14337
14348
  * Defines the props of the component.
@@ -14340,15 +14351,15 @@ Lightbox.className = CLASSNAME$J;
14340
14351
  /**
14341
14352
  * Component display name.
14342
14353
  */
14343
- const COMPONENT_NAME$H = 'Link';
14354
+ const COMPONENT_NAME$M = 'Link';
14344
14355
 
14345
14356
  /**
14346
14357
  * Component default class name and class prefix.
14347
14358
  */
14348
- const CLASSNAME$I = 'lumx-link';
14359
+ const CLASSNAME$M = 'lumx-link';
14349
14360
  const {
14350
- block: block$z
14351
- } = bem(CLASSNAME$I);
14361
+ block: block$B
14362
+ } = bem(CLASSNAME$M);
14352
14363
 
14353
14364
  /**
14354
14365
  * Link component.
@@ -14377,7 +14388,7 @@ const Link$1 = props => {
14377
14388
  ...forwardedProps,
14378
14389
  handleClick,
14379
14390
  children,
14380
- className: classnames(className, block$z({
14391
+ className: classnames(className, block$B({
14381
14392
  [`color-${color}`]: Boolean(color),
14382
14393
  [`color-variant-${colorVariant}`]: Boolean(colorVariant),
14383
14394
  'has-typography': !!typography$1
@@ -14386,8 +14397,8 @@ const Link$1 = props => {
14386
14397
  };
14387
14398
 
14388
14399
  const {
14389
- element: element$q
14390
- } = classNames.bem(CLASSNAME$I);
14400
+ element: element$s
14401
+ } = classNames.bem(CLASSNAME$M);
14391
14402
 
14392
14403
  /**
14393
14404
  * Defines the props of the component.
@@ -14422,33 +14433,33 @@ const Link = forwardRef((props, ref) => {
14422
14433
  children: wrapChildrenIconWithSpaces(/*#__PURE__*/jsxs(Fragment, {
14423
14434
  children: [leftIcon && /*#__PURE__*/jsx(Icon, {
14424
14435
  icon: leftIcon,
14425
- className: element$q('left-icon')
14436
+ className: element$s('left-icon')
14426
14437
  }), children && /*#__PURE__*/jsx("span", {
14427
- className: element$q('content'),
14438
+ className: element$s('content'),
14428
14439
  children: children
14429
14440
  }), rightIcon && /*#__PURE__*/jsx(Icon, {
14430
14441
  icon: rightIcon,
14431
- className: element$q('right-icon')
14442
+ className: element$s('right-icon')
14432
14443
  })]
14433
14444
  }))
14434
14445
  });
14435
14446
  });
14436
- Link.displayName = COMPONENT_NAME$H;
14437
- Link.className = CLASSNAME$I;
14447
+ Link.displayName = COMPONENT_NAME$M;
14448
+ Link.className = CLASSNAME$M;
14438
14449
 
14439
14450
  /**
14440
14451
  * Component display name.
14441
14452
  */
14442
- const COMPONENT_NAME$G = 'LinkPreview';
14453
+ const COMPONENT_NAME$L = 'LinkPreview';
14443
14454
 
14444
14455
  /**
14445
14456
  * Component default class name and class prefix.
14446
14457
  */
14447
- const CLASSNAME$H = 'lumx-link-preview';
14458
+ const CLASSNAME$L = 'lumx-link-preview';
14448
14459
  const {
14449
- block: block$y,
14450
- element: element$p
14451
- } = bem(CLASSNAME$H);
14460
+ block: block$A,
14461
+ element: element$r
14462
+ } = bem(CLASSNAME$L);
14452
14463
 
14453
14464
  /**
14454
14465
  * Component default props.
@@ -14487,14 +14498,14 @@ const LinkPreview$1 = props => {
14487
14498
  return /*#__PURE__*/jsx("article", {
14488
14499
  ref: ref,
14489
14500
  ...forwardedProps,
14490
- className: classnames(className, block$y({
14501
+ className: classnames(className, block$A({
14491
14502
  [`size-${adjustedSize}`]: Boolean(adjustedSize),
14492
14503
  [`theme-${theme}`]: Boolean(theme)
14493
14504
  })),
14494
14505
  children: /*#__PURE__*/jsxs("div", {
14495
- className: element$p('wrapper'),
14506
+ className: element$r('wrapper'),
14496
14507
  children: [thumbnailProps && /*#__PURE__*/jsx("div", {
14497
- className: element$p('thumbnail'),
14508
+ className: element$r('thumbnail'),
14498
14509
  children: /*#__PURE__*/jsx(Thumbnail, {
14499
14510
  ...thumbnailProps,
14500
14511
  linkAs: linkAs,
@@ -14509,9 +14520,9 @@ const LinkPreview$1 = props => {
14509
14520
  fillHeight: true
14510
14521
  })
14511
14522
  }), /*#__PURE__*/jsxs("div", {
14512
- className: element$p('container'),
14523
+ className: element$r('container'),
14513
14524
  children: [title && /*#__PURE__*/jsx(TitleHeading, {
14514
- className: element$p('title'),
14525
+ className: element$r('title'),
14515
14526
  children: /*#__PURE__*/jsx(Link, {
14516
14527
  ...linkProps,
14517
14528
  linkAs: linkAs,
@@ -14522,14 +14533,14 @@ const LinkPreview$1 = props => {
14522
14533
  children: title
14523
14534
  })
14524
14535
  }), description && /*#__PURE__*/jsx("p", {
14525
- className: element$p('description'),
14536
+ className: element$r('description'),
14526
14537
  children: description
14527
14538
  }), /*#__PURE__*/jsx("div", {
14528
- className: element$p('link'),
14539
+ className: element$r('link'),
14529
14540
  children: /*#__PURE__*/jsx(Link, {
14530
14541
  ...linkProps,
14531
14542
  linkAs: linkAs,
14532
- className: classnames(element$p('link'), linkProps?.className),
14543
+ className: classnames(element$r('link'), linkProps?.className),
14533
14544
  target: "_blank",
14534
14545
  href: link,
14535
14546
  color: theme === Theme.light ? ColorPalette.primary : ColorPalette.light,
@@ -14574,8 +14585,8 @@ const LinkPreview = forwardRef((props, ref) => {
14574
14585
  ...forwardedProps
14575
14586
  });
14576
14587
  });
14577
- LinkPreview.displayName = COMPONENT_NAME$G;
14578
- LinkPreview.className = CLASSNAME$H;
14588
+ LinkPreview.displayName = COMPONENT_NAME$L;
14589
+ LinkPreview.className = CLASSNAME$L;
14579
14590
  LinkPreview.defaultProps = DEFAULT_PROPS$E;
14580
14591
 
14581
14592
  /**
@@ -14607,8 +14618,8 @@ const ListItemAction = Object.assign(forwardRefPolymorphic((props, ref) => {
14607
14618
  children
14608
14619
  });
14609
14620
  }), {
14610
- displayName: COMPONENT_NAME$1b,
14611
- className: CLASSNAME$1a,
14621
+ displayName: COMPONENT_NAME$1g,
14622
+ className: CLASSNAME$1e,
14612
14623
  defaultProps: DEFAULT_PROPS$X
14613
14624
  });
14614
14625
 
@@ -14647,8 +14658,8 @@ const _ListItem = forwardRef((props, ref) => {
14647
14658
  handleClick: onItemSelected || props.onClick ? handleClick : undefined
14648
14659
  });
14649
14660
  });
14650
- _ListItem.displayName = COMPONENT_NAME$1c;
14651
- _ListItem.className = CLASSNAME$1b;
14661
+ _ListItem.displayName = COMPONENT_NAME$1h;
14662
+ _ListItem.className = CLASSNAME$1f;
14652
14663
  _ListItem.defaultProps = DEFAULT_PROPS$Y;
14653
14664
 
14654
14665
  /**
@@ -14662,12 +14673,12 @@ const ListItem = Object.assign(_ListItem, {
14662
14673
  /**
14663
14674
  * Component display name.
14664
14675
  */
14665
- const COMPONENT_NAME$F = 'ListSubheader';
14676
+ const COMPONENT_NAME$K = 'ListSubheader';
14666
14677
 
14667
14678
  /**
14668
14679
  * Component default class name and class prefix.
14669
14680
  */
14670
- const CLASSNAME$G = 'lumx-list-subheader';
14681
+ const CLASSNAME$K = 'lumx-list-subheader';
14671
14682
 
14672
14683
  /**
14673
14684
  * ListSubheader component.
@@ -14686,12 +14697,835 @@ const ListSubheader = forwardRef((props, ref) => {
14686
14697
  return /*#__PURE__*/jsx("li", {
14687
14698
  ref: ref,
14688
14699
  ...forwardedProps,
14689
- className: classNames.join(className, CLASSNAME$G),
14700
+ className: classNames.join(className, CLASSNAME$K),
14690
14701
  children: children
14691
14702
  });
14692
14703
  });
14693
- ListSubheader.displayName = COMPONENT_NAME$F;
14694
- ListSubheader.className = CLASSNAME$G;
14704
+ ListSubheader.displayName = COMPONENT_NAME$K;
14705
+ ListSubheader.className = CLASSNAME$K;
14706
+
14707
+ const COMPONENT_NAME$J = 'MenuButton';
14708
+
14709
+ /** Menu button core template (composition of menu provider, trigger, popover and list) */
14710
+ const MenuButton$1 = (props, {
14711
+ Menu
14712
+ }) => {
14713
+ const {
14714
+ label,
14715
+ children,
14716
+ triggerProps,
14717
+ popoverProps,
14718
+ onOpen
14719
+ } = props;
14720
+ return /*#__PURE__*/jsxs(Menu.Provider, {
14721
+ onOpen: onOpen,
14722
+ children: [/*#__PURE__*/jsx(Menu.Trigger, {
14723
+ ...triggerProps,
14724
+ children: label
14725
+ }), /*#__PURE__*/jsx(Menu.Popover, {
14726
+ ...popoverProps,
14727
+ children: /*#__PURE__*/jsx(Menu.List, {
14728
+ children: children
14729
+ })
14730
+ })]
14731
+ });
14732
+ };
14733
+
14734
+ /**
14735
+ * CSS selector for menu items (inner focusable element). Includes disabled items: per
14736
+ * WAI-ARIA APG they stay focusable so AT announces them; click is no-op'd via `aria-disabled`.
14737
+ */
14738
+ const MENU_ITEM_SELECTOR = '[data-menu-item]';
14739
+
14740
+ /** Get an item's text label (trimmed `textContent`) for typeahead matching. */
14741
+ function getItemText(item) {
14742
+ return item.textContent?.trim() ?? '';
14743
+ }
14744
+
14745
+ /** Get all item elements within a menu container, in DOM order (includes disabled). */
14746
+ function getItems(menu) {
14747
+ return Array.from(menu.querySelectorAll(MENU_ITEM_SELECTOR));
14748
+ }
14749
+
14750
+ /**
14751
+ * Find and focus the next sequential focusable element after the given trigger
14752
+ * in document tab order. Used by Tab-at-last-item to move focus forward past
14753
+ * the (now-closed) menu.
14754
+ */
14755
+ function moveFocusAfterTrigger(trigger) {
14756
+ const allFocusable = Array.from(document.querySelectorAll(TABBABLE_ELEMENTS_SELECTOR)).filter(el => !el.matches(DISABLED_SELECTOR) && el.tabIndex >= 0);
14757
+ const triggerIdx = allFocusable.indexOf(trigger);
14758
+ if (triggerIdx === -1) return;
14759
+ const next = allFocusable[triggerIdx + 1];
14760
+ next?.focus();
14761
+ }
14762
+
14763
+ /**
14764
+ * Set up a disclosure-pattern menu handle.
14765
+ *
14766
+ * The trigger is registered separately via {@link MenuHandle.registerTrigger}
14767
+ * once the trigger mounts. The menu container is registered separately via
14768
+ * {@link MenuHandle.registerMenu} once on mount — the popover uses
14769
+ * `closeMode="hide"` so the `<ul>` stays in the DOM at all times.
14770
+ *
14771
+ * IMPORTANT: this is the **disclosure widget** pattern, NOT WAI-ARIA's
14772
+ * `role="menu"`. Items are native `<button>` / `<a>` elements with `tabindex="0"`,
14773
+ * so screen readers announce them naturally and Tab navigates between them in
14774
+ * DOM order. There is no focus trap.
14775
+ *
14776
+ * @param options Options (menuId for `aria-controls`).
14777
+ * @returns A {@link MenuHandle} for interacting with the menu.
14778
+ */
14779
+ function setupMenu(options = {}) {
14780
+ const {
14781
+ menuId
14782
+ } = options;
14783
+ let trigger = null;
14784
+ let menu = null;
14785
+ let isOpenState = false;
14786
+
14787
+ /** Handle-lifetime abort controller (typeahead, etc.). */
14788
+ const handleAbort = new AbortController();
14789
+ /** Per-registration controller for trigger listeners. */
14790
+ let triggerAbort = null;
14791
+ /** Per-registration controller for menu list listeners. */
14792
+ let menuAbort = null;
14793
+ /** List focus nav controller */
14794
+ let focusNav = null;
14795
+ /** Menu handle */
14796
+ let handle;
14797
+
14798
+ /**
14799
+ * Shared typeahead controller (handle lifetime). Shared between the trigger and the
14800
+ * menu list so a character typed on the closed trigger lands in the same buffer that
14801
+ * in-menu typing reads.
14802
+ */
14803
+ const typeahead = createTypeahead(() => menu ? createSelectorTreeWalker(menu, MENU_ITEM_SELECTOR) : null, getItemText, handleAbort.signal);
14804
+ const subscribers = {
14805
+ open: new Set()
14806
+ };
14807
+ function notify(event, value) {
14808
+ subscribers[event].forEach(cb => cb(value));
14809
+ }
14810
+
14811
+ /** Open the menu (if not already open), then navigate */
14812
+ function openAndGoTo(resolve) {
14813
+ if (!isOpenState) handle.setOpen(true);
14814
+ focusNav?.goTo(resolve);
14815
+ }
14816
+
14817
+ /**
14818
+ * Accumulate a printable key into the shared typeahead buffer, then navigate to the
14819
+ * matching item using `goToItem` (immediate, for use inside the open menu).
14820
+ * Returns the matched item, or `null` when nothing matches.
14821
+ */
14822
+ function handleTypeaheadInMenu(key, currentItem) {
14823
+ const match = typeahead.handle(key, currentItem);
14824
+ if (match) focusNav?.goTo(() => match);
14825
+ return match;
14826
+ }
14827
+ handle = {
14828
+ get trigger() {
14829
+ return trigger;
14830
+ },
14831
+ setOpen(open) {
14832
+ if (isOpenState === open) return;
14833
+ isOpenState = open;
14834
+ if (trigger) trigger.setAttribute('aria-expanded', String(open));
14835
+ notify('open', open);
14836
+ },
14837
+ registerTrigger(el) {
14838
+ if (trigger && trigger !== el) {
14839
+ triggerAbort?.abort();
14840
+ triggerAbort = null;
14841
+ }
14842
+ trigger = el;
14843
+ triggerAbort = new AbortController();
14844
+ const {
14845
+ signal
14846
+ } = triggerAbort;
14847
+
14848
+ // Set ARIA attributes.
14849
+ trigger.setAttribute('aria-haspopup', 'true');
14850
+ trigger.setAttribute('aria-expanded', String(isOpenState));
14851
+ if (menuId) trigger.setAttribute('aria-controls', menuId);
14852
+
14853
+ // Click toggles the menu. When opening via click, focus the first item.
14854
+ trigger.addEventListener('click', () => {
14855
+ if (!isOpenState) {
14856
+ openAndGoTo(n => n.getFirst());
14857
+ } else {
14858
+ handle.setOpen(false);
14859
+ }
14860
+ }, {
14861
+ signal
14862
+ });
14863
+
14864
+ // Native `<button>` fires `click` on Enter/Space; other elements (Chip, role="button",
14865
+ // href-less `<a>`, …) don't, so we fire it manually.
14866
+ const needsManualActivation = trigger.tagName !== 'BUTTON';
14867
+ trigger.addEventListener('keydown', event => {
14868
+ switch (event.key) {
14869
+ case 'ArrowDown':
14870
+ event.preventDefault();
14871
+ event.stopPropagation();
14872
+ openAndGoTo(n => n.getFirst());
14873
+ break;
14874
+ case 'ArrowUp':
14875
+ event.preventDefault();
14876
+ event.stopPropagation();
14877
+ openAndGoTo(n => n.getLast());
14878
+ break;
14879
+ case 'Enter':
14880
+ case ' ':
14881
+ // Native <button> already fires `click` on Enter/Space → skip to avoid double-toggle.
14882
+ if (!needsManualActivation) break;
14883
+ event.preventDefault();
14884
+ event.stopPropagation();
14885
+ el.click();
14886
+ break;
14887
+ default:
14888
+ // Printable char on closed trigger → open menu, focus matching item.
14889
+ // When open, the list-side handler owns typeahead (skip here to avoid
14890
+ // double-buffering the char).
14891
+ if (!isOpenState && isPrintableKey(event)) {
14892
+ event.preventDefault();
14893
+ event.stopPropagation();
14894
+ // Buffer the char; items don't exist yet, matches on flushPendingNavigation
14895
+ typeahead.handle(event.key, null);
14896
+ focusNav?.goTo(n => typeahead.rematch(n.activeItem) ?? n.getFirst());
14897
+ handle.setOpen(true);
14898
+ }
14899
+ break;
14900
+ }
14901
+ }, {
14902
+ signal
14903
+ });
14904
+ return () => {
14905
+ if (trigger === el) {
14906
+ triggerAbort?.abort();
14907
+ triggerAbort = null;
14908
+ trigger = null;
14909
+ }
14910
+ };
14911
+ },
14912
+ registerMenu(el) {
14913
+ if (menu && menu !== el) {
14914
+ menuAbort?.abort();
14915
+ menuAbort = null;
14916
+ }
14917
+ menu = el;
14918
+ menuAbort = new AbortController();
14919
+ const {
14920
+ signal
14921
+ } = menuAbort;
14922
+
14923
+ // ── Focus navigation ──────────────────────────────────
14924
+ focusNav = createListFocusNavigation({
14925
+ container: menu,
14926
+ itemSelector: MENU_ITEM_SELECTOR,
14927
+ wrap: true,
14928
+ getActiveItem: () => {
14929
+ const active = document.activeElement;
14930
+ if (!active || !el.contains(active)) return null;
14931
+ return active;
14932
+ }
14933
+ }, {
14934
+ onActivate: item => {
14935
+ item.focus({
14936
+ preventScroll: false
14937
+ });
14938
+ },
14939
+ onDeactivate: () => {
14940
+ // No-op — focus moves naturally via item.focus().
14941
+ },
14942
+ onClear: () => {
14943
+ // No-op.
14944
+ }
14945
+ }, signal);
14946
+
14947
+ // ── Keyboard handlers ─────────────────────────────────
14948
+ menu.addEventListener('keydown', event => {
14949
+ // Modifier+key combos other than Shift+Tab should pass through.
14950
+ if (event.altKey || event.ctrlKey || event.metaKey) return;
14951
+ switch (event.key) {
14952
+ case 'ArrowDown':
14953
+ event.preventDefault();
14954
+ event.stopPropagation();
14955
+ focusNav?.goDown();
14956
+ break;
14957
+ case 'ArrowUp':
14958
+ event.preventDefault();
14959
+ event.stopPropagation();
14960
+ focusNav?.goUp();
14961
+ break;
14962
+ case 'Home':
14963
+ event.preventDefault();
14964
+ event.stopPropagation();
14965
+ focusNav?.goTo(s => s.getFirst());
14966
+ break;
14967
+ case 'End':
14968
+ event.preventDefault();
14969
+ event.stopPropagation();
14970
+ focusNav?.goTo(s => s.getLast());
14971
+ break;
14972
+ case 'Escape':
14973
+ event.preventDefault();
14974
+ event.stopPropagation();
14975
+ // Focus trigger before closing: with closeMode="hide" items unmount,
14976
+ // which would otherwise leave focus on body.
14977
+ trigger?.focus();
14978
+ handle.setOpen(false);
14979
+ break;
14980
+ case 'Tab':
14981
+ {
14982
+ // Tab-at-edge: close menu and move focus manually. The popover stays
14983
+ // mounted (closeMode="hide") but items unmount on close, so the focused
14984
+ // item disappears before the browser resolves the next tab stop. Blur the
14985
+ // active item (so Popover skips focus-restore), close, then move focus
14986
+ // forward (Tab) or to the trigger (Shift+Tab).
14987
+ const items = getItems(el);
14988
+ if (items.length === 0) return;
14989
+ const idx = items.indexOf(document.activeElement);
14990
+ if (idx === -1) return;
14991
+ if (event.shiftKey && idx === 0) {
14992
+ event.preventDefault();
14993
+ // Focus trigger explicitly for deterministic timing.
14994
+ trigger?.focus();
14995
+ handle.setOpen(false);
14996
+ } else if (!event.shiftKey && idx === items.length - 1) {
14997
+ event.preventDefault();
14998
+ // Blur active item so focusAnchorOnClose won't kick in.
14999
+ document.activeElement?.blur();
15000
+ handle.setOpen(false);
15001
+ // After unmount, focus the next element after the trigger.
15002
+ setTimeout(() => {
15003
+ if (trigger) moveFocusAfterTrigger(trigger);
15004
+ }, 0);
15005
+ }
15006
+ break;
15007
+ }
15008
+ default:
15009
+ // Printable characters → typeahead among visible items, navigate immediately.
15010
+ if (isPrintableKey(event)) {
15011
+ const active = document.activeElement;
15012
+ const currentItem = active && el.contains(active) ? active : null;
15013
+ const match = handleTypeaheadInMenu(event.key, currentItem);
15014
+ if (match) {
15015
+ event.preventDefault();
15016
+ event.stopPropagation();
15017
+ }
15018
+ }
15019
+ break;
15020
+ }
15021
+ }, {
15022
+ signal
15023
+ });
15024
+ return () => {
15025
+ if (menu === el) {
15026
+ menuAbort?.abort();
15027
+ menuAbort = null;
15028
+ menu = null;
15029
+ }
15030
+ };
15031
+ },
15032
+ flushPendingNavigation() {
15033
+ focusNav?.flushPendingNavigation();
15034
+ },
15035
+ subscribe(event, listener) {
15036
+ subscribers[event].add(listener);
15037
+ return () => {
15038
+ subscribers[event].delete(listener);
15039
+ };
15040
+ },
15041
+ destroy() {
15042
+ handleAbort.abort();
15043
+ triggerAbort?.abort();
15044
+ menuAbort?.abort();
15045
+ triggerAbort = null;
15046
+ menuAbort = null;
15047
+ trigger = null;
15048
+ menu = null;
15049
+ isOpenState = false;
15050
+ for (const set of Object.values(subscribers)) {
15051
+ set.clear();
15052
+ }
15053
+ }
15054
+ };
15055
+ return handle;
15056
+ }
15057
+
15058
+ /** Context value shared between Menu sub-components. */
15059
+
15060
+ const MenuContext = /*#__PURE__*/createContext(undefined);
15061
+
15062
+ /** Use Menu context. @throws if used outside `Menu.Provider`. */
15063
+ function useMenuContext() {
15064
+ const context = useContext(MenuContext);
15065
+ if (!context) {
15066
+ throw new Error('Menu sub-components must be used within a Menu.Provider');
15067
+ }
15068
+ return context;
15069
+ }
15070
+
15071
+ /**
15072
+ * MenuProvider component.
15073
+ *
15074
+ * @param props Component props.
15075
+ * @return React element.
15076
+ */
15077
+ function MenuProvider(props) {
15078
+ const {
15079
+ children,
15080
+ onOpen
15081
+ } = props;
15082
+ const menuId = useId();
15083
+ const triggerId = useId();
15084
+ const anchorRef = useRef(null);
15085
+ const handle = useMemo(() => setupMenu({
15086
+ menuId
15087
+ }), [menuId]);
15088
+
15089
+ // Forward 'open' events to the consumer callback via a ref to avoid stale closures.
15090
+ const onOpenRef = useRef(onOpen);
15091
+ onOpenRef.current = onOpen;
15092
+ useEffect(() => {
15093
+ const unsubscribe = handle.subscribe('open', isOpen => onOpenRef.current?.(isOpen));
15094
+ // Cleanup
15095
+ return () => {
15096
+ unsubscribe();
15097
+ handle.destroy();
15098
+ };
15099
+ }, [handle]);
15100
+ const contextValue = useMemo(() => ({
15101
+ handle,
15102
+ menuId,
15103
+ triggerId,
15104
+ anchorRef
15105
+ }), [handle, menuId, triggerId]);
15106
+ return /*#__PURE__*/jsx(MenuContext.Provider, {
15107
+ value: contextValue,
15108
+ children: children
15109
+ });
15110
+ }
15111
+ MenuProvider.displayName = 'Menu.Provider';
15112
+
15113
+ const COMPONENT_NAME$I = 'MenuTrigger';
15114
+ const CLASSNAME$J = 'lumx-menu-trigger';
15115
+
15116
+ /** MenuTrigger core template. Renders `Trigger` with disclosure ARIA attributes. */
15117
+ const MenuTrigger$1 = (props, {
15118
+ Trigger
15119
+ }) => {
15120
+ const {
15121
+ children,
15122
+ className,
15123
+ menuId,
15124
+ isOpen,
15125
+ ref,
15126
+ ...forwardedProps
15127
+ } = props;
15128
+ return /*#__PURE__*/jsx(Trigger, {
15129
+ ref: ref,
15130
+ ...forwardedProps,
15131
+ className: classnames(className, CLASSNAME$J),
15132
+ "aria-haspopup": "true",
15133
+ "aria-controls": menuId,
15134
+ "aria-expanded": isOpen ? 'true' : 'false',
15135
+ children: children
15136
+ });
15137
+ };
15138
+
15139
+ /**
15140
+ * Subscribe to a menu event via the handle's subscriber system.
15141
+ * Re-subscribes when the handle changes (e.g. trigger mount/unmount).
15142
+ *
15143
+ * @param event Event name to subscribe to.
15144
+ * @param initialValue Initial value used until the first event fires.
15145
+ * @returns The latest event payload (or `initialValue`).
15146
+ */
15147
+ function useMenuEvent(event, initialValue) {
15148
+ const {
15149
+ handle
15150
+ } = useMenuContext();
15151
+ const [value, setValue] = useState(initialValue);
15152
+ useEffect(() => {
15153
+ return handle.subscribe(event, setValue);
15154
+ }, [handle, event]);
15155
+ return value;
15156
+ }
15157
+
15158
+ /**
15159
+ * Subscribe to the menu open state.
15160
+ *
15161
+ * @returns `[isOpen, setIsOpen]` — open state and a setter that proxies to `handle.setOpen`.
15162
+ */
15163
+ function useMenuOpen() {
15164
+ const {
15165
+ handle
15166
+ } = useMenuContext();
15167
+ const isOpen = useMenuEvent('open', false);
15168
+ const setIsOpen = useCallback(open => handle.setOpen(open), [handle]);
15169
+ return [isOpen, setIsOpen];
15170
+ }
15171
+
15172
+ /** MenuTrigger props. Polymorphic */
15173
+
15174
+ /**
15175
+ * MenuTrigger component.
15176
+ *
15177
+ * @param props Component props.
15178
+ * @return React element.
15179
+ */
15180
+ const MenuTrigger = Object.assign(forwardRefPolymorphic((props, ref) => {
15181
+ const {
15182
+ menuId,
15183
+ triggerId,
15184
+ anchorRef,
15185
+ handle
15186
+ } = useMenuContext();
15187
+ const [isOpen] = useMenuOpen();
15188
+ const {
15189
+ as,
15190
+ children,
15191
+ ...triggerProps
15192
+ } = props;
15193
+ const TriggerComp = as ?? Button;
15194
+ const internalRef = useRef(null);
15195
+ const mergedRef = useMergeRefs(ref, internalRef, anchorRef);
15196
+
15197
+ // Register trigger with the handle on mount; clean up on unmount.
15198
+ useEffect(() => {
15199
+ const triggerEl = internalRef.current;
15200
+ if (!triggerEl) return undefined;
15201
+ return handle.registerTrigger(triggerEl);
15202
+ }, [handle]);
15203
+ return MenuTrigger$1({
15204
+ ...triggerProps,
15205
+ id: triggerProps.id ?? triggerId,
15206
+ menuId,
15207
+ isOpen,
15208
+ ref: mergedRef,
15209
+ children
15210
+ }, {
15211
+ Trigger: TriggerComp
15212
+ });
15213
+ }), {
15214
+ displayName: COMPONENT_NAME$I,
15215
+ className: CLASSNAME$J
15216
+ });
15217
+
15218
+ const COMPONENT_NAME$H = 'MenuPopover';
15219
+ const CLASSNAME$I = 'lumx-menu-popover';
15220
+ const {
15221
+ block: block$z,
15222
+ element: element$q
15223
+ } = bem(CLASSNAME$I);
15224
+
15225
+ /** MenuPopover core template. Renders a `Popover` with menu-friendly defaults. */
15226
+ const MenuPopover$1 = (props, {
15227
+ Popover,
15228
+ FlexBox
15229
+ }) => {
15230
+ const {
15231
+ children,
15232
+ className,
15233
+ isOpen,
15234
+ placement = 'bottom-start',
15235
+ anchorRef,
15236
+ handleClose,
15237
+ closeOnClickAway = true,
15238
+ closeOnEscape = true,
15239
+ usePortal = false,
15240
+ focusAnchorOnClose = true,
15241
+ ...forwardedProps
15242
+ } = props;
15243
+ return /*#__PURE__*/jsx(Popover, {
15244
+ ...forwardedProps,
15245
+ placement: placement,
15246
+ anchorRef: anchorRef,
15247
+ isOpen: isOpen,
15248
+ onClose: handleClose,
15249
+ closeOnClickAway: closeOnClickAway,
15250
+ closeOnEscape: closeOnEscape,
15251
+ usePortal: usePortal,
15252
+ focusAnchorOnClose: focusAnchorOnClose,
15253
+ withFocusTrap: false,
15254
+ closeMode: "hide",
15255
+ fitToAnchorWidth: false,
15256
+ className: block$z([className]),
15257
+ children: /*#__PURE__*/jsx(FlexBox, {
15258
+ orientation: "vertical",
15259
+ className: element$q('scroll'),
15260
+ children: children
15261
+ })
15262
+ });
15263
+ };
15264
+
15265
+ /** Popover props forwarded to the inner Popover (minus managed props). */
15266
+
15267
+ /** MenusPopover props. */
15268
+
15269
+ /**
15270
+ * MenuPopover component.
15271
+ *
15272
+ * @param props Component props.
15273
+ * @return React element.
15274
+ */
15275
+ const MenuPopover = props => {
15276
+ const {
15277
+ anchorRef
15278
+ } = useMenuContext();
15279
+ const [isOpen, setIsOpen] = useMenuOpen();
15280
+ const {
15281
+ children,
15282
+ ...popoverProps
15283
+ } = props;
15284
+ return MenuPopover$1({
15285
+ ...popoverProps,
15286
+ children,
15287
+ isOpen,
15288
+ anchorRef,
15289
+ handleClose: () => setIsOpen(false)
15290
+ }, {
15291
+ Popover,
15292
+ FlexBox
15293
+ });
15294
+ };
15295
+ MenuPopover.displayName = COMPONENT_NAME$H;
15296
+ MenuPopover.className = CLASSNAME$I;
15297
+
15298
+ /** Menu list props. */
15299
+
15300
+ const COMPONENT_NAME$G = 'Menu';
15301
+ const CLASSNAME$H = 'lumx-menu';
15302
+
15303
+ /** MenuList core template. Wraps `List` with menu-specific class and ARIA labelling. */
15304
+ const MenuList$1 = props => {
15305
+ const {
15306
+ 'aria-labelledby': ariaLabelledby,
15307
+ children,
15308
+ className,
15309
+ id,
15310
+ ref,
15311
+ ...rest
15312
+ } = props;
15313
+ return List$1({
15314
+ ...rest,
15315
+ ref,
15316
+ id,
15317
+ className: classnames(className, CLASSNAME$H),
15318
+ itemPadding: 'big',
15319
+ 'aria-labelledby': ariaLabelledby,
15320
+ children
15321
+ });
15322
+ };
15323
+
15324
+ /**
15325
+ * MenuList component.
15326
+ *
15327
+ * @param props Component props.
15328
+ * @return React element.
15329
+ */
15330
+ const MenuList = forwardRef((props, ref) => {
15331
+ const {
15332
+ menuId,
15333
+ triggerId,
15334
+ handle
15335
+ } = useMenuContext();
15336
+ const internalRef = useRef(null);
15337
+ const mergedRef = useMergeRefs(ref, internalRef);
15338
+ const {
15339
+ children,
15340
+ ...forwardedProps
15341
+ } = props;
15342
+ const [isOpen] = useMenuOpen();
15343
+
15344
+ // Register menu in context
15345
+ useLayoutEffect(() => {
15346
+ const menu = internalRef.current;
15347
+ if (!menu) return undefined;
15348
+ return handle.registerMenu(menu);
15349
+ }, [handle]);
15350
+
15351
+ // Flush pending navigation (that could not be done when the menu was closed)
15352
+ useLayoutEffect(() => {
15353
+ if (isOpen) handle.flushPendingNavigation();
15354
+ }, [handle, isOpen]);
15355
+ return MenuList$1({
15356
+ ...forwardedProps,
15357
+ id: menuId,
15358
+ 'aria-labelledby': triggerId,
15359
+ ref: mergedRef,
15360
+ children: isOpen ? children : null
15361
+ });
15362
+ });
15363
+ MenuList.displayName = COMPONENT_NAME$G;
15364
+ MenuList.className = CLASSNAME$H;
15365
+
15366
+ const Menu = {
15367
+ Provider: MenuProvider,
15368
+ Trigger: MenuTrigger,
15369
+ Popover: MenuPopover,
15370
+ List: MenuList
15371
+ };
15372
+
15373
+ /** Keys managed by MenuButton — omitted from the polymorphic trigger props. */
15374
+
15375
+ /** Polymorphic trigger props with index signature stripped and managed keys removed. */
15376
+
15377
+ /** Menu button props */
15378
+
15379
+ /**
15380
+ * MenuButton component.
15381
+ *
15382
+ * @param props Component props.
15383
+ * @return React element.
15384
+ */
15385
+ const MenuButton = Object.assign(forwardRefPolymorphic((props, ref) => {
15386
+ const {
15387
+ label,
15388
+ children,
15389
+ popoverProps,
15390
+ onOpen,
15391
+ as,
15392
+ ...triggerProps
15393
+ } = props;
15394
+ const isIconButton = as === IconButton;
15395
+ const triggerLabel = isIconButton ? undefined : label;
15396
+ const extraTriggerProps = isIconButton ? {
15397
+ label
15398
+ } : {};
15399
+ return MenuButton$1({
15400
+ label: triggerLabel,
15401
+ children,
15402
+ popoverProps,
15403
+ onOpen,
15404
+ triggerProps: {
15405
+ ...triggerProps,
15406
+ ...extraTriggerProps,
15407
+ as,
15408
+ ref
15409
+ }
15410
+ }, {
15411
+ Menu
15412
+ });
15413
+ }), {
15414
+ displayName: COMPONENT_NAME$J
15415
+ });
15416
+
15417
+ /** MenuItem props. */
15418
+
15419
+ /** Props overridden by framework wrappers. */
15420
+
15421
+ const COMPONENT_NAME$F = 'MenuItem';
15422
+ const CLASSNAME$G = 'lumx-menu-item';
15423
+ const {
15424
+ block: block$y,
15425
+ element: element$p
15426
+ } = bem(CLASSNAME$G);
15427
+
15428
+ /** MenuItem core template. Renders a `ListItem` with a `ListItemAction`. */
15429
+ const MenuItem$1 = props => {
15430
+ const {
15431
+ children,
15432
+ className,
15433
+ before,
15434
+ after,
15435
+ isDisabled,
15436
+ handleClick,
15437
+ actionProps,
15438
+ actionRef,
15439
+ ref,
15440
+ ...rest
15441
+ } = props;
15442
+ const actionElement = ListItemAction$1({
15443
+ as: 'button',
15444
+ type: 'button',
15445
+ ...actionProps,
15446
+ ref: actionRef,
15447
+ className: element$p('action'),
15448
+ handleClick,
15449
+ 'data-menu-item': '',
15450
+ 'aria-disabled': isDisabled ? 'true' : undefined,
15451
+ children
15452
+ });
15453
+ return ListItem$1({
15454
+ ref,
15455
+ size: 'tiny',
15456
+ ...rest,
15457
+ className: classnames(className, block$y()),
15458
+ before,
15459
+ after,
15460
+ children: actionElement
15461
+ });
15462
+ };
15463
+
15464
+ /**
15465
+ * MenuItem component.
15466
+ *
15467
+ * @param props Component props.
15468
+ * @return React element.
15469
+ */
15470
+ const MenuItem = forwardRef((props, ref) => {
15471
+ const {
15472
+ handle
15473
+ } = useMenuContext();
15474
+ const {
15475
+ children,
15476
+ icon,
15477
+ color,
15478
+ before,
15479
+ after,
15480
+ isDisabled,
15481
+ onClick,
15482
+ actionProps,
15483
+ ...rest
15484
+ } = props;
15485
+ const internalRef = useRef(null);
15486
+ const actionRef = useRef(null);
15487
+ const mergedRef = useMergeRefs(ref, internalRef);
15488
+ const handleClick = event => {
15489
+ if (isDisabled) {
15490
+ event.preventDefault();
15491
+ return;
15492
+ }
15493
+ onClick?.(event);
15494
+ if (!event.defaultPrevented) {
15495
+ // Focus the trigger before closing so focus restoration works with
15496
+ // closeMode="hide" (items unmount on close, leaving focus on body).
15497
+ handle.trigger?.focus();
15498
+ handle.setOpen(false);
15499
+ }
15500
+ };
15501
+
15502
+ // Prepend the optional `icon` to the `before` slot — consumer-supplied `before`
15503
+ // (if any) is rendered after the icon to preserve composability.
15504
+ const mergedBefore = icon ? /*#__PURE__*/jsxs(Fragment, {
15505
+ children: [/*#__PURE__*/jsx(Icon, {
15506
+ icon: icon,
15507
+ size: "xs",
15508
+ color: color
15509
+ }), before]
15510
+ }) : before;
15511
+ return MenuItem$1({
15512
+ ...rest,
15513
+ ref: mergedRef,
15514
+ actionRef,
15515
+ before: mergedBefore,
15516
+ after,
15517
+ children: /*#__PURE__*/jsx(Text, {
15518
+ as: "span",
15519
+ color: color,
15520
+ children: children
15521
+ }),
15522
+ isDisabled,
15523
+ actionProps,
15524
+ handleClick
15525
+ });
15526
+ });
15527
+ MenuItem.displayName = COMPONENT_NAME$F;
15528
+ MenuItem.className = CLASSNAME$G;
14695
15529
 
14696
15530
  /**
14697
15531
  * Component display name.
@@ -17937,9 +18771,9 @@ const SkeletonTypography = forwardRef((props, ref) => {
17937
18771
  ...forwardedProps
17938
18772
  });
17939
18773
  });
17940
- SkeletonTypography.displayName = COMPONENT_NAME$16;
18774
+ SkeletonTypography.displayName = COMPONENT_NAME$1b;
17941
18775
  SkeletonTypography.defaultProps = DEFAULT_PROPS$j;
17942
- SkeletonTypography.className = CLASSNAME$15;
18776
+ SkeletonTypography.className = CLASSNAME$19;
17943
18777
 
17944
18778
  /**
17945
18779
  * Clamp value in range.
@@ -21479,5 +22313,5 @@ UserBlock.displayName = COMPONENT_NAME;
21479
22313
  UserBlock.className = CLASSNAME;
21480
22314
  UserBlock.defaultProps = DEFAULT_PROPS;
21481
22315
 
21482
- export { AlertDialog, Autocomplete, AutocompleteMultiple, Avatar, Badge, BadgeWrapper, Button, ButtonGroup, CLASSNAME$1s as CLASSNAME, COMPONENT_NAME$1t as COMPONENT_NAME, Checkbox, Chip, ChipGroup, Combobox, CommentBlock, CommentBlockVariant, DEFAULT_PROPS$1c as DEFAULT_PROPS, DatePicker, DatePickerControlled, DatePickerField, Dialog, Divider, DragHandle, Dropdown, ExpansionPanel, Flag, FlexBox, GenericBlock, GenericBlockGapSize, Grid, GridColumn, GridItem, Heading, HeadingLevelProvider, Icon, IconButton, ImageBlock, ImageBlockCaptionPosition, ImageLightbox, InlineList, InputHelper, InputLabel, Lightbox, Link, LinkPreview, List, ListDivider, ListItem, ListSection, ListSubheader, Message, Mosaic, Navigation, Notification, Placement, Popover, PopoverDialog, PostBlock, Progress, ProgressCircular, ProgressLinear, ProgressTracker, ProgressTrackerProvider, ProgressTrackerStep, ProgressTrackerStepPanel, ProgressVariant, RadioButton, RadioGroup, RawInputText, RawInputTextarea, Select, SelectButton, SelectMultiple, SelectMultipleField, SelectTextField, SelectVariant, SelectionChipGroup, SideNavigation, SideNavigationItem, SkeletonCircle, SkeletonRectangle, SkeletonRectangleVariant, SkeletonTypography, Slider, Slides, Slideshow, SlideshowControls, SlideshowItem, Switch, CLASSNAME$3 as TIME_PICKER_FIELD_CLASSNAME, COMPONENT_NAME$2 as TIME_PICKER_FIELD_COMPONENT_NAME, Tab, TabList, TabListLayout, TabPanel, TabProvider, Table, TableBody, TableCell, TableCellVariant, TableHeader, TableRow, Text, TextField, ThOrder, ThemeProvider, Thumbnail, ThumbnailAspectRatio, ThumbnailObjectFit, ThumbnailVariant, TimePickerField, Toolbar, Tooltip, Uploader, UploaderVariant, UserBlock, clamp, useFocusPointStyle, useHeadingLevel, useTheme };
22316
+ export { AlertDialog, Autocomplete, AutocompleteMultiple, Avatar, Badge, BadgeWrapper, Button, ButtonGroup, CLASSNAME$1w as CLASSNAME, COMPONENT_NAME$1y as COMPONENT_NAME, Checkbox, Chip, ChipGroup, Combobox, CommentBlock, CommentBlockVariant, DEFAULT_PROPS$1c as DEFAULT_PROPS, DatePicker, DatePickerControlled, DatePickerField, Dialog, Divider, DragHandle, Dropdown, ExpansionPanel, Flag, FlexBox, GenericBlock, GenericBlockGapSize, Grid, GridColumn, GridItem, Heading, HeadingLevelProvider, Icon, IconButton, ImageBlock, ImageBlockCaptionPosition, ImageLightbox, InlineList, InputHelper, InputLabel, Lightbox, Link, LinkPreview, List, ListDivider, ListItem, ListSection, ListSubheader, MenuButton, ListDivider as MenuDivider, MenuItem, Message, Mosaic, Navigation, Notification, Placement, Popover, PopoverDialog, PostBlock, Progress, ProgressCircular, ProgressLinear, ProgressTracker, ProgressTrackerProvider, ProgressTrackerStep, ProgressTrackerStepPanel, ProgressVariant, RadioButton, RadioGroup, RawInputText, RawInputTextarea, Select, SelectButton, SelectMultiple, SelectMultipleField, SelectTextField, SelectVariant, SelectionChipGroup, SideNavigation, SideNavigationItem, SkeletonCircle, SkeletonRectangle, SkeletonRectangleVariant, SkeletonTypography, Slider, Slides, Slideshow, SlideshowControls, SlideshowItem, Switch, CLASSNAME$3 as TIME_PICKER_FIELD_CLASSNAME, COMPONENT_NAME$2 as TIME_PICKER_FIELD_COMPONENT_NAME, Tab, TabList, TabListLayout, TabPanel, TabProvider, Table, TableBody, TableCell, TableCellVariant, TableHeader, TableRow, Text, TextField, ThOrder, ThemeProvider, Thumbnail, ThumbnailAspectRatio, ThumbnailObjectFit, ThumbnailVariant, TimePickerField, Toolbar, Tooltip, Uploader, UploaderVariant, UserBlock, clamp, useFocusPointStyle, useHeadingLevel, useTheme };
21483
22317
  //# sourceMappingURL=index.js.map