linear-react-components-ui 2.0.0-beta.3 → 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 (91) 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/multiSelect/Dropdown.js +44 -42
  6. package/lib/inputs/multiSelect/Dropdown.js.map +1 -1
  7. package/lib/inputs/number/Currency.js +35 -45
  8. package/lib/inputs/number/Currency.js.map +1 -1
  9. package/lib/inputs/number/Decimal.js +38 -48
  10. package/lib/inputs/number/Decimal.js.map +1 -1
  11. package/lib/inputs/number/index.js +38 -48
  12. package/lib/inputs/number/index.js.map +1 -1
  13. package/lib/inputs2/date/datefield/base.js +60 -70
  14. package/lib/inputs2/date/datefield/base.js.map +1 -1
  15. package/lib/inputs2/date/dateperiodfield/base.js +79 -89
  16. package/lib/inputs2/date/dateperiodfield/base.js.map +1 -1
  17. package/lib/inputs2/mask/Cnpj.js +58 -68
  18. package/lib/inputs2/mask/Cnpj.js.map +1 -1
  19. package/lib/inputs2/mask/Cpf.js +38 -48
  20. package/lib/inputs2/mask/Cpf.js.map +1 -1
  21. package/lib/inputs2/mask/index.js +50 -60
  22. package/lib/inputs2/mask/index.js.map +1 -1
  23. package/lib/inputs2/numberfield/currency.js +51 -61
  24. package/lib/inputs2/numberfield/currency.js.map +1 -1
  25. package/lib/inputs2/numberfield/decimal.js +25 -35
  26. package/lib/inputs2/numberfield/decimal.js.map +1 -1
  27. package/lib/inputs2/numberfield/index.js +46 -56
  28. package/lib/inputs2/numberfield/index.js.map +1 -1
  29. package/package.json +9 -6
  30. package/lib/node_modules/imask/esm/controls/html-contenteditable-mask-element.js +0 -35
  31. package/lib/node_modules/imask/esm/controls/html-contenteditable-mask-element.js.map +0 -1
  32. package/lib/node_modules/imask/esm/controls/html-input-mask-element.js +0 -32
  33. package/lib/node_modules/imask/esm/controls/html-input-mask-element.js.map +0 -1
  34. package/lib/node_modules/imask/esm/controls/html-mask-element.js +0 -49
  35. package/lib/node_modules/imask/esm/controls/html-mask-element.js.map +0 -1
  36. package/lib/node_modules/imask/esm/controls/input-history.js +0 -31
  37. package/lib/node_modules/imask/esm/controls/input-history.js.map +0 -1
  38. package/lib/node_modules/imask/esm/controls/input.js +0 -223
  39. package/lib/node_modules/imask/esm/controls/input.js.map +0 -1
  40. package/lib/node_modules/imask/esm/controls/mask-element.js +0 -44
  41. package/lib/node_modules/imask/esm/controls/mask-element.js.map +0 -1
  42. package/lib/node_modules/imask/esm/core/action-details.js +0 -52
  43. package/lib/node_modules/imask/esm/core/action-details.js.map +0 -1
  44. package/lib/node_modules/imask/esm/core/change-details.js +0 -37
  45. package/lib/node_modules/imask/esm/core/change-details.js.map +0 -1
  46. package/lib/node_modules/imask/esm/core/continuous-tail-details.js +0 -43
  47. package/lib/node_modules/imask/esm/core/continuous-tail-details.js.map +0 -1
  48. package/lib/node_modules/imask/esm/core/holder.js +0 -7
  49. package/lib/node_modules/imask/esm/core/holder.js.map +0 -1
  50. package/lib/node_modules/imask/esm/core/utils.js +0 -68
  51. package/lib/node_modules/imask/esm/core/utils.js.map +0 -1
  52. package/lib/node_modules/imask/esm/index.js +0 -51
  53. package/lib/node_modules/imask/esm/index.js.map +0 -1
  54. package/lib/node_modules/imask/esm/masked/base.js +0 -253
  55. package/lib/node_modules/imask/esm/masked/base.js.map +0 -1
  56. package/lib/node_modules/imask/esm/masked/date.js +0 -118
  57. package/lib/node_modules/imask/esm/masked/date.js.map +0 -1
  58. package/lib/node_modules/imask/esm/masked/dynamic.js +0 -223
  59. package/lib/node_modules/imask/esm/masked/dynamic.js.map +0 -1
  60. package/lib/node_modules/imask/esm/masked/enum.js +0 -70
  61. package/lib/node_modules/imask/esm/masked/enum.js.map +0 -1
  62. package/lib/node_modules/imask/esm/masked/factory.js +0 -47
  63. package/lib/node_modules/imask/esm/masked/factory.js.map +0 -1
  64. package/lib/node_modules/imask/esm/masked/function.js +0 -24
  65. package/lib/node_modules/imask/esm/masked/function.js.map +0 -1
  66. package/lib/node_modules/imask/esm/masked/number.js +0 -213
  67. package/lib/node_modules/imask/esm/masked/number.js.map +0 -1
  68. package/lib/node_modules/imask/esm/masked/pattern/chunk-tail-details.js +0 -104
  69. package/lib/node_modules/imask/esm/masked/pattern/chunk-tail-details.js.map +0 -1
  70. package/lib/node_modules/imask/esm/masked/pattern/cursor.js +0 -101
  71. package/lib/node_modules/imask/esm/masked/pattern/cursor.js.map +0 -1
  72. package/lib/node_modules/imask/esm/masked/pattern/fixed-definition.js +0 -103
  73. package/lib/node_modules/imask/esm/masked/pattern/fixed-definition.js.map +0 -1
  74. package/lib/node_modules/imask/esm/masked/pattern/input-definition.js +0 -134
  75. package/lib/node_modules/imask/esm/masked/pattern/input-definition.js.map +0 -1
  76. package/lib/node_modules/imask/esm/masked/pattern.js +0 -323
  77. package/lib/node_modules/imask/esm/masked/pattern.js.map +0 -1
  78. package/lib/node_modules/imask/esm/masked/pipe.js +0 -24
  79. package/lib/node_modules/imask/esm/masked/pipe.js.map +0 -1
  80. package/lib/node_modules/imask/esm/masked/range.js +0 -79
  81. package/lib/node_modules/imask/esm/masked/range.js.map +0 -1
  82. package/lib/node_modules/imask/esm/masked/regexp.js +0 -22
  83. package/lib/node_modules/imask/esm/masked/regexp.js.map +0 -1
  84. package/lib/node_modules/imask/esm/masked/repeat.js +0 -105
  85. package/lib/node_modules/imask/esm/masked/repeat.js.map +0 -1
  86. package/lib/node_modules/react-imask/esm/hook.js +0 -76
  87. package/lib/node_modules/react-imask/esm/hook.js.map +0 -1
  88. package/lib/node_modules/react-imask/esm/input.js +0 -24
  89. package/lib/node_modules/react-imask/esm/input.js.map +0 -1
  90. package/lib/node_modules/react-imask/esm/mixin.js +0 -132
  91. package/lib/node_modules/react-imask/esm/mixin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"decimal.js","sources":["../../../src/lib/inputs2/numberfield/decimal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useRef, ChangeEvent} from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { TextField } from '..';\nimport { mergeRefs } from '../../form2/helpers';\nimport type { DecimalFieldInputProps } from './types';\n\nconst Decimal = forwardRef<HTMLInputElement, DecimalFieldInputProps>((props, ref) => {\n const {\n min = undefined, max = undefined, to = undefined, from = undefined, enum: interval = undefined,\n onChange = null, onBlur = null, allowNegative = true, textAlign = 'right', children = null, \n scale = 2, normalizeZeros = false, padFractionalZeros = true, ...rest\n } = props;\n const numberInputRef = useRef<HTMLInputElement | null>(null);\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n unmask: true,\n min: !_.isNil(min) ? min : (allowNegative ? undefined : 0),\n enum: interval,\n radix: ',',\n mapToRadix: ['.'],\n thousandsSeparator: '.',\n max,\n to,\n from,\n scale,\n normalizeZeros,\n padFractionalZeros,\n }, {\n ref: numberInputRef,\n onAccept: (__, options, event) => {\n const parsedValueToFloat = parseFloat(options.unmaskedValue);\n const valueToReturn = !_.isNaN(parsedValueToFloat) ? parsedValueToFloat : 0;\n onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: valueToReturn as unknown,\n },\n } as ChangeEvent<HTMLInputElement>);\n },\n });\n\n /**\n * Função sobrescrevendo o evento onBlur para tratar o valor mínimo ao sair do campo, \n * garantindo que o valor não seja menor que o mínimo definido.\n */\n const handleBlur = useCallback((event: React.FocusEvent<HTMLInputElement>) => {\n if (!_.isNil(min)) {\n const parsedCurrentValueToFloat = parseFloat(unmaskedValue) as number;\n if (_.isNaN(parsedCurrentValueToFloat) || parsedCurrentValueToFloat < min) {\n setMaskedValue(_.toString(min));\n onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: min as any,\n },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }\n onBlur?.(event);\n }, [min, unmaskedValue, onChange, onBlur, setMaskedValue, props.name]);\n\n useEffect(() => {\n const valueToString = _.toString(props?.value);\n if (!_.isNil(props?.value) && \n !_.isEqual(parseFloat(valueToString), parseFloat(unmaskedValue))) {\n setMaskedValue(parseFloat(valueToString).toLocaleString('pt-BR'));\n }\n }, [props?.value]);\n\n return (\n <TextField.Input\n {...rest}\n ref={mergeRefs(ref, numberInputRef)}\n type=\"text\"\n inputMode=\"decimal\"\n value={maskedValue}\n textAlign={textAlign}\n onBlur={handleBlur}\n onChange={() => { }}>\n {children}\n </TextField.Input>\n );\n});\n\nDecimal.displayName = 'DecimalFieldInput';\n\nexport { Decimal };\n"],"names":["Decimal","forwardRef","props","ref","$","_c","rest","t0","t1","t10","t11","t12","t2","t3","t4","t5","t6","t7","t8","t9","min","max","to","from","enum","onChange","onBlur","allowNegative","textAlign","children","scale","normalizeZeros","padFractionalZeros","undefined","interval","numberInputRef","useRef","t13","_","isNil","t14","Symbol","for","t15","mask","Number","unmask","radix","mapToRadix","thousandsSeparator","t16","name","onAccept","__","options","event","parsedValueToFloat","parseFloat","unmaskedValue","valueToReturn","isNaN","target","value","maskedValue","setValue","setMaskedValue","useIMask","t17","event_0","parsedCurrentValueToFloat","toString","handleBlur","t18","valueToString","isEqual","toLocaleString","t19","t20","useEffect","t21","mergeRefs","t22","_temp","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"decimal.js","sources":["../../../src/lib/inputs2/numberfield/decimal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useRef, ChangeEvent} from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { TextField } from '..';\nimport { mergeRefs } from '../../form2/helpers';\nimport type { DecimalFieldInputProps } from './types';\n\nconst Decimal = forwardRef<HTMLInputElement, DecimalFieldInputProps>((props, ref) => {\n const {\n min = undefined, max = undefined, to = undefined, from = undefined, enum: interval = undefined,\n onChange = null, onBlur = null, allowNegative = true, textAlign = 'right', children = null, \n scale = 2, normalizeZeros = false, padFractionalZeros = true, ...rest\n } = props;\n const numberInputRef = useRef<HTMLInputElement | null>(null);\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n unmask: true,\n min: !_.isNil(min) ? min : (allowNegative ? undefined : 0),\n enum: interval,\n radix: ',',\n mapToRadix: ['.'],\n thousandsSeparator: '.',\n max,\n to,\n from,\n scale,\n normalizeZeros,\n padFractionalZeros,\n }, {\n ref: numberInputRef,\n onAccept: (__, options, event) => {\n const parsedValueToFloat = parseFloat(options.unmaskedValue);\n const valueToReturn = !_.isNaN(parsedValueToFloat) ? parsedValueToFloat : 0;\n onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: valueToReturn as unknown,\n },\n } as ChangeEvent<HTMLInputElement>);\n },\n });\n\n /**\n * Função sobrescrevendo o evento onBlur para tratar o valor mínimo ao sair do campo, \n * garantindo que o valor não seja menor que o mínimo definido.\n */\n const handleBlur = useCallback((event: React.FocusEvent<HTMLInputElement>) => {\n if (!_.isNil(min)) {\n const parsedCurrentValueToFloat = parseFloat(unmaskedValue) as number;\n if (_.isNaN(parsedCurrentValueToFloat) || parsedCurrentValueToFloat < min) {\n setMaskedValue(_.toString(min));\n onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: min as any,\n },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }\n onBlur?.(event);\n }, [min, unmaskedValue, onChange, onBlur, setMaskedValue, props.name]);\n\n useEffect(() => {\n const valueToString = _.toString(props?.value);\n if (!_.isNil(props?.value) && \n !_.isEqual(parseFloat(valueToString), parseFloat(unmaskedValue))) {\n setMaskedValue(parseFloat(valueToString).toLocaleString('pt-BR'));\n }\n }, [props?.value]);\n\n return (\n <TextField.Input\n {...rest}\n ref={mergeRefs(ref, numberInputRef)}\n type=\"text\"\n inputMode=\"decimal\"\n value={maskedValue}\n textAlign={textAlign}\n onBlur={handleBlur}\n onChange={() => { }}>\n {children}\n </TextField.Input>\n );\n});\n\nDecimal.displayName = 'DecimalFieldInput';\n\nexport { Decimal };\n"],"names":["Decimal","forwardRef","props","ref","$","_c","rest","t0","t1","t10","t11","t12","t2","t3","t4","t5","t6","t7","t8","t9","min","max","to","from","enum","onChange","onBlur","allowNegative","textAlign","children","scale","normalizeZeros","padFractionalZeros","undefined","interval","numberInputRef","useRef","t13","_","isNil","t14","Symbol","for","t15","mask","Number","unmask","radix","mapToRadix","thousandsSeparator","t16","name","onAccept","__","options","event","parsedValueToFloat","parseFloat","unmaskedValue","valueToReturn","isNaN","target","value","maskedValue","setValue","setMaskedValue","useIMask","t17","event_0","parsedCurrentValueToFloat","toString","handleBlur","t18","valueToString","isEqual","toLocaleString","t19","t20","useEffect","t21","mergeRefs","t22","_temp","displayName"],"mappings":"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"}
