infinity-forge 0.36.2 → 0.36.4

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.
Files changed (87) hide show
  1. package/dist/ui/components/form/input-mask/index.js +14 -12
  2. package/dist/ui/components/form/input-mask/index.js.map +1 -1
  3. package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.d.ts +14 -0
  4. package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.js +34 -0
  5. package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.js.map +1 -0
  6. package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.d.ts +7 -0
  7. package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.js +21 -0
  8. package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.js.map +1 -0
  9. package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.d.ts +16 -0
  10. package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.js +255 -0
  11. package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.js.map +1 -0
  12. package/dist/ui/components/form/input-mask/lib/core/index.d.ts +5 -0
  13. package/dist/ui/components/form/input-mask/lib/core/index.js +15 -0
  14. package/dist/ui/components/form/input-mask/lib/core/index.js.map +1 -0
  15. package/dist/ui/components/form/input-mask/lib/core/types.d.ts +48 -0
  16. package/dist/ui/components/form/input-mask/lib/core/types.js +3 -0
  17. package/dist/ui/components/form/input-mask/lib/core/types.js.map +1 -0
  18. package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.d.ts +2 -0
  19. package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.js +15 -0
  20. package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.js.map +1 -0
  21. package/dist/ui/components/form/input-mask/lib/mask/InputMask.d.ts +6 -0
  22. package/dist/ui/components/form/input-mask/lib/mask/InputMask.js +44 -0
  23. package/dist/ui/components/form/input-mask/lib/mask/InputMask.js.map +1 -0
  24. package/dist/ui/components/form/input-mask/lib/mask/index.d.ts +5 -0
  25. package/dist/ui/components/form/input-mask/lib/mask/index.js +26 -0
  26. package/dist/ui/components/form/input-mask/lib/mask/index.js.map +1 -0
  27. package/dist/ui/components/form/input-mask/lib/mask/types.d.ts +61 -0
  28. package/dist/ui/components/form/input-mask/lib/mask/types.js +3 -0
  29. package/dist/ui/components/form/input-mask/lib/mask/types.js.map +1 -0
  30. package/dist/ui/components/form/input-mask/lib/mask/useMask.d.ts +3 -0
  31. package/dist/ui/components/form/input-mask/lib/mask/useMask.js +182 -0
  32. package/dist/ui/components/form/input-mask/lib/mask/useMask.js.map +1 -0
  33. package/dist/ui/components/form/input-mask/lib/mask/utils/filter.d.ts +14 -0
  34. package/dist/ui/components/form/input-mask/lib/mask/utils/filter.js +26 -0
  35. package/dist/ui/components/form/input-mask/lib/mask/utils/filter.js.map +1 -0
  36. package/dist/ui/components/form/input-mask/lib/mask/utils/format.d.ts +14 -0
  37. package/dist/ui/components/form/input-mask/lib/mask/utils/format.js +29 -0
  38. package/dist/ui/components/form/input-mask/lib/mask/utils/format.js.map +1 -0
  39. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.d.ts +17 -0
  40. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.js +30 -0
  41. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.js.map +1 -0
  42. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.d.ts +2 -0
  43. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.js +8 -0
  44. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.js.map +1 -0
  45. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.d.ts +14 -0
  46. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.js +25 -0
  47. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.js.map +1 -0
  48. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.d.ts +18 -0
  49. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.js +47 -0
  50. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.js.map +1 -0
  51. package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.d.ts +16 -0
  52. package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.js +26 -0
  53. package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.js.map +1 -0
  54. package/dist/ui/components/form/input-mask/lib/mask/utils/validate.d.ts +13 -0
  55. package/dist/ui/components/form/input-mask/lib/mask/utils/validate.js +41 -0
  56. package/dist/ui/components/form/input-mask/lib/mask/utils/validate.js.map +1 -0
  57. package/dist/ui/components/form/input-mask/lib/mask/utils.d.ts +63 -0
  58. package/dist/ui/components/form/input-mask/lib/mask/utils.js +114 -0
  59. package/dist/ui/components/form/input-mask/lib/mask/utils.js.map +1 -0
  60. package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.d.ts +6 -0
  61. package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.js +58 -0
  62. package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.js.map +1 -0
  63. package/dist/ui/components/form/input-mask/lib/number-format/index.d.ts +4 -0
  64. package/dist/ui/components/form/input-mask/lib/number-format/index.js +11 -0
  65. package/dist/ui/components/form/input-mask/lib/number-format/index.js.map +1 -0
  66. package/dist/ui/components/form/input-mask/lib/number-format/types.d.ts +26 -0
  67. package/dist/ui/components/form/input-mask/lib/number-format/types.js +3 -0
  68. package/dist/ui/components/form/input-mask/lib/number-format/types.js.map +1 -0
  69. package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.d.ts +3 -0
  70. package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.js +208 -0
  71. package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.js.map +1 -0
  72. package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.d.ts +7 -0
  73. package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.js +32 -0
  74. package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.js.map +1 -0
  75. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.d.ts +20 -0
  76. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.js +123 -0
  77. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.js.map +1 -0
  78. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.d.ts +11 -0
  79. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.js +28 -0
  80. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.js.map +1 -0
  81. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.d.ts +5 -0
  82. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.js +53 -0
  83. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.js.map +1 -0
  84. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.d.ts +24 -0
  85. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.js +161 -0
  86. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.js.map +1 -0
  87. package/package.json +86 -86
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.useMask = exports.InputMask = void 0;
21
+ var InputMask_1 = require("./InputMask.js");
22
+ Object.defineProperty(exports, "InputMask", { enumerable: true, get: function () { return __importDefault(InputMask_1).default; } });
23
+ var useMask_1 = require("./useMask.js");
24
+ Object.defineProperty(exports, "useMask", { enumerable: true, get: function () { return __importDefault(useMask_1).default; } });
25
+ __exportStar(require("./utils.js"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/form/input-mask/lib/mask/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,qCAA+C;AAAtC,mHAAA,OAAO,OAAW;AAC3B,0CAAwB"}
@@ -0,0 +1,61 @@
1
+ import type { CustomInputEvent, CustomInputEventHandler } from '../core/index.js';
2
+ export interface MaskPart {
3
+ type: 'replacement' | 'mask' | 'input';
4
+ value: string;
5
+ index: number;
6
+ }
7
+ export interface MaskEventDetail {
8
+ /** Masked value (same as `event.target.value`). */
9
+ value: string;
10
+ /** Value without mask characters. */
11
+ input: string;
12
+ /**
13
+ * Parts of the masked value, where each object contains the character type:
14
+ * - `replacement` - the replacement character;
15
+ * - `mask` - the mask character;
16
+ * - `input` - the character entered by the user.
17
+ */
18
+ parts: MaskPart[];
19
+ /** A regular expression of type `string` that the masked value must match. */
20
+ pattern: string;
21
+ /** `true` if the mask is full and matches the pattern value. */
22
+ isValid: boolean;
23
+ }
24
+ export type MaskEvent = CustomInputEvent<MaskEventDetail>;
25
+ export type MaskEventHandler = CustomInputEventHandler<MaskEvent>;
26
+ export type Replacement = Record<string, RegExp>;
27
+ export type TrackParam = ({
28
+ inputType: 'insert';
29
+ data: string;
30
+ } | {
31
+ inputType: 'deleteBackward' | 'deleteForward';
32
+ data: null;
33
+ }) & {
34
+ value: string;
35
+ selectionStart: number;
36
+ selectionEnd: number;
37
+ };
38
+ export type Track = (param: TrackParam) => string | boolean | null | undefined;
39
+ export interface ModifiedData {
40
+ mask?: string;
41
+ replacement?: string | Replacement;
42
+ showMask?: boolean;
43
+ separate?: boolean;
44
+ }
45
+ export type Modify = (input: string) => ModifiedData | undefined;
46
+ export interface MaskProps {
47
+ /** Input mask, `replacement` is used to replace characters. */
48
+ mask?: string;
49
+ /** Sets the characters replaced in the mask, where "key" is the replaced character, "value" is the regular expression to which the input character must match (see «[Replacement](https://github.com/GoncharukBro/react-input/tree/main/packages/mask#replacement)»). It is possible to pass the replacement character as a string, then `replacement="_"` will default to `replacement={{ _: /./ }}`. Keys are ignored as you type. */
50
+ replacement?: string | Replacement;
51
+ /** Controls the display of the mask, for example, `+0 (123) ___-__-__` instead of `+0 (123`. */
52
+ showMask?: boolean;
53
+ /** Stores the position of the entered characters. By default, input characters are non-breaking, which means that if you remove characters in the middle of the value, the characters are shifted to the left, forming a non-breaking value, which is the behavior of `input`. For example, with `true`, the possible value is `+0 (123) ___-45-__`, with `false` - `+0 (123) 45_-__-__`. */
54
+ separate?: boolean;
55
+ /** The function is activated before masking. Allows you to conditionally change the entered value (see «[Track](https://github.com/GoncharukBro/react-input/tree/main/packages/mask#track)»). */
56
+ track?: Track;
57
+ /** Function triggered before masking. Allows you conditionally change the properties of the component that affect masking. Valid values for modification are `mask`, `replacement`, `showMask` and `separate`. This is useful when you need conditionally tweak the displayed value to improve UX (see «[Modify](https://github.com/GoncharukBro/react-input/tree/main/packages/mask#modify)»). */
58
+ modify?: Modify;
59
+ /** Handler for the custom event `input-mask`. Called asynchronously after the `change` event, accessing the `detail` property containing additional useful information about the value. (see «[Mask event](https://github.com/GoncharukBro/react-input/tree/main/packages/mask#mask-event)»). */
60
+ onMask?: MaskEventHandler;
61
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/form/input-mask/lib/mask/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { MaskProps } from './types.js';
3
+ export default function useMask({ mask, replacement, showMask, separate, track, modify, onMask, }?: MaskProps): React.MutableRefObject<HTMLInputElement | null>;
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var react_1 = require("react");
18
+ var core_1 = require("../core/index.js");
19
+ var filter_1 = __importDefault(require("./utils/filter.js"));
20
+ var formatToReplacementObject_1 = __importDefault(require("./utils/formatToReplacementObject.js"));
21
+ var resolveDetail_1 = __importDefault(require("./utils/resolveDetail.js"));
22
+ var resolveSelection_1 = __importDefault(require("./utils/resolveSelection.js"));
23
+ var unformat_1 = __importDefault(require("./utils/unformat.js"));
24
+ var validate_1 = __importDefault(require("./utils/validate.js"));
25
+ function useMask(_a) {
26
+ var _b = _a === void 0 ? {} : _a, _c = _b.mask, mask = _c === void 0 ? '' : _c, _d = _b.replacement, replacement = _d === void 0 ? {} : _d, _e = _b.showMask, showMask = _e === void 0 ? false : _e, _f = _b.separate, separate = _f === void 0 ? false : _f, track = _b.track, modify = _b.modify, onMask = _b.onMask;
27
+ var replacementObject = typeof replacement === 'string' ? (0, formatToReplacementObject_1.default)(replacement) : replacement;
28
+ var cache = (0, react_1.useRef)(null);
29
+ /**
30
+ *
31
+ * Init
32
+ *
33
+ */
34
+ var init = function (_a) {
35
+ var controlled = _a.controlled, initialValue = _a.initialValue;
36
+ if (process.env.NODE_ENV !== 'production') {
37
+ (0, validate_1.default)({ initialValue: initialValue, mask: mask, replacement: replacementObject });
38
+ }
39
+ initialValue = controlled || initialValue ? initialValue : showMask ? mask : '';
40
+ var cachedProps = { mask: mask, replacement: replacementObject, showMask: showMask, separate: separate };
41
+ cache.current = { value: initialValue, props: cachedProps, fallbackProps: cachedProps };
42
+ return { value: initialValue };
43
+ };
44
+ /**
45
+ *
46
+ * Tracking
47
+ *
48
+ */
49
+ var tracking = function (_a) {
50
+ var _b;
51
+ var inputType = _a.inputType, previousValue = _a.previousValue, addedValue = _a.addedValue, changeStart = _a.changeStart, changeEnd = _a.changeEnd;
52
+ if (cache.current === null) {
53
+ throw new core_1.SyntheticChangeError('The state has not been initialized.');
54
+ }
55
+ // Предыдущее значение всегда должно соответствовать маскированному значению из кэша. Обратная ситуация может
56
+ // возникнуть при контроле значения, если значение не было изменено после ввода. Для предотвращения подобных
57
+ // ситуаций, нам важно синхронизировать предыдущее значение с кэшированным значением, если они различаются
58
+ if (cache.current.value !== previousValue) {
59
+ cache.current.props = cache.current.fallbackProps;
60
+ }
61
+ else {
62
+ cache.current.fallbackProps = cache.current.props;
63
+ }
64
+ // Дополнительно нам важно учесть, что немаскированное значение с учетом удаления или добавления символов должно
65
+ // получаться с помощью закэшированных пропсов, то есть тех которые были применены к значению на момент предыдущего маскирования
66
+ var beforeChangeValue = (0, unformat_1.default)(previousValue, {
67
+ end: changeStart,
68
+ mask: cache.current.props.mask,
69
+ replacement: cache.current.props.replacement,
70
+ separate: cache.current.props.separate,
71
+ });
72
+ // Регулярное выражение по поиску символов кроме ключей `replacement`
73
+ var regExp$1 = RegExp("[^".concat(Object.keys(cache.current.props.replacement).join(''), "]"), 'g');
74
+ // Находим все заменяемые символы для фильтрации пользовательского значения.
75
+ // Важно определить корректное значение на данном этапе
76
+ var replacementChars = cache.current.props.mask.replace(regExp$1, '');
77
+ if (beforeChangeValue) {
78
+ beforeChangeValue = (0, filter_1.default)(beforeChangeValue, {
79
+ replacementChars: replacementChars,
80
+ replacement: cache.current.props.replacement,
81
+ separate: cache.current.props.separate,
82
+ });
83
+ }
84
+ var _addedValue = track === null || track === void 0 ? void 0 : track(__assign(__assign({}, (inputType === 'insert' ? { inputType: inputType, data: addedValue } : { inputType: inputType, data: null })), { value: previousValue, selectionStart: changeStart, selectionEnd: changeEnd }));
85
+ if (_addedValue === false) {
86
+ throw new core_1.SyntheticChangeError('Custom trekking stop.');
87
+ }
88
+ else if (_addedValue === null) {
89
+ addedValue = '';
90
+ }
91
+ else if (_addedValue !== true && _addedValue !== undefined) {
92
+ addedValue = _addedValue;
93
+ }
94
+ if (addedValue) {
95
+ addedValue = (0, filter_1.default)(addedValue, {
96
+ replacementChars: replacementChars.slice(beforeChangeValue.length),
97
+ replacement: cache.current.props.replacement,
98
+ separate: false, // Поскольку нас интересуют только "полезные" символы, фильтруем без учёта заменяемых символов
99
+ });
100
+ }
101
+ if (inputType === 'insert' && addedValue === '') {
102
+ throw new core_1.SyntheticChangeError('The character does not match the key value of the `replacement` object.');
103
+ }
104
+ var afterChangeValue = (0, unformat_1.default)(previousValue, {
105
+ start: changeEnd,
106
+ mask: cache.current.props.mask,
107
+ replacement: cache.current.props.replacement,
108
+ separate: cache.current.props.separate,
109
+ });
110
+ // Модифицируем `afterChangeValue` чтобы позиция символов не смещалась. Необходимо выполнять
111
+ // после фильтрации `addedValue` и перед фильтрацией `afterChangeValue`
112
+ if (cache.current.props.separate) {
113
+ // Находим заменяемые символы в диапазоне изменяемых символов
114
+ var separateChars = cache.current.props.mask.slice(changeStart, changeEnd).replace(regExp$1, '');
115
+ // Получаем количество символов для сохранения перед `afterChangeValue`. Возможные значения:
116
+ // `меньше ноля` - обрезаем значение от начала на количество символов;
117
+ // `ноль` - не меняем значение;
118
+ // `больше ноля` - добавляем заменяемые символы к началу значения.
119
+ var countSeparateChars = separateChars.length - addedValue.length;
120
+ if (countSeparateChars < 0) {
121
+ afterChangeValue = afterChangeValue.slice(-countSeparateChars);
122
+ }
123
+ else if (countSeparateChars > 0) {
124
+ afterChangeValue = separateChars.slice(-countSeparateChars) + afterChangeValue;
125
+ }
126
+ }
127
+ if (afterChangeValue) {
128
+ afterChangeValue = (0, filter_1.default)(afterChangeValue, {
129
+ replacementChars: replacementChars.slice(beforeChangeValue.length + addedValue.length),
130
+ replacement: cache.current.props.replacement,
131
+ separate: cache.current.props.separate,
132
+ });
133
+ }
134
+ var input = beforeChangeValue + addedValue + afterChangeValue;
135
+ /* eslint-disable prefer-const */
136
+ var _c = (_b = modify === null || modify === void 0 ? void 0 : modify(input)) !== null && _b !== void 0 ? _b : {}, _d = _c.mask, modifiedMask = _d === void 0 ? mask : _d, _e = _c.replacement, modifiedReplacement = _e === void 0 ? replacementObject : _e, _f = _c.showMask, modifiedShowMask = _f === void 0 ? showMask : _f, _g = _c.separate, modifiedSeparate = _g === void 0 ? separate : _g;
137
+ if (typeof modifiedReplacement === 'string') {
138
+ modifiedReplacement = (0, formatToReplacementObject_1.default)(modifiedReplacement);
139
+ }
140
+ var detail = (0, resolveDetail_1.default)(input, {
141
+ mask: modifiedMask,
142
+ replacement: modifiedReplacement,
143
+ showMask: modifiedShowMask,
144
+ });
145
+ var selection = (0, resolveSelection_1.default)({
146
+ inputType: inputType,
147
+ value: detail.value,
148
+ addedValue: addedValue,
149
+ beforeChangeValue: beforeChangeValue,
150
+ // afterChangeValue,
151
+ parts: detail.parts,
152
+ replacement: modifiedReplacement,
153
+ separate: modifiedSeparate,
154
+ });
155
+ cache.current.value = detail.value;
156
+ cache.current.props = {
157
+ mask: modifiedMask,
158
+ replacement: modifiedReplacement,
159
+ showMask: modifiedShowMask,
160
+ separate: modifiedSeparate,
161
+ };
162
+ return {
163
+ value: detail.value,
164
+ selectionStart: selection,
165
+ selectionEnd: selection,
166
+ __detail: detail,
167
+ };
168
+ };
169
+ /**
170
+ *
171
+ * Use input
172
+ *
173
+ */
174
+ return (0, core_1.useInput)({
175
+ init: init,
176
+ tracking: tracking,
177
+ eventType: 'input-mask',
178
+ eventHandler: onMask,
179
+ });
180
+ }
181
+ exports.default = useMask;
182
+ //# sourceMappingURL=useMask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMask.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/form/input-mask/lib/mask/useMask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Replacement } from '../types.js';
2
+ interface Options {
3
+ replacementChars: string;
4
+ replacement: Replacement;
5
+ separate: boolean;
6
+ }
7
+ /**
8
+ * Фильтрует символы для соответствия значениям `replacement`
9
+ * @param value
10
+ * @param options
11
+ * @returns
12
+ */
13
+ export default function filter(value: string, { replacementChars, replacement, separate }: Options): string;
14
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Фильтрует символы для соответствия значениям `replacement`
5
+ * @param value
6
+ * @param options
7
+ * @returns
8
+ */
9
+ function filter(value, _a) {
10
+ var _b;
11
+ var replacementChars = _a.replacementChars, replacement = _a.replacement, separate = _a.separate;
12
+ var __replacementChars = replacementChars;
13
+ var filteredValue = '';
14
+ for (var _i = 0, value_1 = value; _i < value_1.length; _i++) {
15
+ var char = value_1[_i];
16
+ var isReplacementKey = Object.prototype.hasOwnProperty.call(replacement, char);
17
+ var isValidChar = !isReplacementKey && ((_b = replacement[__replacementChars[0]]) === null || _b === void 0 ? void 0 : _b.test(char));
18
+ if ((separate && char === __replacementChars[0]) || isValidChar) {
19
+ __replacementChars = __replacementChars.slice(1);
20
+ filteredValue += char;
21
+ }
22
+ }
23
+ return filteredValue;
24
+ }
25
+ exports.default = filter;
26
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/mask/utils/filter.ts"],"names":[],"mappings":";;AAQA;;;;;GAKG;AACH,SAAwB,MAAM,CAAC,KAAa,EAAE,EAAoD;;QAAlD,gBAAgB,sBAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;IACrF,IAAI,kBAAkB,GAAG,gBAAgB,CAAC;IAE1C,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE,CAAC;QAAtB,IAAM,IAAI,cAAA;QACb,IAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjF,IAAM,WAAW,GAAG,CAAC,gBAAgB,KAAI,MAAA,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC;QAExF,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;YAChE,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,aAAa,IAAI,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAhBD,yBAgBC"}
@@ -0,0 +1,14 @@
1
+ import type { Replacement } from '../types.js';
2
+ interface Options {
3
+ mask: string;
4
+ replacement: Replacement;
5
+ showMask: boolean;
6
+ }
7
+ /**
8
+ * Форматирует значение по заданной маске
9
+ * @param input
10
+ * @param options
11
+ * @returns
12
+ */
13
+ export default function format(input: string, { mask, replacement, showMask }: Options): string;
14
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Форматирует значение по заданной маске
5
+ * @param input
6
+ * @param options
7
+ * @returns
8
+ */
9
+ function format(input, _a) {
10
+ var mask = _a.mask, replacement = _a.replacement, showMask = _a.showMask;
11
+ var position = 0;
12
+ var formattedValue = '';
13
+ for (var _i = 0, mask_1 = mask; _i < mask_1.length; _i++) {
14
+ var char = mask_1[_i];
15
+ if (!showMask && input[position] === undefined) {
16
+ break;
17
+ }
18
+ var isReplacementKey = Object.prototype.hasOwnProperty.call(replacement, char);
19
+ if (isReplacementKey && input[position] !== undefined) {
20
+ formattedValue += input[position++];
21
+ }
22
+ else {
23
+ formattedValue += char;
24
+ }
25
+ }
26
+ return formattedValue;
27
+ }
28
+ exports.default = format;
29
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/mask/utils/format.ts"],"names":[],"mappings":";;AAQA;;;;;GAKG;AACH,SAAwB,MAAM,CAAC,KAAa,EAAE,EAAwC;QAAtC,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;IACzE,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,cAAc,GAAG,EAAE,CAAC;IAExB,KAAmB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE,CAAC;QAArB,IAAM,IAAI,aAAA;QACb,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM;QACR,CAAC;QAED,IAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEjF,IAAI,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YACtD,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,cAAc,IAAI,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAnBD,yBAmBC"}
@@ -0,0 +1,17 @@
1
+ import type { MaskPart, Replacement } from '../types.js';
2
+ interface Options {
3
+ mask: string;
4
+ replacement: Replacement;
5
+ }
6
+ /**
7
+ * Форматирует значение по заданной маске возвращая массив объектов,
8
+ * где каждый объект представляет собой информацию о символе:
9
+ * - `replacement` - символ замены;
10
+ * - `mask` - символ маски;
11
+ * - `input` - символ, введенный пользователем.
12
+ * @param formattedValue
13
+ * @param options
14
+ * @returns
15
+ */
16
+ export default function formatToParts(formattedValue: string, { mask, replacement }: Options): MaskPart[];
17
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Форматирует значение по заданной маске возвращая массив объектов,
5
+ * где каждый объект представляет собой информацию о символе:
6
+ * - `replacement` - символ замены;
7
+ * - `mask` - символ маски;
8
+ * - `input` - символ, введенный пользователем.
9
+ * @param formattedValue
10
+ * @param options
11
+ * @returns
12
+ */
13
+ function formatToParts(formattedValue, _a) {
14
+ var _b;
15
+ var mask = _a.mask, replacement = _a.replacement;
16
+ var result = [];
17
+ for (var i = 0; i < mask.length; i++) {
18
+ var value = (_b = formattedValue[i]) !== null && _b !== void 0 ? _b : mask[i];
19
+ var isReplacementKey = Object.prototype.hasOwnProperty.call(replacement, value);
20
+ var type = isReplacementKey
21
+ ? 'replacement'
22
+ : formattedValue[i] !== undefined && formattedValue[i] !== mask[i]
23
+ ? 'input'
24
+ : 'mask';
25
+ result.push({ type: type, value: value, index: i });
26
+ }
27
+ return result;
28
+ }
29
+ exports.default = formatToParts;
30
+ //# sourceMappingURL=formatToParts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatToParts.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/mask/utils/formatToParts.ts"],"names":[],"mappings":";;AAOA;;;;;;;;;GASG;AACH,SAAwB,aAAa,CAAC,cAAsB,EAAE,EAA8B;;QAA5B,IAAI,UAAA,EAAE,WAAW,iBAAA;IAC/E,IAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAM,KAAK,GAAG,MAAA,cAAc,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClF,IAAM,IAAI,GAAqB,gBAAgB;YAC7C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,CAAC;QAEb,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,gCAiBC"}
@@ -0,0 +1,2 @@
1
+ import type { Replacement } from '../types.js';
2
+ export default function formatToReplacementObject(replacement: string): Replacement;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function formatToReplacementObject(replacement) {
4
+ var _a;
5
+ return replacement.length > 0 ? (_a = {}, _a[replacement] = /./, _a) : {};
6
+ }
7
+ exports.default = formatToReplacementObject;
8
+ //# sourceMappingURL=formatToReplacementObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatToReplacementObject.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.ts"],"names":[],"mappings":";;AAEA,SAAwB,yBAAyB,CAAC,WAAmB;;IACnE,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAG,GAAC,WAAW,IAAG,GAAG,MAAG,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAFD,4CAEC"}
@@ -0,0 +1,14 @@
1
+ import type { MaskEventDetail, Replacement } from '../types.js';
2
+ interface Options {
3
+ mask: string;
4
+ replacement: Replacement;
5
+ showMask: boolean;
6
+ }
7
+ /**
8
+ * Формирует данные маскированного значения возвращая
9
+ * @param input пользовательские символы без учета символов маски
10
+ * @param options
11
+ * @returns
12
+ */
13
+ export default function resolveDetail(input: string, { mask, replacement, showMask }: Options): MaskEventDetail;
14
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var utils_1 = require("../utils.js");
7
+ var format_1 = __importDefault(require("./format.js"));
8
+ var formatToParts_1 = __importDefault(require("./formatToParts.js"));
9
+ /**
10
+ * Формирует данные маскированного значения возвращая
11
+ * @param input пользовательские символы без учета символов маски
12
+ * @param options
13
+ * @returns
14
+ */
15
+ function resolveDetail(input, _a) {
16
+ var mask = _a.mask, replacement = _a.replacement, showMask = _a.showMask;
17
+ var formattedValue = (0, format_1.default)(input, { mask: mask, replacement: replacement, showMask: showMask });
18
+ var parts = (0, formatToParts_1.default)(formattedValue, { mask: mask, replacement: replacement });
19
+ var pattern = (0, utils_1.generatePattern)({ mask: mask, replacement: replacement });
20
+ var patternWithDisableReplacementKey = (0, utils_1.generatePattern)({ mask: mask, replacement: replacement }, true);
21
+ var isValid = RegExp(patternWithDisableReplacementKey).test(formattedValue);
22
+ return { value: formattedValue, input: input, parts: parts, pattern: pattern, isValid: isValid };
23
+ }
24
+ exports.default = resolveDetail;
25
+ //# sourceMappingURL=resolveDetail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveDetail.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/mask/utils/resolveDetail.ts"],"names":[],"mappings":";;;;;AAAA,kCAA2C;AAE3C,oDAA8B;AAC9B,kEAA4C;AAU5C;;;;;GAKG;AACH,SAAwB,aAAa,CAAC,KAAa,EAAE,EAAwC;QAAtC,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;IAChF,IAAM,cAAc,GAAG,IAAA,gBAAM,EAAC,KAAK,EAAE,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IACtE,IAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,cAAc,EAAE,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;IAEnE,IAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;IACvD,IAAM,gCAAgC,GAAG,IAAA,uBAAe,EAAC,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,EAAE,IAAI,CAAC,CAAC;IAEtF,IAAM,OAAO,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE9E,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,OAAA,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AACnE,CAAC;AAVD,gCAUC"}
@@ -0,0 +1,18 @@
1
+ import type { MaskPart, Replacement } from '../types.js';
2
+ import type { InputType } from '../../core/index.js';
3
+ interface ResolveSelectionParam {
4
+ inputType: InputType;
5
+ value: string;
6
+ addedValue: string;
7
+ beforeChangeValue: string;
8
+ parts: MaskPart[];
9
+ replacement: Replacement;
10
+ separate: boolean;
11
+ }
12
+ /**
13
+ * Определяет позицию курсора для последующей установки
14
+ * @param param
15
+ * @returns
16
+ */
17
+ export default function resolveSelection({ inputType, value, addedValue, beforeChangeValue, parts, replacement, separate, }: ResolveSelectionParam): number;
18
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Определяет позицию курсора для последующей установки
5
+ * @param param
6
+ * @returns
7
+ */
8
+ function resolveSelection(_a) {
9
+ var _b, _c, _d;
10
+ var inputType = _a.inputType, value = _a.value, addedValue = _a.addedValue, beforeChangeValue = _a.beforeChangeValue,
11
+ // afterChangeValue,
12
+ parts = _a.parts, replacement = _a.replacement, separate = _a.separate;
13
+ var unformattedChars = parts.filter(function (_a) {
14
+ var type = _a.type;
15
+ return type === 'input' || (separate && type === 'replacement');
16
+ });
17
+ var lastAddedValueIndex = (_b = unformattedChars[beforeChangeValue.length + addedValue.length - 1]) === null || _b === void 0 ? void 0 : _b.index;
18
+ var lastBeforeChangeValueIndex = (_c = unformattedChars[beforeChangeValue.length - 1]) === null || _c === void 0 ? void 0 : _c.index;
19
+ var firstAfterChangeValueIndex = (_d = unformattedChars[beforeChangeValue.length + addedValue.length]) === null || _d === void 0 ? void 0 : _d.index;
20
+ if (inputType === 'insert') {
21
+ if (lastAddedValueIndex !== undefined)
22
+ return lastAddedValueIndex + 1;
23
+ if (firstAfterChangeValueIndex !== undefined)
24
+ return firstAfterChangeValueIndex;
25
+ if (lastBeforeChangeValueIndex !== undefined)
26
+ return lastBeforeChangeValueIndex + 1;
27
+ }
28
+ if (inputType === 'deleteForward') {
29
+ if (firstAfterChangeValueIndex !== undefined)
30
+ return firstAfterChangeValueIndex;
31
+ if (lastBeforeChangeValueIndex !== undefined)
32
+ return lastBeforeChangeValueIndex + 1;
33
+ }
34
+ if (inputType === 'deleteBackward') {
35
+ if (lastBeforeChangeValueIndex !== undefined)
36
+ return lastBeforeChangeValueIndex + 1;
37
+ if (firstAfterChangeValueIndex !== undefined)
38
+ return firstAfterChangeValueIndex;
39
+ }
40
+ // Находим первый индекс символа замены указанного в свойстве `replacement`
41
+ var replacementCharIndex = value
42
+ .split('')
43
+ .findIndex(function (char) { return Object.prototype.hasOwnProperty.call(replacement, char); });
44
+ return replacementCharIndex !== -1 ? replacementCharIndex : value.length;
45
+ }
46
+ exports.default = resolveSelection;
47
+ //# sourceMappingURL=resolveSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSelection.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/mask/utils/resolveSelection.ts"],"names":[],"mappings":";;AAcA;;;;GAIG;AACH,SAAwB,gBAAgB,CAAC,EASjB;;QARtB,SAAS,eAAA,EACT,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,iBAAiB,uBAAA;IACjB,oBAAoB;IACpB,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,QAAQ,cAAA;IAER,IAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,aAAa,CAAC;IAAxD,CAAwD,CAAC,CAAC;IAE9G,IAAM,mBAAmB,GAAG,MAAA,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,KAAK,CAAC;IACtG,IAAM,0BAA0B,GAAG,MAAA,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,KAAK,CAAC;IACzF,IAAM,0BAA0B,GAAG,MAAA,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,0CAAE,KAAK,CAAC;IAEzG,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,mBAAmB,KAAK,SAAS;YAAE,OAAO,mBAAmB,GAAG,CAAC,CAAC;QACtE,IAAI,0BAA0B,KAAK,SAAS;YAAE,OAAO,0BAA0B,CAAC;QAChF,IAAI,0BAA0B,KAAK,SAAS;YAAE,OAAO,0BAA0B,GAAG,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAClC,IAAI,0BAA0B,KAAK,SAAS;YAAE,OAAO,0BAA0B,CAAC;QAChF,IAAI,0BAA0B,KAAK,SAAS;YAAE,OAAO,0BAA0B,GAAG,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACnC,IAAI,0BAA0B,KAAK,SAAS;YAAE,OAAO,0BAA0B,GAAG,CAAC,CAAC;QACpF,IAAI,0BAA0B,KAAK,SAAS;YAAE,OAAO,0BAA0B,CAAC;IAClF,CAAC;IAED,2EAA2E;IAC3E,IAAM,oBAAoB,GAAG,KAAK;SAC/B,KAAK,CAAC,EAAE,CAAC;SACT,SAAS,CAAC,UAAC,IAAI,IAAK,OAAA,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAvD,CAAuD,CAAC,CAAC;IAEhF,OAAO,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;AAC3E,CAAC;AAtCD,mCAsCC"}
@@ -0,0 +1,16 @@
1
+ import type { Replacement } from '../types.js';
2
+ interface Options {
3
+ start?: number;
4
+ end?: number;
5
+ mask: string;
6
+ replacement: Replacement;
7
+ separate: boolean;
8
+ }
9
+ /**
10
+ *
11
+ * @param formattedValue
12
+ * @param options
13
+ * @returns
14
+ */
15
+ export default function unformat(formattedValue: string, { start, end, mask, replacement, separate }: Options): string;
16
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ *
5
+ * @param formattedValue
6
+ * @param options
7
+ * @returns
8
+ */
9
+ function unformat(formattedValue, _a) {
10
+ var _b = _a.start, start = _b === void 0 ? 0 : _b, end = _a.end, mask = _a.mask, replacement = _a.replacement, separate = _a.separate;
11
+ var slicedFormattedValue = formattedValue.slice(start, end);
12
+ var slicedMask = mask.slice(start, end);
13
+ var unformattedValue = '';
14
+ for (var i = 0; i < slicedMask.length; i++) {
15
+ var isReplacementKey = Object.prototype.hasOwnProperty.call(replacement, slicedMask[i]);
16
+ if (isReplacementKey && slicedFormattedValue[i] !== undefined && slicedFormattedValue[i] !== slicedMask[i]) {
17
+ unformattedValue += slicedFormattedValue[i];
18
+ }
19
+ else if (isReplacementKey && separate) {
20
+ unformattedValue += slicedMask[i];
21
+ }
22
+ }
23
+ return unformattedValue;
24
+ }
25
+ exports.default = unformat;
26
+ //# sourceMappingURL=unformat.js.map