@simplybusiness/mobius 6.1.2 → 6.2.1
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 +18 -0
- package/dist/cjs/index.js +94 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/index.js +94 -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/index.d.ts +1 -0
- package/package.json +4 -3
- package/src/components/MaskedField/MaskedField.mdx +209 -0
- package/src/components/MaskedField/MaskedField.stories.tsx +53 -0
- package/src/components/MaskedField/MaskedField.test.tsx +542 -0
- package/src/components/MaskedField/MaskedField.tsx +136 -0
- package/src/components/MaskedField/index.tsx +1 -0
- package/src/components/index.tsx +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 6.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [99ed68f]
|
|
8
|
+
- @simplybusiness/icons@4.33.1
|
|
9
|
+
|
|
10
|
+
## 6.2.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- acc7a69: added MaskedField Atom
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Updated dependencies [db79891]
|
|
19
|
+
- @simplybusiness/icons@4.33.0
|
|
20
|
+
|
|
3
21
|
## 6.1.2
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
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,
|
|
@@ -4547,3 +4548,96 @@ var ExpandableText = (0, import_react82.forwardRef)((props, ref) => {
|
|
|
4547
4548
|
);
|
|
4548
4549
|
});
|
|
4549
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 createSyntheticEvent = (options) => {
|
|
4557
|
+
const { event, useMaskedValue, maskedValue, unmaskedValue, name } = options;
|
|
4558
|
+
const valueToEmit = useMaskedValue ? maskedValue : unmaskedValue;
|
|
4559
|
+
return {
|
|
4560
|
+
...event,
|
|
4561
|
+
target: {
|
|
4562
|
+
...event.target,
|
|
4563
|
+
value: valueToEmit,
|
|
4564
|
+
name
|
|
4565
|
+
},
|
|
4566
|
+
currentTarget: {
|
|
4567
|
+
...event.currentTarget,
|
|
4568
|
+
value: valueToEmit,
|
|
4569
|
+
name
|
|
4570
|
+
}
|
|
4571
|
+
};
|
|
4572
|
+
};
|
|
4573
|
+
var MaskedField = (0, import_react83.forwardRef)((props, ref) => {
|
|
4574
|
+
const {
|
|
4575
|
+
mask,
|
|
4576
|
+
value,
|
|
4577
|
+
defaultValue,
|
|
4578
|
+
useMaskedValue = false,
|
|
4579
|
+
onChange,
|
|
4580
|
+
onBlur,
|
|
4581
|
+
"aria-describedby": ariaDescribedBy,
|
|
4582
|
+
"aria-label": ariaLabel,
|
|
4583
|
+
...textFieldProps
|
|
4584
|
+
} = props;
|
|
4585
|
+
const {
|
|
4586
|
+
ref: maskRef,
|
|
4587
|
+
value: maskedValue,
|
|
4588
|
+
unmaskedValue
|
|
4589
|
+
} = (0, import_react_imask.useIMask)(mask, {
|
|
4590
|
+
defaultValue
|
|
4591
|
+
});
|
|
4592
|
+
const handleChange = (event) => {
|
|
4593
|
+
if (onChange) {
|
|
4594
|
+
onChange(
|
|
4595
|
+
createSyntheticEvent({
|
|
4596
|
+
event,
|
|
4597
|
+
useMaskedValue,
|
|
4598
|
+
maskedValue,
|
|
4599
|
+
unmaskedValue,
|
|
4600
|
+
name: textFieldProps.name
|
|
4601
|
+
})
|
|
4602
|
+
);
|
|
4603
|
+
}
|
|
4604
|
+
};
|
|
4605
|
+
const handleBlur = (event) => {
|
|
4606
|
+
if (onBlur) {
|
|
4607
|
+
onBlur(
|
|
4608
|
+
createSyntheticEvent({
|
|
4609
|
+
event,
|
|
4610
|
+
useMaskedValue,
|
|
4611
|
+
maskedValue,
|
|
4612
|
+
unmaskedValue,
|
|
4613
|
+
name: textFieldProps.name
|
|
4614
|
+
})
|
|
4615
|
+
);
|
|
4616
|
+
}
|
|
4617
|
+
};
|
|
4618
|
+
const inputRef = (node) => {
|
|
4619
|
+
if (maskRef) {
|
|
4620
|
+
maskRef.current = node;
|
|
4621
|
+
}
|
|
4622
|
+
if (ref) {
|
|
4623
|
+
if (typeof ref === "function") {
|
|
4624
|
+
ref(node);
|
|
4625
|
+
} else {
|
|
4626
|
+
ref.current = node;
|
|
4627
|
+
}
|
|
4628
|
+
}
|
|
4629
|
+
};
|
|
4630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
4631
|
+
TextField,
|
|
4632
|
+
{
|
|
4633
|
+
...textFieldProps,
|
|
4634
|
+
ref: inputRef,
|
|
4635
|
+
value: maskedValue,
|
|
4636
|
+
onChange: handleChange,
|
|
4637
|
+
onBlur: handleBlur,
|
|
4638
|
+
"aria-describedby": ariaDescribedBy,
|
|
4639
|
+
"aria-label": ariaLabel
|
|
4640
|
+
}
|
|
4641
|
+
);
|
|
4642
|
+
});
|
|
4643
|
+
MaskedField.displayName = "MaskedField";
|