@@ -1,20 +1,10 @@
1
1
  import { jsx as K } from "react/jsx-runtime";
2
2
  import { c as O } from "../../_virtual/compiler-runtime.js";
3
3
  import { forwardRef as P, useRef as Q, useEffect as W } from "react";
4
- import i from "../../_virtual/lodash.js";
5
- import "../../node_modules/imask/esm/index.js";
6
- import "../../node_modules/imask/esm/controls/input.js";
7
- import "../../node_modules/imask/esm/masked/factory.js";
8
- import "../../node_modules/imask/esm/controls/mask-element.js";
9
- import "../../node_modules/imask/esm/controls/html-input-mask-element.js";
10
- import "../../node_modules/imask/esm/controls/html-mask-element.js";
11
- import "../../node_modules/imask/esm/controls/html-contenteditable-mask-element.js";
12
- import "../../node_modules/imask/esm/controls/input-history.js";
13
- import "../../node_modules/react-imask/esm/input.js";
14
- import X from "../../node_modules/react-imask/esm/hook.js";
15
- import "../../node_modules/react-imask/esm/mixin.js";
16
- import { Decimal as yt } from "./decimal.js";
17
- import { Currency as qt } from "./currency.js";
4
+ import o from "../../_virtual/lodash.js";
5
+ import { useIMask as X } from "react-imask";
6
+ import { Decimal as kt } from "./decimal.js";
7
+ import { Currency as Rt } from "./currency.js";
18
8
  import { convertToSafeNumber as G } from "./helpers.js";
