linear-react-components-ui 2.0.0-beta.4 → 2.0.0-beta.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.
Files changed (89) hide show
  1. package/lib/inputs/date/helpers.js +11 -22
  2. package/lib/inputs/date/helpers.js.map +1 -1
  3. package/lib/inputs/mask/BaseMask.js +55 -65
  4. package/lib/inputs/mask/BaseMask.js.map +1 -1
  5. package/lib/inputs/number/Currency.js +35 -45
  6. package/lib/inputs/number/Currency.js.map +1 -1
  7. package/lib/inputs/number/Decimal.js +38 -48
  8. package/lib/inputs/number/Decimal.js.map +1 -1
  9. package/lib/inputs/number/index.js +38 -48
  10. package/lib/inputs/number/index.js.map +1 -1
  11. package/lib/inputs2/date/datefield/base.js +60 -70
  12. package/lib/inputs2/date/datefield/base.js.map +1 -1
  13. package/lib/inputs2/date/dateperiodfield/base.js +79 -89
  14. package/lib/inputs2/date/dateperiodfield/base.js.map +1 -1
  15. package/lib/inputs2/mask/Cnpj.js +58 -68
  16. package/lib/inputs2/mask/Cnpj.js.map +1 -1
  17. package/lib/inputs2/mask/Cpf.js +38 -48
  18. package/lib/inputs2/mask/Cpf.js.map +1 -1
  19. package/lib/inputs2/mask/index.js +50 -60
  20. package/lib/inputs2/mask/index.js.map +1 -1
  21. package/lib/inputs2/numberfield/currency.js +51 -61
  22. package/lib/inputs2/numberfield/currency.js.map +1 -1
  23. package/lib/inputs2/numberfield/decimal.js +25 -35
  24. package/lib/inputs2/numberfield/decimal.js.map +1 -1
  25. package/lib/inputs2/numberfield/index.js +46 -56
  26. package/lib/inputs2/numberfield/index.js.map +1 -1
  27. package/package.json +9 -6
  28. package/lib/node_modules/imask/esm/controls/html-contenteditable-mask-element.js +0 -35
  29. package/lib/node_modules/imask/esm/controls/html-contenteditable-mask-element.js.map +0 -1
  30. package/lib/node_modules/imask/esm/controls/html-input-mask-element.js +0 -32
  31. package/lib/node_modules/imask/esm/controls/html-input-mask-element.js.map +0 -1
  32. package/lib/node_modules/imask/esm/controls/html-mask-element.js +0 -49
  33. package/lib/node_modules/imask/esm/controls/html-mask-element.js.map +0 -1
  34. package/lib/node_modules/imask/esm/controls/input-history.js +0 -31
  35. package/lib/node_modules/imask/esm/controls/input-history.js.map +0 -1
  36. package/lib/node_modules/imask/esm/controls/input.js +0 -223
  37. package/lib/node_modules/imask/esm/controls/input.js.map +0 -1
  38. package/lib/node_modules/imask/esm/controls/mask-element.js +0 -44
  39. package/lib/node_modules/imask/esm/controls/mask-element.js.map +0 -1
  40. package/lib/node_modules/imask/esm/core/action-details.js +0 -52
  41. package/lib/node_modules/imask/esm/core/action-details.js.map +0 -1
  42. package/lib/node_modules/imask/esm/core/change-details.js +0 -37
  43. package/lib/node_modules/imask/esm/core/change-details.js.map +0 -1
  44. package/lib/node_modules/imask/esm/core/continuous-tail-details.js +0 -43
  45. package/lib/node_modules/imask/esm/core/continuous-tail-details.js.map +0 -1
  46. package/lib/node_modules/imask/esm/core/holder.js +0 -7
  47. package/lib/node_modules/imask/esm/core/holder.js.map +0 -1
  48. package/lib/node_modules/imask/esm/core/utils.js +0 -68
  49. package/lib/node_modules/imask/esm/core/utils.js.map +0 -1
  50. package/lib/node_modules/imask/esm/index.js +0 -51
  51. package/lib/node_modules/imask/esm/index.js.map +0 -1
  52. package/lib/node_modules/imask/esm/masked/base.js +0 -253
  53. package/lib/node_modules/imask/esm/masked/base.js.map +0 -1
  54. package/lib/node_modules/imask/esm/masked/date.js +0 -118
  55. package/lib/node_modules/imask/esm/masked/date.js.map +0 -1
  56. package/lib/node_modules/imask/esm/masked/dynamic.js +0 -223
  57. package/lib/node_modules/imask/esm/masked/dynamic.js.map +0 -1
  58. package/lib/node_modules/imask/esm/masked/enum.js +0 -70
  59. package/lib/node_modules/imask/esm/masked/enum.js.map +0 -1
  60. package/lib/node_modules/imask/esm/masked/factory.js +0 -47
  61. package/lib/node_modules/imask/esm/masked/factory.js.map +0 -1
  62. package/lib/node_modules/imask/esm/masked/function.js +0 -24
  63. package/lib/node_modules/imask/esm/masked/function.js.map +0 -1
  64. package/lib/node_modules/imask/esm/masked/number.js +0 -213
  65. package/lib/node_modules/imask/esm/masked/number.js.map +0 -1
  66. package/lib/node_modules/imask/esm/masked/pattern/chunk-tail-details.js +0 -104
  67. package/lib/node_modules/imask/esm/masked/pattern/chunk-tail-details.js.map +0 -1
  68. package/lib/node_modules/imask/esm/masked/pattern/cursor.js +0 -101
  69. package/lib/node_modules/imask/esm/masked/pattern/cursor.js.map +0 -1
  70. package/lib/node_modules/imask/esm/masked/pattern/fixed-definition.js +0 -103
  71. package/lib/node_modules/imask/esm/masked/pattern/fixed-definition.js.map +0 -1
  72. package/lib/node_modules/imask/esm/masked/pattern/input-definition.js +0 -134
  73. package/lib/node_modules/imask/esm/masked/pattern/input-definition.js.map +0 -1
  74. package/lib/node_modules/imask/esm/masked/pattern.js +0 -323
  75. package/lib/node_modules/imask/esm/masked/pattern.js.map +0 -1
  76. package/lib/node_modules/imask/esm/masked/pipe.js +0 -24
  77. package/lib/node_modules/imask/esm/masked/pipe.js.map +0 -1
  78. package/lib/node_modules/imask/esm/masked/range.js +0 -79
  79. package/lib/node_modules/imask/esm/masked/range.js.map +0 -1
  80. package/lib/node_modules/imask/esm/masked/regexp.js +0 -22
  81. package/lib/node_modules/imask/esm/masked/regexp.js.map +0 -1
  82. package/lib/node_modules/imask/esm/masked/repeat.js +0 -105
  83. package/lib/node_modules/imask/esm/masked/repeat.js.map +0 -1
  84. package/lib/node_modules/react-imask/esm/hook.js +0 -76
  85. package/lib/node_modules/react-imask/esm/hook.js.map +0 -1
  86. package/lib/node_modules/react-imask/esm/input.js +0 -24
  87. package/lib/node_modules/react-imask/esm/input.js.map +0 -1
  88. package/lib/node_modules/react-imask/esm/mixin.js +0 -132
  89. package/lib/node_modules/react-imask/esm/mixin.js.map +0 -1
