@simplybusiness/mobius 6.4.4 → 6.4.5
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/CHANGELOG.md +6 -0
- package/dist/cjs/index.js +143 -111
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/index.js +54 -17
- package/package.json +1 -1
- package/src/components/NumberField/NumberField.test.tsx +73 -28
- package/src/components/NumberField/NumberField.tsx +77 -21
package/CHANGELOG.md
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -3313,9 +3313,9 @@ Modal2.displayName = "Modal";
|
|
|
3313
3313
|
// src/components/NumberField/NumberField.tsx
|
|
3314
3314
|
var import_dedupe36 = __toESM(require("classnames/dedupe"));
|
|
3315
3315
|
var import_react57 = require("react");
|
|
3316
|
-
var import_react58 = require("react");
|
|
3317
3316
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3318
|
-
var
|
|
3317
|
+
var SMALLEST_INCREMENT = 1e-3;
|
|
3318
|
+
var NumberField = (0, import_react57.forwardRef)((props, ref) => {
|
|
3319
3319
|
const {
|
|
3320
3320
|
minValue,
|
|
3321
3321
|
maxValue,
|
|
@@ -3325,6 +3325,11 @@ var NumberField = (0, import_react58.forwardRef)((props, ref) => {
|
|
|
3325
3325
|
className,
|
|
3326
3326
|
...otherProps
|
|
3327
3327
|
} = props;
|
|
3328
|
+
const {
|
|
3329
|
+
onFocus: customOnFocus,
|
|
3330
|
+
onBlur: customOnBlur,
|
|
3331
|
+
...rest
|
|
3332
|
+
} = otherProps;
|
|
3328
3333
|
const focusedInputRef = (0, import_react57.useRef)(null);
|
|
3329
3334
|
const wheelHandler = (0, import_react57.useCallback)((ev) => ev.preventDefault(), []);
|
|
3330
3335
|
(0, import_react57.useEffect)(() => {
|
|
@@ -3338,20 +3343,54 @@ var NumberField = (0, import_react58.forwardRef)((props, ref) => {
|
|
|
3338
3343
|
});
|
|
3339
3344
|
const handleBeforeInput = (event) => {
|
|
3340
3345
|
const { data } = event.nativeEvent;
|
|
3341
|
-
if (step
|
|
3346
|
+
if (step && Number.isInteger(step) && data === ".") {
|
|
3342
3347
|
event.preventDefault();
|
|
3343
3348
|
}
|
|
3344
|
-
if (minValue
|
|
3349
|
+
if (minValue && minValue >= 0 && data === "-") {
|
|
3345
3350
|
event.preventDefault();
|
|
3346
3351
|
}
|
|
3347
3352
|
};
|
|
3348
|
-
const {
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
+
const handleChange = (event) => {
|
|
3354
|
+
const { value } = event.target;
|
|
3355
|
+
const numValue = parseFloat(value);
|
|
3356
|
+
if (value === "" || value === "-" || isNaN(numValue)) {
|
|
3357
|
+
otherProps.onChange?.(event);
|
|
3358
|
+
return;
|
|
3359
|
+
}
|
|
3360
|
+
if (step && step > 1) {
|
|
3361
|
+
const baseValue = minValue ?? 0;
|
|
3362
|
+
const remainder = (numValue - baseValue) % step;
|
|
3363
|
+
if (Math.abs(remainder) > SMALLEST_INCREMENT && Math.abs(remainder - step) > SMALLEST_INCREMENT) {
|
|
3364
|
+
event.preventDefault();
|
|
3365
|
+
return;
|
|
3366
|
+
}
|
|
3367
|
+
}
|
|
3368
|
+
otherProps.onChange?.(event);
|
|
3369
|
+
};
|
|
3370
|
+
const handleBlur = (event) => {
|
|
3371
|
+
const { value } = event.target;
|
|
3372
|
+
const numValue = parseFloat(value);
|
|
3373
|
+
if (step && step > 1 && !isNaN(numValue)) {
|
|
3374
|
+
const baseValue = minValue ?? 0;
|
|
3375
|
+
const steps = Math.round((numValue - baseValue) / step);
|
|
3376
|
+
const snappedValue = baseValue + steps * step;
|
|
3377
|
+
if (snappedValue !== numValue) {
|
|
3378
|
+
event.target.value = snappedValue.toString();
|
|
3379
|
+
const changeEvent = new Event("change", { bubbles: true });
|
|
3380
|
+
event.target.dispatchEvent(changeEvent);
|
|
3381
|
+
const syntheticChangeEvent = {
|
|
3382
|
+
...event,
|
|
3383
|
+
target: event.target,
|
|
3384
|
+
currentTarget: event.currentTarget
|
|
3385
|
+
};
|
|
3386
|
+
otherProps.onChange?.(syntheticChangeEvent);
|
|
3387
|
+
}
|
|
3388
|
+
}
|
|
3389
|
+
customOnBlur?.(event);
|
|
3390
|
+
};
|
|
3353
3391
|
const forwardedProps = {
|
|
3354
3392
|
...rest,
|
|
3393
|
+
onChange: handleChange,
|
|
3355
3394
|
onFocus: (e) => {
|
|
3356
3395
|
const el = e.currentTarget;
|
|
3357
3396
|
focusedInputRef.current?.removeEventListener("wheel", wheelHandler);
|
|
@@ -3359,14 +3398,7 @@ var NumberField = (0, import_react58.forwardRef)((props, ref) => {
|
|
|
3359
3398
|
el.addEventListener("wheel", wheelHandler, { passive: false });
|
|
3360
3399
|
customOnFocus?.(e);
|
|
3361
3400
|
},
|
|
3362
|
-
onBlur: (e) =>
|
|
3363
|
-
const el = e.currentTarget;
|
|
3364
|
-
el.removeEventListener("wheel", wheelHandler);
|
|
3365
|
-
if (focusedInputRef.current === el) {
|
|
3366
|
-
focusedInputRef.current = null;
|
|
3367
|
-
}
|
|
3368
|
-
customOnBlur?.(e);
|
|
3369
|
-
}
|
|
3401
|
+
onBlur: (e) => handleBlur(e)
|
|
3370
3402
|
};
|
|
3371
3403
|
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3372
3404
|
TextField,
|
|
@@ -3386,9 +3418,9 @@ var NumberField = (0, import_react58.forwardRef)((props, ref) => {
|
|
|
3386
3418
|
NumberField.displayName = "NumberField";
|
|
3387
3419
|
|
|
3388
3420
|
// src/components/Option/Option.tsx
|
|
3389
|
-
var
|
|
3421
|
+
var import_react58 = require("react");
|
|
3390
3422
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3391
|
-
var Option2 = (0,
|
|
3423
|
+
var Option2 = (0, import_react58.forwardRef)((props, ref) => {
|
|
3392
3424
|
const { isDisabled, ...rest } = props;
|
|
3393
3425
|
const mappedProps = {
|
|
3394
3426
|
...rest,
|
|
@@ -3400,7 +3432,7 @@ Option2.displayName = "Option";
|
|
|
3400
3432
|
|
|
3401
3433
|
// src/components/PasswordField/PasswordField.tsx
|
|
3402
3434
|
var import_dedupe37 = __toESM(require("classnames/dedupe"));
|
|
3403
|
-
var
|
|
3435
|
+
var import_react59 = require("react");
|
|
3404
3436
|
|
|
3405
3437
|
// src/components/PasswordField/ShowHideButton.tsx
|
|
3406
3438
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
@@ -3424,12 +3456,12 @@ var ShowHideButton = ({
|
|
|
3424
3456
|
|
|
3425
3457
|
// src/components/PasswordField/PasswordField.tsx
|
|
3426
3458
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3427
|
-
var PasswordField = (0,
|
|
3459
|
+
var PasswordField = (0, import_react59.forwardRef)(
|
|
3428
3460
|
({ className, ...props }, ref) => {
|
|
3429
|
-
const [show, setShow] = (0,
|
|
3461
|
+
const [show, setShow] = (0, import_react59.useState)(false);
|
|
3430
3462
|
const type = show ? "text" : "password";
|
|
3431
3463
|
const classes = (0, import_dedupe37.default)("mobius-password-field", className);
|
|
3432
|
-
const localRef = (0,
|
|
3464
|
+
const localRef = (0, import_react59.useRef)(null);
|
|
3433
3465
|
const handleShowHideButtonClick = () => {
|
|
3434
3466
|
setShow((oldShow) => !oldShow);
|
|
3435
3467
|
localRef.current?.focus();
|
|
@@ -3449,30 +3481,30 @@ var PasswordField = (0, import_react60.forwardRef)(
|
|
|
3449
3481
|
PasswordField.displayName = "PasswordField";
|
|
3450
3482
|
|
|
3451
3483
|
// src/components/Popover/Popover.tsx
|
|
3452
|
-
var
|
|
3484
|
+
var import_react60 = require("@floating-ui/react");
|
|
3453
3485
|
var import_icons11 = require("@simplybusiness/icons");
|
|
3454
3486
|
var import_classnames3 = __toESM(require("classnames"));
|
|
3455
|
-
var
|
|
3487
|
+
var import_react61 = require("react");
|
|
3456
3488
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
3457
3489
|
var OFFSET_FROM_CONTENT_DEFAULT = 10;
|
|
3458
3490
|
var Popover = (props) => {
|
|
3459
3491
|
const { trigger, children, onOpen, onClose, className } = props;
|
|
3460
|
-
const arrowRef = (0,
|
|
3461
|
-
const [isOpen, setIsOpen] = (0,
|
|
3462
|
-
const { refs, floatingStyles, context } = (0,
|
|
3492
|
+
const arrowRef = (0, import_react61.useRef)(null);
|
|
3493
|
+
const [isOpen, setIsOpen] = (0, import_react61.useState)(false);
|
|
3494
|
+
const { refs, floatingStyles, context } = (0, import_react60.useFloating)({
|
|
3463
3495
|
open: isOpen,
|
|
3464
3496
|
onOpenChange: setIsOpen,
|
|
3465
|
-
whileElementsMounted:
|
|
3497
|
+
whileElementsMounted: import_react60.autoUpdate,
|
|
3466
3498
|
middleware: [
|
|
3467
|
-
(0,
|
|
3499
|
+
(0, import_react60.arrow)({
|
|
3468
3500
|
element: arrowRef
|
|
3469
3501
|
}),
|
|
3470
|
-
(0,
|
|
3471
|
-
(0,
|
|
3472
|
-
(0,
|
|
3502
|
+
(0, import_react60.offset)(OFFSET_FROM_CONTENT_DEFAULT),
|
|
3503
|
+
(0, import_react60.shift)(),
|
|
3504
|
+
(0, import_react60.flip)()
|
|
3473
3505
|
]
|
|
3474
3506
|
});
|
|
3475
|
-
const dismiss = (0,
|
|
3507
|
+
const dismiss = (0, import_react60.useDismiss)(context, {
|
|
3476
3508
|
bubbles: true,
|
|
3477
3509
|
outsidePress: (event) => {
|
|
3478
3510
|
const toggle = refs.reference.current;
|
|
@@ -3483,7 +3515,7 @@ var Popover = (props) => {
|
|
|
3483
3515
|
return true;
|
|
3484
3516
|
}
|
|
3485
3517
|
});
|
|
3486
|
-
const { getReferenceProps, getFloatingProps } = (0,
|
|
3518
|
+
const { getReferenceProps, getFloatingProps } = (0, import_react60.useInteractions)([dismiss]);
|
|
3487
3519
|
const containerClasses = (0, import_classnames3.default)(
|
|
3488
3520
|
"mobius",
|
|
3489
3521
|
"mobius-popover__container",
|
|
@@ -3498,7 +3530,7 @@ var Popover = (props) => {
|
|
|
3498
3530
|
setIsOpen(true);
|
|
3499
3531
|
onOpen?.();
|
|
3500
3532
|
};
|
|
3501
|
-
const triggerComponent = (0,
|
|
3533
|
+
const triggerComponent = (0, import_react61.cloneElement)(trigger, {
|
|
3502
3534
|
ref: refs.setReference,
|
|
3503
3535
|
className: (0, import_classnames3.default)(
|
|
3504
3536
|
trigger.props.className,
|
|
@@ -3546,7 +3578,7 @@ var Popover = (props) => {
|
|
|
3546
3578
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "mobius-popover__body", children })
|
|
3547
3579
|
] }),
|
|
3548
3580
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3549
|
-
|
|
3581
|
+
import_react60.FloatingArrow,
|
|
3550
3582
|
{
|
|
3551
3583
|
ref: arrowRef,
|
|
3552
3584
|
context,
|
|
@@ -3562,7 +3594,7 @@ var Popover = (props) => {
|
|
|
3562
3594
|
|
|
3563
3595
|
// src/components/Progress/Progress.tsx
|
|
3564
3596
|
var import_dedupe38 = __toESM(require("classnames/dedupe"));
|
|
3565
|
-
var
|
|
3597
|
+
var import_react62 = require("react");
|
|
3566
3598
|
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
3567
3599
|
function warnAboutInvalidValues(value, minValue, maxValue) {
|
|
3568
3600
|
if (minValue > maxValue) {
|
|
@@ -3604,9 +3636,9 @@ var getLabelComponent = (label, progressLabelId, showLabel) => {
|
|
|
3604
3636
|
var DEFAULT_VALUE = 0;
|
|
3605
3637
|
var DEFAULT_MIN_VALUE = 0;
|
|
3606
3638
|
var DEFAULT_MAX_VALUE = 100;
|
|
3607
|
-
var Progress = (0,
|
|
3608
|
-
const progressId = (0,
|
|
3609
|
-
const progressLabelId = (0,
|
|
3639
|
+
var Progress = (0, import_react62.forwardRef)((props, ref) => {
|
|
3640
|
+
const progressId = (0, import_react62.useId)();
|
|
3641
|
+
const progressLabelId = (0, import_react62.useId)();
|
|
3610
3642
|
const {
|
|
3611
3643
|
id,
|
|
3612
3644
|
label,
|
|
@@ -3662,9 +3694,9 @@ Progress.displayName = "Progress";
|
|
|
3662
3694
|
|
|
3663
3695
|
// src/components/Radio/Radio.tsx
|
|
3664
3696
|
var import_dedupe39 = __toESM(require("classnames/dedupe"));
|
|
3665
|
-
var
|
|
3697
|
+
var import_react63 = require("react");
|
|
3666
3698
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3667
|
-
var Radio = (0,
|
|
3699
|
+
var Radio = (0, import_react63.forwardRef)(
|
|
3668
3700
|
(props, ref) => {
|
|
3669
3701
|
const {
|
|
3670
3702
|
children,
|
|
@@ -3686,10 +3718,10 @@ var Radio = (0, import_react64.forwardRef)(
|
|
|
3686
3718
|
const isMultiline = label && children;
|
|
3687
3719
|
const isControlled = selected !== void 0;
|
|
3688
3720
|
const isChecked = isControlled ? selected === value : defaultChecked;
|
|
3689
|
-
const hasIconFirst = (0,
|
|
3690
|
-
if (!children ||
|
|
3691
|
-
const firstChild =
|
|
3692
|
-
if (!(0,
|
|
3721
|
+
const hasIconFirst = (0, import_react63.useMemo)(() => {
|
|
3722
|
+
if (!children || import_react63.Children.count(children) === 0) return false;
|
|
3723
|
+
const firstChild = import_react63.Children.toArray(children)[0];
|
|
3724
|
+
if (!(0, import_react63.isValidElement)(firstChild)) return false;
|
|
3693
3725
|
const props2 = firstChild.props;
|
|
3694
3726
|
return "icon" in props2 && props2.icon !== void 0;
|
|
3695
3727
|
}, [children]);
|
|
@@ -3756,7 +3788,7 @@ Radio.displayName = "Radio";
|
|
|
3756
3788
|
|
|
3757
3789
|
// src/components/Radio/RadioGroup.tsx
|
|
3758
3790
|
var import_dedupe40 = __toESM(require("classnames/dedupe"));
|
|
3759
|
-
var
|
|
3791
|
+
var import_react64 = require("react");
|
|
3760
3792
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3761
3793
|
var getDefaultVal = (children, defaultValue) => {
|
|
3762
3794
|
if (Array.isArray(children) && defaultValue) {
|
|
@@ -3766,7 +3798,7 @@ var getDefaultVal = (children, defaultValue) => {
|
|
|
3766
3798
|
}
|
|
3767
3799
|
return "";
|
|
3768
3800
|
};
|
|
3769
|
-
var RadioGroup = (0,
|
|
3801
|
+
var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
|
|
3770
3802
|
const {
|
|
3771
3803
|
label,
|
|
3772
3804
|
isDisabled = false,
|
|
@@ -3785,8 +3817,8 @@ var RadioGroup = (0, import_react65.forwardRef)((props, ref) => {
|
|
|
3785
3817
|
...rest
|
|
3786
3818
|
} = props;
|
|
3787
3819
|
const defaultSelected = getDefaultVal(children, value || defaultValue);
|
|
3788
|
-
const [selected, setSelected] = (0,
|
|
3789
|
-
(0,
|
|
3820
|
+
const [selected, setSelected] = (0, import_react64.useState)(defaultSelected);
|
|
3821
|
+
(0, import_react64.useEffect)(() => {
|
|
3790
3822
|
if (value !== void 0) {
|
|
3791
3823
|
setSelected(value);
|
|
3792
3824
|
}
|
|
@@ -3812,15 +3844,15 @@ var RadioGroup = (0, import_react65.forwardRef)((props, ref) => {
|
|
|
3812
3844
|
[`--is-${orientation}`]: true
|
|
3813
3845
|
});
|
|
3814
3846
|
const labelClasses = (0, import_dedupe40.default)(radioClasses, validationClasses);
|
|
3815
|
-
const errorMessageId = (0,
|
|
3816
|
-
const defaultNameAttrId = (0,
|
|
3847
|
+
const errorMessageId = (0, import_react64.useId)();
|
|
3848
|
+
const defaultNameAttrId = (0, import_react64.useId)();
|
|
3817
3849
|
const nameAttribute = name || defaultNameAttrId;
|
|
3818
3850
|
const shouldErrorMessageShow = errorMessage ? errorMessageId : void 0;
|
|
3819
3851
|
const describedBy = spaceDelimitedList([
|
|
3820
3852
|
shouldErrorMessageShow,
|
|
3821
3853
|
props["aria-describedby"]
|
|
3822
3854
|
]);
|
|
3823
|
-
const labelId = (0,
|
|
3855
|
+
const labelId = (0, import_react64.useId)();
|
|
3824
3856
|
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
3825
3857
|
"div",
|
|
3826
3858
|
{
|
|
@@ -3839,9 +3871,9 @@ var RadioGroup = (0, import_react65.forwardRef)((props, ref) => {
|
|
|
3839
3871
|
role: "radiogroup",
|
|
3840
3872
|
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Stack, { gap: "xs", children: [
|
|
3841
3873
|
label && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Label, { htmlFor: name, id: labelId, className: labelClasses, children: label }),
|
|
3842
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: radioWrapperClasses, children:
|
|
3843
|
-
if ((0,
|
|
3844
|
-
return (0,
|
|
3874
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: radioWrapperClasses, children: import_react64.Children.map(children, (child) => {
|
|
3875
|
+
if ((0, import_react64.isValidElement)(child)) {
|
|
3876
|
+
return (0, import_react64.cloneElement)(
|
|
3845
3877
|
child,
|
|
3846
3878
|
{
|
|
3847
3879
|
orientation,
|
|
@@ -3904,9 +3936,9 @@ Segment.displayName = "Segment";
|
|
|
3904
3936
|
// src/components/Select/Select.tsx
|
|
3905
3937
|
var import_icons12 = require("@simplybusiness/icons");
|
|
3906
3938
|
var import_dedupe43 = __toESM(require("classnames/dedupe"));
|
|
3907
|
-
var
|
|
3939
|
+
var import_react65 = require("react");
|
|
3908
3940
|
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3909
|
-
var Select = (0,
|
|
3941
|
+
var Select = (0, import_react65.forwardRef)((props, ref) => {
|
|
3910
3942
|
const {
|
|
3911
3943
|
label,
|
|
3912
3944
|
onChange,
|
|
@@ -3947,7 +3979,7 @@ var Select = (0, import_react66.forwardRef)((props, ref) => {
|
|
|
3947
3979
|
otherProps.className
|
|
3948
3980
|
);
|
|
3949
3981
|
const iconClasses = (0, import_dedupe43.default)("mobius-select__icon", sharedClasses);
|
|
3950
|
-
const errorMessageId = (0,
|
|
3982
|
+
const errorMessageId = (0, import_react65.useId)();
|
|
3951
3983
|
const shouldErrorMessageShow = errorMessage ? errorMessageId : void 0;
|
|
3952
3984
|
const describedBy = spaceDelimitedList([
|
|
3953
3985
|
shouldErrorMessageShow,
|
|
@@ -3986,10 +4018,10 @@ Select.displayName = "Select";
|
|
|
3986
4018
|
|
|
3987
4019
|
// src/components/Slider/Slider.tsx
|
|
3988
4020
|
var import_dedupe44 = __toESM(require("classnames/dedupe"));
|
|
3989
|
-
var
|
|
4021
|
+
var import_react67 = require("react");
|
|
3990
4022
|
|
|
3991
4023
|
// src/components/Slider/helpers.ts
|
|
3992
|
-
var
|
|
4024
|
+
var import_react66 = require("react");
|
|
3993
4025
|
function numberFormatter(value, formatOptions, locale = navigator.languages?.[0] || "en-GB") {
|
|
3994
4026
|
if (!formatOptions) {
|
|
3995
4027
|
return value?.toString() || "";
|
|
@@ -4019,11 +4051,11 @@ var Slider = (props) => {
|
|
|
4019
4051
|
formatOptions,
|
|
4020
4052
|
isDisabled = false
|
|
4021
4053
|
} = props;
|
|
4022
|
-
const trackRef = (0,
|
|
4023
|
-
const [currentValue, setCurrentValue] = (0,
|
|
4054
|
+
const trackRef = (0, import_react67.useRef)(null);
|
|
4055
|
+
const [currentValue, setCurrentValue] = (0, import_react67.useState)(
|
|
4024
4056
|
value || defaultValue || 0
|
|
4025
4057
|
);
|
|
4026
|
-
const [isDragging, setIsDraggging] = (0,
|
|
4058
|
+
const [isDragging, setIsDraggging] = (0, import_react67.useState)(false);
|
|
4027
4059
|
const { labelProps, fieldProps } = useLabel({
|
|
4028
4060
|
id,
|
|
4029
4061
|
label,
|
|
@@ -4085,14 +4117,14 @@ var Slider = (props) => {
|
|
|
4085
4117
|
};
|
|
4086
4118
|
|
|
4087
4119
|
// src/components/SVG/SVG.tsx
|
|
4088
|
-
var
|
|
4120
|
+
var import_react68 = require("react");
|
|
4089
4121
|
var import_dedupe45 = __toESM(require("classnames/dedupe"));
|
|
4090
4122
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
4091
|
-
var SVG = (0,
|
|
4123
|
+
var SVG = (0, import_react68.forwardRef)(
|
|
4092
4124
|
(props, ref) => {
|
|
4093
4125
|
const { children, className, ...otherProps } = props;
|
|
4094
4126
|
const classes = (0, import_dedupe45.default)("mobius", "mobius-svg", className);
|
|
4095
|
-
const svgNode =
|
|
4127
|
+
const svgNode = import_react68.Children.only(children);
|
|
4096
4128
|
const { children: svgChildren, viewBox, xmlns } = svgNode.props;
|
|
4097
4129
|
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
4098
4130
|
"svg",
|
|
@@ -4110,10 +4142,10 @@ var SVG = (0, import_react69.forwardRef)(
|
|
|
4110
4142
|
SVG.displayName = "SVG";
|
|
4111
4143
|
|
|
4112
4144
|
// src/components/Switch/Switch.tsx
|
|
4113
|
-
var
|
|
4145
|
+
var import_react69 = require("react");
|
|
4114
4146
|
var import_dedupe46 = __toESM(require("classnames/dedupe"));
|
|
4115
4147
|
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
4116
|
-
var Switch = (0,
|
|
4148
|
+
var Switch = (0, import_react69.forwardRef)((props, ref) => {
|
|
4117
4149
|
const {
|
|
4118
4150
|
checked = false,
|
|
4119
4151
|
className,
|
|
@@ -4121,8 +4153,8 @@ var Switch = (0, import_react70.forwardRef)((props, ref) => {
|
|
|
4121
4153
|
isDisabled = false,
|
|
4122
4154
|
...otherProps
|
|
4123
4155
|
} = props;
|
|
4124
|
-
const [enabled, setEnabled] = (0,
|
|
4125
|
-
(0,
|
|
4156
|
+
const [enabled, setEnabled] = (0, import_react69.useState)(checked);
|
|
4157
|
+
(0, import_react69.useEffect)(() => {
|
|
4126
4158
|
setEnabled(checked);
|
|
4127
4159
|
}, [checked]);
|
|
4128
4160
|
const classes = (0, import_dedupe46.default)(
|
|
@@ -4159,10 +4191,10 @@ var Switch = (0, import_react70.forwardRef)((props, ref) => {
|
|
|
4159
4191
|
Switch.displayName = "Switch";
|
|
4160
4192
|
|
|
4161
4193
|
// src/components/Table/Table.tsx
|
|
4162
|
-
var
|
|
4194
|
+
var import_react70 = require("react");
|
|
4163
4195
|
var import_dedupe47 = __toESM(require("classnames/dedupe"));
|
|
4164
4196
|
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
4165
|
-
var Table = (0,
|
|
4197
|
+
var Table = (0, import_react70.forwardRef)(
|
|
4166
4198
|
(props, ref) => {
|
|
4167
4199
|
const classes = (0, import_dedupe47.default)("mobius", "mobius-table", props.className);
|
|
4168
4200
|
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("table", { ref, ...props, className: classes });
|
|
@@ -4171,40 +4203,40 @@ var Table = (0, import_react71.forwardRef)(
|
|
|
4171
4203
|
Table.displayName = "Table";
|
|
4172
4204
|
|
|
4173
4205
|
// src/components/Table/Head.tsx
|
|
4174
|
-
var
|
|
4206
|
+
var import_react71 = require("react");
|
|
4175
4207
|
var import_dedupe48 = __toESM(require("classnames/dedupe"));
|
|
4176
4208
|
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
4177
|
-
var Head = (0,
|
|
4209
|
+
var Head = (0, import_react71.forwardRef)((props, ref) => {
|
|
4178
4210
|
const classes = (0, import_dedupe48.default)("mobius", "mobius-table__head", props.className);
|
|
4179
4211
|
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("thead", { ref, ...props, className: classes });
|
|
4180
4212
|
});
|
|
4181
4213
|
Head.displayName = "Table.Head";
|
|
4182
4214
|
|
|
4183
4215
|
// src/components/Table/Body.tsx
|
|
4184
|
-
var
|
|
4216
|
+
var import_react72 = require("react");
|
|
4185
4217
|
var import_dedupe49 = __toESM(require("classnames/dedupe"));
|
|
4186
4218
|
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
4187
|
-
var Body = (0,
|
|
4219
|
+
var Body = (0, import_react72.forwardRef)((props, ref) => {
|
|
4188
4220
|
const classes = (0, import_dedupe49.default)("mobius", "mobius-table__body", props.className);
|
|
4189
4221
|
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("tbody", { ref, ...props, className: classes });
|
|
4190
4222
|
});
|
|
4191
4223
|
Body.displayName = "Table.Body";
|
|
4192
4224
|
|
|
4193
4225
|
// src/components/Table/Foot.tsx
|
|
4194
|
-
var
|
|
4226
|
+
var import_react73 = require("react");
|
|
4195
4227
|
var import_dedupe50 = __toESM(require("classnames/dedupe"));
|
|
4196
4228
|
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
4197
|
-
var Foot = (0,
|
|
4229
|
+
var Foot = (0, import_react73.forwardRef)((props, ref) => {
|
|
4198
4230
|
const classes = (0, import_dedupe50.default)("mobius", "mobius-table__foot", props.className);
|
|
4199
4231
|
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tfoot", { ref, ...props, className: classes });
|
|
4200
4232
|
});
|
|
4201
4233
|
Foot.displayName = "Table.Foot";
|
|
4202
4234
|
|
|
4203
4235
|
// src/components/Table/Row.tsx
|
|
4204
|
-
var
|
|
4236
|
+
var import_react74 = require("react");
|
|
4205
4237
|
var import_dedupe51 = __toESM(require("classnames/dedupe"));
|
|
4206
4238
|
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
4207
|
-
var Row = (0,
|
|
4239
|
+
var Row = (0, import_react74.forwardRef)(
|
|
4208
4240
|
(props, ref) => {
|
|
4209
4241
|
const classes = (0, import_dedupe51.default)("mobius", "mobius-table__row", props.className);
|
|
4210
4242
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("tr", { ref, ...props, className: classes });
|
|
@@ -4213,10 +4245,10 @@ var Row = (0, import_react75.forwardRef)(
|
|
|
4213
4245
|
Row.displayName = "Table.Row";
|
|
4214
4246
|
|
|
4215
4247
|
// src/components/Table/HeaderCell.tsx
|
|
4216
|
-
var
|
|
4248
|
+
var import_react75 = require("react");
|
|
4217
4249
|
var import_dedupe52 = __toESM(require("classnames/dedupe"));
|
|
4218
4250
|
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
4219
|
-
var HeaderCell = (0,
|
|
4251
|
+
var HeaderCell = (0, import_react75.forwardRef)((props, ref) => {
|
|
4220
4252
|
const classes = (0, import_dedupe52.default)(
|
|
4221
4253
|
"mobius",
|
|
4222
4254
|
"mobius-table__head-cell",
|
|
@@ -4227,10 +4259,10 @@ var HeaderCell = (0, import_react76.forwardRef)((props, ref) => {
|
|
|
4227
4259
|
HeaderCell.displayName = "Table.HeaderCell";
|
|
4228
4260
|
|
|
4229
4261
|
// src/components/Table/Cell.tsx
|
|
4230
|
-
var
|
|
4262
|
+
var import_react76 = require("react");
|
|
4231
4263
|
var import_dedupe53 = __toESM(require("classnames/dedupe"));
|
|
4232
4264
|
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
4233
|
-
var Cell = (0,
|
|
4265
|
+
var Cell = (0, import_react76.forwardRef)(
|
|
4234
4266
|
(props, ref) => {
|
|
4235
4267
|
const classes = (0, import_dedupe53.default)(
|
|
4236
4268
|
"mobius",
|
|
@@ -4255,13 +4287,13 @@ Table2.displayName = "Table";
|
|
|
4255
4287
|
|
|
4256
4288
|
// src/components/TextArea/TextArea.tsx
|
|
4257
4289
|
var import_dedupe55 = __toESM(require("classnames/dedupe"));
|
|
4258
|
-
var
|
|
4290
|
+
var import_react78 = require("react");
|
|
4259
4291
|
|
|
4260
4292
|
// src/components/TextAreaInput/TextAreaInput.tsx
|
|
4261
4293
|
var import_dedupe54 = __toESM(require("classnames/dedupe"));
|
|
4262
|
-
var
|
|
4294
|
+
var import_react77 = require("react");
|
|
4263
4295
|
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
4264
|
-
var TextAreaInput = (0,
|
|
4296
|
+
var TextAreaInput = (0, import_react77.forwardRef)((props, ref) => {
|
|
4265
4297
|
const { isSelected, isDisabled, isReadOnly, isRequired, ...otherProps } = props;
|
|
4266
4298
|
const classes = (0, import_dedupe54.default)(
|
|
4267
4299
|
"mobius",
|
|
@@ -4288,7 +4320,7 @@ TextAreaInput.displayName = "TextAreaInput";
|
|
|
4288
4320
|
|
|
4289
4321
|
// src/components/TextArea/TextArea.tsx
|
|
4290
4322
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
4291
|
-
var TextArea = (0,
|
|
4323
|
+
var TextArea = (0, import_react78.forwardRef)((props, ref) => {
|
|
4292
4324
|
const {
|
|
4293
4325
|
isDisabled,
|
|
4294
4326
|
className,
|
|
@@ -4333,10 +4365,10 @@ var TextArea = (0, import_react79.forwardRef)((props, ref) => {
|
|
|
4333
4365
|
TextArea.displayName = "TextArea";
|
|
4334
4366
|
|
|
4335
4367
|
// src/components/Title/Title.tsx
|
|
4336
|
-
var
|
|
4368
|
+
var import_react79 = require("react");
|
|
4337
4369
|
var import_dedupe56 = __toESM(require("classnames/dedupe"));
|
|
4338
4370
|
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
4339
|
-
var Title = (0,
|
|
4371
|
+
var Title = (0, import_react79.forwardRef)(
|
|
4340
4372
|
(props, ref) => {
|
|
4341
4373
|
const {
|
|
4342
4374
|
elementType: Element = "div",
|
|
@@ -4358,7 +4390,7 @@ Title.displayName = "Title";
|
|
|
4358
4390
|
|
|
4359
4391
|
// src/components/Trust/Trust.tsx
|
|
4360
4392
|
var import_dedupe57 = __toESM(require("classnames/dedupe"));
|
|
4361
|
-
var
|
|
4393
|
+
var import_react80 = require("react");
|
|
4362
4394
|
|
|
4363
4395
|
// src/components/Trust/constants.ts
|
|
4364
4396
|
var REQUIRED_TRUSTPILOT_CLASS_NAME = "trustpilot-widget";
|
|
@@ -4417,7 +4449,7 @@ var TRUSTPILOT_WIDGET = {
|
|
|
4417
4449
|
|
|
4418
4450
|
// src/components/Trust/Trust.tsx
|
|
4419
4451
|
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
4420
|
-
var Trust = (0,
|
|
4452
|
+
var Trust = (0, import_react80.forwardRef)((props, ref) => {
|
|
4421
4453
|
const {
|
|
4422
4454
|
elementType: Element = "div",
|
|
4423
4455
|
variant,
|
|
@@ -4428,8 +4460,8 @@ var Trust = (0, import_react81.forwardRef)((props, ref) => {
|
|
|
4428
4460
|
stars,
|
|
4429
4461
|
className
|
|
4430
4462
|
} = props;
|
|
4431
|
-
const [isMounted, setIsMounted] = (0,
|
|
4432
|
-
const trustRef = (0,
|
|
4463
|
+
const [isMounted, setIsMounted] = (0, import_react80.useState)(false);
|
|
4464
|
+
const trustRef = (0, import_react80.useRef)(null);
|
|
4433
4465
|
const {
|
|
4434
4466
|
templateId,
|
|
4435
4467
|
className: variantClassName,
|
|
@@ -4455,13 +4487,13 @@ var Trust = (0, import_react81.forwardRef)((props, ref) => {
|
|
|
4455
4487
|
},
|
|
4456
4488
|
className
|
|
4457
4489
|
);
|
|
4458
|
-
(0,
|
|
4490
|
+
(0, import_react80.useEffect)(() => {
|
|
4459
4491
|
const hasTrustpilotLoaded = trustRef.current && window?.Trustpilot && window?.Trustpilot.loadFromElement;
|
|
4460
4492
|
if (isMounted && hasTrustpilotLoaded) {
|
|
4461
4493
|
window.Trustpilot.loadFromElement(trustRef.current, true);
|
|
4462
4494
|
}
|
|
4463
4495
|
}, [isMounted]);
|
|
4464
|
-
(0,
|
|
4496
|
+
(0, import_react80.useEffect)(() => {
|
|
4465
4497
|
setIsMounted(true);
|
|
4466
4498
|
}, []);
|
|
4467
4499
|
if (!isMounted) return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { style: styles });
|
|
@@ -4487,10 +4519,10 @@ var Trust = (0, import_react81.forwardRef)((props, ref) => {
|
|
|
4487
4519
|
});
|
|
4488
4520
|
|
|
4489
4521
|
// src/components/ExpandableText/ExpandableText.tsx
|
|
4490
|
-
var
|
|
4522
|
+
var import_react81 = require("react");
|
|
4491
4523
|
var import_dedupe58 = __toESM(require("classnames/dedupe"));
|
|
4492
4524
|
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
4493
|
-
var ExpandableText = (0,
|
|
4525
|
+
var ExpandableText = (0, import_react81.forwardRef)((props, ref) => {
|
|
4494
4526
|
const {
|
|
4495
4527
|
text,
|
|
4496
4528
|
maxLines = 3,
|
|
@@ -4503,14 +4535,14 @@ var ExpandableText = (0, import_react82.forwardRef)((props, ref) => {
|
|
|
4503
4535
|
onToggle,
|
|
4504
4536
|
...otherProps
|
|
4505
4537
|
} = props;
|
|
4506
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
4507
|
-
const [isCollapsed, setIsCollapsed] = (0,
|
|
4508
|
-
const textRef = (0,
|
|
4538
|
+
const [isExpanded, setIsExpanded] = (0, import_react81.useState)(false);
|
|
4539
|
+
const [isCollapsed, setIsCollapsed] = (0, import_react81.useState)(false);
|
|
4540
|
+
const textRef = (0, import_react81.useRef)(null);
|
|
4509
4541
|
const { down } = useBreakpoint();
|
|
4510
|
-
const baseId = (0,
|
|
4542
|
+
const baseId = (0, import_react81.useId)();
|
|
4511
4543
|
const expandButtonId = `expandable-text-expand-${baseId}`;
|
|
4512
4544
|
const shouldCollapse = breakpoint ? down(breakpoint) : true;
|
|
4513
|
-
(0,
|
|
4545
|
+
(0, import_react81.useEffect)(() => {
|
|
4514
4546
|
if (!shouldCollapse || !textRef.current) {
|
|
4515
4547
|
setIsCollapsed(false);
|
|
4516
4548
|
return;
|
|
@@ -4573,11 +4605,11 @@ var ExpandableText = (0, import_react82.forwardRef)((props, ref) => {
|
|
|
4573
4605
|
ExpandableText.displayName = "ExpandableText";
|
|
4574
4606
|
|
|
4575
4607
|
// src/components/MaskedField/MaskedField.tsx
|
|
4576
|
-
var
|
|
4608
|
+
var import_react82 = require("react");
|
|
4577
4609
|
var import_react_imask = require("react-imask");
|
|
4578
4610
|
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
4579
4611
|
var useAcceptHandler = (onChange, useMaskedValue, name) => {
|
|
4580
|
-
return (0,
|
|
4612
|
+
return (0, import_react82.useCallback)(
|
|
4581
4613
|
(maskedValue, maskInstance) => {
|
|
4582
4614
|
if (!onChange) {
|
|
4583
4615
|
return;
|
|
@@ -4593,7 +4625,7 @@ var useAcceptHandler = (onChange, useMaskedValue, name) => {
|
|
|
4593
4625
|
);
|
|
4594
4626
|
};
|
|
4595
4627
|
var useCombinedRef = (imaskRef, forwardedRef) => {
|
|
4596
|
-
return (0,
|
|
4628
|
+
return (0, import_react82.useCallback)(
|
|
4597
4629
|
(element) => {
|
|
4598
4630
|
imaskRef.current = element;
|
|
4599
4631
|
if (typeof forwardedRef === "function") {
|
|
@@ -4606,7 +4638,7 @@ var useCombinedRef = (imaskRef, forwardedRef) => {
|
|
|
4606
4638
|
);
|
|
4607
4639
|
};
|
|
4608
4640
|
var useBlurHandler = (onBlur, maskRef, useMaskedValue, name) => {
|
|
4609
|
-
return (0,
|
|
4641
|
+
return (0, import_react82.useCallback)(
|
|
4610
4642
|
(event) => {
|
|
4611
4643
|
if (!onBlur || !maskRef.current) {
|
|
4612
4644
|
return;
|
|
@@ -4636,7 +4668,7 @@ var ControlledMaskedField = ({
|
|
|
4636
4668
|
const { ref: imaskRef, maskRef, setValue } = (0, import_react_imask.useIMask)(mask, { onAccept });
|
|
4637
4669
|
const combinedRef = useCombinedRef(imaskRef, forwardedRef);
|
|
4638
4670
|
const handleBlur = useBlurHandler(onBlur, maskRef, useMaskedValue, name);
|
|
4639
|
-
(0,
|
|
4671
|
+
(0, import_react82.useEffect)(() => {
|
|
4640
4672
|
if (!maskRef.current) {
|
|
4641
4673
|
return;
|
|
4642
4674
|
}
|
|
@@ -4682,7 +4714,7 @@ var UncontrolledMaskedField = ({
|
|
|
4682
4714
|
}
|
|
4683
4715
|
);
|
|
4684
4716
|
};
|
|
4685
|
-
var MaskedField = (0,
|
|
4717
|
+
var MaskedField = (0, import_react82.forwardRef)((props, forwardedRef) => {
|
|
4686
4718
|
const { value, defaultValue, ...rest } = props;
|
|
4687
4719
|
if ("value" in props) {
|
|
4688
4720
|
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|