@simplybusiness/mobius 6.1.1 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/cjs/index.js +197 -105
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/index.js +122 -31
- package/dist/types/src/components/Drawer/types.d.ts +1 -0
- package/dist/types/src/components/Drawer/useDrawer.d.ts +1 -0
- package/dist/types/src/components/MaskedField/MaskedField.d.ts +14 -0
- package/dist/types/src/components/MaskedField/MaskedField.stories.d.ts +7 -0
- package/dist/types/src/components/MaskedField/MaskedField.test.d.ts +1 -0
- package/dist/types/src/components/MaskedField/index.d.ts +1 -0
- package/dist/types/src/components/NumberField/NumberField.d.ts +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/package.json +4 -3
- package/src/components/Drawer/Drawer.tsx +5 -2
- package/src/components/Drawer/DrawerContext.tsx +1 -0
- package/src/components/Drawer/Header.tsx +2 -2
- package/src/components/Drawer/types.ts +1 -0
- package/src/components/Drawer/useDrawer.ts +2 -2
- package/src/components/MaskedField/MaskedField.mdx +209 -0
- package/src/components/MaskedField/MaskedField.stories.tsx +53 -0
- package/src/components/MaskedField/MaskedField.test.tsx +350 -0
- package/src/components/MaskedField/MaskedField.tsx +92 -0
- package/src/components/MaskedField/index.tsx +1 -0
- package/src/components/NumberField/NumberField.tsx +42 -2
- package/src/components/Radio/Radio.test.tsx +1 -1
- package/src/components/Radio/RadioGroup.tsx +0 -9
- package/src/components/index.tsx +1 -0
package/dist/cjs/index.js
CHANGED
|
@@ -62,6 +62,7 @@ __export(index_exports, {
|
|
|
62
62
|
Logo: () => Logo,
|
|
63
63
|
LoqateAddressLookupService: () => LoqateAddressLookupService,
|
|
64
64
|
MIN_MAX_ERROR: () => MIN_MAX_ERROR,
|
|
65
|
+
MaskedField: () => MaskedField,
|
|
65
66
|
Modal: () => Modal2,
|
|
66
67
|
NumberField: () => NumberField,
|
|
67
68
|
Option: () => Option2,
|
|
@@ -2582,7 +2583,8 @@ var import_react37 = require("react");
|
|
|
2582
2583
|
var DrawerContext = (0, import_react37.createContext)({
|
|
2583
2584
|
onClose: () => {
|
|
2584
2585
|
},
|
|
2585
|
-
closeLabel: void 0
|
|
2586
|
+
closeLabel: void 0,
|
|
2587
|
+
headerId: void 0
|
|
2586
2588
|
});
|
|
2587
2589
|
|
|
2588
2590
|
// src/components/Drawer/Drawer.tsx
|
|
@@ -2611,7 +2613,8 @@ var Drawer = (0, import_react38.forwardRef)((props, ref) => {
|
|
|
2611
2613
|
CSSVariable: TRANSITION_CSS_VARIABLE
|
|
2612
2614
|
}
|
|
2613
2615
|
});
|
|
2614
|
-
const hiddenId = `screen-reader-announce-${(0, import_react38.useId)()}`;
|
|
2616
|
+
const hiddenId = `dialog-screen-reader-announce-${(0, import_react38.useId)()}`;
|
|
2617
|
+
const headerId = `dialog-header-${(0, import_react38.useId)()}`;
|
|
2615
2618
|
const dialogClasses = (0, import_dedupe22.default)(
|
|
2616
2619
|
"mobius",
|
|
2617
2620
|
"mobius-drawer",
|
|
@@ -2627,9 +2630,10 @@ var Drawer = (0, import_react38.forwardRef)((props, ref) => {
|
|
|
2627
2630
|
const contextValue = (0, import_react38.useMemo)(
|
|
2628
2631
|
() => ({
|
|
2629
2632
|
onClose: close,
|
|
2630
|
-
closeLabel
|
|
2633
|
+
closeLabel,
|
|
2634
|
+
headerId
|
|
2631
2635
|
}),
|
|
2632
|
-
[close, closeLabel]
|
|
2636
|
+
[close, closeLabel, headerId]
|
|
2633
2637
|
);
|
|
2634
2638
|
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2635
2639
|
"dialog",
|
|
@@ -2639,6 +2643,7 @@ var Drawer = (0, import_react38.forwardRef)((props, ref) => {
|
|
|
2639
2643
|
onCancel: close,
|
|
2640
2644
|
className: dialogClasses,
|
|
2641
2645
|
"aria-describedby": hiddenId,
|
|
2646
|
+
"aria-labelledby": headerId,
|
|
2642
2647
|
children: [
|
|
2643
2648
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { id: hiddenId, children: announce }) }),
|
|
2644
2649
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DrawerContext.Provider, { value: contextValue, children })
|
|
@@ -2651,8 +2656,8 @@ Drawer.displayName = "Drawer";
|
|
|
2651
2656
|
// src/components/Drawer/useDrawer.ts
|
|
2652
2657
|
var import_react39 = require("react");
|
|
2653
2658
|
var useDrawer = () => {
|
|
2654
|
-
const { onClose, closeLabel } = (0, import_react39.useContext)(DrawerContext);
|
|
2655
|
-
return { onClose, closeLabel };
|
|
2659
|
+
const { onClose, closeLabel, headerId } = (0, import_react39.useContext)(DrawerContext);
|
|
2660
|
+
return { onClose, closeLabel, headerId };
|
|
2656
2661
|
};
|
|
2657
2662
|
|
|
2658
2663
|
// src/components/Drawer/Header.tsx
|
|
@@ -2661,9 +2666,9 @@ var import_icons8 = require("@simplybusiness/icons");
|
|
|
2661
2666
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2662
2667
|
var Header = (0, import_react40.forwardRef)(
|
|
2663
2668
|
({ children, ...otherProps }, ref) => {
|
|
2664
|
-
const { onClose, closeLabel } = useDrawer();
|
|
2669
|
+
const { onClose, closeLabel, headerId } = useDrawer();
|
|
2665
2670
|
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("header", { ref, ...otherProps, className: "mobius-drawer__header", children: [
|
|
2666
|
-
children,
|
|
2671
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("h2", { id: headerId, children }),
|
|
2667
2672
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2668
2673
|
Button,
|
|
2669
2674
|
{
|
|
@@ -3286,8 +3291,9 @@ Modal2.displayName = "Modal";
|
|
|
3286
3291
|
// src/components/NumberField/NumberField.tsx
|
|
3287
3292
|
var import_dedupe36 = __toESM(require("classnames/dedupe"));
|
|
3288
3293
|
var import_react57 = require("react");
|
|
3294
|
+
var import_react58 = require("react");
|
|
3289
3295
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3290
|
-
var NumberField = (0,
|
|
3296
|
+
var NumberField = (0, import_react58.forwardRef)((props, ref) => {
|
|
3291
3297
|
const {
|
|
3292
3298
|
minValue,
|
|
3293
3299
|
maxValue,
|
|
@@ -3297,6 +3303,14 @@ var NumberField = (0, import_react57.forwardRef)((props, ref) => {
|
|
|
3297
3303
|
className,
|
|
3298
3304
|
...otherProps
|
|
3299
3305
|
} = props;
|
|
3306
|
+
const focusedInputRef = (0, import_react57.useRef)(null);
|
|
3307
|
+
const wheelHandler = (0, import_react57.useCallback)((ev) => ev.preventDefault(), []);
|
|
3308
|
+
(0, import_react57.useEffect)(() => {
|
|
3309
|
+
return () => {
|
|
3310
|
+
focusedInputRef.current?.removeEventListener("wheel", wheelHandler);
|
|
3311
|
+
focusedInputRef.current = null;
|
|
3312
|
+
};
|
|
3313
|
+
}, [wheelHandler]);
|
|
3300
3314
|
const containerClasses = (0, import_dedupe36.default)("mobius-number-field", className, {
|
|
3301
3315
|
"--hide-spin-buttons": hideSpinButtons
|
|
3302
3316
|
});
|
|
@@ -3309,10 +3323,33 @@ var NumberField = (0, import_react57.forwardRef)((props, ref) => {
|
|
|
3309
3323
|
event.preventDefault();
|
|
3310
3324
|
}
|
|
3311
3325
|
};
|
|
3326
|
+
const {
|
|
3327
|
+
onFocus: customOnFocus,
|
|
3328
|
+
onBlur: customOnBlur,
|
|
3329
|
+
...rest
|
|
3330
|
+
} = otherProps;
|
|
3331
|
+
const forwardedProps = {
|
|
3332
|
+
...rest,
|
|
3333
|
+
onFocus: (e) => {
|
|
3334
|
+
const el = e.currentTarget;
|
|
3335
|
+
focusedInputRef.current?.removeEventListener("wheel", wheelHandler);
|
|
3336
|
+
focusedInputRef.current = el;
|
|
3337
|
+
el.addEventListener("wheel", wheelHandler, { passive: false });
|
|
3338
|
+
customOnFocus?.(e);
|
|
3339
|
+
},
|
|
3340
|
+
onBlur: (e) => {
|
|
3341
|
+
const el = e.currentTarget;
|
|
3342
|
+
el.removeEventListener("wheel", wheelHandler);
|
|
3343
|
+
if (focusedInputRef.current === el) {
|
|
3344
|
+
focusedInputRef.current = null;
|
|
3345
|
+
}
|
|
3346
|
+
customOnBlur?.(e);
|
|
3347
|
+
}
|
|
3348
|
+
};
|
|
3312
3349
|
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3313
3350
|
TextField,
|
|
3314
3351
|
{
|
|
3315
|
-
...
|
|
3352
|
+
...forwardedProps,
|
|
3316
3353
|
className: containerClasses,
|
|
3317
3354
|
onBeforeInput: handleBeforeInput,
|
|
3318
3355
|
type: "number",
|
|
@@ -3327,9 +3364,9 @@ var NumberField = (0, import_react57.forwardRef)((props, ref) => {
|
|
|
3327
3364
|
NumberField.displayName = "NumberField";
|
|
3328
3365
|
|
|
3329
3366
|
// src/components/Option/Option.tsx
|
|
3330
|
-
var
|
|
3367
|
+
var import_react59 = require("react");
|
|
3331
3368
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3332
|
-
var Option2 = (0,
|
|
3369
|
+
var Option2 = (0, import_react59.forwardRef)((props, ref) => {
|
|
3333
3370
|
const { isDisabled, ...rest } = props;
|
|
3334
3371
|
const mappedProps = {
|
|
3335
3372
|
...rest,
|
|
@@ -3341,7 +3378,7 @@ Option2.displayName = "Option";
|
|
|
3341
3378
|
|
|
3342
3379
|
// src/components/PasswordField/PasswordField.tsx
|
|
3343
3380
|
var import_dedupe37 = __toESM(require("classnames/dedupe"));
|
|
3344
|
-
var
|
|
3381
|
+
var import_react60 = require("react");
|
|
3345
3382
|
|
|
3346
3383
|
// src/components/PasswordField/ShowHideButton.tsx
|
|
3347
3384
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
@@ -3365,12 +3402,12 @@ var ShowHideButton = ({
|
|
|
3365
3402
|
|
|
3366
3403
|
// src/components/PasswordField/PasswordField.tsx
|
|
3367
3404
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3368
|
-
var PasswordField = (0,
|
|
3405
|
+
var PasswordField = (0, import_react60.forwardRef)(
|
|
3369
3406
|
({ className, ...props }, ref) => {
|
|
3370
|
-
const [show, setShow] = (0,
|
|
3407
|
+
const [show, setShow] = (0, import_react60.useState)(false);
|
|
3371
3408
|
const type = show ? "text" : "password";
|
|
3372
3409
|
const classes = (0, import_dedupe37.default)("mobius-password-field", className);
|
|
3373
|
-
const localRef = (0,
|
|
3410
|
+
const localRef = (0, import_react60.useRef)(null);
|
|
3374
3411
|
const handleShowHideButtonClick = () => {
|
|
3375
3412
|
setShow((oldShow) => !oldShow);
|
|
3376
3413
|
localRef.current?.focus();
|
|
@@ -3390,30 +3427,30 @@ var PasswordField = (0, import_react59.forwardRef)(
|
|
|
3390
3427
|
PasswordField.displayName = "PasswordField";
|
|
3391
3428
|
|
|
3392
3429
|
// src/components/Popover/Popover.tsx
|
|
3393
|
-
var
|
|
3430
|
+
var import_react61 = require("@floating-ui/react");
|
|
3394
3431
|
var import_icons11 = require("@simplybusiness/icons");
|
|
3395
3432
|
var import_classnames3 = __toESM(require("classnames"));
|
|
3396
|
-
var
|
|
3433
|
+
var import_react62 = require("react");
|
|
3397
3434
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
3398
3435
|
var OFFSET_FROM_CONTENT_DEFAULT = 10;
|
|
3399
3436
|
var Popover = (props) => {
|
|
3400
3437
|
const { trigger, children, onOpen, onClose, className } = props;
|
|
3401
|
-
const arrowRef = (0,
|
|
3402
|
-
const [isOpen, setIsOpen] = (0,
|
|
3403
|
-
const { refs, floatingStyles, context } = (0,
|
|
3438
|
+
const arrowRef = (0, import_react62.useRef)(null);
|
|
3439
|
+
const [isOpen, setIsOpen] = (0, import_react62.useState)(false);
|
|
3440
|
+
const { refs, floatingStyles, context } = (0, import_react61.useFloating)({
|
|
3404
3441
|
open: isOpen,
|
|
3405
3442
|
onOpenChange: setIsOpen,
|
|
3406
|
-
whileElementsMounted:
|
|
3443
|
+
whileElementsMounted: import_react61.autoUpdate,
|
|
3407
3444
|
middleware: [
|
|
3408
|
-
(0,
|
|
3445
|
+
(0, import_react61.arrow)({
|
|
3409
3446
|
element: arrowRef
|
|
3410
3447
|
}),
|
|
3411
|
-
(0,
|
|
3412
|
-
(0,
|
|
3413
|
-
(0,
|
|
3448
|
+
(0, import_react61.offset)(OFFSET_FROM_CONTENT_DEFAULT),
|
|
3449
|
+
(0, import_react61.shift)(),
|
|
3450
|
+
(0, import_react61.flip)()
|
|
3414
3451
|
]
|
|
3415
3452
|
});
|
|
3416
|
-
const dismiss = (0,
|
|
3453
|
+
const dismiss = (0, import_react61.useDismiss)(context, {
|
|
3417
3454
|
bubbles: true,
|
|
3418
3455
|
outsidePress: (event) => {
|
|
3419
3456
|
const toggle = refs.reference.current;
|
|
@@ -3424,7 +3461,7 @@ var Popover = (props) => {
|
|
|
3424
3461
|
return true;
|
|
3425
3462
|
}
|
|
3426
3463
|
});
|
|
3427
|
-
const { getReferenceProps, getFloatingProps } = (0,
|
|
3464
|
+
const { getReferenceProps, getFloatingProps } = (0, import_react61.useInteractions)([dismiss]);
|
|
3428
3465
|
const containerClasses = (0, import_classnames3.default)(
|
|
3429
3466
|
"mobius",
|
|
3430
3467
|
"mobius-popover__container",
|
|
@@ -3439,7 +3476,7 @@ var Popover = (props) => {
|
|
|
3439
3476
|
setIsOpen(true);
|
|
3440
3477
|
onOpen?.();
|
|
3441
3478
|
};
|
|
3442
|
-
const triggerComponent = (0,
|
|
3479
|
+
const triggerComponent = (0, import_react62.cloneElement)(trigger, {
|
|
3443
3480
|
ref: refs.setReference,
|
|
3444
3481
|
className: (0, import_classnames3.default)(
|
|
3445
3482
|
trigger.props.className,
|
|
@@ -3487,7 +3524,7 @@ var Popover = (props) => {
|
|
|
3487
3524
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "mobius-popover__body", children })
|
|
3488
3525
|
] }),
|
|
3489
3526
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3490
|
-
|
|
3527
|
+
import_react61.FloatingArrow,
|
|
3491
3528
|
{
|
|
3492
3529
|
ref: arrowRef,
|
|
3493
3530
|
context,
|
|
@@ -3503,7 +3540,7 @@ var Popover = (props) => {
|
|
|
3503
3540
|
|
|
3504
3541
|
// src/components/Progress/Progress.tsx
|
|
3505
3542
|
var import_dedupe38 = __toESM(require("classnames/dedupe"));
|
|
3506
|
-
var
|
|
3543
|
+
var import_react63 = require("react");
|
|
3507
3544
|
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
3508
3545
|
function warnAboutInvalidValues(value, minValue, maxValue) {
|
|
3509
3546
|
if (minValue > maxValue) {
|
|
@@ -3545,9 +3582,9 @@ var getLabelComponent = (label, progressLabelId, showLabel) => {
|
|
|
3545
3582
|
var DEFAULT_VALUE = 0;
|
|
3546
3583
|
var DEFAULT_MIN_VALUE = 0;
|
|
3547
3584
|
var DEFAULT_MAX_VALUE = 100;
|
|
3548
|
-
var Progress = (0,
|
|
3549
|
-
const progressId = (0,
|
|
3550
|
-
const progressLabelId = (0,
|
|
3585
|
+
var Progress = (0, import_react63.forwardRef)((props, ref) => {
|
|
3586
|
+
const progressId = (0, import_react63.useId)();
|
|
3587
|
+
const progressLabelId = (0, import_react63.useId)();
|
|
3551
3588
|
const {
|
|
3552
3589
|
id,
|
|
3553
3590
|
label,
|
|
@@ -3603,9 +3640,9 @@ Progress.displayName = "Progress";
|
|
|
3603
3640
|
|
|
3604
3641
|
// src/components/Radio/Radio.tsx
|
|
3605
3642
|
var import_dedupe39 = __toESM(require("classnames/dedupe"));
|
|
3606
|
-
var
|
|
3643
|
+
var import_react64 = require("react");
|
|
3607
3644
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3608
|
-
var Radio = (0,
|
|
3645
|
+
var Radio = (0, import_react64.forwardRef)(
|
|
3609
3646
|
(props, ref) => {
|
|
3610
3647
|
const {
|
|
3611
3648
|
children,
|
|
@@ -3627,10 +3664,10 @@ var Radio = (0, import_react63.forwardRef)(
|
|
|
3627
3664
|
const isMultiline = label && children;
|
|
3628
3665
|
const isControlled = selected !== void 0;
|
|
3629
3666
|
const isChecked = isControlled ? selected === value : defaultChecked;
|
|
3630
|
-
const hasIconFirst = (0,
|
|
3631
|
-
if (!children ||
|
|
3632
|
-
const firstChild =
|
|
3633
|
-
if (!(0,
|
|
3667
|
+
const hasIconFirst = (0, import_react64.useMemo)(() => {
|
|
3668
|
+
if (!children || import_react64.Children.count(children) === 0) return false;
|
|
3669
|
+
const firstChild = import_react64.Children.toArray(children)[0];
|
|
3670
|
+
if (!(0, import_react64.isValidElement)(firstChild)) return false;
|
|
3634
3671
|
const props2 = firstChild.props;
|
|
3635
3672
|
return "icon" in props2 && props2.icon !== void 0;
|
|
3636
3673
|
}, [children]);
|
|
@@ -3697,7 +3734,7 @@ Radio.displayName = "Radio";
|
|
|
3697
3734
|
|
|
3698
3735
|
// src/components/Radio/RadioGroup.tsx
|
|
3699
3736
|
var import_dedupe40 = __toESM(require("classnames/dedupe"));
|
|
3700
|
-
var
|
|
3737
|
+
var import_react65 = require("react");
|
|
3701
3738
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3702
3739
|
var getDefaultVal = (children, defaultValue) => {
|
|
3703
3740
|
if (Array.isArray(children) && defaultValue) {
|
|
@@ -3707,7 +3744,7 @@ var getDefaultVal = (children, defaultValue) => {
|
|
|
3707
3744
|
}
|
|
3708
3745
|
return "";
|
|
3709
3746
|
};
|
|
3710
|
-
var RadioGroup = (0,
|
|
3747
|
+
var RadioGroup = (0, import_react65.forwardRef)((props, ref) => {
|
|
3711
3748
|
const {
|
|
3712
3749
|
label,
|
|
3713
3750
|
isDisabled = false,
|
|
@@ -3726,16 +3763,12 @@ var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
|
|
|
3726
3763
|
...rest
|
|
3727
3764
|
} = props;
|
|
3728
3765
|
const defaultSelected = getDefaultVal(children, value || defaultValue);
|
|
3729
|
-
const [selected, setSelected] = (0,
|
|
3730
|
-
|
|
3731
|
-
(0, import_react64.useEffect)(() => {
|
|
3766
|
+
const [selected, setSelected] = (0, import_react65.useState)(defaultSelected);
|
|
3767
|
+
(0, import_react65.useEffect)(() => {
|
|
3732
3768
|
if (value !== void 0) {
|
|
3733
3769
|
setSelected(value);
|
|
3734
3770
|
}
|
|
3735
3771
|
}, [value]);
|
|
3736
|
-
(0, import_react64.useEffect)(() => {
|
|
3737
|
-
selectedRef.current?.focus();
|
|
3738
|
-
});
|
|
3739
3772
|
const validationClasses = useValidationClasses({
|
|
3740
3773
|
validationState,
|
|
3741
3774
|
isInvalid
|
|
@@ -3757,15 +3790,15 @@ var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
|
|
|
3757
3790
|
[`--is-${orientation}`]: true
|
|
3758
3791
|
});
|
|
3759
3792
|
const labelClasses = (0, import_dedupe40.default)(radioClasses, validationClasses);
|
|
3760
|
-
const errorMessageId = (0,
|
|
3761
|
-
const defaultNameAttrId = (0,
|
|
3793
|
+
const errorMessageId = (0, import_react65.useId)();
|
|
3794
|
+
const defaultNameAttrId = (0, import_react65.useId)();
|
|
3762
3795
|
const nameAttribute = name || defaultNameAttrId;
|
|
3763
3796
|
const shouldErrorMessageShow = errorMessage ? errorMessageId : void 0;
|
|
3764
3797
|
const describedBy = spaceDelimitedList([
|
|
3765
3798
|
shouldErrorMessageShow,
|
|
3766
3799
|
props["aria-describedby"]
|
|
3767
3800
|
]);
|
|
3768
|
-
const labelId = (0,
|
|
3801
|
+
const labelId = (0, import_react65.useId)();
|
|
3769
3802
|
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
3770
3803
|
"div",
|
|
3771
3804
|
{
|
|
@@ -3784,10 +3817,9 @@ var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
|
|
|
3784
3817
|
role: "radiogroup",
|
|
3785
3818
|
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Stack, { gap: "xs", children: [
|
|
3786
3819
|
label && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Label, { htmlFor: name, id: labelId, className: labelClasses, children: label }),
|
|
3787
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: radioWrapperClasses, children:
|
|
3788
|
-
if ((0,
|
|
3789
|
-
|
|
3790
|
-
return (0, import_react64.cloneElement)(
|
|
3820
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: radioWrapperClasses, children: import_react65.Children.map(children, (child) => {
|
|
3821
|
+
if ((0, import_react65.isValidElement)(child)) {
|
|
3822
|
+
return (0, import_react65.cloneElement)(
|
|
3791
3823
|
child,
|
|
3792
3824
|
{
|
|
3793
3825
|
orientation,
|
|
@@ -3798,8 +3830,7 @@ var RadioGroup = (0, import_react64.forwardRef)((props, ref) => {
|
|
|
3798
3830
|
setSelected,
|
|
3799
3831
|
isRequired,
|
|
3800
3832
|
"aria-describedby": describedBy,
|
|
3801
|
-
onChange
|
|
3802
|
-
ref: props2.value === selected ? selectedRef : void 0
|
|
3833
|
+
onChange
|
|
3803
3834
|
}
|
|
3804
3835
|
);
|
|
3805
3836
|
}
|
|
@@ -3850,10 +3881,10 @@ Segment.displayName = "Segment";
|
|
|
3850
3881
|
|
|
3851
3882
|
// src/components/Select/Select.tsx
|
|
3852
3883
|
var import_dedupe43 = __toESM(require("classnames/dedupe"));
|
|
3853
|
-
var
|
|
3884
|
+
var import_react66 = require("react");
|
|
3854
3885
|
var import_icons12 = require("@simplybusiness/icons");
|
|
3855
3886
|
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3856
|
-
var Select = (0,
|
|
3887
|
+
var Select = (0, import_react66.forwardRef)((props, ref) => {
|
|
3857
3888
|
const {
|
|
3858
3889
|
label,
|
|
3859
3890
|
onChange,
|
|
@@ -3894,7 +3925,7 @@ var Select = (0, import_react65.forwardRef)((props, ref) => {
|
|
|
3894
3925
|
otherProps.className
|
|
3895
3926
|
);
|
|
3896
3927
|
const iconClasses = (0, import_dedupe43.default)("mobius-select__icon", sharedClasses);
|
|
3897
|
-
const errorMessageId = (0,
|
|
3928
|
+
const errorMessageId = (0, import_react66.useId)();
|
|
3898
3929
|
const shouldErrorMessageShow = errorMessage ? errorMessageId : void 0;
|
|
3899
3930
|
const describedBy = spaceDelimitedList([
|
|
3900
3931
|
shouldErrorMessageShow,
|
|
@@ -3932,10 +3963,10 @@ Select.displayName = "Select";
|
|
|
3932
3963
|
|
|
3933
3964
|
// src/components/Slider/Slider.tsx
|
|
3934
3965
|
var import_dedupe44 = __toESM(require("classnames/dedupe"));
|
|
3935
|
-
var
|
|
3966
|
+
var import_react68 = require("react");
|
|
3936
3967
|
|
|
3937
3968
|
// src/components/Slider/helpers.ts
|
|
3938
|
-
var
|
|
3969
|
+
var import_react67 = require("react");
|
|
3939
3970
|
function numberFormatter(value, formatOptions, locale = navigator.languages?.[0] || "en-GB") {
|
|
3940
3971
|
if (!formatOptions) {
|
|
3941
3972
|
return value?.toString() || "";
|
|
@@ -3965,11 +3996,11 @@ var Slider = (props) => {
|
|
|
3965
3996
|
formatOptions,
|
|
3966
3997
|
isDisabled = false
|
|
3967
3998
|
} = props;
|
|
3968
|
-
const trackRef = (0,
|
|
3969
|
-
const [currentValue, setCurrentValue] = (0,
|
|
3999
|
+
const trackRef = (0, import_react68.useRef)(null);
|
|
4000
|
+
const [currentValue, setCurrentValue] = (0, import_react68.useState)(
|
|
3970
4001
|
value || defaultValue || 0
|
|
3971
4002
|
);
|
|
3972
|
-
const [isDragging, setIsDraggging] = (0,
|
|
4003
|
+
const [isDragging, setIsDraggging] = (0, import_react68.useState)(false);
|
|
3973
4004
|
const { labelProps, fieldProps } = useLabel({
|
|
3974
4005
|
id,
|
|
3975
4006
|
label,
|
|
@@ -4031,14 +4062,14 @@ var Slider = (props) => {
|
|
|
4031
4062
|
};
|
|
4032
4063
|
|
|
4033
4064
|
// src/components/SVG/SVG.tsx
|
|
4034
|
-
var
|
|
4065
|
+
var import_react69 = require("react");
|
|
4035
4066
|
var import_dedupe45 = __toESM(require("classnames/dedupe"));
|
|
4036
4067
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
4037
|
-
var SVG = (0,
|
|
4068
|
+
var SVG = (0, import_react69.forwardRef)(
|
|
4038
4069
|
(props, ref) => {
|
|
4039
4070
|
const { children, className, ...otherProps } = props;
|
|
4040
4071
|
const classes = (0, import_dedupe45.default)("mobius", "mobius-svg", className);
|
|
4041
|
-
const svgNode =
|
|
4072
|
+
const svgNode = import_react69.Children.only(children);
|
|
4042
4073
|
const { children: svgChildren, viewBox, xmlns } = svgNode.props;
|
|
4043
4074
|
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
4044
4075
|
"svg",
|
|
@@ -4056,10 +4087,10 @@ var SVG = (0, import_react68.forwardRef)(
|
|
|
4056
4087
|
SVG.displayName = "SVG";
|
|
4057
4088
|
|
|
4058
4089
|
// src/components/Switch/Switch.tsx
|
|
4059
|
-
var
|
|
4090
|
+
var import_react70 = require("react");
|
|
4060
4091
|
var import_dedupe46 = __toESM(require("classnames/dedupe"));
|
|
4061
4092
|
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
4062
|
-
var Switch = (0,
|
|
4093
|
+
var Switch = (0, import_react70.forwardRef)((props, ref) => {
|
|
4063
4094
|
const {
|
|
4064
4095
|
checked = false,
|
|
4065
4096
|
className,
|
|
@@ -4067,8 +4098,8 @@ var Switch = (0, import_react69.forwardRef)((props, ref) => {
|
|
|
4067
4098
|
isDisabled = false,
|
|
4068
4099
|
...otherProps
|
|
4069
4100
|
} = props;
|
|
4070
|
-
const [enabled, setEnabled] = (0,
|
|
4071
|
-
(0,
|
|
4101
|
+
const [enabled, setEnabled] = (0, import_react70.useState)(checked);
|
|
4102
|
+
(0, import_react70.useEffect)(() => {
|
|
4072
4103
|
setEnabled(checked);
|
|
4073
4104
|
}, [checked]);
|
|
4074
4105
|
const classes = (0, import_dedupe46.default)(
|
|
@@ -4105,10 +4136,10 @@ var Switch = (0, import_react69.forwardRef)((props, ref) => {
|
|
|
4105
4136
|
Switch.displayName = "Switch";
|
|
4106
4137
|
|
|
4107
4138
|
// src/components/Table/Table.tsx
|
|
4108
|
-
var
|
|
4139
|
+
var import_react71 = require("react");
|
|
4109
4140
|
var import_dedupe47 = __toESM(require("classnames/dedupe"));
|
|
4110
4141
|
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
4111
|
-
var Table = (0,
|
|
4142
|
+
var Table = (0, import_react71.forwardRef)(
|
|
4112
4143
|
(props, ref) => {
|
|
4113
4144
|
const classes = (0, import_dedupe47.default)("mobius", "mobius-table", props.className);
|
|
4114
4145
|
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("table", { ref, ...props, className: classes });
|
|
@@ -4117,40 +4148,40 @@ var Table = (0, import_react70.forwardRef)(
|
|
|
4117
4148
|
Table.displayName = "Table";
|
|
4118
4149
|
|
|
4119
4150
|
// src/components/Table/Head.tsx
|
|
4120
|
-
var
|
|
4151
|
+
var import_react72 = require("react");
|
|
4121
4152
|
var import_dedupe48 = __toESM(require("classnames/dedupe"));
|
|
4122
4153
|
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
4123
|
-
var Head = (0,
|
|
4154
|
+
var Head = (0, import_react72.forwardRef)((props, ref) => {
|
|
4124
4155
|
const classes = (0, import_dedupe48.default)("mobius", "mobius-table__head", props.className);
|
|
4125
4156
|
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("thead", { ref, ...props, className: classes });
|
|
4126
4157
|
});
|
|
4127
4158
|
Head.displayName = "Table.Head";
|
|
4128
4159
|
|
|
4129
4160
|
// src/components/Table/Body.tsx
|
|
4130
|
-
var
|
|
4161
|
+
var import_react73 = require("react");
|
|
4131
4162
|
var import_dedupe49 = __toESM(require("classnames/dedupe"));
|
|
4132
4163
|
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
4133
|
-
var Body = (0,
|
|
4164
|
+
var Body = (0, import_react73.forwardRef)((props, ref) => {
|
|
4134
4165
|
const classes = (0, import_dedupe49.default)("mobius", "mobius-table__body", props.className);
|
|
4135
4166
|
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("tbody", { ref, ...props, className: classes });
|
|
4136
4167
|
});
|
|
4137
4168
|
Body.displayName = "Table.Body";
|
|
4138
4169
|
|
|
4139
4170
|
// src/components/Table/Foot.tsx
|
|
4140
|
-
var
|
|
4171
|
+
var import_react74 = require("react");
|
|
4141
4172
|
var import_dedupe50 = __toESM(require("classnames/dedupe"));
|
|
4142
4173
|
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
4143
|
-
var Foot = (0,
|
|
4174
|
+
var Foot = (0, import_react74.forwardRef)((props, ref) => {
|
|
4144
4175
|
const classes = (0, import_dedupe50.default)("mobius", "mobius-table__foot", props.className);
|
|
4145
4176
|
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tfoot", { ref, ...props, className: classes });
|
|
4146
4177
|
});
|
|
4147
4178
|
Foot.displayName = "Table.Foot";
|
|
4148
4179
|
|
|
4149
4180
|
// src/components/Table/Row.tsx
|
|
4150
|
-
var
|
|
4181
|
+
var import_react75 = require("react");
|
|
4151
4182
|
var import_dedupe51 = __toESM(require("classnames/dedupe"));
|
|
4152
4183
|
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
4153
|
-
var Row = (0,
|
|
4184
|
+
var Row = (0, import_react75.forwardRef)(
|
|
4154
4185
|
(props, ref) => {
|
|
4155
4186
|
const classes = (0, import_dedupe51.default)("mobius", "mobius-table__row", props.className);
|
|
4156
4187
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("tr", { ref, ...props, className: classes });
|
|
@@ -4159,10 +4190,10 @@ var Row = (0, import_react74.forwardRef)(
|
|
|
4159
4190
|
Row.displayName = "Table.Row";
|
|
4160
4191
|
|
|
4161
4192
|
// src/components/Table/HeaderCell.tsx
|
|
4162
|
-
var
|
|
4193
|
+
var import_react76 = require("react");
|
|
4163
4194
|
var import_dedupe52 = __toESM(require("classnames/dedupe"));
|
|
4164
4195
|
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
4165
|
-
var HeaderCell = (0,
|
|
4196
|
+
var HeaderCell = (0, import_react76.forwardRef)((props, ref) => {
|
|
4166
4197
|
const classes = (0, import_dedupe52.default)(
|
|
4167
4198
|
"mobius",
|
|
4168
4199
|
"mobius-table__head-cell",
|
|
@@ -4173,10 +4204,10 @@ var HeaderCell = (0, import_react75.forwardRef)((props, ref) => {
|
|
|
4173
4204
|
HeaderCell.displayName = "Table.HeaderCell";
|
|
4174
4205
|
|
|
4175
4206
|
// src/components/Table/Cell.tsx
|
|
4176
|
-
var
|
|
4207
|
+
var import_react77 = require("react");
|
|
4177
4208
|
var import_dedupe53 = __toESM(require("classnames/dedupe"));
|
|
4178
4209
|
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
4179
|
-
var Cell = (0,
|
|
4210
|
+
var Cell = (0, import_react77.forwardRef)(
|
|
4180
4211
|
(props, ref) => {
|
|
4181
4212
|
const classes = (0, import_dedupe53.default)(
|
|
4182
4213
|
"mobius",
|
|
@@ -4201,13 +4232,13 @@ Table2.displayName = "Table";
|
|
|
4201
4232
|
|
|
4202
4233
|
// src/components/TextArea/TextArea.tsx
|
|
4203
4234
|
var import_dedupe55 = __toESM(require("classnames/dedupe"));
|
|
4204
|
-
var
|
|
4235
|
+
var import_react79 = require("react");
|
|
4205
4236
|
|
|
4206
4237
|
// src/components/TextAreaInput/TextAreaInput.tsx
|
|
4207
4238
|
var import_dedupe54 = __toESM(require("classnames/dedupe"));
|
|
4208
|
-
var
|
|
4239
|
+
var import_react78 = require("react");
|
|
4209
4240
|
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
4210
|
-
var TextAreaInput = (0,
|
|
4241
|
+
var TextAreaInput = (0, import_react78.forwardRef)((props, ref) => {
|
|
4211
4242
|
const { isSelected, isDisabled, isReadOnly, isRequired, ...otherProps } = props;
|
|
4212
4243
|
const classes = (0, import_dedupe54.default)(
|
|
4213
4244
|
"mobius",
|
|
@@ -4234,7 +4265,7 @@ TextAreaInput.displayName = "TextAreaInput";
|
|
|
4234
4265
|
|
|
4235
4266
|
// src/components/TextArea/TextArea.tsx
|
|
4236
4267
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
4237
|
-
var TextArea = (0,
|
|
4268
|
+
var TextArea = (0, import_react79.forwardRef)((props, ref) => {
|
|
4238
4269
|
const {
|
|
4239
4270
|
isDisabled,
|
|
4240
4271
|
className,
|
|
@@ -4279,10 +4310,10 @@ var TextArea = (0, import_react78.forwardRef)((props, ref) => {
|
|
|
4279
4310
|
TextArea.displayName = "TextArea";
|
|
4280
4311
|
|
|
4281
4312
|
// src/components/Title/Title.tsx
|
|
4282
|
-
var
|
|
4313
|
+
var import_react80 = require("react");
|
|
4283
4314
|
var import_dedupe56 = __toESM(require("classnames/dedupe"));
|
|
4284
4315
|
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
4285
|
-
var Title = (0,
|
|
4316
|
+
var Title = (0, import_react80.forwardRef)(
|
|
4286
4317
|
(props, ref) => {
|
|
4287
4318
|
const {
|
|
4288
4319
|
elementType: Element = "div",
|
|
@@ -4304,7 +4335,7 @@ Title.displayName = "Title";
|
|
|
4304
4335
|
|
|
4305
4336
|
// src/components/Trust/Trust.tsx
|
|
4306
4337
|
var import_dedupe57 = __toESM(require("classnames/dedupe"));
|
|
4307
|
-
var
|
|
4338
|
+
var import_react81 = require("react");
|
|
4308
4339
|
|
|
4309
4340
|
// src/components/Trust/constants.ts
|
|
4310
4341
|
var REQUIRED_TRUSTPILOT_CLASS_NAME = "trustpilot-widget";
|
|
@@ -4363,7 +4394,7 @@ var TRUSTPILOT_WIDGET = {
|
|
|
4363
4394
|
|
|
4364
4395
|
// src/components/Trust/Trust.tsx
|
|
4365
4396
|
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
4366
|
-
var Trust = (0,
|
|
4397
|
+
var Trust = (0, import_react81.forwardRef)((props, ref) => {
|
|
4367
4398
|
const {
|
|
4368
4399
|
elementType: Element = "div",
|
|
4369
4400
|
variant,
|
|
@@ -4374,8 +4405,8 @@ var Trust = (0, import_react80.forwardRef)((props, ref) => {
|
|
|
4374
4405
|
stars,
|
|
4375
4406
|
className
|
|
4376
4407
|
} = props;
|
|
4377
|
-
const [isMounted, setIsMounted] = (0,
|
|
4378
|
-
const trustRef = (0,
|
|
4408
|
+
const [isMounted, setIsMounted] = (0, import_react81.useState)(false);
|
|
4409
|
+
const trustRef = (0, import_react81.useRef)(null);
|
|
4379
4410
|
const {
|
|
4380
4411
|
templateId,
|
|
4381
4412
|
className: variantClassName,
|
|
@@ -4401,13 +4432,13 @@ var Trust = (0, import_react80.forwardRef)((props, ref) => {
|
|
|
4401
4432
|
},
|
|
4402
4433
|
className
|
|
4403
4434
|
);
|
|
4404
|
-
(0,
|
|
4435
|
+
(0, import_react81.useEffect)(() => {
|
|
4405
4436
|
const hasTrustpilotLoaded = trustRef.current && window?.Trustpilot && window?.Trustpilot.loadFromElement;
|
|
4406
4437
|
if (isMounted && hasTrustpilotLoaded) {
|
|
4407
4438
|
window.Trustpilot.loadFromElement(trustRef.current, true);
|
|
4408
4439
|
}
|
|
4409
4440
|
}, [isMounted]);
|
|
4410
|
-
(0,
|
|
4441
|
+
(0, import_react81.useEffect)(() => {
|
|
4411
4442
|
setIsMounted(true);
|
|
4412
4443
|
}, []);
|
|
4413
4444
|
if (!isMounted) return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { style: styles });
|
|
@@ -4433,10 +4464,10 @@ var Trust = (0, import_react80.forwardRef)((props, ref) => {
|
|
|
4433
4464
|
});
|
|
4434
4465
|
|
|
4435
4466
|
// src/components/ExpandableText/ExpandableText.tsx
|
|
4436
|
-
var
|
|
4467
|
+
var import_react82 = require("react");
|
|
4437
4468
|
var import_dedupe58 = __toESM(require("classnames/dedupe"));
|
|
4438
4469
|
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
4439
|
-
var ExpandableText = (0,
|
|
4470
|
+
var ExpandableText = (0, import_react82.forwardRef)((props, ref) => {
|
|
4440
4471
|
const {
|
|
4441
4472
|
text,
|
|
4442
4473
|
maxLines = 3,
|
|
@@ -4449,14 +4480,14 @@ var ExpandableText = (0, import_react81.forwardRef)((props, ref) => {
|
|
|
4449
4480
|
onToggle,
|
|
4450
4481
|
...otherProps
|
|
4451
4482
|
} = props;
|
|
4452
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
4453
|
-
const [isCollapsed, setIsCollapsed] = (0,
|
|
4454
|
-
const textRef = (0,
|
|
4483
|
+
const [isExpanded, setIsExpanded] = (0, import_react82.useState)(false);
|
|
4484
|
+
const [isCollapsed, setIsCollapsed] = (0, import_react82.useState)(false);
|
|
4485
|
+
const textRef = (0, import_react82.useRef)(null);
|
|
4455
4486
|
const { down } = useBreakpoint();
|
|
4456
|
-
const baseId = (0,
|
|
4487
|
+
const baseId = (0, import_react82.useId)();
|
|
4457
4488
|
const expandButtonId = `expandable-text-expand-${baseId}`;
|
|
4458
4489
|
const shouldCollapse = breakpoint ? down(breakpoint) : true;
|
|
4459
|
-
(0,
|
|
4490
|
+
(0, import_react82.useEffect)(() => {
|
|
4460
4491
|
if (!shouldCollapse || !textRef.current) {
|
|
4461
4492
|
setIsCollapsed(false);
|
|
4462
4493
|
return;
|
|
@@ -4517,3 +4548,64 @@ var ExpandableText = (0, import_react81.forwardRef)((props, ref) => {
|
|
|
4517
4548
|
);
|
|
4518
4549
|
});
|
|
4519
4550
|
ExpandableText.displayName = "ExpandableText";
|
|
4551
|
+
|
|
4552
|
+
// src/components/MaskedField/MaskedField.tsx
|
|
4553
|
+
var import_react83 = require("react");
|
|
4554
|
+
var import_react_imask = require("react-imask");
|
|
4555
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
4556
|
+
var MaskedField = (0, import_react83.forwardRef)((props, ref) => {
|
|
4557
|
+
const {
|
|
4558
|
+
mask,
|
|
4559
|
+
value,
|
|
4560
|
+
defaultValue,
|
|
4561
|
+
useMaskedValue = false,
|
|
4562
|
+
onChange,
|
|
4563
|
+
"aria-describedby": ariaDescribedBy,
|
|
4564
|
+
"aria-label": ariaLabel,
|
|
4565
|
+
...textFieldProps
|
|
4566
|
+
} = props;
|
|
4567
|
+
const { ref: maskRef, value: maskedValue } = (0, import_react_imask.useIMask)(mask, {
|
|
4568
|
+
defaultValue,
|
|
4569
|
+
onAccept: (value2, maskRef2) => {
|
|
4570
|
+
if (onChange) {
|
|
4571
|
+
const valueToEmit = useMaskedValue ? value2 : maskRef2.unmaskedValue;
|
|
4572
|
+
const syntheticEvent = {
|
|
4573
|
+
target: {
|
|
4574
|
+
value: valueToEmit,
|
|
4575
|
+
name: textFieldProps.name
|
|
4576
|
+
},
|
|
4577
|
+
currentTarget: {
|
|
4578
|
+
value: valueToEmit,
|
|
4579
|
+
name: textFieldProps.name
|
|
4580
|
+
}
|
|
4581
|
+
};
|
|
4582
|
+
onChange(syntheticEvent);
|
|
4583
|
+
}
|
|
4584
|
+
}
|
|
4585
|
+
});
|
|
4586
|
+
const inputRef = (node) => {
|
|
4587
|
+
if (maskRef) {
|
|
4588
|
+
maskRef.current = node;
|
|
4589
|
+
}
|
|
4590
|
+
if (ref) {
|
|
4591
|
+
if (typeof ref === "function") {
|
|
4592
|
+
ref(node);
|
|
4593
|
+
} else {
|
|
4594
|
+
ref.current = node;
|
|
4595
|
+
}
|
|
4596
|
+
}
|
|
4597
|
+
};
|
|
4598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
4599
|
+
TextField,
|
|
4600
|
+
{
|
|
4601
|
+
...textFieldProps,
|
|
4602
|
+
ref: inputRef,
|
|
4603
|
+
value: maskedValue,
|
|
4604
|
+
onChange: () => {
|
|
4605
|
+
},
|
|
4606
|
+
"aria-describedby": ariaDescribedBy,
|
|
4607
|
+
"aria-label": ariaLabel
|
|
4608
|
+
}
|
|
4609
|
+
);
|
|
4610
|
+
});
|
|
4611
|
+
MaskedField.displayName = "MaskedField";
|