@simplybusiness/mobius 6.1.0 → 6.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -2582,7 +2582,8 @@ var import_react37 = require("react");
2582
2582
  var DrawerContext = (0, import_react37.createContext)({
2583
2583
  onClose: () => {
2584
2584
  },
2585
- closeLabel: void 0
2585
+ closeLabel: void 0,
2586
+ headerId: void 0
2586
2587
  });
2587
2588
 
2588
2589
  // src/components/Drawer/Drawer.tsx
@@ -2611,7 +2612,8 @@ var Drawer = (0, import_react38.forwardRef)((props, ref) => {
2611
2612
  CSSVariable: TRANSITION_CSS_VARIABLE
2612
2613
  }
2613
2614
  });
2614
- const hiddenId = `screen-reader-announce-${(0, import_react38.useId)()}`;
2615
+ const hiddenId = `dialog-screen-reader-announce-${(0, import_react38.useId)()}`;
2616
+ const headerId = `dialog-header-${(0, import_react38.useId)()}`;
2615
2617
  const dialogClasses = (0, import_dedupe22.default)(
2616
2618
  "mobius",
2617
2619
  "mobius-drawer",
@@ -2627,9 +2629,10 @@ var Drawer = (0, import_react38.forwardRef)((props, ref) => {
2627
2629
  const contextValue = (0, import_react38.useMemo)(
2628
2630
  () => ({
2629
2631
  onClose: close,
2630
- closeLabel
2632
+ closeLabel,
2633
+ headerId
2631
2634
  }),
2632
- [close, closeLabel]
2635
+ [close, closeLabel, headerId]
2633
2636
  );
2634
2637
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
2635
2638
  "dialog",
@@ -2639,6 +2642,7 @@ var Drawer = (0, import_react38.forwardRef)((props, ref) => {
2639
2642
  onCancel: close,
2640
2643
  className: dialogClasses,
2641
2644
  "aria-describedby": hiddenId,
2645
+ "aria-labelledby": headerId,
2642
2646
  children: [
2643
2647
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { id: hiddenId, children: announce }) }),
2644
2648
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DrawerContext.Provider, { value: contextValue, children })
@@ -2651,8 +2655,8 @@ Drawer.displayName = "Drawer";
2651
2655
  // src/components/Drawer/useDrawer.ts
2652
2656
  var import_react39 = require("react");
2653
2657
  var useDrawer = () => {
2654
- const { onClose, closeLabel } = (0, import_react39.useContext)(DrawerContext);
2655
- return { onClose, closeLabel };
2658
+ const { onClose, closeLabel, headerId } = (0, import_react39.useContext)(DrawerContext);
2659
+ return { onClose, closeLabel, headerId };
2656
2660
  };
2657
2661
 
2658
2662
  // src/components/Drawer/Header.tsx
@@ -2661,9 +2665,9 @@ var import_icons8 = require("@simplybusiness/icons");
2661
2665
  var import_jsx_runtime29 = require("react/jsx-runtime");
2662
2666
  var Header = (0, import_react40.forwardRef)(
2663
2667
  ({ children, ...otherProps }, ref) => {
2664
- const { onClose, closeLabel } = useDrawer();
2668
+ const { onClose, closeLabel, headerId } = useDrawer();
2665
2669
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("header", { ref, ...otherProps, className: "mobius-drawer__header", children: [
2666
- children,
2670
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("h2", { id: headerId, children }),
2667
2671
  /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
2668
2672
  Button,
2669
2673
  {
@@ -3286,8 +3290,9 @@ Modal2.displayName = "Modal";
3286
3290
  // src/components/NumberField/NumberField.tsx
3287
3291
  var import_dedupe36 = __toESM(require("classnames/dedupe"));
3288
3292
  var import_react57 = require("react");
3293
+ var import_react58 = require("react");
3289
3294
  var import_jsx_runtime45 = require("react/jsx-runtime");
3290
- var NumberField = (0, import_react57.forwardRef)((props, ref) => {
3295
+ var NumberField = (0, import_react58.forwardRef)((props, ref) => {
3291
3296
  const {
3292
3297
  minValue,
3293
3298
  maxValue,
@@ -3297,6 +3302,14 @@ var NumberField = (0, import_react57.forwardRef)((props, ref) => {
3297
3302
  className,
3298
3303
  ...otherProps
3299
3304
  } = props;
3305
+ const focusedInputRef = (0, import_react57.useRef)(null);
3306
+ const wheelHandler = (0, import_react57.useCallback)((ev) => ev.preventDefault(), []);
3307
+ (0, import_react57.useEffect)(() => {
3308
+ return () => {
3309
+ focusedInputRef.current?.removeEventListener("wheel", wheelHandler);
3310
+ focusedInputRef.current = null;
3311
+ };
3312
+ }, [wheelHandler]);
3300
3313
  const containerClasses = (0, import_dedupe36.default)("mobius-number-field", className, {
3301
3314
  "--hide-spin-buttons": hideSpinButtons
3302
3315
  });
@@ -3309,10 +3322,33 @@ var NumberField = (0, import_react57.forwardRef)((props, ref) => {
3309
3322
  event.preventDefault();
3310
3323
  }
3311
3324
  };
3325
+ const {
3326
+ onFocus: customOnFocus,
3327
+ onBlur: customOnBlur,
3328
+ ...rest
3329
+ } = otherProps;
3330
+ const forwardedProps = {
3331
+ ...rest,
3332
+ onFocus: (e) => {
3333
+ const el = e.currentTarget;
3334
+ focusedInputRef.current?.removeEventListener("wheel", wheelHandler);
3335
+ focusedInputRef.current = el;
3336
+ el.addEventListener("wheel", wheelHandler, { passive: false });
3337
+ customOnFocus?.(e);
3338
+ },
3339
+ onBlur: (e) => {
3340
+ const el = e.currentTarget;
3341
+ el.removeEventListener("wheel", wheelHandler);
3342
+ if (focusedInputRef.current === el) {
3343
+ focusedInputRef.current = null;
3344
+ }
3345
+ customOnBlur?.(e);
3346
+ }
3347
+ };
3312
3348
  return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3313
3349
  TextField,
3314
3350
  {
3315
- ...otherProps,
3351
+ ...forwardedProps,
3316
3352
  className: containerClasses,
3317
3353
  onBeforeInput: handleBeforeInput,
3318
3354
  type: "number",
@@ -3327,9 +3363,9 @@ var NumberField = (0, import_react57.forwardRef)((props, ref) => {
3327
3363
  NumberField.displayName = "NumberField";
3328
3364
 
3329
3365
  // src/components/Option/Option.tsx
3330
- var import_react58 = require("react");
3366
+ var import_react59 = require("react");
3331
3367
  var import_jsx_runtime46 = require("react/jsx-runtime");
3332
- var Option2 = (0, import_react58.forwardRef)((props, ref) => {
3368
+ var Option2 = (0, import_react59.forwardRef)((props, ref) => {
3333
3369
  const { isDisabled, ...rest } = props;
3334
3370
  const mappedProps = {
3335
3371
  ...rest,
@@ -3341,7 +3377,7 @@ Option2.displayName = "Option";
3341
3377
 
3342
3378
  // src/components/PasswordField/PasswordField.tsx
3343
3379
  var import_dedupe37 = __toESM(require("classnames/dedupe"));
3344
- var import_react59 = require("react");
3380
+ var import_react60 = require("react");
3345
3381
 
3346
3382
  // src/components/PasswordField/ShowHideButton.tsx
3347
3383
  var import_jsx_runtime47 = require("react/jsx-runtime");
@@ -3365,12 +3401,12 @@ var ShowHideButton = ({
3365
3401
 
3366
3402
  // src/components/PasswordField/PasswordField.tsx
3367
3403
  var import_jsx_runtime48 = require("react/jsx-runtime");
3368
- var PasswordField = (0, import_react59.forwardRef)(
3404
+ var PasswordField = (0, import_react60.forwardRef)(
3369
3405
  ({ className, ...props }, ref) => {
3370
- const [show, setShow] = (0, import_react59.useState)(false);
3406
+ const [show, setShow] = (0, import_react60.useState)(false);
3371
3407
  const type = show ? "text" : "password";
3372
3408
  const classes = (0, import_dedupe37.default)("mobius-password-field", className);
3373
- const localRef = (0, import_react59.useRef)(null);
3409
+ const localRef = (0, import_react60.useRef)(null);
3374
3410
  const handleShowHideButtonClick = () => {
3375
3411
  setShow((oldShow) => !oldShow);
3376
3412
  localRef.current?.focus();
@@ -3390,30 +3426,30 @@ var PasswordField = (0, import_react59.forwardRef)(
3390
3426
  PasswordField.displayName = "PasswordField";
3391
3427
 
3392
3428
  // src/components/Popover/Popover.tsx
3393
- var import_react60 = require("@floating-ui/react");
3429
+ var import_react61 = require("@floating-ui/react");
3394
3430
  var import_icons11 = require("@simplybusiness/icons");
3395
3431
  var import_classnames3 = __toESM(require("classnames"));
3396
- var import_react61 = require("react");
3432
+ var import_react62 = require("react");
3397
3433
  var import_jsx_runtime49 = require("react/jsx-runtime");
3398
3434
  var OFFSET_FROM_CONTENT_DEFAULT = 10;
3399
3435
  var Popover = (props) => {
3400
3436
  const { trigger, children, onOpen, onClose, className } = props;
3401
- const arrowRef = (0, import_react61.useRef)(null);
3402
- const [isOpen, setIsOpen] = (0, import_react61.useState)(false);
3403
- const { refs, floatingStyles, context } = (0, import_react60.useFloating)({
3437
+ const arrowRef = (0, import_react62.useRef)(null);
3438
+ const [isOpen, setIsOpen] = (0, import_react62.useState)(false);
3439
+ const { refs, floatingStyles, context } = (0, import_react61.useFloating)({
3404
3440
  open: isOpen,
3405
3441
  onOpenChange: setIsOpen,
3406
- whileElementsMounted: import_react60.autoUpdate,
3442
+ whileElementsMounted: import_react61.autoUpdate,
3407
3443
  middleware: [
3408
- (0, import_react60.arrow)({
3444
+ (0, import_react61.arrow)({
3409
3445
  element: arrowRef
3410
3446
  }),
3411
- (0, import_react60.offset)(OFFSET_FROM_CONTENT_DEFAULT),
3412
- (0, import_react60.shift)(),
3413
- (0, import_react60.flip)()
3447
+ (0, import_react61.offset)(OFFSET_FROM_CONTENT_DEFAULT),
3448
+ (0, import_react61.shift)(),
3449
+ (0, import_react61.flip)()
3414
3450
  ]
3415
3451
  });
3416
- const dismiss = (0, import_react60.useDismiss)(context, {
3452
+ const dismiss = (0, import_react61.useDismiss)(context, {
3417
3453
  bubbles: true,
3418
3454
  outsidePress: (event) => {
3419
3455
  const toggle = refs.reference.current;
@@ -3424,7 +3460,7 @@ var Popover = (props) => {
3424
3460
  return true;
3425
3461
  }
3426
3462
  });
3427
- const { getReferenceProps, getFloatingProps } = (0, import_react60.useInteractions)([dismiss]);
3463
+ const { getReferenceProps, getFloatingProps } = (0, import_react61.useInteractions)([dismiss]);
3428
3464
  const containerClasses = (0, import_classnames3.default)(
3429
3465
  "mobius",
3430
3466
  "mobius-popover__container",
@@ -3439,7 +3475,7 @@ var Popover = (props) => {
3439
3475
  setIsOpen(true);
3440
3476
  onOpen?.();
3441
3477
  };
3442
- const triggerComponent = (0, import_react61.cloneElement)(trigger, {
3478
+ const triggerComponent = (0, import_react62.cloneElement)(trigger, {
3443
3479
  ref: refs.setReference,
3444
3480
  className: (0, import_classnames3.default)(
3445
3481
  trigger.props.className,
@@ -3487,7 +3523,7 @@ var Popover = (props) => {
3487
3523
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "mobius-popover__body", children })
3488
3524
  ] }),
3489
3525
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3490
- import_react60.FloatingArrow,
3526
+ import_react61.FloatingArrow,
3491
3527
  {
3492
3528
  ref: arrowRef,
3493
3529
  context,
@@ -3503,7 +3539,7 @@ var Popover = (props) => {
3503
3539
 
3504
3540
  // src/components/Progress/Progress.tsx
3505
3541
  var import_dedupe38 = __toESM(require("classnames/dedupe"));
3506
- var import_react62 = require("react");
3542
+ var import_react63 = require("react");
3507
3543
  var import_jsx_runtime50 = require("react/jsx-runtime");
3508
3544
  function warnAboutInvalidValues(value, minValue, maxValue) {
3509
3545
  if (minValue > maxValue) {
@@ -3545,9 +3581,9 @@ var getLabelComponent = (label, progressLabelId, showLabel) => {
3545
3581
  var DEFAULT_VALUE = 0;
3546
3582
  var DEFAULT_MIN_VALUE = 0;
3547
3583
  var DEFAULT_MAX_VALUE = 100;
3548
- var Progress = (0, import_react62.forwardRef)((props, ref) => {
3549
- const progressId = (0, import_react62.useId)();
3550
- const progressLabelId = (0, import_react62.useId)();
3584
+ var Progress = (0, import_react63.forwardRef)((props, ref) => {
3585
+ const progressId = (0, import_react63.useId)();
3586
+ const progressLabelId = (0, import_react63.useId)();
3551
3587
  const {
3552
3588
  id,
3553
3589
  label,
@@ -3603,9 +3639,9 @@ Progress.displayName = "Progress";
3603
3639
 
3604
3640
  // src/components/Radio/Radio.tsx
3605
3641
  var import_dedupe39 = __toESM(require("classnames/dedupe"));
3606
- var import_react63 = require("react");
3642
+ var import_react64 = require("react");
3607
3643
  var import_jsx_runtime51 = require("react/jsx-runtime");
3608
- var Radio = (0, import_react63.forwardRef)(
3644
+ var Radio = (0, import_react64.forwardRef)(
3609
3645
  (props, ref) => {
3610
3646
  const {
3611
3647
  children,
@@ -3627,10 +3663,10 @@ var Radio = (0, import_react63.forwardRef)(
3627
3663
  const isMultiline = label && children;
3628
3664
  const isControlled = selected !== void 0;
3629
3665
  const isChecked = isControlled ? selected === value : defaultChecked;
3630
- const hasIconFirst = (0, import_react63.useMemo)(() => {
3631
- if (!children || import_react63.Children.count(children) === 0) return false;
3632
- const firstChild = import_react63.Children.toArray(children)[0];
3633
- if (!(0, import_react63.isValidElement)(firstChild)) return false;
3666
+ const hasIconFirst = (0, import_react64.useMemo)(() => {
3667
+ if (!children || import_react64.Children.count(children) === 0) return false;
3668
+ const firstChild = import_react64.Children.toArray(children)[0];
3669
+ if (!(0, import_react64.isValidElement)(firstChild)) return false;
3634
3670
  const props2 = firstChild.props;
3635
3671
  return "icon" in props2 && props2.icon !== void 0;
3636
3672
  }, [children]);
@@ -3647,14 +3683,6 @@ var Radio = (0, import_react63.forwardRef)(
3647
3683
  { "--has-icon-first": hasIconFirst }
3648
3684
  );
3649
3685
  const inputClasses = (0, import_dedupe39.default)("mobius-radio__input", radioClasses);
3650
- const handleClick = (event) => {
3651
- if (onChange) {
3652
- onChange(event);
3653
- }
3654
- if (setSelected) {
3655
- setSelected(event.currentTarget.value);
3656
- }
3657
- };
3658
3686
  const {
3659
3687
  // @ts-expect-error - TS doesn't like the orientation prop
3660
3688
  orientation,
@@ -3662,6 +3690,9 @@ var Radio = (0, import_react63.forwardRef)(
3662
3690
  ...rest
3663
3691
  } = otherProps;
3664
3692
  const handleChange = (event) => {
3693
+ if (setSelected) {
3694
+ setSelected(event.target.value);
3695
+ }
3665
3696
  if (onChange) {
3666
3697
  const adaptedEvent = {
3667
3698
  ...event.nativeEvent,
@@ -3679,11 +3710,11 @@ var Radio = (0, import_react63.forwardRef)(
3679
3710
  disabled: realDisabled,
3680
3711
  ref,
3681
3712
  className: inputClasses,
3682
- onClick: handleClick,
3683
3713
  value,
3684
3714
  tabIndex: 0,
3685
3715
  type: "radio",
3686
- ...isControlled ? { checked: isChecked, onChange: handleChange } : { defaultChecked: isChecked },
3716
+ onChange: handleChange,
3717
+ ...isControlled ? { checked: isChecked } : { defaultChecked: isChecked },
3687
3718
  name,
3688
3719
  required: isRequired,
3689
3720
  ...rest
@@ -3702,7 +3733,7 @@ Radio.displayName = "Radio";
3702
3733
 
3703
3734
  // src/components/Radio/RadioGroup.tsx
3704
3735
  var import_dedupe40 = __toESM(require("classnames/dedupe"));
3705
- var import_react64 = require("react");
3736
+ var import_react65 = require("react");
3706
3737
  var import_jsx_runtime52 = require("react/jsx-runtime");
3707
3738
  var getDefaultVal = (children, defaultValue) => {
3708
3739
  if (Array.isArray(children) && defaultValue) {
@@ -3712,7 +3743,7 @@ var getDefaultVal = (children, defaultValue) => {
3712
3743
  }
3713
3744
  return "";
3714
3745
  };
3715
- var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
3746
+ var RadioGroup = (0, import_react65.forwardRef)((props, ref) => {
3716
3747
  const {
3717
3748
  label,
3718
3749
  isDisabled = false,
@@ -3731,16 +3762,12 @@ var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
3731
3762
  ...rest
3732
3763
  } = props;
3733
3764
  const defaultSelected = getDefaultVal(children, value || defaultValue);
3734
- const [selected, setSelected] = (0, import_react64.useState)(defaultSelected);
3735
- const selectedRef = (0, import_react64.useRef)(null);
3736
- (0, import_react64.useEffect)(() => {
3765
+ const [selected, setSelected] = (0, import_react65.useState)(defaultSelected);
3766
+ (0, import_react65.useEffect)(() => {
3737
3767
  if (value !== void 0) {
3738
3768
  setSelected(value);
3739
3769
  }
3740
3770
  }, [value]);
3741
- (0, import_react64.useEffect)(() => {
3742
- selectedRef.current?.focus();
3743
- });
3744
3771
  const validationClasses = useValidationClasses({
3745
3772
  validationState,
3746
3773
  isInvalid
@@ -3762,15 +3789,15 @@ var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
3762
3789
  [`--is-${orientation}`]: true
3763
3790
  });
3764
3791
  const labelClasses = (0, import_dedupe40.default)(radioClasses, validationClasses);
3765
- const errorMessageId = (0, import_react64.useId)();
3766
- const defaultNameAttrId = (0, import_react64.useId)();
3792
+ const errorMessageId = (0, import_react65.useId)();
3793
+ const defaultNameAttrId = (0, import_react65.useId)();
3767
3794
  const nameAttribute = name || defaultNameAttrId;
3768
3795
  const shouldErrorMessageShow = errorMessage ? errorMessageId : void 0;
3769
3796
  const describedBy = spaceDelimitedList([
3770
3797
  shouldErrorMessageShow,
3771
3798
  props["aria-describedby"]
3772
3799
  ]);
3773
- const labelId = (0, import_react64.useId)();
3800
+ const labelId = (0, import_react65.useId)();
3774
3801
  return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3775
3802
  "div",
3776
3803
  {
@@ -3789,10 +3816,9 @@ var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
3789
3816
  role: "radiogroup",
3790
3817
  children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Stack, { gap: "xs", children: [
3791
3818
  label && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Label, { htmlFor: name, id: labelId, className: labelClasses, children: label }),
3792
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: radioWrapperClasses, children: import_react64.Children.map(children, (child) => {
3793
- if ((0, import_react64.isValidElement)(child)) {
3794
- const props2 = child.props;
3795
- return (0, import_react64.cloneElement)(
3819
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: radioWrapperClasses, children: import_react65.Children.map(children, (child) => {
3820
+ if ((0, import_react65.isValidElement)(child)) {
3821
+ return (0, import_react65.cloneElement)(
3796
3822
  child,
3797
3823
  {
3798
3824
  orientation,
@@ -3803,8 +3829,7 @@ var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
3803
3829
  setSelected,
3804
3830
  isRequired,
3805
3831
  "aria-describedby": describedBy,
3806
- onChange,
3807
- ref: props2.value === selected ? selectedRef : void 0
3832
+ onChange
3808
3833
  }
3809
3834
  );
3810
3835
  }
@@ -3855,10 +3880,10 @@ Segment.displayName = "Segment";
3855
3880
 
3856
3881
  // src/components/Select/Select.tsx
3857
3882
  var import_dedupe43 = __toESM(require("classnames/dedupe"));
3858
- var import_react65 = require("react");
3883
+ var import_react66 = require("react");
3859
3884
  var import_icons12 = require("@simplybusiness/icons");
3860
3885
  var import_jsx_runtime55 = require("react/jsx-runtime");
3861
- var Select = (0, import_react65.forwardRef)((props, ref) => {
3886
+ var Select = (0, import_react66.forwardRef)((props, ref) => {
3862
3887
  const {
3863
3888
  label,
3864
3889
  onChange,
@@ -3899,7 +3924,7 @@ var Select = (0, import_react65.forwardRef)((props, ref) => {
3899
3924
  otherProps.className
3900
3925
  );
3901
3926
  const iconClasses = (0, import_dedupe43.default)("mobius-select__icon", sharedClasses);
3902
- const errorMessageId = (0, import_react65.useId)();
3927
+ const errorMessageId = (0, import_react66.useId)();
3903
3928
  const shouldErrorMessageShow = errorMessage ? errorMessageId : void 0;
3904
3929
  const describedBy = spaceDelimitedList([
3905
3930
  shouldErrorMessageShow,
@@ -3937,10 +3962,10 @@ Select.displayName = "Select";
3937
3962
 
3938
3963
  // src/components/Slider/Slider.tsx
3939
3964
  var import_dedupe44 = __toESM(require("classnames/dedupe"));
3940
- var import_react67 = require("react");
3965
+ var import_react68 = require("react");
3941
3966
 
3942
3967
  // src/components/Slider/helpers.ts
3943
- var import_react66 = require("react");
3968
+ var import_react67 = require("react");
3944
3969
  function numberFormatter(value, formatOptions, locale = navigator.languages?.[0] || "en-GB") {
3945
3970
  if (!formatOptions) {
3946
3971
  return value?.toString() || "";
@@ -3970,11 +3995,11 @@ var Slider = (props) => {
3970
3995
  formatOptions,
3971
3996
  isDisabled = false
3972
3997
  } = props;
3973
- const trackRef = (0, import_react67.useRef)(null);
3974
- const [currentValue, setCurrentValue] = (0, import_react67.useState)(
3998
+ const trackRef = (0, import_react68.useRef)(null);
3999
+ const [currentValue, setCurrentValue] = (0, import_react68.useState)(
3975
4000
  value || defaultValue || 0
3976
4001
  );
3977
- const [isDragging, setIsDraggging] = (0, import_react67.useState)(false);
4002
+ const [isDragging, setIsDraggging] = (0, import_react68.useState)(false);
3978
4003
  const { labelProps, fieldProps } = useLabel({
3979
4004
  id,
3980
4005
  label,
@@ -4036,14 +4061,14 @@ var Slider = (props) => {
4036
4061
  };
4037
4062
 
4038
4063
  // src/components/SVG/SVG.tsx
4039
- var import_react68 = require("react");
4064
+ var import_react69 = require("react");
4040
4065
  var import_dedupe45 = __toESM(require("classnames/dedupe"));
4041
4066
  var import_jsx_runtime57 = require("react/jsx-runtime");
4042
- var SVG = (0, import_react68.forwardRef)(
4067
+ var SVG = (0, import_react69.forwardRef)(
4043
4068
  (props, ref) => {
4044
4069
  const { children, className, ...otherProps } = props;
4045
4070
  const classes = (0, import_dedupe45.default)("mobius", "mobius-svg", className);
4046
- const svgNode = import_react68.Children.only(children);
4071
+ const svgNode = import_react69.Children.only(children);
4047
4072
  const { children: svgChildren, viewBox, xmlns } = svgNode.props;
4048
4073
  return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4049
4074
  "svg",
@@ -4061,10 +4086,10 @@ var SVG = (0, import_react68.forwardRef)(
4061
4086
  SVG.displayName = "SVG";
4062
4087
 
4063
4088
  // src/components/Switch/Switch.tsx
4064
- var import_react69 = require("react");
4089
+ var import_react70 = require("react");
4065
4090
  var import_dedupe46 = __toESM(require("classnames/dedupe"));
4066
4091
  var import_jsx_runtime58 = require("react/jsx-runtime");
4067
- var Switch = (0, import_react69.forwardRef)((props, ref) => {
4092
+ var Switch = (0, import_react70.forwardRef)((props, ref) => {
4068
4093
  const {
4069
4094
  checked = false,
4070
4095
  className,
@@ -4072,8 +4097,8 @@ var Switch = (0, import_react69.forwardRef)((props, ref) => {
4072
4097
  isDisabled = false,
4073
4098
  ...otherProps
4074
4099
  } = props;
4075
- const [enabled, setEnabled] = (0, import_react69.useState)(checked);
4076
- (0, import_react69.useEffect)(() => {
4100
+ const [enabled, setEnabled] = (0, import_react70.useState)(checked);
4101
+ (0, import_react70.useEffect)(() => {
4077
4102
  setEnabled(checked);
4078
4103
  }, [checked]);
4079
4104
  const classes = (0, import_dedupe46.default)(
@@ -4110,10 +4135,10 @@ var Switch = (0, import_react69.forwardRef)((props, ref) => {
4110
4135
  Switch.displayName = "Switch";
4111
4136
 
4112
4137
  // src/components/Table/Table.tsx
4113
- var import_react70 = require("react");
4138
+ var import_react71 = require("react");
4114
4139
  var import_dedupe47 = __toESM(require("classnames/dedupe"));
4115
4140
  var import_jsx_runtime59 = require("react/jsx-runtime");
4116
- var Table = (0, import_react70.forwardRef)(
4141
+ var Table = (0, import_react71.forwardRef)(
4117
4142
  (props, ref) => {
4118
4143
  const classes = (0, import_dedupe47.default)("mobius", "mobius-table", props.className);
4119
4144
  return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("table", { ref, ...props, className: classes });
@@ -4122,40 +4147,40 @@ var Table = (0, import_react70.forwardRef)(
4122
4147
  Table.displayName = "Table";
4123
4148
 
4124
4149
  // src/components/Table/Head.tsx
4125
- var import_react71 = require("react");
4150
+ var import_react72 = require("react");
4126
4151
  var import_dedupe48 = __toESM(require("classnames/dedupe"));
4127
4152
  var import_jsx_runtime60 = require("react/jsx-runtime");
4128
- var Head = (0, import_react71.forwardRef)((props, ref) => {
4153
+ var Head = (0, import_react72.forwardRef)((props, ref) => {
4129
4154
  const classes = (0, import_dedupe48.default)("mobius", "mobius-table__head", props.className);
4130
4155
  return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("thead", { ref, ...props, className: classes });
4131
4156
  });
4132
4157
  Head.displayName = "Table.Head";
4133
4158
 
4134
4159
  // src/components/Table/Body.tsx
4135
- var import_react72 = require("react");
4160
+ var import_react73 = require("react");
4136
4161
  var import_dedupe49 = __toESM(require("classnames/dedupe"));
4137
4162
  var import_jsx_runtime61 = require("react/jsx-runtime");
4138
- var Body = (0, import_react72.forwardRef)((props, ref) => {
4163
+ var Body = (0, import_react73.forwardRef)((props, ref) => {
4139
4164
  const classes = (0, import_dedupe49.default)("mobius", "mobius-table__body", props.className);
4140
4165
  return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("tbody", { ref, ...props, className: classes });
4141
4166
  });
4142
4167
  Body.displayName = "Table.Body";
4143
4168
 
4144
4169
  // src/components/Table/Foot.tsx
4145
- var import_react73 = require("react");
4170
+ var import_react74 = require("react");
4146
4171
  var import_dedupe50 = __toESM(require("classnames/dedupe"));
4147
4172
  var import_jsx_runtime62 = require("react/jsx-runtime");
4148
- var Foot = (0, import_react73.forwardRef)((props, ref) => {
4173
+ var Foot = (0, import_react74.forwardRef)((props, ref) => {
4149
4174
  const classes = (0, import_dedupe50.default)("mobius", "mobius-table__foot", props.className);
4150
4175
  return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tfoot", { ref, ...props, className: classes });
4151
4176
  });
4152
4177
  Foot.displayName = "Table.Foot";
4153
4178
 
4154
4179
  // src/components/Table/Row.tsx
4155
- var import_react74 = require("react");
4180
+ var import_react75 = require("react");
4156
4181
  var import_dedupe51 = __toESM(require("classnames/dedupe"));
4157
4182
  var import_jsx_runtime63 = require("react/jsx-runtime");
4158
- var Row = (0, import_react74.forwardRef)(
4183
+ var Row = (0, import_react75.forwardRef)(
4159
4184
  (props, ref) => {
4160
4185
  const classes = (0, import_dedupe51.default)("mobius", "mobius-table__row", props.className);
4161
4186
  return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("tr", { ref, ...props, className: classes });
@@ -4164,10 +4189,10 @@ var Row = (0, import_react74.forwardRef)(
4164
4189
  Row.displayName = "Table.Row";
4165
4190
 
4166
4191
  // src/components/Table/HeaderCell.tsx
4167
- var import_react75 = require("react");
4192
+ var import_react76 = require("react");
4168
4193
  var import_dedupe52 = __toESM(require("classnames/dedupe"));
4169
4194
  var import_jsx_runtime64 = require("react/jsx-runtime");
4170
- var HeaderCell = (0, import_react75.forwardRef)((props, ref) => {
4195
+ var HeaderCell = (0, import_react76.forwardRef)((props, ref) => {
4171
4196
  const classes = (0, import_dedupe52.default)(
4172
4197
  "mobius",
4173
4198
  "mobius-table__head-cell",
@@ -4178,10 +4203,10 @@ var HeaderCell = (0, import_react75.forwardRef)((props, ref) => {
4178
4203
  HeaderCell.displayName = "Table.HeaderCell";
4179
4204
 
4180
4205
  // src/components/Table/Cell.tsx
4181
- var import_react76 = require("react");
4206
+ var import_react77 = require("react");
4182
4207
  var import_dedupe53 = __toESM(require("classnames/dedupe"));
4183
4208
  var import_jsx_runtime65 = require("react/jsx-runtime");
4184
- var Cell = (0, import_react76.forwardRef)(
4209
+ var Cell = (0, import_react77.forwardRef)(
4185
4210
  (props, ref) => {
4186
4211
  const classes = (0, import_dedupe53.default)(
4187
4212
  "mobius",
@@ -4206,13 +4231,13 @@ Table2.displayName = "Table";
4206
4231
 
4207
4232
  // src/components/TextArea/TextArea.tsx
4208
4233
  var import_dedupe55 = __toESM(require("classnames/dedupe"));
4209
- var import_react78 = require("react");
4234
+ var import_react79 = require("react");
4210
4235
 
4211
4236
  // src/components/TextAreaInput/TextAreaInput.tsx
4212
4237
  var import_dedupe54 = __toESM(require("classnames/dedupe"));
4213
- var import_react77 = require("react");
4238
+ var import_react78 = require("react");
4214
4239
  var import_jsx_runtime66 = require("react/jsx-runtime");
4215
- var TextAreaInput = (0, import_react77.forwardRef)((props, ref) => {
4240
+ var TextAreaInput = (0, import_react78.forwardRef)((props, ref) => {
4216
4241
  const { isSelected, isDisabled, isReadOnly, isRequired, ...otherProps } = props;
4217
4242
  const classes = (0, import_dedupe54.default)(
4218
4243
  "mobius",
@@ -4239,7 +4264,7 @@ TextAreaInput.displayName = "TextAreaInput";
4239
4264
 
4240
4265
  // src/components/TextArea/TextArea.tsx
4241
4266
  var import_jsx_runtime67 = require("react/jsx-runtime");
4242
- var TextArea = (0, import_react78.forwardRef)((props, ref) => {
4267
+ var TextArea = (0, import_react79.forwardRef)((props, ref) => {
4243
4268
  const {
4244
4269
  isDisabled,
4245
4270
  className,
@@ -4284,10 +4309,10 @@ var TextArea = (0, import_react78.forwardRef)((props, ref) => {
4284
4309
  TextArea.displayName = "TextArea";
4285
4310
 
4286
4311
  // src/components/Title/Title.tsx
4287
- var import_react79 = require("react");
4312
+ var import_react80 = require("react");
4288
4313
  var import_dedupe56 = __toESM(require("classnames/dedupe"));
4289
4314
  var import_jsx_runtime68 = require("react/jsx-runtime");
4290
- var Title = (0, import_react79.forwardRef)(
4315
+ var Title = (0, import_react80.forwardRef)(
4291
4316
  (props, ref) => {
4292
4317
  const {
4293
4318
  elementType: Element = "div",
@@ -4309,7 +4334,7 @@ Title.displayName = "Title";
4309
4334
 
4310
4335
  // src/components/Trust/Trust.tsx
4311
4336
  var import_dedupe57 = __toESM(require("classnames/dedupe"));
4312
- var import_react80 = require("react");
4337
+ var import_react81 = require("react");
4313
4338
 
4314
4339
  // src/components/Trust/constants.ts
4315
4340
  var REQUIRED_TRUSTPILOT_CLASS_NAME = "trustpilot-widget";
@@ -4368,7 +4393,7 @@ var TRUSTPILOT_WIDGET = {
4368
4393
 
4369
4394
  // src/components/Trust/Trust.tsx
4370
4395
  var import_jsx_runtime69 = require("react/jsx-runtime");
4371
- var Trust = (0, import_react80.forwardRef)((props, ref) => {
4396
+ var Trust = (0, import_react81.forwardRef)((props, ref) => {
4372
4397
  const {
4373
4398
  elementType: Element = "div",
4374
4399
  variant,
@@ -4379,8 +4404,8 @@ var Trust = (0, import_react80.forwardRef)((props, ref) => {
4379
4404
  stars,
4380
4405
  className
4381
4406
  } = props;
4382
- const [isMounted, setIsMounted] = (0, import_react80.useState)(false);
4383
- const trustRef = (0, import_react80.useRef)(null);
4407
+ const [isMounted, setIsMounted] = (0, import_react81.useState)(false);
4408
+ const trustRef = (0, import_react81.useRef)(null);
4384
4409
  const {
4385
4410
  templateId,
4386
4411
  className: variantClassName,
@@ -4406,13 +4431,13 @@ var Trust = (0, import_react80.forwardRef)((props, ref) => {
4406
4431
  },
4407
4432
  className
4408
4433
  );
4409
- (0, import_react80.useEffect)(() => {
4434
+ (0, import_react81.useEffect)(() => {
4410
4435
  const hasTrustpilotLoaded = trustRef.current && window?.Trustpilot && window?.Trustpilot.loadFromElement;
4411
4436
  if (isMounted && hasTrustpilotLoaded) {
4412
4437
  window.Trustpilot.loadFromElement(trustRef.current, true);
4413
4438
  }
4414
4439
  }, [isMounted]);
4415
- (0, import_react80.useEffect)(() => {
4440
+ (0, import_react81.useEffect)(() => {
4416
4441
  setIsMounted(true);
4417
4442
  }, []);
4418
4443
  if (!isMounted) return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { style: styles });
@@ -4438,10 +4463,10 @@ var Trust = (0, import_react80.forwardRef)((props, ref) => {
4438
4463
  });
4439
4464
 
4440
4465
  // src/components/ExpandableText/ExpandableText.tsx
4441
- var import_react81 = require("react");
4466
+ var import_react82 = require("react");
4442
4467
  var import_dedupe58 = __toESM(require("classnames/dedupe"));
4443
4468
  var import_jsx_runtime70 = require("react/jsx-runtime");
4444
- var ExpandableText = (0, import_react81.forwardRef)((props, ref) => {
4469
+ var ExpandableText = (0, import_react82.forwardRef)((props, ref) => {
4445
4470
  const {
4446
4471
  text,
4447
4472
  maxLines = 3,
@@ -4454,14 +4479,14 @@ var ExpandableText = (0, import_react81.forwardRef)((props, ref) => {
4454
4479
  onToggle,
4455
4480
  ...otherProps
4456
4481
  } = props;
4457
- const [isExpanded, setIsExpanded] = (0, import_react81.useState)(false);
4458
- const [isCollapsed, setIsCollapsed] = (0, import_react81.useState)(false);
4459
- const textRef = (0, import_react81.useRef)(null);
4482
+ const [isExpanded, setIsExpanded] = (0, import_react82.useState)(false);
4483
+ const [isCollapsed, setIsCollapsed] = (0, import_react82.useState)(false);
4484
+ const textRef = (0, import_react82.useRef)(null);
4460
4485
  const { down } = useBreakpoint();
4461
- const baseId = (0, import_react81.useId)();
4486
+ const baseId = (0, import_react82.useId)();
4462
4487
  const expandButtonId = `expandable-text-expand-${baseId}`;
4463
4488
  const shouldCollapse = breakpoint ? down(breakpoint) : true;
4464
- (0, import_react81.useEffect)(() => {
4489
+ (0, import_react82.useEffect)(() => {
4465
4490
  if (!shouldCollapse || !textRef.current) {
4466
4491
  setIsCollapsed(false);
4467
4492
  return;