19
9
  import { Input as Y } from "../textfield/index.js";
20
10
  import "../textareafield/index.js";
@@ -26,28 +16,28 @@ import "../mask/index.js";
26
16
  import "../checkboxfield/index.js";
27
17
  import "../date/dateperiodfield/index.js";
28
18
  import "../filefield/index.js";
29
- import { LeftSlot as $t, RightSlot as jt } from "../slot/index.js";
19
+ import { LeftSlot as At, RightSlot as pt } from "../slot/index.js";
30
20
  import { mergeRefs as Z } from "../../form2/helpers.js";
31
21
  const tt = P((e, C) => {
32
22
  const t = O.c(46);
33
- let n, f, c, d, v, g, p, N, x, h, S, V;
23
+ let n, f, c, d, v, g, N, x, h, S, V, k;
34
24
  t[0] !== e ? ({
35
25
  min: f,
36
26
  max: c,
37
27
  to: v,
38
28
  from: g,
39
- enum: p,
40
- onChange: N,
41
- onBlur: x,
42
- allowNegative: h,
43
- returnAsString: S,
44
- textAlign: V,
29
+ enum: N,
30
+ onChange: x,
31
+ onBlur: h,
32
+ allowNegative: S,
33
+ returnAsString: V,
34
+ textAlign: k,
45
35
  children: d,
46
36
  ...n
47
- } = e, t[0] = e, t[1] = n, t[2] = f, t[3] = c, t[4] = d, t[5] = v, t[6] = g, t[7] = p, t[8] = N, t[9] = x, t[10] = h, t[11] = S, t[12] = V) : (n = t[1], f = t[2], c = t[3], d = t[4], v = t[5], g = t[6], p = t[7], N = t[8], x = t[9], h = t[10], S = t[11], V = t[12]);
48
- const o = f === void 0 ? void 0 : f, E = c === void 0 ? void 0 : c, w = v === void 0 ? void 0 : v, y = g === void 0 ? void 0 : g, M = p === void 0 ? void 0 : p, m = N === void 0 ? null : N, q = x === void 0 ? null : x, H = h === void 0 ? !0 : h, r = S === void 0 ? !1 : S, _ = V === void 0 ? "right" : V, $ = d === void 0 ? null : d, U = Q(null), j = i.isNil(o) ? H ? void 0 : 0 : o;
49
- let k;
50
- t[13] !== y || t[14] !== M || t[15] !== E || t[16] !== j || t[17] !== w ? (k = {
37
+ } = e, t[0] = e, t[1] = n, t[2] = f, t[3] = c, t[4] = d, t[5] = v, t[6] = g, t[7] = N, t[8] = x, t[9] = h, t[10] = S, t[11] = V, t[12] = k) : (n = t[1], f = t[2], c = t[3], d = t[4], v = t[5], g = t[6], N = t[7], x = t[8], h = t[9], S = t[10], V = t[11], k = t[12]);
38
+ const l = f === void 0 ? void 0 : f, E = c === void 0 ? void 0 : c, w = v === void 0 ? void 0 : v, y = g === void 0 ? void 0 : g, M = N === void 0 ? void 0 : N, a = x === void 0 ? null : x, q = h === void 0 ? null : h, H = S === void 0 ? !0 : S, m = V === void 0 ? !1 : V, _ = k === void 0 ? "right" : k, $ = d === void 0 ? null : d, U = Q(null), j = o.isNil(l) ? H ? void 0 : 0 : l;
39
+ let I;
40
+ t[13] !== y || t[14] !== M || t[15] !== E || t[16] !== j || t[17] !== w ? (I = {
51
41
  mask: Number,
52
42
  scale: 0,
53
43
  enum: M,
@@ -55,13 +45,13 @@ const tt = P((e, C) => {
55
45
  max: E,
56
46
  to: w,
57
47
  from: y
58
- }, t[13] = y, t[14] = M, t[15] = E, t[16] = j, t[17] = w, t[18] = k) : k = t[18];
59
- let I;
60
- t[19] !== m || t[20] !== e.name || t[21] !== r ? (I = {
48
+ }, t[13] = y, t[14] = M, t[15] = E, t[16] = j, t[17] = w, t[18] = I) : I = t[18];
49
+ let R;
50
+ t[19] !== a || t[20] !== e.name || t[21] !== m ? (R = {
61
51
  ref: U,
62
- onAccept: (l, T, z) => {
63
- const J = G(l, r);
64
- m?.({
52
+ onAccept: (i, T, z) => {
53
+ const J = G(i, m);
54
+ a?.({
65
55
  ...z,
66
56
  target: {
67
57
  ...z?.target,
@@ -70,36 +60,36 @@ const tt = P((e, C) => {
70
60
  }
71
61
  });
72
62
  }
73
- }, t[19] = m, t[20] = e.name, t[21] = r, t[22] = I) : I = t[22];
63
+ }, t[19] = a, t[20] = e.name, t[21] = m, t[22] = R) : R = t[22];
74
64
  const {
75
65
  value: D,
76
- setValue: a,
66
+ setValue: r,
77
67
  unmaskedValue: u
78
- } = X(k, I);
79
- let R;
80
- t[23] !== o || t[24] !== q || t[25] !== m || t[26] !== e.name || t[27] !== r || t[28] !== a || t[29] !== u ? (R = (l) => {
81
- if (!i.isNil(o)) {
68
+ } = X(I, R);
69
+ let b;
70
+ t[23] !== l || t[24] !== q || t[25] !== a || t[26] !== e.name || t[27] !== m || t[28] !== r || t[29] !== u ? (b = (i) => {
71
+ if (!o.isNil(l)) {
82
72
  const T = G(u, !1);
83
- (i.isNaN(T) || T < o) && (a(i.toString(o)), m?.({
84
- ...l,
73
+ (o.isNaN(T) || T < l) && (r(o.toString(l)), a?.({
74
+ ...i,
85
75
  target: {
86
- ...l?.target,
76
+ ...i?.target,
87
77
  name: e?.name,
88
- value: r ? i.toString(o) : o
78
+ value: m ? o.toString(l) : l
89
79
  }
90
80
  }));
91
81
  }
92
- q?.(l);
93
- }, t[23] = o, t[24] = q, t[25] = m, t[26] = e.name, t[27] = r, t[28] = a, t[29] = u, t[30] = R) : R = t[30];
94
- const F = R;
95
- let b;
96
- t[31] !== e.value || t[32] !== a || t[33] !== u ? (b = () => {
97
- const l = Number(u || "0");
98
- !i.isNil(e?.value) && (!i.isEqual(e?.value, l) || i.isEqual(e?.value, 0)) && a(i.toString(e?.value));
99
- }, t[31] = e.value, t[32] = a, t[33] = u, t[34] = b) : b = t[34];
100
- const L = e?.value;
82
+ q?.(i);
83
+ }, t[23] = l, t[24] = q, t[25] = a, t[26] = e.name, t[27] = m, t[28] = r, t[29] = u, t[30] = b) : b = t[30];
84
+ const F = b;
101
85
  let A;
102
- t[35] !== L ? (A = [L], t[35] = L, t[36] = A) : A = t[36], W(b, A);
86
+ t[31] !== e.value || t[32] !== r || t[33] !== u ? (A = () => {
87
+ const i = Number(u || "0");
88
+ !o.isNil(e?.value) && (!o.isEqual(e?.value, i) || o.isEqual(e?.value, 0)) && r(o.toString(e?.value));
89
+ }, t[31] = e.value, t[32] = r, t[33] = u, t[34] = A) : A = t[34];
90
+ const L = e?.value;
91
+ let p;
92
+ t[35] !== L ? (p = [L], t[35] = L, t[36] = p) : p = t[36], W(A, p);
103
93
  let s;
104
94
  t[37] !== C ? (s = Z(C, U), t[37] = C, t[38] = s) : s = t[38];
105
95
  let B;
@@ -109,10 +99,10 @@ tt.displayName = "NumberFieldInput";
109
99
  function et() {
110
100
  }
111
101
  export {
112
- qt as Currency,
113
- yt as Decimal,
102
+ Rt as Currency,
103
+ kt as Decimal,
114
104
  tt as Input,
115
- $t as LeftSlot,
116
- jt as RightSlot
105
+ At as LeftSlot,
106
+ pt as RightSlot
117
107
  };
118
108
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/inputs2/numberfield/index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useRef, type ChangeEvent } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { Decimal } from './decimal';\nimport { Currency } from './currency';\nimport { convertToSafeNumber } from './helpers';\nimport { TextField } from '..';\nimport { LeftSlot, RightSlot } from '../slot';\nimport { mergeRefs } from '../../form2/helpers';\nimport type { NumberFieldInputProps, DecimalFieldInputProps, CurrencyFieldInputProps } from './types';\n\nconst Input = forwardRef<HTMLInputElement, NumberFieldInputProps>((props, ref) => {\n const {\n min = undefined, max = undefined, to = undefined, from = undefined, enum: interval = undefined,\n onChange = null, onBlur = null, allowNegative = true, returnAsString = false, textAlign = 'right', \n children = null, ...rest\n } = props;\n const numberInputRef = useRef<HTMLInputElement | null>(null);\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n scale: 0,\n enum: interval,\n min: !_.isNil(min) ? min : (allowNegative ? undefined : 0),\n max,\n to,\n from,\n }, {\n ref: numberInputRef,\n onAccept: (value, __, event) => {\n const parsedValue = convertToSafeNumber(value, returnAsString);\n onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: parsedValue as any,\n },\n } as ChangeEvent<HTMLInputElement>);\n },\n });\n\n /**\n * Função sobrescrevendo o evento onBlur para tratar o valor mínimo ao sair do campo, \n * garantindo que o valor não seja menor que o mínimo definido.\n */\n const handleBlur = useCallback((event: React.FocusEvent<HTMLInputElement>) => {\n if (!_.isNil(min)) {\n const currentValue = convertToSafeNumber(unmaskedValue, false) as number;\n if (_.isNaN(currentValue) || currentValue < min) {\n setMaskedValue(_.toString(min));\n onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: (returnAsString ? _.toString(min) : min) as any,\n },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }\n onBlur?.(event);\n }, [min, unmaskedValue, onChange, onBlur, setMaskedValue, props.name, returnAsString]);\n\n useEffect(() => {\n const floatUnmaskedValue = Number(unmaskedValue || '0');\n if (!_.isNil(props?.value) && (!_.isEqual(props?.value,\n floatUnmaskedValue) || _.isEqual(props?.value, 0))) {\n setMaskedValue(_.toString(props?.value));\n }\n }, [props?.value]);\n\n return (\n <TextField.Input\n {...rest}\n ref={mergeRefs(ref, numberInputRef)}\n type=\"text\"\n inputMode=\"numeric\"\n value={maskedValue}\n textAlign={textAlign}\n onBlur={handleBlur}\n onChange={() => { }}>\n {children}\n </TextField.Input>\n );\n});\n\nInput.displayName = 'NumberFieldInput';\n\nexport { Input, Decimal, Currency, LeftSlot, RightSlot };\nexport type { \n NumberFieldInputProps, \n DecimalFieldInputProps, \n CurrencyFieldInputProps, \n};\n"],"names":["Input","forwardRef","props","ref","$","_c","rest","t0","t1","t10","t2","t3","t4","t5","t6","t7","t8","t9","min","max","to","from","enum","onChange","onBlur","allowNegative","returnAsString","textAlign","children","undefined","interval","numberInputRef","useRef","t11","_","isNil","t12","mask","Number","scale","t13","name","onAccept","value","__","event","parsedValue","convertToSafeNumber","target","maskedValue","setValue","setMaskedValue","unmaskedValue","useIMask","t14","event_0","currentValue","isNaN","toString","handleBlur","t15","floatUnmaskedValue","isEqual","t16","t17","useEffect","t18","mergeRefs","t19","_temp","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/inputs2/numberfield/index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useRef, type ChangeEvent } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { Decimal } from './decimal';\nimport { Currency } from './currency';\nimport { convertToSafeNumber } from './helpers';\nimport { TextField } from '..';\nimport { LeftSlot, RightSlot } from '../slot';\nimport { mergeRefs } from '../../form2/helpers';\nimport type { NumberFieldInputProps, DecimalFieldInputProps, CurrencyFieldInputProps } from './types';\n\nconst Input = forwardRef<HTMLInputElement, NumberFieldInputProps>((props, ref) => {\n const {\n min = undefined, max = undefined, to = undefined, from = undefined, enum: interval = undefined,\n onChange = null, onBlur = null, allowNegative = true, returnAsString = false, textAlign = 'right', \n children = null, ...rest\n } = props;\n const numberInputRef = useRef<HTMLInputElement | null>(null);\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n scale: 0,\n enum: interval,\n min: !_.isNil(min) ? min : (allowNegative ? undefined : 0),\n max,\n to,\n from,\n }, {\n ref: numberInputRef,\n onAccept: (value, __, event) => {\n const parsedValue = convertToSafeNumber(value, returnAsString);\n onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: parsedValue as any,\n },\n } as ChangeEvent<HTMLInputElement>);\n },\n });\n\n /**\n * Função sobrescrevendo o evento onBlur para tratar o valor mínimo ao sair do campo, \n * garantindo que o valor não seja menor que o mínimo definido.\n */\n const handleBlur = useCallback((event: React.FocusEvent<HTMLInputElement>) => {\n if (!_.isNil(min)) {\n const currentValue = convertToSafeNumber(unmaskedValue, false) as number;\n if (_.isNaN(currentValue) || currentValue < min) {\n setMaskedValue(_.toString(min));\n onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: (returnAsString ? _.toString(min) : min) as any,\n },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }\n onBlur?.(event);\n }, [min, unmaskedValue, onChange, onBlur, setMaskedValue, props.name, returnAsString]);\n\n useEffect(() => {\n const floatUnmaskedValue = Number(unmaskedValue || '0');\n if (!_.isNil(props?.value) && (!_.isEqual(props?.value,\n floatUnmaskedValue) || _.isEqual(props?.value, 0))) {\n setMaskedValue(_.toString(props?.value));\n }\n }, [props?.value]);\n\n return (\n <TextField.Input\n {...rest}\n ref={mergeRefs(ref, numberInputRef)}\n type=\"text\"\n inputMode=\"numeric\"\n value={maskedValue}\n textAlign={textAlign}\n onBlur={handleBlur}\n onChange={() => { }}>\n {children}\n </TextField.Input>\n );\n});\n\nInput.displayName = 'NumberFieldInput';\n\nexport { Input, Decimal, Currency, LeftSlot, RightSlot };\nexport type { \n NumberFieldInputProps, \n DecimalFieldInputProps, \n CurrencyFieldInputProps, \n};\n"],"names":["Input","forwardRef","props","ref","$","_c","rest","t0","t1","t10","t2","t3","t4","t5","t6","t7","t8","t9","min","max","to","from","enum","onChange","onBlur","allowNegative","returnAsString","textAlign","children","undefined","interval","numberInputRef","useRef","t11","_","isNil","t12","mask","Number","scale","t13","name","onAccept","value","__","event","parsedValue","convertToSafeNumber","target","maskedValue","setValue","setMaskedValue","unmaskedValue","useIMask","t14","event_0","currentValue","isNaN","toString","handleBlur","t15","floatUnmaskedValue","isEqual","t16","t17","useEffect","t18","mergeRefs","t19","_temp","displayName"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "2.0.0-beta.3",
3
+ "version": "2.0.0-beta.5",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -306,7 +306,8 @@
306
306
  "scripts": {
307
307
  "lib": "vite build",
308
308
  "demo": "vite --config vite.demo.config.js",
309
- "demo:prod": "vite preview --config vite.demo.config.js",
309
+ "demo:prod": "vite build --config vite.demo.config.js",
310
+ "demo:preview": "vite preview --config vite.demo.config.js",
310
311
  "check:js": "eslint --cache",
311
312
  "check:style": "stylelint src/**/*.{scss,css}",
312
313
  "deploy:vercel": "npm run demo:prod && vercel --prod demo",
@@ -336,14 +337,16 @@
336
337
  "last 1 safari version"
337
338
  ]
338
339
  },
340
+ "peerDependencies": {
341
+ "react": "19.2.3",
342
+ "react-dom": "19.2.3",
343
+ "react-imask": "7.6.1",
344
+ "react-router-dom": "7.9.4"
345
+ },
339
346
  "dependencies": {
340
347
  "@faker-js/faker": "10.1.0",
341
348
  "lodash": "4.17.21",
342
349
  "moment": "2.30.1",
343
- "react": "19.2.3",
344
- "react-dom": "19.2.3",
345
- "react-imask": "7.6.1",
346
- "react-router-dom": "7.9.4",
347
350
  "react-syntax-highlighter": "15.6.6",
348
351
  "uuid": "13.0.0"
349
352
  },
@@ -1,35 +0,0 @@
1
- import i from "./html-mask-element.js";
2
- import l from "../core/holder.js";
3
- import "./mask-element.js";
4
- class r extends i {
5
- /** Returns HTMLElement selection start */
6
- get _unsafeSelectionStart() {
7
- const o = this.rootElement, t = o.getSelection && o.getSelection(), e = t && t.anchorOffset, n = t && t.focusOffset;
8
- return n == null || e == null || e < n ? e : n;
9
- }
10
- /** Returns HTMLElement selection end */
11
- get _unsafeSelectionEnd() {
12
- const o = this.rootElement, t = o.getSelection && o.getSelection(), e = t && t.anchorOffset, n = t && t.focusOffset;
13
- return n == null || e == null || e > n ? e : n;
14
- }
15
- /** Sets HTMLElement selection */
16
- _unsafeSelect(o, t) {
17
- if (!this.rootElement.createRange) return;
18
- const e = this.rootElement.createRange();
19
- e.setStart(this.input.firstChild || this.input, o), e.setEnd(this.input.lastChild || this.input, t);
20
- const n = this.rootElement, s = n.getSelection && n.getSelection();
21
- s && (s.removeAllRanges(), s.addRange(e));
22
- }
23
- /** HTMLElement value */
24
- get value() {
25
- return this.input.textContent || "";
26
- }
27
- set value(o) {
28
- this.input.textContent = o;
29
- }
30
- }
31
- l.HTMLContenteditableMaskElement = r;
32
- export {
33
- r as default
34
- };
35
- //# sourceMappingURL=html-contenteditable-mask-element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-contenteditable-mask-element.js","sources":["../../../../../node_modules/imask/esm/controls/html-contenteditable-mask-element.js"],"sourcesContent":["import HTMLMaskElement from './html-mask-element.js';\nimport IMask from '../core/holder.js';\nimport './mask-element.js';\n\nclass HTMLContenteditableMaskElement extends HTMLMaskElement {\n /** Returns HTMLElement selection start */\n get _unsafeSelectionStart() {\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n const anchorOffset = selection && selection.anchorOffset;\n const focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n\n /** Returns HTMLElement selection end */\n get _unsafeSelectionEnd() {\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n const anchorOffset = selection && selection.anchorOffset;\n const focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n\n /** Sets HTMLElement selection */\n _unsafeSelect(start, end) {\n if (!this.rootElement.createRange) return;\n const range = this.rootElement.createRange();\n range.setStart(this.input.firstChild || this.input, start);\n range.setEnd(this.input.lastChild || this.input, end);\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n if (selection) {\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n /** HTMLElement value */\n get value() {\n return this.input.textContent || '';\n }\n set value(value) {\n this.input.textContent = value;\n }\n}\nIMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;\n\nexport { HTMLContenteditableMaskElement as default };\n"],"names":["HTMLContenteditableMaskElement","HTMLMaskElement","root","selection","anchorOffset","focusOffset","start","end","range","value","IMask"],"mappings":";;;AAIA,MAAMA,UAAuCC,EAAgB;AAAA;AAAA,EAE3D,IAAI,wBAAwB;AAC1B,UAAMC,IAAO,KAAK,aACZC,IAAYD,EAAK,gBAAgBA,EAAK,aAAY,GAClDE,IAAeD,KAAaA,EAAU,cACtCE,IAAcF,KAAaA,EAAU;AAC3C,WAAIE,KAAe,QAAQD,KAAgB,QAAQA,IAAeC,IACzDD,IAEFC;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,sBAAsB;AACxB,UAAMH,IAAO,KAAK,aACZC,IAAYD,EAAK,gBAAgBA,EAAK,aAAY,GAClDE,IAAeD,KAAaA,EAAU,cACtCE,IAAcF,KAAaA,EAAU;AAC3C,WAAIE,KAAe,QAAQD,KAAgB,QAAQA,IAAeC,IACzDD,IAEFC;AAAA,EACT;AAAA;AAAA,EAGA,cAAcC,GAAOC,GAAK;AACxB,QAAI,CAAC,KAAK,YAAY,YAAa;AACnC,UAAMC,IAAQ,KAAK,YAAY,YAAW;AAC1C,IAAAA,EAAM,SAAS,KAAK,MAAM,cAAc,KAAK,OAAOF,CAAK,GACzDE,EAAM,OAAO,KAAK,MAAM,aAAa,KAAK,OAAOD,CAAG;AACpD,UAAML,IAAO,KAAK,aACZC,IAAYD,EAAK,gBAAgBA,EAAK,aAAY;AACxD,IAAIC,MACFA,EAAU,gBAAe,GACzBA,EAAU,SAASK,CAAK;AAAA,EAE5B;AAAA;AAAA,EAGA,IAAI,QAAQ;AACV,WAAO,KAAK,MAAM,eAAe;AAAA,EACnC;AAAA,EACA,IAAI,MAAMC,GAAO;AACf,SAAK,MAAM,cAAcA;AAAA,EAC3B;AACF;AACAC,EAAM,iCAAiCV;","x_google_ignoreList":[0]}
@@ -1,32 +0,0 @@
1
- import e from "./html-mask-element.js";
2
- import s from "../core/holder.js";
3
- import "./mask-element.js";
4
- class r extends e {
5
- /** InputElement to use mask on */
6
- constructor(t) {
7
- super(t), this.input = t;
8
- }
9
- /** Returns InputElement selection start */
10
- get _unsafeSelectionStart() {
11
- return this.input.selectionStart != null ? this.input.selectionStart : this.value.length;
12
- }
13
- /** Returns InputElement selection end */
14
- get _unsafeSelectionEnd() {
15
- return this.input.selectionEnd;
16
- }
17
- /** Sets InputElement selection */
18
- _unsafeSelect(t, n) {
19
- this.input.setSelectionRange(t, n);
20
- }
21
- get value() {
22
- return this.input.value;
23
- }
24
- set value(t) {
25
- this.input.value = t;
26
- }
27
- }
28
- s.HTMLMaskElement = e;
29
- export {
30
- r as default
31
- };
32
- //# sourceMappingURL=html-input-mask-element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-input-mask-element.js","sources":["../../../../../node_modules/imask/esm/controls/html-input-mask-element.js"],"sourcesContent":["import HTMLMaskElement from './html-mask-element.js';\nimport IMask from '../core/holder.js';\nimport './mask-element.js';\n\n/** Bridge between InputElement and {@link Masked} */\nclass HTMLInputMaskElement extends HTMLMaskElement {\n /** InputElement to use mask on */\n\n constructor(input) {\n super(input);\n this.input = input;\n }\n\n /** Returns InputElement selection start */\n get _unsafeSelectionStart() {\n return this.input.selectionStart != null ? this.input.selectionStart : this.value.length;\n }\n\n /** Returns InputElement selection end */\n get _unsafeSelectionEnd() {\n return this.input.selectionEnd;\n }\n\n /** Sets InputElement selection */\n _unsafeSelect(start, end) {\n this.input.setSelectionRange(start, end);\n }\n get value() {\n return this.input.value;\n }\n set value(value) {\n this.input.value = value;\n }\n}\nIMask.HTMLMaskElement = HTMLMaskElement;\n\nexport { HTMLInputMaskElement as default };\n"],"names":["HTMLInputMaskElement","HTMLMaskElement","input","start","end","value","IMask"],"mappings":";;;AAKA,MAAMA,UAA6BC,EAAgB;AAAA;AAAA,EAGjD,YAAYC,GAAO;AACjB,UAAMA,CAAK,GACX,KAAK,QAAQA;AAAA,EACf;AAAA;AAAA,EAGA,IAAI,wBAAwB;AAC1B,WAAO,KAAK,MAAM,kBAAkB,OAAO,KAAK,MAAM,iBAAiB,KAAK,MAAM;AAAA,EACpF;AAAA;AAAA,EAGA,IAAI,sBAAsB;AACxB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA;AAAA,EAGA,cAAcC,GAAOC,GAAK;AACxB,SAAK,MAAM,kBAAkBD,GAAOC,CAAG;AAAA,EACzC;AAAA,EACA,IAAI,QAAQ;AACV,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EACA,IAAI,MAAMC,GAAO;AACf,SAAK,MAAM,QAAQA;AAAA,EACrB;AACF;AACAC,EAAM,kBAAkBL;","x_google_ignoreList":[0]}
@@ -1,49 +0,0 @@
1
- import s from "./mask-element.js";
2
- import o from "../core/holder.js";
3
- const e = 90, r = 89;
4
- class h extends s {
5
- /** HTMLElement to use mask on */
6
- constructor(t) {
7
- super(), this.input = t, this._onKeydown = this._onKeydown.bind(this), this._onInput = this._onInput.bind(this), this._onBeforeinput = this._onBeforeinput.bind(this), this._onCompositionEnd = this._onCompositionEnd.bind(this);
8
- }
9
- get rootElement() {
10
- var t, n, i;
11
- return (t = (n = (i = this.input).getRootNode) == null ? void 0 : n.call(i)) != null ? t : document;
12
- }
13
- /** Is element in focus */
14
- get isActive() {
15
- return this.input === this.rootElement.activeElement;
16
- }
17
- /** Binds HTMLElement events to mask internal events */
18
- bindEvents(t) {
19
- this.input.addEventListener("keydown", this._onKeydown), this.input.addEventListener("input", this._onInput), this.input.addEventListener("beforeinput", this._onBeforeinput), this.input.addEventListener("compositionend", this._onCompositionEnd), this.input.addEventListener("drop", t.drop), this.input.addEventListener("click", t.click), this.input.addEventListener("focus", t.focus), this.input.addEventListener("blur", t.commit), this._handlers = t;
20
- }
21
- _onKeydown(t) {
22
- if (this._handlers.redo && (t.keyCode === e && t.shiftKey && (t.metaKey || t.ctrlKey) || t.keyCode === r && t.ctrlKey))
23
- return t.preventDefault(), this._handlers.redo(t);
24
- if (this._handlers.undo && t.keyCode === e && (t.metaKey || t.ctrlKey))
25
- return t.preventDefault(), this._handlers.undo(t);
26
- t.isComposing || this._handlers.selectionChange(t);
27
- }
28
- _onBeforeinput(t) {
29
- if (t.inputType === "historyUndo" && this._handlers.undo)
30
- return t.preventDefault(), this._handlers.undo(t);
31
- if (t.inputType === "historyRedo" && this._handlers.redo)
32
- return t.preventDefault(), this._handlers.redo(t);
33
- }
34
- _onCompositionEnd(t) {
35
- this._handlers.input(t);
36
- }
37
- _onInput(t) {
38
- t.isComposing || this._handlers.input(t);
39
- }
40
- /** Unbinds HTMLElement events to mask internal events */
41
- unbindEvents() {
42
- this.input.removeEventListener("keydown", this._onKeydown), this.input.removeEventListener("input", this._onInput), this.input.removeEventListener("beforeinput", this._onBeforeinput), this.input.removeEventListener("compositionend", this._onCompositionEnd), this.input.removeEventListener("drop", this._handlers.drop), this.input.removeEventListener("click", this._handlers.click), this.input.removeEventListener("focus", this._handlers.focus), this.input.removeEventListener("blur", this._handlers.commit), this._handlers = {};
43
- }
44
- }
45
- o.HTMLMaskElement = h;
46
- export {
47
- h as default
48
- };
49
- //# sourceMappingURL=html-mask-element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-mask-element.js","sources":["../../../../../node_modules/imask/esm/controls/html-mask-element.js"],"sourcesContent":["import MaskElement from './mask-element.js';\nimport IMask from '../core/holder.js';\n\nconst KEY_Z = 90;\nconst KEY_Y = 89;\n\n/** Bridge between HTMLElement and {@link Masked} */\nclass HTMLMaskElement extends MaskElement {\n /** HTMLElement to use mask on */\n\n constructor(input) {\n super();\n this.input = input;\n this._onKeydown = this._onKeydown.bind(this);\n this._onInput = this._onInput.bind(this);\n this._onBeforeinput = this._onBeforeinput.bind(this);\n this._onCompositionEnd = this._onCompositionEnd.bind(this);\n }\n get rootElement() {\n var _this$input$getRootNo, _this$input$getRootNo2, _this$input;\n return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) == null ? void 0 : _this$input$getRootNo2.call(_this$input)) != null ? _this$input$getRootNo : document;\n }\n\n /** Is element in focus */\n get isActive() {\n return this.input === this.rootElement.activeElement;\n }\n\n /** Binds HTMLElement events to mask internal events */\n bindEvents(handlers) {\n this.input.addEventListener('keydown', this._onKeydown);\n this.input.addEventListener('input', this._onInput);\n this.input.addEventListener('beforeinput', this._onBeforeinput);\n this.input.addEventListener('compositionend', this._onCompositionEnd);\n this.input.addEventListener('drop', handlers.drop);\n this.input.addEventListener('click', handlers.click);\n this.input.addEventListener('focus', handlers.focus);\n this.input.addEventListener('blur', handlers.commit);\n this._handlers = handlers;\n }\n _onKeydown(e) {\n if (this._handlers.redo && (e.keyCode === KEY_Z && e.shiftKey && (e.metaKey || e.ctrlKey) || e.keyCode === KEY_Y && e.ctrlKey)) {\n e.preventDefault();\n return this._handlers.redo(e);\n }\n if (this._handlers.undo && e.keyCode === KEY_Z && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n return this._handlers.undo(e);\n }\n if (!e.isComposing) this._handlers.selectionChange(e);\n }\n _onBeforeinput(e) {\n if (e.inputType === 'historyUndo' && this._handlers.undo) {\n e.preventDefault();\n return this._handlers.undo(e);\n }\n if (e.inputType === 'historyRedo' && this._handlers.redo) {\n e.preventDefault();\n return this._handlers.redo(e);\n }\n }\n _onCompositionEnd(e) {\n this._handlers.input(e);\n }\n _onInput(e) {\n if (!e.isComposing) this._handlers.input(e);\n }\n\n /** Unbinds HTMLElement events to mask internal events */\n unbindEvents() {\n this.input.removeEventListener('keydown', this._onKeydown);\n this.input.removeEventListener('input', this._onInput);\n this.input.removeEventListener('beforeinput', this._onBeforeinput);\n this.input.removeEventListener('compositionend', this._onCompositionEnd);\n this.input.removeEventListener('drop', this._handlers.drop);\n this.input.removeEventListener('click', this._handlers.click);\n this.input.removeEventListener('focus', this._handlers.focus);\n this.input.removeEventListener('blur', this._handlers.commit);\n this._handlers = {};\n }\n}\nIMask.HTMLMaskElement = HTMLMaskElement;\n\nexport { HTMLMaskElement as default };\n"],"names":["KEY_Z","KEY_Y","HTMLMaskElement","MaskElement","input","_this$input$getRootNo","_this$input$getRootNo2","_this$input","handlers","e","IMask"],"mappings":";;AAGA,MAAMA,IAAQ,IACRC,IAAQ;AAGd,MAAMC,UAAwBC,EAAY;AAAA;AAAA,EAGxC,YAAYC,GAAO;AACjB,UAAK,GACL,KAAK,QAAQA,GACb,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI,GACnD,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,EAC3D;AAAA,EACA,IAAI,cAAc;AAChB,QAAIC,GAAuBC,GAAwBC;AACnD,YAAQF,KAAyBC,KAA0BC,IAAc,KAAK,OAAO,gBAAgB,OAAO,SAASD,EAAuB,KAAKC,CAAW,MAAM,OAAOF,IAAwB;AAAA,EACnM;AAAA;AAAA,EAGA,IAAI,WAAW;AACb,WAAO,KAAK,UAAU,KAAK,YAAY;AAAA,EACzC;AAAA;AAAA,EAGA,WAAWG,GAAU;AACnB,SAAK,MAAM,iBAAiB,WAAW,KAAK,UAAU,GACtD,KAAK,MAAM,iBAAiB,SAAS,KAAK,QAAQ,GAClD,KAAK,MAAM,iBAAiB,eAAe,KAAK,cAAc,GAC9D,KAAK,MAAM,iBAAiB,kBAAkB,KAAK,iBAAiB,GACpE,KAAK,MAAM,iBAAiB,QAAQA,EAAS,IAAI,GACjD,KAAK,MAAM,iBAAiB,SAASA,EAAS,KAAK,GACnD,KAAK,MAAM,iBAAiB,SAASA,EAAS,KAAK,GACnD,KAAK,MAAM,iBAAiB,QAAQA,EAAS,MAAM,GACnD,KAAK,YAAYA;AAAA,EACnB;AAAA,EACA,WAAWC,GAAG;AACZ,QAAI,KAAK,UAAU,SAASA,EAAE,YAAYT,KAASS,EAAE,aAAaA,EAAE,WAAWA,EAAE,YAAYA,EAAE,YAAYR,KAASQ,EAAE;AACpH,aAAAA,EAAE,eAAc,GACT,KAAK,UAAU,KAAKA,CAAC;AAE9B,QAAI,KAAK,UAAU,QAAQA,EAAE,YAAYT,MAAUS,EAAE,WAAWA,EAAE;AAChE,aAAAA,EAAE,eAAc,GACT,KAAK,UAAU,KAAKA,CAAC;AAE9B,IAAKA,EAAE,eAAa,KAAK,UAAU,gBAAgBA,CAAC;AAAA,EACtD;AAAA,EACA,eAAeA,GAAG;AAChB,QAAIA,EAAE,cAAc,iBAAiB,KAAK,UAAU;AAClD,aAAAA,EAAE,eAAc,GACT,KAAK,UAAU,KAAKA,CAAC;AAE9B,QAAIA,EAAE,cAAc,iBAAiB,KAAK,UAAU;AAClD,aAAAA,EAAE,eAAc,GACT,KAAK,UAAU,KAAKA,CAAC;AAAA,EAEhC;AAAA,EACA,kBAAkBA,GAAG;AACnB,SAAK,UAAU,MAAMA,CAAC;AAAA,EACxB;AAAA,EACA,SAASA,GAAG;AACV,IAAKA,EAAE,eAAa,KAAK,UAAU,MAAMA,CAAC;AAAA,EAC5C;AAAA;AAAA,EAGA,eAAe;AACb,SAAK,MAAM,oBAAoB,WAAW,KAAK,UAAU,GACzD,KAAK,MAAM,oBAAoB,SAAS,KAAK,QAAQ,GACrD,KAAK,MAAM,oBAAoB,eAAe,KAAK,cAAc,GACjE,KAAK,MAAM,oBAAoB,kBAAkB,KAAK,iBAAiB,GACvE,KAAK,MAAM,oBAAoB,QAAQ,KAAK,UAAU,IAAI,GAC1D,KAAK,MAAM,oBAAoB,SAAS,KAAK,UAAU,KAAK,GAC5D,KAAK,MAAM,oBAAoB,SAAS,KAAK,UAAU,KAAK,GAC5D,KAAK,MAAM,oBAAoB,QAAQ,KAAK,UAAU,MAAM,GAC5D,KAAK,YAAY,CAAA;AAAA,EACnB;AACF;AACAC,EAAM,kBAAkBR;","x_google_ignoreList":[0]}
@@ -1,31 +0,0 @@
1
- class s {
2
- constructor() {
3
- this.states = [], this.currentIndex = 0;
4
- }
5
- get currentState() {
6
- return this.states[this.currentIndex];
7
- }
8
- get isEmpty() {
9
- return this.states.length === 0;
10
- }
11
- push(t) {
12
- this.currentIndex < this.states.length - 1 && (this.states.length = this.currentIndex + 1), this.states.push(t), this.states.length > s.MAX_LENGTH && this.states.shift(), this.currentIndex = this.states.length - 1;
13
- }
14
- go(t) {
15
- return this.currentIndex = Math.min(Math.max(this.currentIndex + t, 0), this.states.length - 1), this.currentState;
16
- }
17
- undo() {
18
- return this.go(-1);
19
- }
20
- redo() {
21
- return this.go(1);
22
- }
23
- clear() {
24
- this.states.length = 0, this.currentIndex = 0;
25
- }
26
- }
27
- s.MAX_LENGTH = 100;
28
- export {
29
- s as default
30
- };
31
- //# sourceMappingURL=input-history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-history.js","sources":["../../../../../node_modules/imask/esm/controls/input-history.js"],"sourcesContent":["class InputHistory {\n constructor() {\n this.states = [];\n this.currentIndex = 0;\n }\n get currentState() {\n return this.states[this.currentIndex];\n }\n get isEmpty() {\n return this.states.length === 0;\n }\n push(state) {\n // if current index points before the last element then remove the future\n if (this.currentIndex < this.states.length - 1) this.states.length = this.currentIndex + 1;\n this.states.push(state);\n if (this.states.length > InputHistory.MAX_LENGTH) this.states.shift();\n this.currentIndex = this.states.length - 1;\n }\n go(steps) {\n this.currentIndex = Math.min(Math.max(this.currentIndex + steps, 0), this.states.length - 1);\n return this.currentState;\n }\n undo() {\n return this.go(-1);\n }\n redo() {\n return this.go(+1);\n }\n clear() {\n this.states.length = 0;\n this.currentIndex = 0;\n }\n}\nInputHistory.MAX_LENGTH = 100;\n\nexport { InputHistory as default };\n"],"names":["InputHistory","state","steps"],"mappings":"AAAA,MAAMA,EAAa;AAAA,EACjB,cAAc;AACZ,SAAK,SAAS,CAAA,GACd,KAAK,eAAe;AAAA,EACtB;AAAA,EACA,IAAI,eAAe;AACjB,WAAO,KAAK,OAAO,KAAK,YAAY;AAAA,EACtC;AAAA,EACA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO,WAAW;AAAA,EAChC;AAAA,EACA,KAAKC,GAAO;AAEV,IAAI,KAAK,eAAe,KAAK,OAAO,SAAS,MAAG,KAAK,OAAO,SAAS,KAAK,eAAe,IACzF,KAAK,OAAO,KAAKA,CAAK,GAClB,KAAK,OAAO,SAASD,EAAa,cAAY,KAAK,OAAO,MAAK,GACnE,KAAK,eAAe,KAAK,OAAO,SAAS;AAAA,EAC3C;AAAA,EACA,GAAGE,GAAO;AACR,gBAAK,eAAe,KAAK,IAAI,KAAK,IAAI,KAAK,eAAeA,GAAO,CAAC,GAAG,KAAK,OAAO,SAAS,CAAC,GACpF,KAAK;AAAA,EACd;AAAA,EACA,OAAO;AACL,WAAO,KAAK,GAAG,EAAE;AAAA,EACnB;AAAA,EACA,OAAO;AACL,WAAO,KAAK,GAAG,CAAE;AAAA,EACnB;AAAA,EACA,QAAQ;AACN,SAAK,OAAO,SAAS,GACrB,KAAK,eAAe;AAAA,EACtB;AACF;AACAF,EAAa,aAAa;","x_google_ignoreList":[0]}