@@ -1,323 +0,0 @@
1
- import k from "../core/change-details.js";
2
- import x from "../core/holder.js";
3
- import { DIRECTION as r } from "../core/utils.js";
4
- import y from "./base.js";
5
- import T, { normalizeOpts as b } from "./factory.js";
6
- import m from "./pattern/chunk-tail-details.js";
7
- import I from "./pattern/cursor.js";
8
- import C from "./pattern/fixed-definition.js";
9
- import _ from "./pattern/input-definition.js";
10
- import "./regexp.js";
11
- class h extends y {
12
- /** */
13
- /** */
14
- /** Single char for empty input */
15
- /** Single char for filled input */
16
- /** Show placeholder only when needed */
17
- /** Enable characters overwriting */
18
- /** */
19
- /** */
20
- /** */
21
- constructor(e) {
22
- super({
23
- ...h.DEFAULTS,
24
- ...e,
25
- definitions: Object.assign({}, _.DEFAULT_DEFINITIONS, e?.definitions)
26
- });
27
- }
28
- updateOptions(e) {
29
- super.updateOptions(e);
30
- }
31
- _update(e) {
32
- e.definitions = Object.assign({}, this.definitions, e.definitions), super._update(e), this._rebuildMask();
33
- }
34
- _rebuildMask() {
35
- const e = this.definitions;
36
- this._blocks = [], this.exposeBlock = void 0, this._stops = [], this._maskedBlocks = {};
37
- const s = this.mask;
38
- if (!s || !e) return;
39
- let t = !1, l = !1;
40
- for (let i = 0; i < s.length; ++i) {
41
- if (this.blocks) {
42
- const p = s.slice(i), g = Object.keys(this.blocks).filter((u) => p.indexOf(u) === 0);
43
- g.sort((u, d) => d.length - u.length);
44
- const c = g[0];
45
- if (c) {
46
- const {
47
- expose: u,
48
- repeat: d,
49
- ...E
50
- } = b(this.blocks[c]), B = {
51
- lazy: this.lazy,
52
- eager: this.eager,
53
- placeholderChar: this.placeholderChar,
54
- displayChar: this.displayChar,
55
- overwrite: this.overwrite,
56
- autofix: this.autofix,
57
- ...E,
58
- repeat: d,
59
- parent: this
60
- }, f = d != null ? new x.RepeatBlock(
61
- B
62
- /* TODO */
63
- ) : T(B);
64
- f && (this._blocks.push(f), u && (this.exposeBlock = f), this._maskedBlocks[c] || (this._maskedBlocks[c] = []), this._maskedBlocks[c].push(this._blocks.length - 1)), i += c.length - 1;
65
- continue;
66
- }
67
- }
68
- let o = s[i], a = o in e;
69
- if (o === h.STOP_CHAR) {
70
- this._stops.push(this._blocks.length);
71
- continue;
72
- }
73
- if (o === "{" || o === "}") {
74
- t = !t;
75
- continue;
76
- }
77
- if (o === "[" || o === "]") {
78
- l = !l;
79
- continue;
80
- }
81
- if (o === h.ESCAPE_CHAR) {
82
- if (++i, o = s[i], !o) break;
83
- a = !1;
84
- }
85
- const n = a ? new _({
86
- isOptional: l,
87
- lazy: this.lazy,
88
- eager: this.eager,
89
- placeholderChar: this.placeholderChar,
90
- displayChar: this.displayChar,
91
- ...b(e[o]),
92
- parent: this
93
- }) : new C({
94
- char: o,
95
- eager: this.eager,
96
- isUnmasking: t
97
- });
98
- this._blocks.push(n);
99
- }
100
- }
101
- get state() {
102
- return {
103
- ...super.state,
104
- _blocks: this._blocks.map((e) => e.state)
105
- };
106
- }
107
- set state(e) {
108
- if (!e) {
109
- this.reset();
110
- return;
111
- }
112
- const {
113
- _blocks: s,
114
- ...t
115
- } = e;
116
- this._blocks.forEach((l, i) => l.state = s[i]), super.state = t;
117
- }
118
- reset() {
119
- super.reset(), this._blocks.forEach((e) => e.reset());
120
- }
121
- get isComplete() {
122
- return this.exposeBlock ? this.exposeBlock.isComplete : this._blocks.every((e) => e.isComplete);
123
- }
124
- get isFilled() {
125
- return this._blocks.every((e) => e.isFilled);
126
- }
127
- get isFixed() {
128
- return this._blocks.every((e) => e.isFixed);
129
- }
130
- get isOptional() {
131
- return this._blocks.every((e) => e.isOptional);
132
- }
133
- doCommit() {
134
- this._blocks.forEach((e) => e.doCommit()), super.doCommit();
135
- }
136
- get unmaskedValue() {
137
- return this.exposeBlock ? this.exposeBlock.unmaskedValue : this._blocks.reduce((e, s) => e += s.unmaskedValue, "");
138
- }
139
- set unmaskedValue(e) {
140
- if (this.exposeBlock) {
141
- const s = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);
142
- this.exposeBlock.unmaskedValue = e, this.appendTail(s), this.doCommit();
143
- } else super.unmaskedValue = e;
144
- }
145
- get value() {
146
- return this.exposeBlock ? this.exposeBlock.value : (
147
- // TODO return _value when not in change?
148
- this._blocks.reduce((e, s) => e += s.value, "")
149
- );
150
- }
151
- set value(e) {
152
- if (this.exposeBlock) {
153
- const s = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);
154
- this.exposeBlock.value = e, this.appendTail(s), this.doCommit();
155
- } else super.value = e;
156
- }
157
- get typedValue() {
158
- return this.exposeBlock ? this.exposeBlock.typedValue : super.typedValue;
159
- }
160
- set typedValue(e) {
161
- if (this.exposeBlock) {
162
- const s = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);
163
- this.exposeBlock.typedValue = e, this.appendTail(s), this.doCommit();
164
- } else super.typedValue = e;
165
- }
166
- get displayValue() {
167
- return this._blocks.reduce((e, s) => e += s.displayValue, "");
168
- }
169
- appendTail(e) {
170
- return super.appendTail(e).aggregate(this._appendPlaceholder());
171
- }
172
- _appendEager() {
173
- var e;
174
- const s = new k();
175
- let t = (e = this._mapPosToBlock(this.displayValue.length)) == null ? void 0 : e.index;
176
- if (t == null) return s;
177
- this._blocks[t].isFilled && ++t;
178
- for (let l = t; l < this._blocks.length; ++l) {
179
- const i = this._blocks[l]._appendEager();
180
- if (!i.inserted) break;
181
- s.aggregate(i);
182
- }
183
- return s;
184
- }
185
- _appendCharRaw(e, s) {
186
- s === void 0 && (s = {});
187
- const t = this._mapPosToBlock(this.displayValue.length), l = new k();
188
- if (!t) return l;
189
- for (let o = t.index, a; a = this._blocks[o]; ++o) {
190
- var i;
191
- const n = a._appendChar(e, {
192
- ...s,
193
- _beforeTailState: (i = s._beforeTailState) == null || (i = i._blocks) == null ? void 0 : i[o]
194
- });
195
- if (l.aggregate(n), n.consumed) break;
196
- }
197
- return l;
198
- }
199
- extractTail(e, s) {
200
- e === void 0 && (e = 0), s === void 0 && (s = this.displayValue.length);
201
- const t = new m();
202
- return e === s || this._forEachBlocksInRange(e, s, (l, i, o, a) => {
203
- const n = l.extractTail(o, a);
204
- n.stop = this._findStopBefore(i), n.from = this._blockStartPos(i), n instanceof m && (n.blockIndex = i), t.extend(n);
205
- }), t;
206
- }
207
- extractInput(e, s, t) {
208
- if (e === void 0 && (e = 0), s === void 0 && (s = this.displayValue.length), t === void 0 && (t = {}), e === s) return "";
209
- let l = "";
210
- return this._forEachBlocksInRange(e, s, (i, o, a, n) => {
211
- l += i.extractInput(a, n, t);
212
- }), l;
213
- }
214
- _findStopBefore(e) {
215
- let s;
216
- for (let t = 0; t < this._stops.length; ++t) {
217
- const l = this._stops[t];
218
- if (l <= e) s = l;
219
- else break;
220
- }
221
- return s;
222
- }
223
- /** Appends placeholder depending on laziness */
224
- _appendPlaceholder(e) {
225
- const s = new k();
226
- if (this.lazy && e == null) return s;
227
- const t = this._mapPosToBlock(this.displayValue.length);
228
- if (!t) return s;
229
- const l = t.index, i = e ?? this._blocks.length;
230
- return this._blocks.slice(l, i).forEach((o) => {
231
- if (!o.lazy || e != null) {
232
- var a;
233
- s.aggregate(o._appendPlaceholder((a = o._blocks) == null ? void 0 : a.length));
234
- }
235
- }), s;
236
- }
237
- /** Finds block in pos */
238
- _mapPosToBlock(e) {
239
- let s = "";
240
- for (let t = 0; t < this._blocks.length; ++t) {
241
- const l = this._blocks[t], i = s.length;
242
- if (s += l.displayValue, e <= s.length)
243
- return {
244
- index: t,
245
- offset: e - i
246
- };
247
- }
248
- }
249
- _blockStartPos(e) {
250
- return this._blocks.slice(0, e).reduce((s, t) => s += t.displayValue.length, 0);
251
- }
252
- _forEachBlocksInRange(e, s, t) {
253
- s === void 0 && (s = this.displayValue.length);
254
- const l = this._mapPosToBlock(e);
255
- if (l) {
256
- const i = this._mapPosToBlock(s), o = i && l.index === i.index, a = l.offset, n = i && o ? i.offset : this._blocks[l.index].displayValue.length;
257
- if (t(this._blocks[l.index], l.index, a, n), i && !o) {
258
- for (let p = l.index + 1; p < i.index; ++p)
259
- t(this._blocks[p], p, 0, this._blocks[p].displayValue.length);
260
- t(this._blocks[i.index], i.index, 0, i.offset);
261
- }
262
- }
263
- }
264
- remove(e, s) {
265
- e === void 0 && (e = 0), s === void 0 && (s = this.displayValue.length);
266
- const t = super.remove(e, s);
267
- return this._forEachBlocksInRange(e, s, (l, i, o, a) => {
268
- t.aggregate(l.remove(o, a));
269
- }), t;
270
- }
271
- nearestInputPos(e, s) {
272
- if (s === void 0 && (s = r.NONE), !this._blocks.length) return 0;
273
- const t = new I(this, e);
274
- if (s === r.NONE)
275
- return t.pushRightBeforeInput() || (t.popState(), t.pushLeftBeforeInput()) ? t.pos : this.displayValue.length;
276
- if (s === r.LEFT || s === r.FORCE_LEFT) {
277
- if (s === r.LEFT) {
278
- if (t.pushRightBeforeFilled(), t.ok && t.pos === e) return e;
279
- t.popState();
280
- }
281
- if (t.pushLeftBeforeInput(), t.pushLeftBeforeRequired(), t.pushLeftBeforeFilled(), s === r.LEFT) {
282
- if (t.pushRightBeforeInput(), t.pushRightBeforeRequired(), t.ok && t.pos <= e || (t.popState(), t.ok && t.pos <= e)) return t.pos;
283
- t.popState();
284
- }
285
- return t.ok ? t.pos : s === r.FORCE_LEFT ? 0 : (t.popState(), t.ok || (t.popState(), t.ok) ? t.pos : 0);
286
- }
287
- return s === r.RIGHT || s === r.FORCE_RIGHT ? (t.pushRightBeforeInput(), t.pushRightBeforeRequired(), t.pushRightBeforeFilled() ? t.pos : s === r.FORCE_RIGHT ? this.displayValue.length : (t.popState(), t.ok || (t.popState(), t.ok) ? t.pos : this.nearestInputPos(e, r.LEFT))) : e;
288
- }
289
- totalInputPositions(e, s) {
290
- e === void 0 && (e = 0), s === void 0 && (s = this.displayValue.length);
291
- let t = 0;
292
- return this._forEachBlocksInRange(e, s, (l, i, o, a) => {
293
- t += l.totalInputPositions(o, a);
294
- }), t;
295
- }
296
- /** Get block by name */
297
- maskedBlock(e) {
298
- return this.maskedBlocks(e)[0];
299
- }
300
- /** Get all blocks by name */
301
- maskedBlocks(e) {
302
- const s = this._maskedBlocks[e];
303
- return s ? s.map((t) => this._blocks[t]) : [];
304
- }
305
- pad(e) {
306
- const s = new k();
307
- return this._forEachBlocksInRange(0, this.displayValue.length, (t) => s.aggregate(t.pad(e))), s;
308
- }
309
- }
310
- h.DEFAULTS = {
311
- ...y.DEFAULTS,
312
- lazy: !0,
313
- placeholderChar: "_"
314
- };
315
- h.STOP_CHAR = "`";
316
- h.ESCAPE_CHAR = "\\";
317
- h.InputDefinition = _;
318
- h.FixedDefinition = C;
319
- x.MaskedPattern = h;
320
- export {
321
- h as default
322
- };
323
- //# sourceMappingURL=pattern.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pattern.js","sources":["../../../../../node_modules/imask/esm/masked/pattern.js"],"sourcesContent":["import ChangeDetails from '../core/change-details.js';\nimport IMask from '../core/holder.js';\nimport { DIRECTION } from '../core/utils.js';\nimport Masked from './base.js';\nimport createMask, { normalizeOpts } from './factory.js';\nimport ChunksTailDetails from './pattern/chunk-tail-details.js';\nimport PatternCursor from './pattern/cursor.js';\nimport PatternFixedDefinition from './pattern/fixed-definition.js';\nimport PatternInputDefinition from './pattern/input-definition.js';\nimport './regexp.js';\nimport '../core/continuous-tail-details.js';\n\n/** Pattern mask */\nclass MaskedPattern extends Masked {\n /** */\n\n /** */\n\n /** Single char for empty input */\n\n /** Single char for filled input */\n\n /** Show placeholder only when needed */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n super({\n ...MaskedPattern.DEFAULTS,\n ...opts,\n definitions: Object.assign({}, PatternInputDefinition.DEFAULT_DEFINITIONS, opts == null ? void 0 : opts.definitions)\n });\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n opts.definitions = Object.assign({}, this.definitions, opts.definitions);\n super._update(opts);\n this._rebuildMask();\n }\n _rebuildMask() {\n const defs = this.definitions;\n this._blocks = [];\n this.exposeBlock = undefined;\n this._stops = [];\n this._maskedBlocks = {};\n const pattern = this.mask;\n if (!pattern || !defs) return;\n let unmaskingBlock = false;\n let optionalBlock = false;\n for (let i = 0; i < pattern.length; ++i) {\n if (this.blocks) {\n const p = pattern.slice(i);\n const bNames = Object.keys(this.blocks).filter(bName => p.indexOf(bName) === 0);\n // order by key length\n bNames.sort((a, b) => b.length - a.length);\n // use block name with max length\n const bName = bNames[0];\n if (bName) {\n const {\n expose,\n repeat,\n ...bOpts\n } = normalizeOpts(this.blocks[bName]); // TODO type Opts<Arg & Extra>\n const blockOpts = {\n lazy: this.lazy,\n eager: this.eager,\n placeholderChar: this.placeholderChar,\n displayChar: this.displayChar,\n overwrite: this.overwrite,\n autofix: this.autofix,\n ...bOpts,\n repeat,\n parent: this\n };\n const maskedBlock = repeat != null ? new IMask.RepeatBlock(blockOpts /* TODO */) : createMask(blockOpts);\n if (maskedBlock) {\n this._blocks.push(maskedBlock);\n if (expose) this.exposeBlock = maskedBlock;\n\n // store block index\n if (!this._maskedBlocks[bName]) this._maskedBlocks[bName] = [];\n this._maskedBlocks[bName].push(this._blocks.length - 1);\n }\n i += bName.length - 1;\n continue;\n }\n }\n let char = pattern[i];\n let isInput = (char in defs);\n if (char === MaskedPattern.STOP_CHAR) {\n this._stops.push(this._blocks.length);\n continue;\n }\n if (char === '{' || char === '}') {\n unmaskingBlock = !unmaskingBlock;\n continue;\n }\n if (char === '[' || char === ']') {\n optionalBlock = !optionalBlock;\n continue;\n }\n if (char === MaskedPattern.ESCAPE_CHAR) {\n ++i;\n char = pattern[i];\n if (!char) break;\n isInput = false;\n }\n const def = isInput ? new PatternInputDefinition({\n isOptional: optionalBlock,\n lazy: this.lazy,\n eager: this.eager,\n placeholderChar: this.placeholderChar,\n displayChar: this.displayChar,\n ...normalizeOpts(defs[char]),\n parent: this\n }) : new PatternFixedDefinition({\n char,\n eager: this.eager,\n isUnmasking: unmaskingBlock\n });\n this._blocks.push(def);\n }\n }\n get state() {\n return {\n ...super.state,\n _blocks: this._blocks.map(b => b.state)\n };\n }\n set state(state) {\n if (!state) {\n this.reset();\n return;\n }\n const {\n _blocks,\n ...maskedState\n } = state;\n this._blocks.forEach((b, bi) => b.state = _blocks[bi]);\n super.state = maskedState;\n }\n reset() {\n super.reset();\n this._blocks.forEach(b => b.reset());\n }\n get isComplete() {\n return this.exposeBlock ? this.exposeBlock.isComplete : this._blocks.every(b => b.isComplete);\n }\n get isFilled() {\n return this._blocks.every(b => b.isFilled);\n }\n get isFixed() {\n return this._blocks.every(b => b.isFixed);\n }\n get isOptional() {\n return this._blocks.every(b => b.isOptional);\n }\n doCommit() {\n this._blocks.forEach(b => b.doCommit());\n super.doCommit();\n }\n get unmaskedValue() {\n return this.exposeBlock ? this.exposeBlock.unmaskedValue : this._blocks.reduce((str, b) => str += b.unmaskedValue, '');\n }\n set unmaskedValue(unmaskedValue) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.unmaskedValue = unmaskedValue;\n this.appendTail(tail);\n this.doCommit();\n } else super.unmaskedValue = unmaskedValue;\n }\n get value() {\n return this.exposeBlock ? this.exposeBlock.value :\n // TODO return _value when not in change?\n this._blocks.reduce((str, b) => str += b.value, '');\n }\n set value(value) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.value = value;\n this.appendTail(tail);\n this.doCommit();\n } else super.value = value;\n }\n get typedValue() {\n return this.exposeBlock ? this.exposeBlock.typedValue : super.typedValue;\n }\n set typedValue(value) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.typedValue = value;\n this.appendTail(tail);\n this.doCommit();\n } else super.typedValue = value;\n }\n get displayValue() {\n return this._blocks.reduce((str, b) => str += b.displayValue, '');\n }\n appendTail(tail) {\n return super.appendTail(tail).aggregate(this._appendPlaceholder());\n }\n _appendEager() {\n var _this$_mapPosToBlock;\n const details = new ChangeDetails();\n let startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.displayValue.length)) == null ? void 0 : _this$_mapPosToBlock.index;\n if (startBlockIndex == null) return details;\n\n // TODO test if it works for nested pattern masks\n if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex;\n for (let bi = startBlockIndex; bi < this._blocks.length; ++bi) {\n const d = this._blocks[bi]._appendEager();\n if (!d.inserted) break;\n details.aggregate(d);\n }\n return details;\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const blockIter = this._mapPosToBlock(this.displayValue.length);\n const details = new ChangeDetails();\n if (!blockIter) return details;\n for (let bi = blockIter.index, block; block = this._blocks[bi]; ++bi) {\n var _flags$_beforeTailSta;\n const blockDetails = block._appendChar(ch, {\n ...flags,\n _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) == null || (_flags$_beforeTailSta = _flags$_beforeTailSta._blocks) == null ? void 0 : _flags$_beforeTailSta[bi]\n });\n details.aggregate(blockDetails);\n if (blockDetails.consumed) break; // go next char\n }\n return details;\n }\n extractTail(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const chunkTail = new ChunksTailDetails();\n if (fromPos === toPos) return chunkTail;\n this._forEachBlocksInRange(fromPos, toPos, (b, bi, bFromPos, bToPos) => {\n const blockChunk = b.extractTail(bFromPos, bToPos);\n blockChunk.stop = this._findStopBefore(bi);\n blockChunk.from = this._blockStartPos(bi);\n if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi;\n chunkTail.extend(blockChunk);\n });\n return chunkTail;\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n if (flags === void 0) {\n flags = {};\n }\n if (fromPos === toPos) return '';\n let input = '';\n this._forEachBlocksInRange(fromPos, toPos, (b, _, fromPos, toPos) => {\n input += b.extractInput(fromPos, toPos, flags);\n });\n return input;\n }\n _findStopBefore(blockIndex) {\n let stopBefore;\n for (let si = 0; si < this._stops.length; ++si) {\n const stop = this._stops[si];\n if (stop <= blockIndex) stopBefore = stop;else break;\n }\n return stopBefore;\n }\n\n /** Appends placeholder depending on laziness */\n _appendPlaceholder(toBlockIndex) {\n const details = new ChangeDetails();\n if (this.lazy && toBlockIndex == null) return details;\n const startBlockIter = this._mapPosToBlock(this.displayValue.length);\n if (!startBlockIter) return details;\n const startBlockIndex = startBlockIter.index;\n const endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length;\n this._blocks.slice(startBlockIndex, endBlockIndex).forEach(b => {\n if (!b.lazy || toBlockIndex != null) {\n var _blocks2;\n details.aggregate(b._appendPlaceholder((_blocks2 = b._blocks) == null ? void 0 : _blocks2.length));\n }\n });\n return details;\n }\n\n /** Finds block in pos */\n _mapPosToBlock(pos) {\n let accVal = '';\n for (let bi = 0; bi < this._blocks.length; ++bi) {\n const block = this._blocks[bi];\n const blockStartPos = accVal.length;\n accVal += block.displayValue;\n if (pos <= accVal.length) {\n return {\n index: bi,\n offset: pos - blockStartPos\n };\n }\n }\n }\n _blockStartPos(blockIndex) {\n return this._blocks.slice(0, blockIndex).reduce((pos, b) => pos += b.displayValue.length, 0);\n }\n _forEachBlocksInRange(fromPos, toPos, fn) {\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const fromBlockIter = this._mapPosToBlock(fromPos);\n if (fromBlockIter) {\n const toBlockIter = this._mapPosToBlock(toPos);\n // process first block\n const isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index;\n const fromBlockStartPos = fromBlockIter.offset;\n const fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].displayValue.length;\n fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos);\n if (toBlockIter && !isSameBlock) {\n // process intermediate blocks\n for (let bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) {\n fn(this._blocks[bi], bi, 0, this._blocks[bi].displayValue.length);\n }\n\n // process last block\n fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset);\n }\n }\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const removeDetails = super.remove(fromPos, toPos);\n this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => {\n removeDetails.aggregate(b.remove(bFromPos, bToPos));\n });\n return removeDetails;\n }\n nearestInputPos(cursorPos, direction) {\n if (direction === void 0) {\n direction = DIRECTION.NONE;\n }\n if (!this._blocks.length) return 0;\n const cursor = new PatternCursor(this, cursorPos);\n if (direction === DIRECTION.NONE) {\n // -------------------------------------------------\n // NONE should only go out from fixed to the right!\n // -------------------------------------------------\n if (cursor.pushRightBeforeInput()) return cursor.pos;\n cursor.popState();\n if (cursor.pushLeftBeforeInput()) return cursor.pos;\n return this.displayValue.length;\n }\n\n // FORCE is only about a|* otherwise is 0\n if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) {\n // try to break fast when *|a\n if (direction === DIRECTION.LEFT) {\n cursor.pushRightBeforeFilled();\n if (cursor.ok && cursor.pos === cursorPos) return cursorPos;\n cursor.popState();\n }\n\n // forward flow\n cursor.pushLeftBeforeInput();\n cursor.pushLeftBeforeRequired();\n cursor.pushLeftBeforeFilled();\n\n // backward flow\n if (direction === DIRECTION.LEFT) {\n cursor.pushRightBeforeInput();\n cursor.pushRightBeforeRequired();\n if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;\n cursor.popState();\n if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;\n cursor.popState();\n }\n if (cursor.ok) return cursor.pos;\n if (direction === DIRECTION.FORCE_LEFT) return 0;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n return 0;\n }\n if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) {\n // forward flow\n cursor.pushRightBeforeInput();\n cursor.pushRightBeforeRequired();\n if (cursor.pushRightBeforeFilled()) return cursor.pos;\n if (direction === DIRECTION.FORCE_RIGHT) return this.displayValue.length;\n\n // backward flow\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n return this.nearestInputPos(cursorPos, DIRECTION.LEFT);\n }\n return cursorPos;\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n let total = 0;\n this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => {\n total += b.totalInputPositions(bFromPos, bToPos);\n });\n return total;\n }\n\n /** Get block by name */\n maskedBlock(name) {\n return this.maskedBlocks(name)[0];\n }\n\n /** Get all blocks by name */\n maskedBlocks(name) {\n const indices = this._maskedBlocks[name];\n if (!indices) return [];\n return indices.map(gi => this._blocks[gi]);\n }\n pad(flags) {\n const details = new ChangeDetails();\n this._forEachBlocksInRange(0, this.displayValue.length, b => details.aggregate(b.pad(flags)));\n return details;\n }\n}\nMaskedPattern.DEFAULTS = {\n ...Masked.DEFAULTS,\n lazy: true,\n placeholderChar: '_'\n};\nMaskedPattern.STOP_CHAR = '`';\nMaskedPattern.ESCAPE_CHAR = '\\\\';\nMaskedPattern.InputDefinition = PatternInputDefinition;\nMaskedPattern.FixedDefinition = PatternFixedDefinition;\nIMask.MaskedPattern = MaskedPattern;\n\nexport { MaskedPattern as default };\n"],"names":["MaskedPattern","Masked","opts","PatternInputDefinition","defs","pattern","unmaskingBlock","optionalBlock","bNames","bName","a","b","expose","repeat","bOpts","normalizeOpts","blockOpts","maskedBlock","IMask","createMask","char","isInput","def","PatternFixedDefinition","state","_blocks","maskedState","bi","str","unmaskedValue","tail","value","_this$_mapPosToBlock","details","ChangeDetails","startBlockIndex","d","ch","flags","blockIter","block","_flags$_beforeTailSta","blockDetails","fromPos","toPos","chunkTail","ChunksTailDetails","bFromPos","bToPos","blockChunk","input","_","blockIndex","stopBefore","si","stop","toBlockIndex","startBlockIter","endBlockIndex","_blocks2","pos","accVal","blockStartPos","fn","fromBlockIter","toBlockIter","isSameBlock","fromBlockStartPos","fromBlockEndPos","removeDetails","cursorPos","direction","DIRECTION","cursor","PatternCursor","total","name","indices","gi"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,24 +0,0 @@
1
- import P from "./factory.js";
2
- import n from "../core/holder.js";
3
- const a = {
4
- MASKED: "value",
5
- UNMASKED: "unmaskedValue",
6
- TYPED: "typedValue"
7
- };
8
- function u(t, e, r) {
9
- e === void 0 && (e = a.MASKED), r === void 0 && (r = a.MASKED);
10
- const i = P(t);
11
- return (E) => i.runIsolated((p) => (p[e] = E, p[r]));
12
- }
13
- function o(t, e, r, i) {
14
- return u(e, r, i)(t);
15
- }
16
- n.PIPE_TYPE = a;
17
- n.createPipe = u;
18
- n.pipe = o;
19
- export {
20
- a as PIPE_TYPE,
21
- u as createPipe,
22
- o as pipe
23
- };
24
- //# sourceMappingURL=pipe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipe.js","sources":["../../../../../node_modules/imask/esm/masked/pipe.js"],"sourcesContent":["import createMask from './factory.js';\nimport IMask from '../core/holder.js';\nimport '../core/utils.js';\n\n/** Mask pipe source and destination types */\nconst PIPE_TYPE = {\n MASKED: 'value',\n UNMASKED: 'unmaskedValue',\n TYPED: 'typedValue'\n};\n/** Creates new pipe function depending on mask type, source and destination options */\nfunction createPipe(arg, from, to) {\n if (from === void 0) {\n from = PIPE_TYPE.MASKED;\n }\n if (to === void 0) {\n to = PIPE_TYPE.MASKED;\n }\n const masked = createMask(arg);\n return value => masked.runIsolated(m => {\n m[from] = value;\n return m[to];\n });\n}\n\n/** Pipes value through mask depending on mask type, source and destination options */\nfunction pipe(value, mask, from, to) {\n return createPipe(mask, from, to)(value);\n}\nIMask.PIPE_TYPE = PIPE_TYPE;\nIMask.createPipe = createPipe;\nIMask.pipe = pipe;\n\nexport { PIPE_TYPE, createPipe, pipe };\n"],"names":["PIPE_TYPE","createPipe","arg","from","to","masked","createMask","value","m","pipe","mask","IMask"],"mappings":";;AAKK,MAACA,IAAY;AAAA,EAChB,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AACT;AAEA,SAASC,EAAWC,GAAKC,GAAMC,GAAI;AACjC,EAAID,MAAS,WACXA,IAAOH,EAAU,SAEfI,MAAO,WACTA,IAAKJ,EAAU;AAEjB,QAAMK,IAASC,EAAWJ,CAAG;AAC7B,SAAO,CAAAK,MAASF,EAAO,YAAY,CAAAG,OACjCA,EAAEL,CAAI,IAAII,GACHC,EAAEJ,CAAE,EACZ;AACH;AAGA,SAASK,EAAKF,GAAOG,GAAMP,GAAMC,GAAI;AACnC,SAAOH,EAAWS,GAAMP,GAAMC,CAAE,EAAEG,CAAK;AACzC;AACAI,EAAM,YAAYX;AAClBW,EAAM,aAAaV;AACnBU,EAAM,OAAOF;","x_google_ignoreList":[0]}
@@ -1,79 +0,0 @@
1
- import p from "../core/change-details.js";
2
- import u from "../core/holder.js";
3
- import m from "./pattern.js";
4
- import "./base.js";
5
- import "./factory.js";
6
- import "./pattern/input-definition.js";
7
- import "./regexp.js";
8
- class d extends m {
9
- /**
10
- Optionally sets max length of pattern.
11
- Used when pattern length is longer then `to` param length. Pads zeros at start in this case.
12
- */
13
- /** Min bound */
14
- /** Max bound */
15
- get _matchFrom() {
16
- return this.maxLength - String(this.from).length;
17
- }
18
- constructor(e) {
19
- super(e);
20
- }
21
- updateOptions(e) {
22
- super.updateOptions(e);
23
- }
24
- _update(e) {
25
- const {
26
- to: t = this.to || 0,
27
- from: r = this.from || 0,
28
- maxLength: i = this.maxLength || 0,
29
- autofix: a = this.autofix,
30
- ...h
31
- } = e;
32
- this.to = t, this.from = r, this.maxLength = Math.max(String(t).length, i), this.autofix = a;
33
- const o = String(this.from).padStart(this.maxLength, "0"), n = String(this.to).padStart(this.maxLength, "0");
34
- let s = 0;
35
- for (; s < n.length && n[s] === o[s]; ) ++s;
36
- h.mask = n.slice(0, s).replace(/0/g, "\\0") + "0".repeat(this.maxLength - s), super._update(h);
37
- }
38
- get isComplete() {
39
- return super.isComplete && !!this.value;
40
- }
41
- boundaries(e) {
42
- let t = "", r = "";
43
- const [, i, a] = e.match(/^(\D*)(\d*)(\D*)/) || [];
44
- return a && (t = "0".repeat(i.length) + a, r = "9".repeat(i.length) + a), t = t.padEnd(this.maxLength, "0"), r = r.padEnd(this.maxLength, "9"), [t, r];
45
- }
46
- doPrepareChar(e, t) {
47
- t === void 0 && (t = {});
48
- let r;
49
- return [e, r] = super.doPrepareChar(e.replace(/\D/g, ""), t), e || (r.skip = !this.isComplete), [e, r];
50
- }
51
- _appendCharRaw(e, t) {
52
- if (t === void 0 && (t = {}), !this.autofix || this.value.length + 1 > this.maxLength) return super._appendCharRaw(e, t);
53
- const r = String(this.from).padStart(this.maxLength, "0"), i = String(this.to).padStart(this.maxLength, "0"), [a, h] = this.boundaries(this.value + e);
54
- return Number(h) < this.from ? super._appendCharRaw(r[this.value.length], t) : Number(a) > this.to ? !t.tail && this.autofix === "pad" && this.value.length + 1 < this.maxLength ? super._appendCharRaw(r[this.value.length], t).aggregate(this._appendCharRaw(e, t)) : super._appendCharRaw(i[this.value.length], t) : super._appendCharRaw(e, t);
55
- }
56
- doValidate(e) {
57
- const t = this.value;
58
- if (t.search(/[^0]/) === -1 && t.length <= this._matchFrom) return !0;
59
- const [i, a] = this.boundaries(t);
60
- return this.from <= Number(a) && Number(i) <= this.to && super.doValidate(e);
61
- }
62
- pad(e) {
63
- const t = new p();
64
- if (this.value.length === this.maxLength) return t;
65
- const r = this.value, i = this.maxLength - this.value.length;
66
- if (i) {
67
- this.reset();
68
- for (let a = 0; a < i; ++a)
69
- t.aggregate(super._appendCharRaw("0", e));
70
- r.split("").forEach((a) => this._appendCharRaw(a));
71
- }
72
- return t;
73
- }
74
- }
75
- u.MaskedRange = d;
76
- export {
77
- d as default
78
- };
79
- //# sourceMappingURL=range.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"range.js","sources":["../../../../../node_modules/imask/esm/masked/range.js"],"sourcesContent":["import ChangeDetails from '../core/change-details.js';\nimport IMask from '../core/holder.js';\nimport MaskedPattern from './pattern.js';\nimport '../core/utils.js';\nimport './base.js';\nimport '../core/continuous-tail-details.js';\nimport './factory.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\n/** Pattern which accepts ranges */\nclass MaskedRange extends MaskedPattern {\n /**\n Optionally sets max length of pattern.\n Used when pattern length is longer then `to` param length. Pads zeros at start in this case.\n */\n\n /** Min bound */\n\n /** Max bound */\n\n get _matchFrom() {\n return this.maxLength - String(this.from).length;\n }\n constructor(opts) {\n super(opts); // mask will be created in _update\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const {\n to = this.to || 0,\n from = this.from || 0,\n maxLength = this.maxLength || 0,\n autofix = this.autofix,\n ...patternOpts\n } = opts;\n this.to = to;\n this.from = from;\n this.maxLength = Math.max(String(to).length, maxLength);\n this.autofix = autofix;\n const fromStr = String(this.from).padStart(this.maxLength, '0');\n const toStr = String(this.to).padStart(this.maxLength, '0');\n let sameCharsCount = 0;\n while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) ++sameCharsCount;\n patternOpts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\\\0') + '0'.repeat(this.maxLength - sameCharsCount);\n super._update(patternOpts);\n }\n get isComplete() {\n return super.isComplete && Boolean(this.value);\n }\n boundaries(str) {\n let minstr = '';\n let maxstr = '';\n const [, placeholder, num] = str.match(/^(\\D*)(\\d*)(\\D*)/) || [];\n if (num) {\n minstr = '0'.repeat(placeholder.length) + num;\n maxstr = '9'.repeat(placeholder.length) + num;\n }\n minstr = minstr.padEnd(this.maxLength, '0');\n maxstr = maxstr.padEnd(this.maxLength, '9');\n return [minstr, maxstr];\n }\n doPrepareChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n let details;\n [ch, details] = super.doPrepareChar(ch.replace(/\\D/g, ''), flags);\n if (!ch) details.skip = !this.isComplete;\n return [ch, details];\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n if (!this.autofix || this.value.length + 1 > this.maxLength) return super._appendCharRaw(ch, flags);\n const fromStr = String(this.from).padStart(this.maxLength, '0');\n const toStr = String(this.to).padStart(this.maxLength, '0');\n const [minstr, maxstr] = this.boundaries(this.value + ch);\n if (Number(maxstr) < this.from) return super._appendCharRaw(fromStr[this.value.length], flags);\n if (Number(minstr) > this.to) {\n if (!flags.tail && this.autofix === 'pad' && this.value.length + 1 < this.maxLength) {\n return super._appendCharRaw(fromStr[this.value.length], flags).aggregate(this._appendCharRaw(ch, flags));\n }\n return super._appendCharRaw(toStr[this.value.length], flags);\n }\n return super._appendCharRaw(ch, flags);\n }\n doValidate(flags) {\n const str = this.value;\n const firstNonZero = str.search(/[^0]/);\n if (firstNonZero === -1 && str.length <= this._matchFrom) return true;\n const [minstr, maxstr] = this.boundaries(str);\n return this.from <= Number(maxstr) && Number(minstr) <= this.to && super.doValidate(flags);\n }\n pad(flags) {\n const details = new ChangeDetails();\n if (this.value.length === this.maxLength) return details;\n const value = this.value;\n const padLength = this.maxLength - this.value.length;\n if (padLength) {\n this.reset();\n for (let i = 0; i < padLength; ++i) {\n details.aggregate(super._appendCharRaw('0', flags));\n }\n\n // append tail\n value.split('').forEach(ch => this._appendCharRaw(ch));\n }\n return details;\n }\n}\nIMask.MaskedRange = MaskedRange;\n\nexport { MaskedRange as default };\n"],"names":["MaskedRange","MaskedPattern","opts","to","from","maxLength","autofix","patternOpts","fromStr","toStr","sameCharsCount","str","minstr","maxstr","placeholder","num","ch","flags","details","ChangeDetails","value","padLength","i","IMask"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,22 +0,0 @@
1
- import p from "./base.js";
2
- import t from "../core/holder.js";
3
- import "../core/change-details.js";
4
- class d extends p {
5
- /** */
6
- /** Enable characters overwriting */
7
- /** */
8
- /** */
9
- /** */
10
- updateOptions(e) {
11
- super.updateOptions(e);
12
- }
13
- _update(e) {
14
- const a = e.mask;
15
- a && (e.validate = (s) => s.search(a) >= 0), super._update(e);
16
- }
17
- }
18
- t.MaskedRegExp = d;
19
- export {
20
- d as default
21
- };
22
- //# sourceMappingURL=regexp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regexp.js","sources":["../../../../../node_modules/imask/esm/masked/regexp.js"],"sourcesContent":["import Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/change-details.js';\nimport '../core/continuous-tail-details.js';\nimport '../core/utils.js';\n\n/** Masking by RegExp */\nclass MaskedRegExp extends Masked {\n /** */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const mask = opts.mask;\n if (mask) opts.validate = value => value.search(mask) >= 0;\n super._update(opts);\n }\n}\nIMask.MaskedRegExp = MaskedRegExp;\n\nexport { MaskedRegExp as default };\n"],"names":["MaskedRegExp","Masked","opts","mask","value","IMask"],"mappings":";;;AAOA,MAAMA,UAAqBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWhC,cAAcC,GAAM;AAClB,UAAM,cAAcA,CAAI;AAAA,EAC1B;AAAA,EACA,QAAQA,GAAM;AACZ,UAAMC,IAAOD,EAAK;AAClB,IAAIC,MAAMD,EAAK,WAAW,CAAAE,MAASA,EAAM,OAAOD,CAAI,KAAK,IACzD,MAAM,QAAQD,CAAI;AAAA,EACpB;AACF;AACAG,EAAM,eAAeL;","x_google_ignoreList":[0]}
@@ -1,105 +0,0 @@
1
- import k from "../core/change-details.js";
2
- import u from "../core/holder.js";
3
- import c, { normalizeOpts as d } from "./factory.js";
4
- import m from "./pattern.js";
5
- import "./base.js";
6
- import "./pattern/input-definition.js";
7
- import "./regexp.js";
8
- class _ extends m {
9
- get repeatFrom() {
10
- var t;
11
- return (t = Array.isArray(this.repeat) ? this.repeat[0] : this.repeat === 1 / 0 ? 0 : this.repeat) != null ? t : 0;
12
- }
13
- get repeatTo() {
14
- var t;
15
- return (t = Array.isArray(this.repeat) ? this.repeat[1] : this.repeat) != null ? t : 1 / 0;
16
- }
17
- constructor(t) {
18
- super(t);
19
- }
20
- updateOptions(t) {
21
- super.updateOptions(t);
22
- }
23
- _update(t) {
24
- var i, s, r;
25
- const {
26
- repeat: n,
27
- ...l
28
- } = d(t);
29
- this._blockOpts = Object.assign({}, this._blockOpts, l);
30
- const e = c(this._blockOpts);
31
- this.repeat = (i = (s = n ?? e.repeat) != null ? s : this.repeat) != null ? i : 1 / 0, super._update({
32
- mask: "m".repeat(Math.max(this.repeatTo === 1 / 0 && ((r = this._blocks) == null ? void 0 : r.length) || 0, this.repeatFrom)),
33
- blocks: {
34
- m: e
35
- },
36
- eager: e.eager,
37
- overwrite: e.overwrite,
38
- skipInvalid: e.skipInvalid,
39
- lazy: e.lazy,
40
- placeholderChar: e.placeholderChar,
41
- displayChar: e.displayChar
42
- });
43
- }
44
- _allocateBlock(t) {
45
- if (t < this._blocks.length) return this._blocks[t];
46
- if (this.repeatTo === 1 / 0 || this._blocks.length < this.repeatTo)
47
- return this._blocks.push(c(this._blockOpts)), this.mask += "m", this._blocks[this._blocks.length - 1];
48
- }
49
- _appendCharRaw(t, i) {
50
- i === void 0 && (i = {});
51
- const s = new k();
52
- for (
53
- let a = (r = (n = this._mapPosToBlock(this.displayValue.length)) == null ? void 0 : n.index) != null ? r : Math.max(this._blocks.length - 1, 0), h, o;
54
- // try to get a block or
55
- // try to allocate a new block if not allocated already
56
- h = (l = this._blocks[a]) != null ? l : o = !o && this._allocateBlock(a);
57
- ++a
58
- ) {
59
- var r, n, l, e;
60
- const p = h._appendChar(t, {
61
- ...i,
62
- _beforeTailState: (e = i._beforeTailState) == null || (e = e._blocks) == null ? void 0 : e[a]
63
- });
64
- if (p.skip && o) {
65
- this._blocks.pop(), this.mask = this.mask.slice(1);
66
- break;
67
- }
68
- if (s.aggregate(p), p.consumed) break;
69
- }
70
- return s;
71
- }
72
- _trimEmptyTail(t, i) {
73
- var s, r;
74
- t === void 0 && (t = 0);
75
- const n = Math.max(((s = this._mapPosToBlock(t)) == null ? void 0 : s.index) || 0, this.repeatFrom, 0);
76
- let l;
77
- i != null && (l = (r = this._mapPosToBlock(i)) == null ? void 0 : r.index), l == null && (l = this._blocks.length - 1);
78
- let e = 0;
79
- for (let a = l; n <= a && !this._blocks[a].unmaskedValue; --a, ++e)
80
- ;
81
- e && (this._blocks.splice(l - e + 1, e), this.mask = this.mask.slice(e));
82
- }
83
- reset() {
84
- super.reset(), this._trimEmptyTail();
85
- }
86
- remove(t, i) {
87
- t === void 0 && (t = 0), i === void 0 && (i = this.displayValue.length);
88
- const s = super.remove(t, i);
89
- return this._trimEmptyTail(t, i), s;
90
- }
91
- totalInputPositions(t, i) {
92
- return t === void 0 && (t = 0), i == null && this.repeatTo === 1 / 0 ? 1 / 0 : super.totalInputPositions(t, i);
93
- }
94
- get state() {
95
- return super.state;
96
- }
97
- set state(t) {
98
- this._blocks.length = t._blocks.length, this.mask = this.mask.slice(0, this._blocks.length), super.state = t;
99
- }
100
- }
101
- u.RepeatBlock = _;
102
- export {
103
- _ as default
104
- };
105
- //# sourceMappingURL=repeat.js.map