@lumx/react 4.1.1-alpha.5 → 4.1.1-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -20,7 +20,6 @@ import dropRight from 'lodash/dropRight';
20
20
  import partition from 'lodash/partition';
21
21
  import reduce from 'lodash/reduce';
22
22
  import { u as useDisabledStateContext, P as Portal, C as ClickAwayProvider } from './_internal/DpdvhbTO.js';
23
- import { getDisabledState } from '@lumx/core/js/utils/disabledState';
24
23
  import { mdiCloseCircle } from '@lumx/icons/esm/close-circle';
25
24
  import memoize from 'lodash/memoize';
26
25
  import { mdiClose } from '@lumx/icons/esm/close';
@@ -248,7 +247,7 @@ const CLASSNAME$1i = 'lumx-alert-dialog';
248
247
  /**
249
248
  * Component default props.
250
249
  */
251
- const DEFAULT_PROPS$15 = {
250
+ const DEFAULT_PROPS$16 = {
252
251
  size: Size$1.tiny,
253
252
  kind: Kind$1.info
254
253
  };
@@ -269,8 +268,8 @@ const AlertDialog = forwardRef((props, ref) => {
269
268
  className,
270
269
  cancelProps,
271
270
  confirmProps,
272
- kind = DEFAULT_PROPS$15.kind,
273
- size = DEFAULT_PROPS$15.size,
271
+ kind = DEFAULT_PROPS$16.kind,
272
+ size = DEFAULT_PROPS$16.size,
274
273
  dialogProps,
275
274
  children,
276
275
  ...forwardedProps
@@ -359,7 +358,7 @@ const AlertDialog = forwardRef((props, ref) => {
359
358
  });
360
359
  AlertDialog.displayName = COMPONENT_NAME$1k;
361
360
  AlertDialog.className = CLASSNAME$1i;
362
- AlertDialog.defaultProps = DEFAULT_PROPS$15;
361
+ AlertDialog.defaultProps = DEFAULT_PROPS$16;
363
362
 
364
363
  /**
365
364
  * Hook focusing an element when defined and `focus` boolean `true`.
@@ -424,19 +423,18 @@ function useTheme() {
424
423
  function useDisableStateProps(props) {
425
424
  const {
426
425
  disabled,
427
- isDisabled,
426
+ isDisabled = disabled,
428
427
  'aria-disabled': ariaDisabled,
429
428
  onClick,
430
429
  onChange,
431
430
  ...otherProps
432
431
  } = props;
433
432
  const disabledStateContext = useDisabledStateContext();
434
- const disabledStateProps = getDisabledState(disabledStateContext, {
435
- disabled,
436
- isDisabled,
437
- 'aria-disabled': ariaDisabled
438
- });
439
- const isAnyDisabled = disabledStateProps['aria-disabled'] || disabledStateProps.disabled || undefined;
433
+ const disabledStateProps = {
434
+ disabled: disabledStateContext?.state === 'disabled' || isDisabled,
435
+ 'aria-disabled': ariaDisabled === true || ariaDisabled === 'true'
436
+ };
437
+ const isAnyDisabled = disabledStateProps['aria-disabled'] || disabledStateProps.disabled;
440
438
  if (!isAnyDisabled) {
441
439
  otherProps.onClick = onClick;
442
440
  otherProps.onChange = onChange;
@@ -461,7 +459,7 @@ const CLASSNAME$1h = 'lumx-autocomplete';
461
459
  /**
462
460
  * Component default props.
463
461
  */
464
- const DEFAULT_PROPS$14 = {
462
+ const DEFAULT_PROPS$15 = {
465
463
  anchorToInput: false,
466
464
  closeOnClick: false,
467
465
  closeOnClickAway: true,
@@ -483,13 +481,13 @@ const Autocomplete = forwardRef((props, ref) => {
483
481
  otherProps
484
482
  } = useDisableStateProps(props);
485
483
  const {
486
- anchorToInput = DEFAULT_PROPS$14.anchorToInput,
484
+ anchorToInput = DEFAULT_PROPS$15.anchorToInput,
487
485
  children,
488
486
  chips,
489
487
  className,
490
- closeOnClick = DEFAULT_PROPS$14.closeOnClick,
491
- closeOnClickAway = DEFAULT_PROPS$14.closeOnClickAway,
492
- closeOnEscape = DEFAULT_PROPS$14.closeOnEscape,
488
+ closeOnClick = DEFAULT_PROPS$15.closeOnClick,
489
+ closeOnClickAway = DEFAULT_PROPS$15.closeOnClickAway,
490
+ closeOnEscape = DEFAULT_PROPS$15.closeOnEscape,
493
491
  error,
494
492
  fitToAnchorWidth,
495
493
  hasError,
@@ -510,7 +508,7 @@ const Autocomplete = forwardRef((props, ref) => {
510
508
  onInfiniteScroll,
511
509
  placeholder,
512
510
  placement,
513
- shouldFocusOnClose = DEFAULT_PROPS$14.shouldFocusOnClose,
511
+ shouldFocusOnClose = DEFAULT_PROPS$15.shouldFocusOnClose,
514
512
  theme = defaultTheme,
515
513
  value,
516
514
  textFieldProps = {},
@@ -565,7 +563,7 @@ const Autocomplete = forwardRef((props, ref) => {
565
563
  });
566
564
  Autocomplete.displayName = COMPONENT_NAME$1j;
567
565
  Autocomplete.className = CLASSNAME$1h;
568
- Autocomplete.defaultProps = DEFAULT_PROPS$14;
566
+ Autocomplete.defaultProps = DEFAULT_PROPS$15;
569
567
 
570
568
  /**
571
569
  * Component display name.
@@ -580,7 +578,7 @@ const CLASSNAME$1g = 'lumx-autocomplete-multiple';
580
578
  /**
581
579
  * Component default props.
582
580
  */
583
- const DEFAULT_PROPS$13 = {
581
+ const DEFAULT_PROPS$14 = {
584
582
  closeOnClickAway: true,
585
583
  closeOnEscape: true,
586
584
  selectedChipRender(choice, index, onClear, isDisabled) {
@@ -620,8 +618,8 @@ const AutocompleteMultiple = forwardRef((props, ref) => {
620
618
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
621
619
  chipsAlignment,
622
620
  className,
623
- closeOnClickAway = DEFAULT_PROPS$13.closeOnClickAway,
624
- closeOnEscape = DEFAULT_PROPS$13.closeOnEscape,
621
+ closeOnClickAway = DEFAULT_PROPS$14.closeOnClickAway,
622
+ closeOnEscape = DEFAULT_PROPS$14.closeOnEscape,
625
623
  fitToAnchorWidth,
626
624
  hasError,
627
625
  helper,
@@ -643,12 +641,12 @@ const AutocompleteMultiple = forwardRef((props, ref) => {
643
641
  onKeyDown,
644
642
  placeholder,
645
643
  placement,
646
- selectedChipRender = DEFAULT_PROPS$13.selectedChipRender,
644
+ selectedChipRender = DEFAULT_PROPS$14.selectedChipRender,
647
645
  shouldFocusOnClose,
648
646
  theme = defaultTheme,
649
647
  type,
650
648
  value,
651
- values = DEFAULT_PROPS$13.values,
649
+ values = DEFAULT_PROPS$14.values,
652
650
  ...forwardedProps
653
651
  } = otherProps;
654
652
  return /*#__PURE__*/jsx(Autocomplete, {
@@ -690,7 +688,7 @@ const AutocompleteMultiple = forwardRef((props, ref) => {
690
688
  });
691
689
  AutocompleteMultiple.displayName = COMPONENT_NAME$1i;
692
690
  AutocompleteMultiple.className = CLASSNAME$1g;
693
- AutocompleteMultiple.defaultProps = DEFAULT_PROPS$13;
691
+ AutocompleteMultiple.defaultProps = DEFAULT_PROPS$14;
694
692
 
695
693
  /**
696
694
  * Component display name.
@@ -705,7 +703,7 @@ const CLASSNAME$1f = 'lumx-avatar';
705
703
  /**
706
704
  * Component default props.
707
705
  */
708
- const DEFAULT_PROPS$12 = {
706
+ const DEFAULT_PROPS$13 = {
709
707
  size: Size$1.m
710
708
  };
711
709
 
@@ -728,7 +726,7 @@ const Avatar = forwardRef((props, ref) => {
728
726
  linkAs,
729
727
  onClick,
730
728
  onKeyPress,
731
- size = DEFAULT_PROPS$12.size,
729
+ size = DEFAULT_PROPS$13.size,
732
730
  theme = defaultTheme,
733
731
  thumbnailProps,
734
732
  ...forwardedProps
@@ -764,7 +762,7 @@ const Avatar = forwardRef((props, ref) => {
764
762
  });
765
763
  Avatar.displayName = COMPONENT_NAME$1h;
766
764
  Avatar.className = CLASSNAME$1f;
767
- Avatar.defaultProps = DEFAULT_PROPS$12;
765
+ Avatar.defaultProps = DEFAULT_PROPS$13;
768
766
 
769
767
  /**
770
768
  * Component display name.
@@ -779,7 +777,7 @@ const CLASSNAME$1e = 'lumx-badge';
779
777
  /**
780
778
  * Component default props.
781
779
  */
782
- const DEFAULT_PROPS$11 = {
780
+ const DEFAULT_PROPS$12 = {
783
781
  color: ColorPalette$1.primary
784
782
  };
785
783
 
@@ -794,7 +792,7 @@ const Badge = forwardRef((props, ref) => {
794
792
  const {
795
793
  children,
796
794
  className,
797
- color = DEFAULT_PROPS$11.color,
795
+ color = DEFAULT_PROPS$12.color,
798
796
  ...forwardedProps
799
797
  } = props;
800
798
  return /*#__PURE__*/jsx("div", {
@@ -809,7 +807,7 @@ const Badge = forwardRef((props, ref) => {
809
807
  });
810
808
  Badge.displayName = COMPONENT_NAME$1g;
811
809
  Badge.className = CLASSNAME$1e;
812
- Badge.defaultProps = DEFAULT_PROPS$11;
810
+ Badge.defaultProps = DEFAULT_PROPS$12;
813
811
 
814
812
  /**
815
813
  * Component default class name and class prefix.
@@ -1083,7 +1081,7 @@ const CLASSNAME$1c = 'lumx-button';
1083
1081
  /**
1084
1082
  * Component default props.
1085
1083
  */
1086
- const DEFAULT_PROPS$10 = {
1084
+ const DEFAULT_PROPS$11 = {
1087
1085
  emphasis: Emphasis.high,
1088
1086
  size: Size.m
1089
1087
  };
@@ -1097,10 +1095,10 @@ const DEFAULT_PROPS$10 = {
1097
1095
  const Button$1 = props => {
1098
1096
  const {
1099
1097
  className,
1100
- emphasis = DEFAULT_PROPS$10.emphasis,
1098
+ emphasis = DEFAULT_PROPS$11.emphasis,
1101
1099
  leftIcon,
1102
1100
  rightIcon,
1103
- size = DEFAULT_PROPS$10.size,
1101
+ size = DEFAULT_PROPS$11.size,
1104
1102
  ...forwardedProps
1105
1103
  } = props;
1106
1104
  const buttonClassName = classnames(className, getBasicClass({
@@ -1122,7 +1120,7 @@ const Button$1 = props => {
1122
1120
  };
1123
1121
  Button$1.displayName = COMPONENT_NAME$1e;
1124
1122
  Button$1.className = CLASSNAME$1c;
1125
- Button$1.defaultProps = DEFAULT_PROPS$10;
1123
+ Button$1.defaultProps = DEFAULT_PROPS$11;
1126
1124
 
1127
1125
  /**
1128
1126
  * Properties of a component to use to determine it's name.
@@ -1190,7 +1188,7 @@ const Button = forwardRef((props, ref) => {
1190
1188
  });
1191
1189
  Button.displayName = COMPONENT_NAME$1e;
1192
1190
  Button.className = CLASSNAME$1c;
1193
- Button.defaultProps = DEFAULT_PROPS$10;
1191
+ Button.defaultProps = DEFAULT_PROPS$11;
1194
1192
 
1195
1193
  const COMPONENT_NAME$1d = 'Icon';
1196
1194
  const IconClassName = 'lumx-icon';
@@ -1204,7 +1202,7 @@ const CLASSNAME$1b = IconClassName;
1204
1202
  /**
1205
1203
  * Component default props.
1206
1204
  */
1207
- const DEFAULT_PROPS$$ = {};
1205
+ const DEFAULT_PROPS$10 = {};
1208
1206
 
1209
1207
  /**
1210
1208
  * Icon component.
@@ -1282,7 +1280,7 @@ const Icon$1 = props => {
1282
1280
  };
1283
1281
  Icon$1.displayName = COMPONENT_NAME$1d;
1284
1282
  Icon$1.className = CLASSNAME$1b;
1285
- Icon$1.defaultProps = DEFAULT_PROPS$$;
1283
+ Icon$1.defaultProps = DEFAULT_PROPS$10;
1286
1284
 
1287
1285
  /**
1288
1286
  * Component display name.
@@ -1297,7 +1295,7 @@ const CLASSNAME$1a = 'lumx-icon-button';
1297
1295
  /**
1298
1296
  * Component default props.
1299
1297
  */
1300
- const DEFAULT_PROPS$_ = {
1298
+ const DEFAULT_PROPS$$ = {
1301
1299
  emphasis: Emphasis.high,
1302
1300
  size: Size.m
1303
1301
  };
@@ -1310,11 +1308,11 @@ const DEFAULT_PROPS$_ = {
1310
1308
  */
1311
1309
  const IconButton$1 = props => {
1312
1310
  const {
1313
- emphasis = DEFAULT_PROPS$_.emphasis,
1311
+ emphasis = DEFAULT_PROPS$$.emphasis,
1314
1312
  image,
1315
1313
  icon,
1316
1314
  label,
1317
- size = DEFAULT_PROPS$_.size,
1315
+ size = DEFAULT_PROPS$$.size,
1318
1316
  ...forwardedProps
1319
1317
  } = props;
1320
1318
  const defaultChildren = image ? /*#__PURE__*/jsx("img", {
@@ -1335,7 +1333,7 @@ const IconButton$1 = props => {
1335
1333
  };
1336
1334
  IconButton$1.displayName = COMPONENT_NAME$1c;
1337
1335
  IconButton$1.className = CLASSNAME$1a;
1338
- IconButton$1.defaultProps = DEFAULT_PROPS$_;
1336
+ IconButton$1.defaultProps = DEFAULT_PROPS$$;
1339
1337
 
1340
1338
  /**
1341
1339
  * IconButton component.
@@ -1372,7 +1370,7 @@ const IconButton = forwardRef((props, ref) => {
1372
1370
  });
1373
1371
  IconButton.displayName = COMPONENT_NAME$1c;
1374
1372
  IconButton.className = CLASSNAME$1a;
1375
- IconButton.defaultProps = DEFAULT_PROPS$_;
1373
+ IconButton.defaultProps = DEFAULT_PROPS$$;
1376
1374
 
1377
1375
  /**
1378
1376
  * Component display name.
@@ -1387,7 +1385,7 @@ const CLASSNAME$19 = 'lumx-button-group';
1387
1385
  /**
1388
1386
  * Component default props.
1389
1387
  */
1390
- const DEFAULT_PROPS$Z = {};
1388
+ const DEFAULT_PROPS$_ = {};
1391
1389
 
1392
1390
  /**
1393
1391
  * ButtonGroup component.
@@ -1410,7 +1408,7 @@ const ButtonGroup$1 = props => {
1410
1408
  };
1411
1409
  ButtonGroup$1.displayName = COMPONENT_NAME$1b;
1412
1410
  ButtonGroup$1.className = CLASSNAME$19;
1413
- ButtonGroup$1.defaultProps = DEFAULT_PROPS$Z;
1411
+ ButtonGroup$1.defaultProps = DEFAULT_PROPS$_;
1414
1412
 
1415
1413
  /**
1416
1414
  * ButtonGroup component.
@@ -1427,7 +1425,7 @@ const ButtonGroup = forwardRef((props, ref) => {
1427
1425
  });
1428
1426
  ButtonGroup.displayName = COMPONENT_NAME$1b;
1429
1427
  ButtonGroup.className = CLASSNAME$19;
1430
- ButtonGroup.defaultProps = DEFAULT_PROPS$Z;
1428
+ ButtonGroup.defaultProps = DEFAULT_PROPS$_;
1431
1429
 
1432
1430
  const INTERMEDIATE_STATE = 'intermediate';
1433
1431
 
@@ -1448,7 +1446,7 @@ const CLASSNAME$18 = 'lumx-checkbox';
1448
1446
  /**
1449
1447
  * Component default props.
1450
1448
  */
1451
- const DEFAULT_PROPS$Y = {};
1449
+ const DEFAULT_PROPS$Z = {};
1452
1450
 
1453
1451
  /**
1454
1452
  * Checkbox component.
@@ -1548,7 +1546,7 @@ const Checkbox = forwardRef((props, ref) => {
1548
1546
  });
1549
1547
  Checkbox.displayName = COMPONENT_NAME$1a;
1550
1548
  Checkbox.className = CLASSNAME$18;
1551
- Checkbox.defaultProps = DEFAULT_PROPS$Y;
1549
+ Checkbox.defaultProps = DEFAULT_PROPS$Z;
1552
1550
 
1553
1551
  /**
1554
1552
  * Wrap mouse event handler to stop event propagation.
@@ -1579,7 +1577,7 @@ const CLASSNAME$17 = 'lumx-chip';
1579
1577
  /**
1580
1578
  * Component default props.
1581
1579
  */
1582
- const DEFAULT_PROPS$X = {
1580
+ const DEFAULT_PROPS$Y = {
1583
1581
  size: Size$1.m
1584
1582
  };
1585
1583
 
@@ -1609,7 +1607,7 @@ const Chip = forwardRef((props, ref) => {
1609
1607
  onAfterClick,
1610
1608
  onBeforeClick,
1611
1609
  onClick,
1612
- size = DEFAULT_PROPS$X.size,
1610
+ size = DEFAULT_PROPS$Y.size,
1613
1611
  theme = defaultTheme,
1614
1612
  href,
1615
1613
  onKeyDown,
@@ -1682,7 +1680,7 @@ const Chip = forwardRef((props, ref) => {
1682
1680
  });
1683
1681
  Chip.displayName = COMPONENT_NAME$19;
1684
1682
  Chip.className = CLASSNAME$17;
1685
- Chip.defaultProps = DEFAULT_PROPS$X;
1683
+ Chip.defaultProps = DEFAULT_PROPS$Y;
1686
1684
 
1687
1685
  const INITIAL_STATE_ACTIVE_CHIP = -1;
1688
1686
 
@@ -1738,7 +1736,7 @@ const useChipGroupNavigation = (chips, onChipDeleted, initialActiveChip = INITIA
1738
1736
  /**
1739
1737
  * Component default props.
1740
1738
  */
1741
- const DEFAULT_PROPS$W = {};
1739
+ const DEFAULT_PROPS$X = {};
1742
1740
 
1743
1741
  /**
1744
1742
  * Component display name.
@@ -1773,7 +1771,7 @@ const InternalChipGroup = forwardRef((props, ref) => {
1773
1771
  });
1774
1772
  InternalChipGroup.displayName = COMPONENT_NAME$18;
1775
1773
  InternalChipGroup.className = CLASSNAME$16;
1776
- InternalChipGroup.defaultProps = DEFAULT_PROPS$W;
1774
+ InternalChipGroup.defaultProps = DEFAULT_PROPS$X;
1777
1775
  const ChipGroup = Object.assign(InternalChipGroup, {
1778
1776
  useChipGroupNavigation
1779
1777
  });
@@ -1803,7 +1801,7 @@ const CLASSNAME$15 = 'lumx-comment-block';
1803
1801
  /**
1804
1802
  * Component default props.
1805
1803
  */
1806
- const DEFAULT_PROPS$V = {
1804
+ const DEFAULT_PROPS$W = {
1807
1805
  variant: CommentBlockVariant.indented
1808
1806
  };
1809
1807
 
@@ -1833,7 +1831,7 @@ const CommentBlock = forwardRef((props, ref) => {
1833
1831
  onMouseLeave,
1834
1832
  text,
1835
1833
  theme = defaultTheme,
1836
- variant = DEFAULT_PROPS$V.variant,
1834
+ variant = DEFAULT_PROPS$W.variant,
1837
1835
  ...forwardedProps
1838
1836
  } = props;
1839
1837
  const hasChildren = Children.count(children) > 0;
@@ -1903,7 +1901,7 @@ const CommentBlock = forwardRef((props, ref) => {
1903
1901
  });
1904
1902
  CommentBlock.displayName = COMPONENT_NAME$17;
1905
1903
  CommentBlock.className = CLASSNAME$15;
1906
- CommentBlock.defaultProps = DEFAULT_PROPS$V;
1904
+ CommentBlock.defaultProps = DEFAULT_PROPS$W;
1907
1905
 
1908
1906
  /**
1909
1907
  * Add a number of months from a date while resetting the day to prevent month length mismatches.
@@ -3001,7 +2999,7 @@ const CLASSNAME$13 = 'lumx-dialog';
3001
2999
  /**
3002
3000
  * Component default props.
3003
3001
  */
3004
- const DEFAULT_PROPS$U = {
3002
+ const DEFAULT_PROPS$V = {
3005
3003
  size: Size$1.big,
3006
3004
  disableBodyScroll: true
3007
3005
  };
@@ -3032,11 +3030,11 @@ const Dialog = forwardRef((props, ref) => {
3032
3030
  parentElement,
3033
3031
  contentRef,
3034
3032
  preventAutoClose,
3035
- size = DEFAULT_PROPS$U.size,
3033
+ size = DEFAULT_PROPS$V.size,
3036
3034
  zIndex,
3037
3035
  dialogProps,
3038
3036
  onVisibilityChange,
3039
- disableBodyScroll = DEFAULT_PROPS$U.disableBodyScroll,
3037
+ disableBodyScroll = DEFAULT_PROPS$V.disableBodyScroll,
3040
3038
  preventCloseOnClick,
3041
3039
  preventCloseOnEscape,
3042
3040
  ...forwardedProps
@@ -3169,7 +3167,7 @@ const Dialog = forwardRef((props, ref) => {
3169
3167
  });
3170
3168
  Dialog.displayName = COMPONENT_NAME$13;
3171
3169
  Dialog.className = CLASSNAME$13;
3172
- Dialog.defaultProps = DEFAULT_PROPS$U;
3170
+ Dialog.defaultProps = DEFAULT_PROPS$V;
3173
3171
 
3174
3172
  /**
3175
3173
  * Component display name.
@@ -3184,7 +3182,7 @@ const CLASSNAME$12 = 'lumx-divider';
3184
3182
  /**
3185
3183
  * Component default props.
3186
3184
  */
3187
- const DEFAULT_PROPS$T = {};
3185
+ const DEFAULT_PROPS$U = {};
3188
3186
 
3189
3187
  /**
3190
3188
  * Divider component.
@@ -3211,7 +3209,7 @@ const Divider = forwardRef((props, ref) => {
3211
3209
  });
3212
3210
  Divider.displayName = COMPONENT_NAME$12;
3213
3211
  Divider.className = CLASSNAME$12;
3214
- Divider.defaultProps = DEFAULT_PROPS$T;
3212
+ Divider.defaultProps = DEFAULT_PROPS$U;
3215
3213
 
3216
3214
  /**
3217
3215
  * Component display name.
@@ -3431,7 +3429,7 @@ const CLASSNAME$10 = 'lumx-list';
3431
3429
  /**
3432
3430
  * Component default props.
3433
3431
  */
3434
- const DEFAULT_PROPS$S = {
3432
+ const DEFAULT_PROPS$T = {
3435
3433
  tabIndex: -1
3436
3434
  };
3437
3435
 
@@ -3450,7 +3448,7 @@ const InternalList = forwardRef((props, ref) => {
3450
3448
  isClickable,
3451
3449
  itemPadding,
3452
3450
  onListItemSelected,
3453
- tabIndex = DEFAULT_PROPS$S.tabIndex,
3451
+ tabIndex = DEFAULT_PROPS$T.tabIndex,
3454
3452
  ...forwardedProps
3455
3453
  } = props;
3456
3454
  return /*#__PURE__*/jsx("ul", {
@@ -3466,7 +3464,7 @@ const InternalList = forwardRef((props, ref) => {
3466
3464
  });
3467
3465
  InternalList.displayName = COMPONENT_NAME$10;
3468
3466
  InternalList.className = CLASSNAME$10;
3469
- InternalList.defaultProps = DEFAULT_PROPS$S;
3467
+ InternalList.defaultProps = DEFAULT_PROPS$T;
3470
3468
  const List = Object.assign(InternalList, {
3471
3469
  useKeyboardListNavigation
3472
3470
  });
@@ -5907,7 +5905,7 @@ const CLASSNAME$$ = 'lumx-popover';
5907
5905
  /**
5908
5906
  * Component default props.
5909
5907
  */
5910
- const DEFAULT_PROPS$R = {
5908
+ const DEFAULT_PROPS$S = {
5911
5909
  elevation: 3,
5912
5910
  placement: Placement.AUTO,
5913
5911
  focusAnchorOnClose: true,
@@ -5924,24 +5922,24 @@ const _InnerPopover = forwardRef((props, ref) => {
5924
5922
  className,
5925
5923
  closeOnClickAway,
5926
5924
  closeOnEscape,
5927
- elevation = DEFAULT_PROPS$R.elevation,
5925
+ elevation = DEFAULT_PROPS$S.elevation,
5928
5926
  focusElement,
5929
5927
  hasArrow,
5930
5928
  isOpen,
5931
5929
  onClose,
5932
5930
  parentElement,
5933
- usePortal = DEFAULT_PROPS$R.usePortal,
5934
- focusAnchorOnClose = DEFAULT_PROPS$R.focusAnchorOnClose,
5931
+ usePortal = DEFAULT_PROPS$S.usePortal,
5932
+ focusAnchorOnClose = DEFAULT_PROPS$S.focusAnchorOnClose,
5935
5933
  withFocusTrap,
5936
5934
  boundaryRef,
5937
5935
  fitToAnchorWidth,
5938
5936
  fitWithinViewportHeight,
5939
5937
  focusTrapZoneElement,
5940
5938
  offset,
5941
- placement = DEFAULT_PROPS$R.placement,
5939
+ placement = DEFAULT_PROPS$S.placement,
5942
5940
  style,
5943
5941
  theme,
5944
- zIndex = DEFAULT_PROPS$R.zIndex,
5942
+ zIndex = DEFAULT_PROPS$S.zIndex,
5945
5943
  ...forwardedProps
5946
5944
  } = props;
5947
5945
  const popoverRef = useRef(null);
@@ -6027,7 +6025,7 @@ const Popover = skipRender(
6027
6025
  () => Boolean(DOCUMENT), _InnerPopover);
6028
6026
  Popover.displayName = COMPONENT_NAME$$;
6029
6027
  Popover.className = CLASSNAME$$;
6030
- Popover.defaultProps = DEFAULT_PROPS$R;
6028
+ Popover.defaultProps = DEFAULT_PROPS$S;
6031
6029
 
6032
6030
  // The error margin in px we want to have for triggering infinite scroll
6033
6031
  const SCROLL_TRIGGER_MARGIN = 5;
@@ -6083,7 +6081,7 @@ const CLASSNAME$_ = 'lumx-dropdown';
6083
6081
  /**
6084
6082
  * Component default props.
6085
6083
  */
6086
- const DEFAULT_PROPS$Q = {
6084
+ const DEFAULT_PROPS$R = {
6087
6085
  closeOnClick: true,
6088
6086
  closeOnClickAway: true,
6089
6087
  closeOnEscape: true,
@@ -6106,18 +6104,18 @@ const Dropdown = forwardRef((props, ref) => {
6106
6104
  anchorRef,
6107
6105
  children,
6108
6106
  className,
6109
- closeOnClick = DEFAULT_PROPS$Q.closeOnClick,
6110
- closeOnClickAway = DEFAULT_PROPS$Q.closeOnClickAway,
6111
- closeOnEscape = DEFAULT_PROPS$Q.closeOnEscape,
6112
- fitToAnchorWidth = DEFAULT_PROPS$Q.fitToAnchorWidth,
6113
- fitWithinViewportHeight = DEFAULT_PROPS$Q.fitWithinViewportHeight,
6107
+ closeOnClick = DEFAULT_PROPS$R.closeOnClick,
6108
+ closeOnClickAway = DEFAULT_PROPS$R.closeOnClickAway,
6109
+ closeOnEscape = DEFAULT_PROPS$R.closeOnEscape,
6110
+ fitToAnchorWidth = DEFAULT_PROPS$R.fitToAnchorWidth,
6111
+ fitWithinViewportHeight = DEFAULT_PROPS$R.fitWithinViewportHeight,
6114
6112
  isOpen,
6115
6113
  offset,
6116
- focusAnchorOnClose = DEFAULT_PROPS$Q.focusAnchorOnClose,
6114
+ focusAnchorOnClose = DEFAULT_PROPS$R.focusAnchorOnClose,
6117
6115
  onClose,
6118
6116
  onInfiniteScroll,
6119
- placement = DEFAULT_PROPS$Q.placement,
6120
- shouldFocusOnOpen = DEFAULT_PROPS$Q.shouldFocusOnOpen,
6117
+ placement = DEFAULT_PROPS$R.placement,
6118
+ shouldFocusOnOpen = DEFAULT_PROPS$R.shouldFocusOnOpen,
6121
6119
  zIndex,
6122
6120
  ...forwardedProps
6123
6121
  } = props;
@@ -6163,7 +6161,7 @@ const Dropdown = forwardRef((props, ref) => {
6163
6161
  });
6164
6162
  Dropdown.displayName = COMPONENT_NAME$_;
6165
6163
  Dropdown.className = CLASSNAME$_;
6166
- Dropdown.defaultProps = DEFAULT_PROPS$Q;
6164
+ Dropdown.defaultProps = DEFAULT_PROPS$R;
6167
6165
 
6168
6166
  /**
6169
6167
  * Component display name.
@@ -6178,7 +6176,7 @@ const CLASSNAME$Z = 'lumx-expansion-panel';
6178
6176
  /**
6179
6177
  * Component default props.
6180
6178
  */
6181
- const DEFAULT_PROPS$P = {
6179
+ const DEFAULT_PROPS$Q = {
6182
6180
  closeMode: 'unmount'
6183
6181
  };
6184
6182
  const isDragHandle = isComponent(DragHandle);
@@ -6196,7 +6194,7 @@ const ExpansionPanel = forwardRef((props, ref) => {
6196
6194
  const defaultTheme = useTheme() || Theme$1.light;
6197
6195
  const {
6198
6196
  className,
6199
- closeMode = DEFAULT_PROPS$P.closeMode,
6197
+ closeMode = DEFAULT_PROPS$Q.closeMode,
6200
6198
  children: anyChildren,
6201
6199
  hasBackground,
6202
6200
  hasHeaderDivider,
@@ -6314,11 +6312,11 @@ const ExpansionPanel = forwardRef((props, ref) => {
6314
6312
  });
6315
6313
  ExpansionPanel.displayName = COMPONENT_NAME$Z;
6316
6314
  ExpansionPanel.className = CLASSNAME$Z;
6317
- ExpansionPanel.defaultProps = DEFAULT_PROPS$P;
6315
+ ExpansionPanel.defaultProps = DEFAULT_PROPS$Q;
6318
6316
 
6319
6317
  const COMPONENT_NAME$Y = 'Flag';
6320
6318
  const CLASSNAME$Y = 'lumx-flag';
6321
- const DEFAULT_PROPS$O = {};
6319
+ const DEFAULT_PROPS$P = {};
6322
6320
 
6323
6321
  /**
6324
6322
  * Flag component.
@@ -6363,7 +6361,7 @@ const Flag = forwardRef((props, ref) => {
6363
6361
  });
6364
6362
  Flag.displayName = COMPONENT_NAME$Y;
6365
6363
  Flag.className = CLASSNAME$Y;
6366
- Flag.defaultProps = DEFAULT_PROPS$O;
6364
+ Flag.defaultProps = DEFAULT_PROPS$P;
6367
6365
 
6368
6366
  /**
6369
6367
  * Component display name.
@@ -6426,7 +6424,7 @@ const CLASSNAME$W = 'lumx-generic-block';
6426
6424
  /**
6427
6425
  * Component default props.
6428
6426
  */
6429
- const DEFAULT_PROPS$N = {
6427
+ const DEFAULT_PROPS$O = {
6430
6428
  gap: Size$1.big,
6431
6429
  orientation: Orientation.horizontal
6432
6430
  };
@@ -6456,8 +6454,8 @@ const BaseGenericBlock = forwardRef((props, ref) => {
6456
6454
  children,
6457
6455
  actions,
6458
6456
  actionsProps,
6459
- gap = DEFAULT_PROPS$N.gap,
6460
- orientation = DEFAULT_PROPS$N.orientation,
6457
+ gap = DEFAULT_PROPS$O.gap,
6458
+ orientation = DEFAULT_PROPS$O.orientation,
6461
6459
  contentProps,
6462
6460
  ...forwardedProps
6463
6461
  } = props;
@@ -6511,7 +6509,7 @@ const BaseGenericBlock = forwardRef((props, ref) => {
6511
6509
  });
6512
6510
  BaseGenericBlock.displayName = COMPONENT_NAME$W;
6513
6511
  BaseGenericBlock.className = CLASSNAME$W;
6514
- BaseGenericBlock.defaultProps = DEFAULT_PROPS$N;
6512
+ BaseGenericBlock.defaultProps = DEFAULT_PROPS$O;
6515
6513
  const GenericBlock = Object.assign(BaseGenericBlock, {
6516
6514
  Figure,
6517
6515
  Content,
@@ -6596,7 +6594,7 @@ const CLASSNAME$V = 'lumx-text';
6596
6594
  /**
6597
6595
  * Component default props.
6598
6596
  */
6599
- const DEFAULT_PROPS$M = {};
6597
+ const DEFAULT_PROPS$N = {};
6600
6598
 
6601
6599
  /**
6602
6600
  * Text component common props
@@ -6683,7 +6681,7 @@ const Text = forwardRef((props, ref) => {
6683
6681
  });
6684
6682
  Text.displayName = COMPONENT_NAME$V;
6685
6683
  Text.className = CLASSNAME$V;
6686
- Text.defaultProps = DEFAULT_PROPS$M;
6684
+ Text.defaultProps = DEFAULT_PROPS$N;
6687
6685
 
6688
6686
  /** The maximum authorized heading level. */
6689
6687
  const MAX_HEADING_LEVEL = 6;
@@ -6730,7 +6728,7 @@ const CLASSNAME$U = 'lumx-heading';
6730
6728
  /**
6731
6729
  * Component default props.
6732
6730
  */
6733
- const DEFAULT_PROPS$L = {};
6731
+ const DEFAULT_PROPS$M = {};
6734
6732
 
6735
6733
  /**
6736
6734
  * Renders a heading component.
@@ -6759,7 +6757,7 @@ const Heading = forwardRef((props, ref) => {
6759
6757
  });
6760
6758
  Heading.displayName = COMPONENT_NAME$U;
6761
6759
  Heading.className = CLASSNAME$U;
6762
- Heading.defaultProps = DEFAULT_PROPS$L;
6760
+ Heading.defaultProps = DEFAULT_PROPS$M;
6763
6761
 
6764
6762
  /**
6765
6763
  * Provide a new heading level context.
@@ -6797,7 +6795,7 @@ const CLASSNAME$T = 'lumx-grid';
6797
6795
  /**
6798
6796
  * Component default props.
6799
6797
  */
6800
- const DEFAULT_PROPS$K = {
6798
+ const DEFAULT_PROPS$L = {
6801
6799
  orientation: Orientation.horizontal,
6802
6800
  wrap: 'nowrap'
6803
6801
  };
@@ -6815,9 +6813,9 @@ const Grid = forwardRef((props, ref) => {
6815
6813
  className,
6816
6814
  gutter,
6817
6815
  hAlign,
6818
- orientation = DEFAULT_PROPS$K.orientation,
6816
+ orientation = DEFAULT_PROPS$L.orientation,
6819
6817
  vAlign,
6820
- wrap = DEFAULT_PROPS$K.wrap,
6818
+ wrap = DEFAULT_PROPS$L.wrap,
6821
6819
  ...forwardedProps
6822
6820
  } = props;
6823
6821
  return /*#__PURE__*/jsx("div", {
@@ -6838,7 +6836,7 @@ const Grid = forwardRef((props, ref) => {
6838
6836
  });
6839
6837
  Grid.displayName = COMPONENT_NAME$T;
6840
6838
  Grid.className = CLASSNAME$T;
6841
- Grid.defaultProps = DEFAULT_PROPS$K;
6839
+ Grid.defaultProps = DEFAULT_PROPS$L;
6842
6840
 
6843
6841
  /**
6844
6842
  * Component display name.
@@ -6894,7 +6892,7 @@ const CLASSNAME$R = 'lumx-grid-column';
6894
6892
  /**
6895
6893
  * Component default props.
6896
6894
  */
6897
- const DEFAULT_PROPS$J = {};
6895
+ const DEFAULT_PROPS$K = {};
6898
6896
 
6899
6897
  /**
6900
6898
  * The GridColumn is a layout component that can display children in a grid
@@ -6931,7 +6929,7 @@ const GridColumn = forwardRef((props, ref) => {
6931
6929
  });
6932
6930
  GridColumn.displayName = COMPONENT_NAME$R;
6933
6931
  GridColumn.className = CLASSNAME$R;
6934
- GridColumn.defaultProps = DEFAULT_PROPS$J;
6932
+ GridColumn.defaultProps = DEFAULT_PROPS$K;
6935
6933
 
6936
6934
  /**
6937
6935
  * Icon component.
@@ -7045,7 +7043,7 @@ const CLASSNAME$Q = 'lumx-image-block';
7045
7043
  /**
7046
7044
  * Component default props.
7047
7045
  */
7048
- const DEFAULT_PROPS$I = {
7046
+ const DEFAULT_PROPS$J = {
7049
7047
  captionPosition: ImageBlockCaptionPosition.below,
7050
7048
  align: Alignment.left
7051
7049
  };
@@ -7061,9 +7059,9 @@ const ImageBlock = forwardRef((props, ref) => {
7061
7059
  const defaultTheme = useTheme() || Theme$1.light;
7062
7060
  const {
7063
7061
  actions,
7064
- align = DEFAULT_PROPS$I.align,
7062
+ align = DEFAULT_PROPS$J.align,
7065
7063
  alt,
7066
- captionPosition = DEFAULT_PROPS$I.captionPosition,
7064
+ captionPosition = DEFAULT_PROPS$J.captionPosition,
7067
7065
  captionStyle,
7068
7066
  className,
7069
7067
  description,
@@ -7117,7 +7115,7 @@ const ImageBlock = forwardRef((props, ref) => {
7117
7115
  });
7118
7116
  ImageBlock.displayName = COMPONENT_NAME$Q;
7119
7117
  ImageBlock.className = CLASSNAME$Q;
7120
- ImageBlock.defaultProps = DEFAULT_PROPS$I;
7118
+ ImageBlock.defaultProps = DEFAULT_PROPS$J;
7121
7119
 
7122
7120
  /**
7123
7121
  * Component display name.
@@ -7867,7 +7865,7 @@ const CLASSNAME$O = 'lumx-inline-list';
7867
7865
  /**
7868
7866
  * Component default props.
7869
7867
  */
7870
- const DEFAULT_PROPS$H = {};
7868
+ const DEFAULT_PROPS$I = {};
7871
7869
 
7872
7870
  /**
7873
7871
  * InlineList component.
@@ -7918,7 +7916,7 @@ const InlineList = forwardRef((props, ref) => {
7918
7916
  });
7919
7917
  InlineList.displayName = COMPONENT_NAME$O;
7920
7918
  InlineList.className = CLASSNAME$O;
7921
- InlineList.defaultProps = DEFAULT_PROPS$H;
7919
+ InlineList.defaultProps = DEFAULT_PROPS$I;
7922
7920
 
7923
7921
  const INPUT_HELPER_CONFIGURATION = {
7924
7922
  [Kind.error]: {
@@ -7944,7 +7942,7 @@ const CLASSNAME$N = InputHelperClassName;
7944
7942
  /**
7945
7943
  * Component default props.
7946
7944
  */
7947
- const DEFAULT_PROPS$G = {
7945
+ const DEFAULT_PROPS$H = {
7948
7946
  kind: Kind.info
7949
7947
  };
7950
7948
 
@@ -7955,7 +7953,7 @@ function InputHelper$1(props) {
7955
7953
  const {
7956
7954
  children,
7957
7955
  className,
7958
- kind = DEFAULT_PROPS$G.kind,
7956
+ kind = DEFAULT_PROPS$H.kind,
7959
7957
  theme,
7960
7958
  ref,
7961
7959
  ...forwardedProps
@@ -7976,7 +7974,7 @@ function InputHelper$1(props) {
7976
7974
  }
7977
7975
  InputHelper$1.displayName = COMPONENT_NAME$N;
7978
7976
  InputHelper$1.className = CLASSNAME$N;
7979
- InputHelper$1.defaultProps = DEFAULT_PROPS$G;
7977
+ InputHelper$1.defaultProps = DEFAULT_PROPS$H;
7980
7978
 
7981
7979
  /**
7982
7980
  * InputHelper component.
@@ -8000,7 +7998,7 @@ InputHelper.defaultProps = InputHelper$1.defaultProps;
8000
7998
  const COMPONENT_NAME$M = 'InputLabel';
8001
7999
  const InputLabelClassName = 'lumx-input-label';
8002
8000
  const CLASSNAME$M = InputLabelClassName;
8003
- const DEFAULT_PROPS$F = {};
8001
+ const DEFAULT_PROPS$G = {};
8004
8002
 
8005
8003
  /**
8006
8004
  * InputLabel component.
@@ -8031,7 +8029,7 @@ function InputLabel$1(props) {
8031
8029
  }
8032
8030
  InputLabel$1.displayName = COMPONENT_NAME$M;
8033
8031
  InputLabel$1.className = CLASSNAME$M;
8034
- InputLabel$1.defaultProps = DEFAULT_PROPS$F;
8032
+ InputLabel$1.defaultProps = DEFAULT_PROPS$G;
8035
8033
 
8036
8034
  /**
8037
8035
  * InputLabel component.
@@ -8276,7 +8274,7 @@ const CLASSNAME$J = 'lumx-link-preview';
8276
8274
  /**
8277
8275
  * Component default props.
8278
8276
  */
8279
- const DEFAULT_PROPS$E = {
8277
+ const DEFAULT_PROPS$F = {
8280
8278
  size: Size$1.regular,
8281
8279
  titleHeading: 'h2'
8282
8280
  };
@@ -8296,11 +8294,11 @@ const LinkPreview = forwardRef((props, ref) => {
8296
8294
  link,
8297
8295
  linkAs,
8298
8296
  linkProps,
8299
- size = DEFAULT_PROPS$E.size,
8297
+ size = DEFAULT_PROPS$F.size,
8300
8298
  theme = defaultTheme,
8301
8299
  thumbnailProps,
8302
8300
  title,
8303
- titleHeading = DEFAULT_PROPS$E.titleHeading,
8301
+ titleHeading = DEFAULT_PROPS$F.titleHeading,
8304
8302
  ...forwardedProps
8305
8303
  } = props;
8306
8304
  // Use title heading as title wrapper (see DEFAULT_PROPS for the default value).
@@ -8368,7 +8366,7 @@ const LinkPreview = forwardRef((props, ref) => {
8368
8366
  });
8369
8367
  LinkPreview.displayName = COMPONENT_NAME$J;
8370
8368
  LinkPreview.className = CLASSNAME$J;
8371
- LinkPreview.defaultProps = DEFAULT_PROPS$E;
8369
+ LinkPreview.defaultProps = DEFAULT_PROPS$F;
8372
8370
 
8373
8371
  /**
8374
8372
  * Render link with default <a> HTML component or a custom one provided by `linkAs`.
@@ -8397,7 +8395,7 @@ const CLASSNAME$I = 'lumx-list-item';
8397
8395
  /**
8398
8396
  * Component default props.
8399
8397
  */
8400
- const DEFAULT_PROPS$D = {
8398
+ const DEFAULT_PROPS$E = {
8401
8399
  size: Size$1.regular
8402
8400
  };
8403
8401
 
@@ -8436,7 +8434,7 @@ const ListItem = forwardRef((props, ref) => {
8436
8434
  linkProps = {},
8437
8435
  linkRef,
8438
8436
  onItemSelected,
8439
- size = DEFAULT_PROPS$D.size,
8437
+ size = DEFAULT_PROPS$E.size,
8440
8438
  ...forwardedProps
8441
8439
  } = otherProps;
8442
8440
  const role = linkAs || linkProps.href ? 'link' : 'button';
@@ -8495,7 +8493,7 @@ const ListItem = forwardRef((props, ref) => {
8495
8493
  });
8496
8494
  ListItem.displayName = COMPONENT_NAME$I;
8497
8495
  ListItem.className = CLASSNAME$I;
8498
- ListItem.defaultProps = DEFAULT_PROPS$D;
8496
+ ListItem.defaultProps = DEFAULT_PROPS$E;
8499
8497
 
8500
8498
  /**
8501
8499
  * Component display name.
@@ -8660,7 +8658,7 @@ const CLASSNAME$E = 'lumx-mosaic';
8660
8658
  /**
8661
8659
  * Component default props.
8662
8660
  */
8663
- const DEFAULT_PROPS$C = {};
8661
+ const DEFAULT_PROPS$D = {};
8664
8662
 
8665
8663
  /**
8666
8664
  * Mosaic component.
@@ -8729,7 +8727,7 @@ const Mosaic = forwardRef((props, ref) => {
8729
8727
  });
8730
8728
  Mosaic.displayName = COMPONENT_NAME$E;
8731
8729
  Mosaic.className = CLASSNAME$E;
8732
- Mosaic.defaultProps = DEFAULT_PROPS$C;
8730
+ Mosaic.defaultProps = DEFAULT_PROPS$D;
8733
8731
 
8734
8732
  const NavigationContext = /*#__PURE__*/createContext({
8735
8733
  orientation: Orientation.vertical
@@ -8898,7 +8896,7 @@ const CLASSNAME$C = 'lumx-navigation';
8898
8896
  /**
8899
8897
  * Component default props
8900
8898
  */
8901
- const DEFAULT_PROPS$B = {
8899
+ const DEFAULT_PROPS$C = {
8902
8900
  orientation: Orientation.vertical
8903
8901
  };
8904
8902
  const Navigation = forwardRef((props, ref) => {
@@ -8907,7 +8905,7 @@ const Navigation = forwardRef((props, ref) => {
8907
8905
  children,
8908
8906
  className,
8909
8907
  theme = defaultTheme,
8910
- orientation = DEFAULT_PROPS$B.orientation,
8908
+ orientation = DEFAULT_PROPS$C.orientation,
8911
8909
  ...forwardedProps
8912
8910
  } = props;
8913
8911
  return /*#__PURE__*/jsx(ThemeProvider, {
@@ -8934,7 +8932,7 @@ const Navigation = forwardRef((props, ref) => {
8934
8932
  });
8935
8933
  Navigation.displayName = COMPONENT_NAME$C;
8936
8934
  Navigation.className = CLASSNAME$C;
8937
- Navigation.defaultProps = DEFAULT_PROPS$B;
8935
+ Navigation.defaultProps = DEFAULT_PROPS$C;
8938
8936
 
8939
8937
  // Sub components
8940
8938
  Navigation.Section = NavigationSection;
@@ -8975,7 +8973,7 @@ const CLASSNAME$B = 'lumx-notification';
8975
8973
  /**
8976
8974
  * Component default props.
8977
8975
  */
8978
- const DEFAULT_PROPS$A = {
8976
+ const DEFAULT_PROPS$B = {
8979
8977
  zIndex: 9999,
8980
8978
  usePortal: true
8981
8979
  };
@@ -8999,8 +8997,8 @@ const Notification = forwardRef((props, ref) => {
8999
8997
  onClick,
9000
8998
  theme = defaultTheme,
9001
8999
  type,
9002
- zIndex = DEFAULT_PROPS$A.zIndex,
9003
- usePortal = DEFAULT_PROPS$A.usePortal,
9000
+ zIndex = DEFAULT_PROPS$B.zIndex,
9001
+ usePortal = DEFAULT_PROPS$B.usePortal,
9004
9002
  style,
9005
9003
  ...forwardedProps
9006
9004
  } = props;
@@ -9066,7 +9064,7 @@ const Notification = forwardRef((props, ref) => {
9066
9064
  });
9067
9065
  Notification.displayName = COMPONENT_NAME$B;
9068
9066
  Notification.className = CLASSNAME$B;
9069
- Notification.defaultProps = DEFAULT_PROPS$A;
9067
+ Notification.defaultProps = DEFAULT_PROPS$B;
9070
9068
 
9071
9069
  /**
9072
9070
  * Component display name.
@@ -9081,7 +9079,7 @@ const CLASSNAME$A = 'lumx-popover-dialog';
9081
9079
  /**
9082
9080
  * Component default props.
9083
9081
  */
9084
- const DEFAULT_PROPS$z = {};
9082
+ const DEFAULT_PROPS$A = {};
9085
9083
 
9086
9084
  /**
9087
9085
  * PopoverDialog component.
@@ -9124,7 +9122,7 @@ const PopoverDialog = forwardRef((props, ref) => {
9124
9122
  });
9125
9123
  PopoverDialog.displayName = COMPONENT_NAME$A;
9126
9124
  PopoverDialog.className = CLASSNAME$A;
9127
- PopoverDialog.defaultProps = DEFAULT_PROPS$z;
9125
+ PopoverDialog.defaultProps = DEFAULT_PROPS$A;
9128
9126
 
9129
9127
  /**
9130
9128
  * Component display name.
@@ -9139,7 +9137,7 @@ const CLASSNAME$z = 'lumx-post-block';
9139
9137
  /**
9140
9138
  * Component default props.
9141
9139
  */
9142
- const DEFAULT_PROPS$y = {
9140
+ const DEFAULT_PROPS$z = {
9143
9141
  orientation: Orientation.horizontal
9144
9142
  };
9145
9143
 
@@ -9159,7 +9157,7 @@ const PostBlock = forwardRef((props, ref) => {
9159
9157
  className,
9160
9158
  meta,
9161
9159
  onClick,
9162
- orientation = DEFAULT_PROPS$y.orientation,
9160
+ orientation = DEFAULT_PROPS$z.orientation,
9163
9161
  tags,
9164
9162
  text,
9165
9163
  theme = defaultTheme,
@@ -9222,7 +9220,7 @@ const PostBlock = forwardRef((props, ref) => {
9222
9220
  });
9223
9221
  PostBlock.displayName = COMPONENT_NAME$z;
9224
9222
  PostBlock.className = CLASSNAME$z;
9225
- PostBlock.defaultProps = DEFAULT_PROPS$y;
9223
+ PostBlock.defaultProps = DEFAULT_PROPS$z;
9226
9224
 
9227
9225
  /**
9228
9226
  * Component display name.
@@ -9237,7 +9235,7 @@ const CLASSNAME$y = 'lumx-progress-linear';
9237
9235
  /**
9238
9236
  * Component default props.
9239
9237
  */
9240
- const DEFAULT_PROPS$x = {};
9238
+ const DEFAULT_PROPS$y = {};
9241
9239
 
9242
9240
  /**
9243
9241
  * ProgressLinear component.
@@ -9269,7 +9267,7 @@ const ProgressLinear = forwardRef((props, ref) => {
9269
9267
  });
9270
9268
  ProgressLinear.displayName = COMPONENT_NAME$y;
9271
9269
  ProgressLinear.className = CLASSNAME$y;
9272
- ProgressLinear.defaultProps = DEFAULT_PROPS$x;
9270
+ ProgressLinear.defaultProps = DEFAULT_PROPS$y;
9273
9271
 
9274
9272
  /**
9275
9273
  * Component display name.
@@ -9284,7 +9282,7 @@ const CLASSNAME$x = 'lumx-progress-circular';
9284
9282
  /**
9285
9283
  * Component default props.
9286
9284
  */
9287
- const DEFAULT_PROPS$w = {
9285
+ const DEFAULT_PROPS$x = {
9288
9286
  size: Size$1.m,
9289
9287
  display: 'block'
9290
9288
  };
@@ -9301,8 +9299,8 @@ const ProgressCircular = forwardRef((props, ref) => {
9301
9299
  const {
9302
9300
  className,
9303
9301
  theme = defaultTheme,
9304
- size = DEFAULT_PROPS$w.size,
9305
- display = DEFAULT_PROPS$w.display,
9302
+ size = DEFAULT_PROPS$x.size,
9303
+ display = DEFAULT_PROPS$x.display,
9306
9304
  ...forwardedProps
9307
9305
  } = props;
9308
9306
  const Element = display === 'block' ? 'div' : 'span';
@@ -9335,7 +9333,7 @@ const ProgressCircular = forwardRef((props, ref) => {
9335
9333
  });
9336
9334
  ProgressCircular.displayName = COMPONENT_NAME$x;
9337
9335
  ProgressCircular.className = CLASSNAME$x;
9338
- ProgressCircular.defaultProps = DEFAULT_PROPS$w;
9336
+ ProgressCircular.defaultProps = DEFAULT_PROPS$x;
9339
9337
 
9340
9338
  const ProgressVariant = {
9341
9339
  linear: 'linear',
@@ -9359,7 +9357,7 @@ const CLASSNAME$w = 'lumx-progress';
9359
9357
  /**
9360
9358
  * Component default props.
9361
9359
  */
9362
- const DEFAULT_PROPS$v = {
9360
+ const DEFAULT_PROPS$w = {
9363
9361
  variant: ProgressVariant.circular
9364
9362
  };
9365
9363
 
@@ -9376,7 +9374,7 @@ const Progress = forwardRef((props, ref) => {
9376
9374
  const {
9377
9375
  className,
9378
9376
  theme = defaultTheme,
9379
- variant = DEFAULT_PROPS$v.variant,
9377
+ variant = DEFAULT_PROPS$w.variant,
9380
9378
  ...forwardedProps
9381
9379
  } = props;
9382
9380
  return /*#__PURE__*/jsxs("div", {
@@ -9396,7 +9394,7 @@ const Progress = forwardRef((props, ref) => {
9396
9394
  });
9397
9395
  Progress.displayName = COMPONENT_NAME$w;
9398
9396
  Progress.className = CLASSNAME$w;
9399
- Progress.defaultProps = DEFAULT_PROPS$v;
9397
+ Progress.defaultProps = DEFAULT_PROPS$w;
9400
9398
 
9401
9399
  const INIT_STATE = {
9402
9400
  isLazy: true,
@@ -9523,7 +9521,7 @@ const useTabProviderContextState = () => {
9523
9521
  return context?.[0];
9524
9522
  };
9525
9523
 
9526
- const DEFAULT_PROPS$u = {
9524
+ const DEFAULT_PROPS$v = {
9527
9525
  isLazy: INIT_STATE.isLazy,
9528
9526
  shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus
9529
9527
  };
@@ -9552,7 +9550,7 @@ const ProgressTrackerProvider = props => {
9552
9550
  dispatch({
9553
9551
  type: 'update',
9554
9552
  payload: {
9555
- ...DEFAULT_PROPS$u,
9553
+ ...DEFAULT_PROPS$v,
9556
9554
  ...propState,
9557
9555
  activeTabIndex: propState.activeStepIndex || INIT_STATE.activeTabIndex
9558
9556
  }
@@ -9575,7 +9573,7 @@ const ProgressTrackerProvider = props => {
9575
9573
  children: children
9576
9574
  });
9577
9575
  };
9578
- ProgressTrackerProvider.defaultProps = DEFAULT_PROPS$u;
9576
+ ProgressTrackerProvider.defaultProps = DEFAULT_PROPS$v;
9579
9577
 
9580
9578
  const useRovingTabIndex = ({
9581
9579
  parentRef,
@@ -9663,7 +9661,7 @@ const CLASSNAME$v = 'lumx-progress-tracker';
9663
9661
  /**
9664
9662
  * Component default props.
9665
9663
  */
9666
- const DEFAULT_PROPS$t = {};
9664
+ const DEFAULT_PROPS$u = {};
9667
9665
 
9668
9666
  /**
9669
9667
  * ProgressTracker component.
@@ -9719,7 +9717,7 @@ const ProgressTracker = forwardRef((props, ref) => {
9719
9717
  });
9720
9718
  ProgressTracker.displayName = COMPONENT_NAME$v;
9721
9719
  ProgressTracker.className = CLASSNAME$v;
9722
- ProgressTracker.defaultProps = DEFAULT_PROPS$t;
9720
+ ProgressTracker.defaultProps = DEFAULT_PROPS$u;
9723
9721
 
9724
9722
  /**
9725
9723
  * Component display name.
@@ -9734,7 +9732,7 @@ const CLASSNAME$u = 'lumx-progress-tracker-step';
9734
9732
  /**
9735
9733
  * Component default props.
9736
9734
  */
9737
- const DEFAULT_PROPS$s = {};
9735
+ const DEFAULT_PROPS$t = {};
9738
9736
 
9739
9737
  /**
9740
9738
  * ProgressTrackerStep component.
@@ -9830,7 +9828,7 @@ const ProgressTrackerStep = forwardRef((props, ref) => {
9830
9828
  });
9831
9829
  ProgressTrackerStep.displayName = COMPONENT_NAME$u;
9832
9830
  ProgressTrackerStep.className = CLASSNAME$u;
9833
- ProgressTrackerStep.defaultProps = DEFAULT_PROPS$s;
9831
+ ProgressTrackerStep.defaultProps = DEFAULT_PROPS$t;
9834
9832
 
9835
9833
  /**
9836
9834
  * Component display name.
@@ -9845,7 +9843,7 @@ const CLASSNAME$t = `lumx-step-panel`;
9845
9843
  /**
9846
9844
  * Component default props.
9847
9845
  */
9848
- const DEFAULT_PROPS$r = {};
9846
+ const DEFAULT_PROPS$s = {};
9849
9847
 
9850
9848
  /**
9851
9849
  * ProgressTrackerStepPanel component.
@@ -9882,7 +9880,7 @@ const ProgressTrackerStepPanel = forwardRef((props, ref) => {
9882
9880
  });
9883
9881
  ProgressTrackerStepPanel.displayName = COMPONENT_NAME$t;
9884
9882
  ProgressTrackerStepPanel.className = CLASSNAME$t;
9885
- ProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS$r;
9883
+ ProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS$s;
9886
9884
 
9887
9885
  /**
9888
9886
  * Component display name.
@@ -9897,7 +9895,7 @@ const CLASSNAME$s = 'lumx-radio-button';
9897
9895
  /**
9898
9896
  * Component default props.
9899
9897
  */
9900
- const DEFAULT_PROPS$q = {};
9898
+ const DEFAULT_PROPS$r = {};
9901
9899
 
9902
9900
  /**
9903
9901
  * RadioButton component.
@@ -9986,7 +9984,7 @@ const RadioButton = forwardRef((props, ref) => {
9986
9984
  });
9987
9985
  RadioButton.displayName = COMPONENT_NAME$s;
9988
9986
  RadioButton.className = CLASSNAME$s;
9989
- RadioButton.defaultProps = DEFAULT_PROPS$q;
9987
+ RadioButton.defaultProps = DEFAULT_PROPS$r;
9990
9988
 
9991
9989
  /**
9992
9990
  * Component display name.
@@ -10169,7 +10167,7 @@ const COMPONENT_NAME$q = 'Select';
10169
10167
  const CLASSNAME$p = 'lumx-select';
10170
10168
 
10171
10169
  /** The default value of props. */
10172
- const DEFAULT_PROPS$p = {
10170
+ const DEFAULT_PROPS$q = {
10173
10171
  selectedValueRender: choice => choice,
10174
10172
  variant: SelectVariant.input
10175
10173
  };
@@ -10290,7 +10288,7 @@ const Select = forwardRef((props, ref) => {
10290
10288
  const isEmpty$1 = isEmpty(props.value);
10291
10289
  const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty$1;
10292
10290
  return WithSelectContext(SelectField, {
10293
- ...DEFAULT_PROPS$p,
10291
+ ...DEFAULT_PROPS$q,
10294
10292
  ...props,
10295
10293
  className: classNames.join(props.className, handleBasicClasses({
10296
10294
  hasInputClear,
@@ -10303,7 +10301,7 @@ const Select = forwardRef((props, ref) => {
10303
10301
  });
10304
10302
  Select.displayName = COMPONENT_NAME$q;
10305
10303
  Select.className = CLASSNAME$p;
10306
- Select.defaultProps = DEFAULT_PROPS$p;
10304
+ Select.defaultProps = DEFAULT_PROPS$q;
10307
10305
  Select.className = CLASSNAME$p;
10308
10306
 
10309
10307
  /** The display name of the component. */
@@ -10313,7 +10311,7 @@ const COMPONENT_NAME$p = 'Select';
10313
10311
  const CLASSNAME$o = 'lumx-select';
10314
10312
 
10315
10313
  /** The default value of props. */
10316
- const DEFAULT_PROPS$o = {
10314
+ const DEFAULT_PROPS$p = {
10317
10315
  selectedChipRender(choice, index, onClear, isDisabled, theme) {
10318
10316
  const onClick = event => onClear && onClear(event, choice);
10319
10317
  return /*#__PURE__*/jsx(Chip, {
@@ -10437,7 +10435,7 @@ const SelectMultipleField = props => {
10437
10435
  */
10438
10436
  const SelectMultiple = forwardRef((props, ref) => {
10439
10437
  return WithSelectContext(SelectMultipleField, {
10440
- ...DEFAULT_PROPS$o,
10438
+ ...DEFAULT_PROPS$p,
10441
10439
  ...props,
10442
10440
  className: classNames.join(props.className, handleBasicClasses({
10443
10441
  hasMultiple: !props.isEmpty,
@@ -10449,7 +10447,7 @@ const SelectMultiple = forwardRef((props, ref) => {
10449
10447
  });
10450
10448
  SelectMultiple.displayName = COMPONENT_NAME$p;
10451
10449
  SelectMultiple.className = CLASSNAME$o;
10452
- SelectMultiple.defaultProps = DEFAULT_PROPS$o;
10450
+ SelectMultiple.defaultProps = DEFAULT_PROPS$p;
10453
10451
 
10454
10452
  /**
10455
10453
  * Component display name.
@@ -10500,7 +10498,7 @@ const CLASSNAME$m = 'lumx-side-navigation-item';
10500
10498
  /**
10501
10499
  * Component default props.
10502
10500
  */
10503
- const DEFAULT_PROPS$n = {
10501
+ const DEFAULT_PROPS$o = {
10504
10502
  emphasis: Emphasis$1.high,
10505
10503
  closeMode: 'unmount'
10506
10504
  };
@@ -10516,7 +10514,7 @@ const SideNavigationItem = forwardRef((props, ref) => {
10516
10514
  const {
10517
10515
  children,
10518
10516
  className,
10519
- emphasis = DEFAULT_PROPS$n.emphasis,
10517
+ emphasis = DEFAULT_PROPS$o.emphasis,
10520
10518
  icon,
10521
10519
  isOpen,
10522
10520
  isSelected,
@@ -10526,7 +10524,7 @@ const SideNavigationItem = forwardRef((props, ref) => {
10526
10524
  onActionClick,
10527
10525
  onClick,
10528
10526
  toggleButtonProps,
10529
- closeMode = DEFAULT_PROPS$n.closeMode,
10527
+ closeMode = DEFAULT_PROPS$o.closeMode,
10530
10528
  ...forwardedProps
10531
10529
  } = props;
10532
10530
  const content = children && Children.toArray(children).filter(isComponent(SideNavigationItem));
@@ -10598,9 +10596,9 @@ const SideNavigationItem = forwardRef((props, ref) => {
10598
10596
  });
10599
10597
  SideNavigationItem.displayName = COMPONENT_NAME$n;
10600
10598
  SideNavigationItem.className = CLASSNAME$m;
10601
- SideNavigationItem.defaultProps = DEFAULT_PROPS$n;
10599
+ SideNavigationItem.defaultProps = DEFAULT_PROPS$o;
10602
10600
 
10603
- const DEFAULT_PROPS$m = {};
10601
+ const DEFAULT_PROPS$n = {};
10604
10602
 
10605
10603
  /**
10606
10604
  * Component display name.
@@ -10640,7 +10638,7 @@ const SkeletonCircle = forwardRef((props, ref) => {
10640
10638
  });
10641
10639
  });
10642
10640
  SkeletonCircle.displayName = COMPONENT_NAME$m;
10643
- SkeletonCircle.defaultProps = DEFAULT_PROPS$m;
10641
+ SkeletonCircle.defaultProps = DEFAULT_PROPS$n;
10644
10642
  SkeletonCircle.className = CLASSNAME$l;
10645
10643
 
10646
10644
  const SkeletonRectangleVariant = {
@@ -10653,7 +10651,7 @@ const SkeletonRectangleVariant = {
10653
10651
  * Defines the props of the component.
10654
10652
  */
10655
10653
 
10656
- const DEFAULT_PROPS$l = {
10654
+ const DEFAULT_PROPS$m = {
10657
10655
  variant: SkeletonRectangleVariant.squared
10658
10656
  };
10659
10657
 
@@ -10681,7 +10679,7 @@ const SkeletonRectangle = forwardRef((props, ref) => {
10681
10679
  className,
10682
10680
  height,
10683
10681
  theme = defaultTheme,
10684
- variant = DEFAULT_PROPS$l.variant,
10682
+ variant = DEFAULT_PROPS$m.variant,
10685
10683
  width,
10686
10684
  color,
10687
10685
  ...forwardedProps
@@ -10705,9 +10703,9 @@ const SkeletonRectangle = forwardRef((props, ref) => {
10705
10703
  });
10706
10704
  SkeletonRectangle.displayName = COMPONENT_NAME$l;
10707
10705
  SkeletonRectangle.className = CLASSNAME$k;
10708
- SkeletonRectangle.defaultProps = DEFAULT_PROPS$l;
10706
+ SkeletonRectangle.defaultProps = DEFAULT_PROPS$m;
10709
10707
 
10710
- const DEFAULT_PROPS$k = {};
10708
+ const DEFAULT_PROPS$l = {};
10711
10709
 
10712
10710
  /**
10713
10711
  * Component display name.
@@ -10755,7 +10753,7 @@ const SkeletonTypography = forwardRef((props, ref) => {
10755
10753
  });
10756
10754
  });
10757
10755
  SkeletonTypography.displayName = COMPONENT_NAME$k;
10758
- SkeletonTypography.defaultProps = DEFAULT_PROPS$k;
10756
+ SkeletonTypography.defaultProps = DEFAULT_PROPS$l;
10759
10757
  SkeletonTypography.className = CLASSNAME$j;
10760
10758
 
10761
10759
  const useEnhancedEffect = typeof window !== 'undefined' ? React__default.useLayoutEffect : React__default.useEffect;
@@ -10806,7 +10804,7 @@ const CLASSNAME$i = 'lumx-slider';
10806
10804
  /**
10807
10805
  * Component default props.
10808
10806
  */
10809
- const DEFAULT_PROPS$j = {
10807
+ const DEFAULT_PROPS$k = {
10810
10808
  precision: 0,
10811
10809
  steps: 0
10812
10810
  };
@@ -10857,8 +10855,8 @@ const Slider = forwardRef((props, ref) => {
10857
10855
  name,
10858
10856
  onChange,
10859
10857
  onMouseDown,
10860
- precision = DEFAULT_PROPS$j.precision,
10861
- steps = DEFAULT_PROPS$j.steps,
10858
+ precision = DEFAULT_PROPS$k.precision,
10859
+ steps = DEFAULT_PROPS$k.steps,
10862
10860
  theme = defaultTheme,
10863
10861
  value,
10864
10862
  ...forwardedProps
@@ -11054,7 +11052,7 @@ const Slider = forwardRef((props, ref) => {
11054
11052
  });
11055
11053
  Slider.displayName = COMPONENT_NAME$j;
11056
11054
  Slider.className = CLASSNAME$i;
11057
- Slider.defaultProps = DEFAULT_PROPS$j;
11055
+ Slider.defaultProps = DEFAULT_PROPS$k;
11058
11056
 
11059
11057
  /**
11060
11058
  * Making setInterval Declarative with React Hooks.
@@ -11105,6 +11103,16 @@ const PAGINATION_ITEMS_MAX = 5;
11105
11103
  */
11106
11104
  const PAGINATION_ITEM_SIZE = 12;
11107
11105
 
11106
+ /**
11107
+ * Slide mode
11108
+ */
11109
+ const SlideMode = {
11110
+ /** Move slides with CSS transform translate */
11111
+ transformTranslate: 'transform-translate',
11112
+ /** Move slides native scroll snap (available only on supported browsers) */
11113
+ scrollSnap: 'scroll-snap'
11114
+ };
11115
+
11108
11116
  const DEFAULT_OPTIONS = {
11109
11117
  activeIndex: 0,
11110
11118
  groupBy: 1,
@@ -11281,6 +11289,11 @@ const useFocusWithin = ({
11281
11289
  }, [onFocusIn, element, onFocusOut]);
11282
11290
  };
11283
11291
 
11292
+ /** Check if browser supports CSS scroll-snap */
11293
+ function isScrollSnapSupported() {
11294
+ return WINDOW?.CSS?.supports?.('scroll-snap-type', 'x mandatory') ?? false;
11295
+ }
11296
+
11284
11297
  /**
11285
11298
  * Classname set on elements whose focus was blocked.
11286
11299
  * This is to easily find elements that have been tempered with,
@@ -11417,7 +11430,10 @@ SlideshowItemGroup.className = CLASSNAME$h;
11417
11430
  /**
11418
11431
  * Component default props.
11419
11432
  */
11420
- const DEFAULT_PROPS$i = DEFAULT_OPTIONS;
11433
+ const DEFAULT_PROPS$j = {
11434
+ ...DEFAULT_OPTIONS,
11435
+ slideMode: SlideMode.transformTranslate
11436
+ };
11421
11437
 
11422
11438
  /**
11423
11439
  * Slideshow component.
@@ -11430,18 +11446,19 @@ const Slideshow = forwardRef((props, ref) => {
11430
11446
  const defaultTheme = useTheme() || Theme$1.light;
11431
11447
  const {
11432
11448
  activeIndex,
11433
- autoPlay = DEFAULT_PROPS$i.autoPlay,
11449
+ autoPlay = DEFAULT_PROPS$j.autoPlay,
11434
11450
  children,
11435
11451
  className,
11436
11452
  fillHeight,
11437
11453
  groupBy = DEFAULT_OPTIONS.groupBy,
11438
- interval = DEFAULT_PROPS$i.interval,
11454
+ interval = DEFAULT_PROPS$j.interval,
11439
11455
  onChange,
11440
11456
  slideshowControlsProps,
11441
11457
  theme = defaultTheme,
11442
11458
  id,
11443
11459
  slidesId,
11444
11460
  slideGroupLabel,
11461
+ slideMode = DEFAULT_PROPS$j.slideMode,
11445
11462
  ...forwardedProps
11446
11463
  } = props;
11447
11464
  // Number of slideshow items.
@@ -11463,7 +11480,7 @@ const Slideshow = forwardRef((props, ref) => {
11463
11480
  toggleForcePause
11464
11481
  } = SlideshowControls.useSlideshowControls({
11465
11482
  activeIndex,
11466
- defaultActiveIndex: DEFAULT_PROPS$i.activeIndex,
11483
+ defaultActiveIndex: DEFAULT_PROPS$j.activeIndex,
11467
11484
  autoPlay: Boolean(autoPlay),
11468
11485
  itemsCount,
11469
11486
  groupBy,
@@ -11478,7 +11495,12 @@ const Slideshow = forwardRef((props, ref) => {
11478
11495
  onFocusOut: startAutoPlay
11479
11496
  });
11480
11497
  const showControls = slideshowControlsProps && slidesCount > 1;
11498
+
11499
+ // Only enable scroll-snap if requested and browser supports it
11500
+ const isScrollsnapEnabled = slideMode === SlideMode.scrollSnap && isScrollSnapSupported();
11481
11501
  return /*#__PURE__*/jsx(Slides, {
11502
+ slideMode: slideMode,
11503
+ onChange: isScrollsnapEnabled ? onPaginationClick : undefined,
11482
11504
  activeIndex: currentIndex,
11483
11505
  id: slideshowId,
11484
11506
  className: className,
@@ -11528,7 +11550,7 @@ const Slideshow = forwardRef((props, ref) => {
11528
11550
  });
11529
11551
  });
11530
11552
  Slideshow.displayName = 'Slideshow';
11531
- Slideshow.defaultProps = DEFAULT_PROPS$i;
11553
+ Slideshow.defaultProps = DEFAULT_PROPS$j;
11532
11554
 
11533
11555
  /**
11534
11556
  * Component display name.
@@ -11633,7 +11655,7 @@ const CLASSNAME$f = 'lumx-slideshow-controls';
11633
11655
  /**
11634
11656
  * Component default props.
11635
11657
  */
11636
- const DEFAULT_PROPS$h = {
11658
+ const DEFAULT_PROPS$i = {
11637
11659
  activeIndex: 0
11638
11660
  };
11639
11661
 
@@ -11647,7 +11669,7 @@ const DEFAULT_PROPS$h = {
11647
11669
  const InternalSlideshowControls = forwardRef((props, ref) => {
11648
11670
  const defaultTheme = useTheme() || Theme$1.light;
11649
11671
  const {
11650
- activeIndex = DEFAULT_PROPS$h.activeIndex,
11672
+ activeIndex = DEFAULT_PROPS$i.activeIndex,
11651
11673
  className,
11652
11674
  nextButtonProps,
11653
11675
  onNextClick,
@@ -11765,12 +11787,121 @@ const InternalSlideshowControls = forwardRef((props, ref) => {
11765
11787
  });
11766
11788
  InternalSlideshowControls.displayName = COMPONENT_NAME$g;
11767
11789
  InternalSlideshowControls.className = CLASSNAME$f;
11768
- InternalSlideshowControls.defaultProps = DEFAULT_PROPS$h;
11790
+ InternalSlideshowControls.defaultProps = DEFAULT_PROPS$i;
11769
11791
  const SlideshowControls = Object.assign(InternalSlideshowControls, {
11770
11792
  useSlideshowControls,
11771
11793
  useSlideshowControlsDefaultOptions: DEFAULT_OPTIONS
11772
11794
  });
11773
11795
 
11796
+ /**
11797
+ * Polyfill-like helper for the scrollend event.
11798
+ * Uses native scrollend if available, otherwise falls back to a timeout.
11799
+ *
11800
+ * @param element The element to listen to.
11801
+ * @param callback The callback to execute when scrolling ends.
11802
+ * @param options Options for the listener (timeout and AbortSignal).
11803
+ */
11804
+ function onScrollEnd(element, callback, options = {}) {
11805
+ const {
11806
+ timeout = 150,
11807
+ signal
11808
+ } = options;
11809
+
11810
+ // Native scrollend
11811
+ if ('onscrollend' in window) {
11812
+ element.addEventListener('scrollend', callback, {
11813
+ signal
11814
+ });
11815
+ return;
11816
+ }
11817
+
11818
+ // Fallback for browsers that don't support scrollend
11819
+ let timer;
11820
+ const handleScroll = () => {
11821
+ clearTimeout(timer);
11822
+ timer = setTimeout(callback, timeout);
11823
+ };
11824
+ element.addEventListener('scroll', handleScroll, {
11825
+ signal
11826
+ });
11827
+ signal?.addEventListener('abort', () => clearTimeout(timer));
11828
+ }
11829
+
11830
+ /**
11831
+ * Hook to handle scroll synchronization for the Slideshow component.
11832
+ * It syncs the scroll position with the active index and vice versa.
11833
+ */
11834
+ const useSlideScroll = ({
11835
+ enabled,
11836
+ activeIndex,
11837
+ wrapperRef,
11838
+ onChange
11839
+ }) => {
11840
+ const isAutoScrollRef = React__default.useRef(false);
11841
+ const isFromScrollRef = React__default.useRef(false);
11842
+
11843
+ // Sync State -> DOM (Programmatic Navigation)
11844
+ React__default.useEffect(() => {
11845
+ const wrapper = wrapperRef.current;
11846
+ if (!enabled || !wrapper) {
11847
+ return;
11848
+ }
11849
+
11850
+ // Skip if currently scrolling
11851
+ if (isFromScrollRef.current) {
11852
+ return;
11853
+ }
11854
+ const targetElement = wrapper.children[activeIndex];
11855
+ if (!targetElement) return;
11856
+ let newScrollLeft = targetElement.offsetLeft;
11857
+ if (targetElement.offsetParent !== wrapper) {
11858
+ newScrollLeft -= wrapper.offsetLeft + wrapper.clientLeft;
11859
+ }
11860
+ if (Math.abs(wrapper.scrollLeft - newScrollLeft) < 1) {
11861
+ return;
11862
+ }
11863
+ isAutoScrollRef.current = true;
11864
+ wrapper.scrollTo({
11865
+ left: newScrollLeft,
11866
+ behavior: !isReducedMotion() ? 'smooth' : undefined
11867
+ });
11868
+ }, [activeIndex, enabled, wrapperRef]);
11869
+
11870
+ // Sync DOM -> State (User Interaction)
11871
+ React__default.useEffect(() => {
11872
+ const wrapper = wrapperRef.current;
11873
+ if (!enabled || !wrapper) return undefined;
11874
+ const controller = new AbortController();
11875
+ const {
11876
+ signal
11877
+ } = controller;
11878
+ const handleScroll = () => {
11879
+ // Skip if currently scrolling programmatically
11880
+ if (isAutoScrollRef.current) {
11881
+ return;
11882
+ }
11883
+ const {
11884
+ scrollLeft,
11885
+ clientWidth
11886
+ } = wrapper;
11887
+ const newIndex = Math.round(scrollLeft / clientWidth);
11888
+ isFromScrollRef.current = true;
11889
+ onChange?.(newIndex);
11890
+ };
11891
+ const reset = () => {
11892
+ isAutoScrollRef.current = false;
11893
+ isFromScrollRef.current = false;
11894
+ };
11895
+ wrapper.addEventListener('scroll', handleScroll, {
11896
+ signal
11897
+ });
11898
+ onScrollEnd(wrapper, reset, {
11899
+ signal
11900
+ });
11901
+ return () => controller.abort();
11902
+ }, [enabled, onChange, wrapperRef]);
11903
+ };
11904
+
11774
11905
  /**
11775
11906
  * Component display name.
11776
11907
  */
@@ -11781,6 +11912,13 @@ const COMPONENT_NAME$f = 'Slideshow';
11781
11912
  */
11782
11913
  const CLASSNAME$e = 'lumx-slideshow';
11783
11914
 
11915
+ /**
11916
+ * Component default props.
11917
+ */
11918
+ const DEFAULT_PROPS$h = {
11919
+ slideMode: SlideMode.transformTranslate
11920
+ };
11921
+
11784
11922
  /**
11785
11923
  * Slides component.
11786
11924
  *
@@ -11804,16 +11942,36 @@ const Slides = forwardRef((props, ref) => {
11804
11942
  afterSlides,
11805
11943
  hasControls,
11806
11944
  slideGroupLabel,
11945
+ slideMode = DEFAULT_PROPS$h.slideMode,
11946
+ onChange,
11807
11947
  ...forwardedProps
11808
11948
  } = props;
11809
11949
  const wrapperRef = React__default.useRef(null);
11810
11950
  const startIndexVisible = activeIndex;
11811
11951
  const endIndexVisible = startIndexVisible + 1;
11812
11952
 
11813
- // Inline style of wrapper element.
11814
- const wrapperStyle = {
11815
- transform: `translateX(-${FULL_WIDTH_PERCENT * activeIndex}%)`
11816
- };
11953
+ // Only enable scroll-snap if requested and browser supports it
11954
+ const isScrollSnapEnabled = slideMode === SlideMode.scrollSnap && isScrollSnapSupported();
11955
+ useSlideScroll({
11956
+ activeIndex,
11957
+ enabled: isScrollSnapEnabled,
11958
+ wrapperRef,
11959
+ onChange
11960
+ });
11961
+ let wrapperProps;
11962
+ if (isScrollSnapEnabled) {
11963
+ // Make scroll zone focusable (a11y recommendation)
11964
+ wrapperProps = {
11965
+ tabIndex: 0
11966
+ };
11967
+ } else {
11968
+ // Transform translate to display the current slide
11969
+ wrapperProps = {
11970
+ style: {
11971
+ transform: `translateX(-${FULL_WIDTH_PERCENT * activeIndex}%)`
11972
+ }
11973
+ };
11974
+ }
11817
11975
  const groups = React__default.useMemo(() => {
11818
11976
  const childrenArray = Children.toArray(children);
11819
11977
  return groupBy && groupBy > 1 ? chunk(childrenArray, groupBy) : childrenArray;
@@ -11838,8 +11996,8 @@ const Slides = forwardRef((props, ref) => {
11838
11996
  "aria-live": isAutoPlaying ? 'off' : 'polite',
11839
11997
  children: /*#__PURE__*/jsx("div", {
11840
11998
  ref: wrapperRef,
11841
- className: `${CLASSNAME$e}__wrapper`,
11842
- style: wrapperStyle,
11999
+ className: classNames.join(`${CLASSNAME$e}__wrapper`, isScrollSnapEnabled && `${CLASSNAME$e}__wrapper--${slideMode}`),
12000
+ ...wrapperProps,
11843
12001
  children: groups.map((group, index) => /*#__PURE__*/jsx(SlideshowItemGroup, {
11844
12002
  id: slidesId && buildSlideShowGroupId(slidesId, index),
11845
12003
  role: hasControls ? 'tabpanel' : 'group',
@@ -13851,5 +14009,5 @@ UserBlock.displayName = COMPONENT_NAME;
13851
14009
  UserBlock.className = CLASSNAME;
13852
14010
  UserBlock.defaultProps = DEFAULT_PROPS;
13853
14011
 
13854
- export { AlertDialog, Autocomplete, AutocompleteMultiple, Avatar, Badge, BadgeWrapper, Button, ButtonGroup, CLASSNAME$1c as CLASSNAME, COMPONENT_NAME$1e as COMPONENT_NAME, Checkbox, Chip, ChipGroup, CommentBlock, CommentBlockVariant, DEFAULT_PROPS$10 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, ListSubheader, Message, Mosaic, Navigation, Notification, Placement, Popover, PopoverDialog, PostBlock, Progress, ProgressCircular, ProgressLinear, ProgressTracker, ProgressTrackerProvider, ProgressTrackerStep, ProgressTrackerStepPanel, ProgressVariant, RadioButton, RadioGroup, RawInputText, RawInputTextarea, Select, SelectMultiple, SelectMultipleField, SelectVariant, SideNavigation, SideNavigationItem, SkeletonCircle, SkeletonRectangle, SkeletonRectangleVariant, SkeletonTypography, Slider, Slides, Slideshow, SlideshowControls, SlideshowItem, Switch, Tab, TabList, TabListLayout, TabPanel, TabProvider, Table, TableBody, TableCell, TableCellVariant, TableHeader, TableRow, Text, TextField, ThOrder, ThemeProvider, Thumbnail, ThumbnailAspectRatio, ThumbnailObjectFit, ThumbnailVariant, Toolbar, Tooltip, Uploader, UploaderVariant, UserBlock, clamp, isClickable, useFocusPointStyle, useHeadingLevel, useTheme };
14012
+ export { AlertDialog, Autocomplete, AutocompleteMultiple, Avatar, Badge, BadgeWrapper, Button, ButtonGroup, CLASSNAME$1c as CLASSNAME, COMPONENT_NAME$1e as COMPONENT_NAME, Checkbox, Chip, ChipGroup, CommentBlock, CommentBlockVariant, DEFAULT_PROPS$11 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, ListSubheader, Message, Mosaic, Navigation, Notification, Placement, Popover, PopoverDialog, PostBlock, Progress, ProgressCircular, ProgressLinear, ProgressTracker, ProgressTrackerProvider, ProgressTrackerStep, ProgressTrackerStepPanel, ProgressVariant, RadioButton, RadioGroup, RawInputText, RawInputTextarea, Select, SelectMultiple, SelectMultipleField, SelectVariant, SideNavigation, SideNavigationItem, SkeletonCircle, SkeletonRectangle, SkeletonRectangleVariant, SkeletonTypography, Slider, Slides, Slideshow, SlideshowControls, SlideshowItem, Switch, Tab, TabList, TabListLayout, TabPanel, TabProvider, Table, TableBody, TableCell, TableCellVariant, TableHeader, TableRow, Text, TextField, ThOrder, ThemeProvider, Thumbnail, ThumbnailAspectRatio, ThumbnailObjectFit, ThumbnailVariant, Toolbar, Tooltip, Uploader, UploaderVariant, UserBlock, clamp, isClickable, useFocusPointStyle, useHeadingLevel, useTheme };
13855
14013
  //# sourceMappingURL=index.js.map