linear-react-components-ui 1.1.26-beta.22 → 1.1.26-beta.24

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 (116) hide show
  1. package/lib/assets/styles/datepicker2.css +1 -1
  2. package/lib/assets/styles/radiofield.css +1 -1
  3. package/lib/assets/styles/selectfield.css +1 -1
  4. package/lib/assets/styles/textfield.css +1 -1
  5. package/lib/buttons/DefaultButton.js +1 -1
  6. package/lib/calendar/base/index.js +2 -2
  7. package/lib/dialog/base/Content.d.ts +1 -1
  8. package/lib/dialog/base/Content.js +8 -7
  9. package/lib/dialog/base/Content.js.map +1 -1
  10. package/lib/dialog/form/index.js +23 -23
  11. package/lib/dialog/form/index.js.map +1 -1
  12. package/lib/dialog/types.d.ts +2 -1
  13. package/lib/dialog/wizard/index.js +4 -4
  14. package/lib/form/Field.js.map +1 -1
  15. package/lib/form/FieldArray.js +18 -18
  16. package/lib/form/FieldArray.js.map +1 -1
  17. package/lib/form/FieldNumber.js +42 -39
  18. package/lib/form/FieldNumber.js.map +1 -1
  19. package/lib/form/FieldPeriod.js +27 -27
  20. package/lib/form/FieldPeriod.js.map +1 -1
  21. package/lib/form/helpers.d.ts +5 -1
  22. package/lib/form/helpers.js.map +1 -1
  23. package/lib/form/withFormSecurity.js +3 -3
  24. package/lib/form2/useForm/index.js +95 -87
  25. package/lib/form2/useForm/index.js.map +1 -1
  26. package/lib/icons/index.js +1 -1
  27. package/lib/inputs/base/InputTextBase.js +1 -1
  28. package/lib/inputs/date/index.js +1 -1
  29. package/lib/inputs/number/Currency.d.ts +1 -1
  30. package/lib/inputs/number/Currency.js +79 -18
  31. package/lib/inputs/number/Currency.js.map +1 -1
  32. package/lib/inputs/number/Decimal.d.ts +2 -2
  33. package/lib/inputs/number/Decimal.js +78 -8
  34. package/lib/inputs/number/Decimal.js.map +1 -1
  35. package/lib/inputs/number/format_number.js +11 -5
  36. package/lib/inputs/number/format_number.js.map +1 -1
  37. package/lib/inputs/number/index.d.ts +1 -1
  38. package/lib/inputs/number/index.js +75 -31
  39. package/lib/inputs/number/index.js.map +1 -1
  40. package/lib/inputs/number/types.d.ts +9 -0
  41. package/lib/inputs/period/PeriodList.js +3 -3
  42. package/lib/inputs2/checkboxfield/base.js +1 -1
  43. package/lib/inputs2/date/datefield/base.js +1 -1
  44. package/lib/inputs2/date/datefield/types.d.ts +2 -2
  45. package/lib/inputs2/date/dateperiodfield/base.js +1 -1
  46. package/lib/inputs2/date/dateperiodfield/types.d.ts +2 -2
  47. package/lib/inputs2/filefield/index.js.map +1 -1
  48. package/lib/inputs2/index.d.ts +3 -2
  49. package/lib/inputs2/index.js +11 -8
  50. package/lib/inputs2/index.js.map +1 -1
  51. package/lib/inputs2/mask/Cnpj.d.ts +6 -3
  52. package/lib/inputs2/mask/Cnpj.js +107 -43
  53. package/lib/inputs2/mask/Cnpj.js.map +1 -1
  54. package/lib/inputs2/mask/Cpf.d.ts +6 -3
  55. package/lib/inputs2/mask/Cpf.js +87 -37
  56. package/lib/inputs2/mask/Cpf.js.map +1 -1
  57. package/lib/inputs2/mask/Phone.d.ts +5 -3
  58. package/lib/inputs2/mask/Phone.js +19 -18
  59. package/lib/inputs2/mask/Phone.js.map +1 -1
  60. package/lib/inputs2/mask/ZipCode.d.ts +6 -2
  61. package/lib/inputs2/mask/ZipCode.js +18 -16
  62. package/lib/inputs2/mask/ZipCode.js.map +1 -1
  63. package/lib/inputs2/mask/index.d.ts +6 -0
  64. package/lib/inputs2/mask/index.js +113 -0
  65. package/lib/inputs2/mask/index.js.map +1 -0
  66. package/lib/inputs2/mask/types.d.ts +16 -0
  67. package/lib/inputs2/numberfield/currency.d.ts +2 -1
  68. package/lib/inputs2/numberfield/currency.js +93 -75
  69. package/lib/inputs2/numberfield/currency.js.map +1 -1
  70. package/lib/inputs2/numberfield/decimal.d.ts +2 -1
  71. package/lib/inputs2/numberfield/decimal.js +87 -68
  72. package/lib/inputs2/numberfield/decimal.js.map +1 -1
  73. package/lib/inputs2/numberfield/helpers.js +10 -10
  74. package/lib/inputs2/numberfield/helpers.js.map +1 -1
  75. package/lib/inputs2/numberfield/index.d.ts +3 -2
  76. package/lib/inputs2/numberfield/index.js +26 -25
  77. package/lib/inputs2/numberfield/index.js.map +1 -1
  78. package/lib/inputs2/radiofield/base.js +76 -80
  79. package/lib/inputs2/radiofield/base.js.map +1 -1
  80. package/lib/inputs2/radiofield/index.js.map +1 -1
  81. package/lib/inputs2/selectfield/base.d.ts +1 -2
  82. package/lib/inputs2/selectfield/base.js +300 -300
  83. package/lib/inputs2/selectfield/base.js.map +1 -1
  84. package/lib/inputs2/selectfield/context.d.ts +1 -1
  85. package/lib/inputs2/selectfield/context.js.map +1 -1
  86. package/lib/inputs2/selectfield/index.d.ts +2 -1
  87. package/lib/inputs2/selectfield/index.js +20 -18
  88. package/lib/inputs2/selectfield/index.js.map +1 -1
  89. package/lib/inputs2/selectfield/listbox.d.ts +1 -0
  90. package/lib/inputs2/selectfield/listbox.js +34 -33
  91. package/lib/inputs2/selectfield/listbox.js.map +1 -1
  92. package/lib/inputs2/selectfield/selections.d.ts +1 -1
  93. package/lib/inputs2/selectfield/selections.js +11 -11
  94. package/lib/inputs2/selectfield/selections.js.map +1 -1
  95. package/lib/inputs2/selectfield/simple.d.ts +9 -0
  96. package/lib/inputs2/selectfield/simple.js +24 -0
  97. package/lib/inputs2/selectfield/simple.js.map +1 -0
  98. package/lib/inputs2/selectfield/triggers.js +15 -15
  99. package/lib/inputs2/selectfield/triggers.js.map +1 -1
  100. package/lib/inputs2/selectfield/types.d.ts +1 -0
  101. package/lib/inputs2/selectfield/types.js.map +1 -1
  102. package/lib/inputs2/textareafield/base.js +1 -1
  103. package/lib/inputs2/textfield/base.js +1 -1
  104. package/lib/labels/DefaultLabel.js +1 -1
  105. package/lib/list/Item.js +1 -1
  106. package/lib/menus/sidenav/MenuLink.js +1 -1
  107. package/lib/menus/sidenav/NavMenuItem.js +1 -1
  108. package/lib/permissionValidations.js +1 -2
  109. package/lib/textContent/index.js +1 -1
  110. package/package.json +6 -1
  111. package/lib/inputs/number/BaseNumber.d.ts +0 -3
  112. package/lib/inputs/number/BaseNumber.js +0 -60
  113. package/lib/inputs/number/BaseNumber.js.map +0 -1
  114. package/lib/inputs2/mask/BaseMask.d.ts +0 -13
  115. package/lib/inputs2/mask/BaseMask.js +0 -79
  116. package/lib/inputs2/mask/BaseMask.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { MaskFieldProps } from './types';
3
+ import * as TextField from '../textfield';
4
+ declare const Input: React.ForwardRefExoticComponent<TextField.TextFieldInputProps & import('./types').IMaskOptions & React.RefAttributes<HTMLInputElement>>;
5
+ export { Input };
6
+ export type { MaskFieldProps };
@@ -0,0 +1,113 @@
1
+ import { jsx as P } from "react/jsx-runtime";
2
+ import { c as Q } from "../../_virtual/compiler-runtime.js";
3
+ import { forwardRef as U, useEffect as W } from "react";
4
+ import J 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 { mergeRefs as Y } from "../../form2/helpers.js";
17
+ import { Input as tt } from "../textfield/index.js";
18
+ const et = U((o, _) => {
19
+ const t = Q.c(46);
20
+ let e, s, m, n, c, u, d, f, p, v, h, k;
21
+ t[0] !== o ? ({
22
+ mask: s,
23
+ unmask: m,
24
+ lazy: c,
25
+ placeholder: u,
26
+ autoCompleteMask: d,
27
+ radix: f,
28
+ placeholderChar: p,
29
+ scale: v,
30
+ normalizeZeros: h,
31
+ padFractionalZeros: k,
32
+ mapToRadix: n,
33
+ ...e
34
+ } = o, t[0] = o, t[1] = e, t[2] = s, t[3] = m, t[4] = n, t[5] = c, t[6] = u, t[7] = d, t[8] = f, t[9] = p, t[10] = v, t[11] = h, t[12] = k) : (e = t[1], s = t[2], m = t[3], n = t[4], c = t[5], u = t[6], d = t[7], f = t[8], p = t[9], v = t[10], h = t[11], k = t[12]);
35
+ const x = s === void 0 ? "" : s, K = m === void 0 ? !0 : m, B = c === void 0 ? !0 : c, E = u === void 0 ? "" : u, C = d === void 0 ? void 0 : d, F = f === void 0 ? "" : f, T = p === void 0 ? "_" : p, b = v === void 0 ? 0 : v, w = h === void 0 ? !1 : h, A = k === void 0 ? !1 : k;
36
+ let R;
37
+ t[13] !== n ? (R = n === void 0 ? [] : n, t[13] = n, t[14] = R) : R = t[14];
38
+ const N = R, $ = x;
39
+ let z;
40
+ t[15] !== B || t[16] !== N || t[17] !== w || t[18] !== A || t[19] !== T || t[20] !== F || t[21] !== b || t[22] !== $ ? (z = {
41
+ mask: $,
42
+ lazy: B,
43
+ scale: b,
44
+ radix: F,
45
+ mapToRadix: N,
46
+ placeholderChar: T,
47
+ normalizeZeros: w,
48
+ padFractionalZeros: A
49
+ }, t[15] = B, t[16] = N, t[17] = w, t[18] = A, t[19] = T, t[20] = F, t[21] = b, t[22] = $, t[23] = z) : z = t[23];
50
+ let I;
51
+ t[24] !== e ? (I = (g, i, l) => {
52
+ e?.onComplete?.(g, l);
53
+ }, t[24] = e, t[25] = I) : I = t[25];
54
+ const {
55
+ ref: L,
56
+ value: j,
57
+ unmaskedValue: M,
58
+ setValue: O
59
+ } = X(z, {
60
+ onComplete: I,
61
+ onAccept: (g, i, l) => {
62
+ const H = K ? i.unmaskedValue : i.value;
63
+ e?.onAccept?.(H, l), a(g), o?.onChange?.({
64
+ ...l,
65
+ target: {
66
+ ...l?.target,
67
+ name: o?.name,
68
+ value: H
69
+ }
70
+ });
71
+ }
72
+ }), a = O;
73
+ let V;
74
+ t[26] !== C || t[27] !== x || t[28] !== e || t[29] !== a || t[30] !== M ? (V = (g) => {
75
+ if (M.trim().length && C) {
76
+ const i = M, l = x?.toString().replace(/\D+/g, "").length;
77
+ if (l && l > i.length)
78
+ t: switch (C) {
79
+ case "left": {
80
+ a(i.padStart(l, "0"));
81
+ break t;
82
+ }
83
+ case "right": {
84
+ a(i.padEnd(l, "0"));
85
+ break t;
86
+ }
87
+ default:
88
+ a(i);
89
+ }
90
+ }
91
+ e?.onBlur?.(g);
92
+ }, t[26] = C, t[27] = x, t[28] = e, t[29] = a, t[30] = M, t[31] = V) : V = t[31];
93
+ const D = V;
94
+ let y;
95
+ t[32] !== o.value || t[33] !== a ? (y = () => {
96
+ J.isNil(o?.value) || a(J.toString(o?.value));
97
+ }, t[32] = o.value, t[33] = a, t[34] = y) : y = t[34];
98
+ const q = o?.value;
99
+ let S;
100
+ t[35] !== q ? (S = [q], t[35] = q, t[36] = S) : S = t[36], W(y, S);
101
+ const G = L;
102
+ let r;
103
+ t[37] !== _ || t[38] !== G ? (r = Y(_, G), t[37] = _, t[38] = G, t[39] = r) : r = t[39];
104
+ let Z;
105
+ return t[40] !== D || t[41] !== E || t[42] !== e || t[43] !== r || t[44] !== j ? (Z = /* @__PURE__ */ P(tt, { ...e, type: "text", value: j, placeholder: E, onBlur: D, onChange: ot, ref: r }), t[40] = D, t[41] = E, t[42] = e, t[43] = r, t[44] = j, t[45] = Z) : Z = t[45], Z;
106
+ });
107
+ et.displayName = "MaskInputField";
108
+ function ot() {
109
+ }
110
+ export {
111
+ et as Input
112
+ };
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/inputs2/mask/index.tsx"],"sourcesContent":["import React, { forwardRef, useEffect } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { mergeRefs } from '../../form2/helpers';\nimport * as TextField from '../textfield';\nimport type { MaskFieldProps } from './types';\n\nconst Input = forwardRef<HTMLInputElement, MaskFieldProps>((props, ref) => {\n const { \n mask = '', unmask = true, lazy = true, placeholder = '', autoCompleteMask = undefined,\n radix = '', placeholderChar = '_', scale = 0, normalizeZeros = false, padFractionalZeros = false,\n mapToRadix = [], ...rest\n } = props;\n\n const { ref: inputRef, value, unmaskedValue, setValue } = useIMask({\n mask: mask as string,\n lazy,\n scale,\n radix,\n mapToRadix,\n placeholderChar,\n normalizeZeros,\n padFractionalZeros,\n }, {\n onComplete: (imaskValue, ___, event) => {\n rest?.onComplete?.(imaskValue, event);\n },\n onAccept: (acceptValue, imask, event) => {\n const valueToSet = unmask ? imask.unmaskedValue : imask.value;\n rest?.onAccept?.(valueToSet, event);\n setValue(acceptValue);\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: valueToSet,\n },\n } as React.ChangeEvent<HTMLInputElement>);\n },\n });\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (unmaskedValue.trim().length && autoCompleteMask) {\n const currentValue = unmaskedValue;\n const sizeMask = mask?.toString().replace(/\\D+/g, '').length;\n if (sizeMask && sizeMask > currentValue.length) {\n switch (autoCompleteMask) {\n case 'left':\n setValue(currentValue.padStart(sizeMask, '0'));\n break;\n case 'right':\n setValue(currentValue.padEnd(sizeMask, '0'));\n break;\n default:\n setValue(currentValue);\n break;\n }\n }\n }\n rest?.onBlur?.(event);\n };\n\n useEffect(() => {\n if (!_.isNil(props?.value)) { \n setValue(_.toString(props?.value)); \n }\n }, [props?.value]);\n\n return (\n <TextField.Input\n {...rest}\n type=\"text\"\n value={value}\n placeholder={placeholder}\n onBlur={handleBlur}\n onChange={() => { }}\n ref={mergeRefs(ref, inputRef as React.Ref<HTMLInputElement>)} />\n );\n});\n\nInput.displayName = 'MaskInputField';\nexport { Input };\nexport type { MaskFieldProps };\n"],"names":["Input","forwardRef","props","ref","$","_c","rest","t0","t1","t10","t2","t3","t4","t5","t6","t7","t8","t9","mask","unmask","lazy","placeholder","autoCompleteMask","radix","placeholderChar","scale","normalizeZeros","padFractionalZeros","mapToRadix","undefined","t11","t12","t13","t14","imaskValue","___","event","onComplete","inputRef","value","unmaskedValue","setValue","t15","useIMask","onAccept","acceptValue","imask","event_0","valueToSet","onChange","target","name","t16","event_1","trim","length","currentValue","sizeMask","toString","replace","bb101","padStart","padEnd","onBlur","handleBlur","t17","_","isNil","t18","t19","useEffect","t20","t21","mergeRefs","t22","jsx","TextField.Input","_temp","displayName"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { TextFieldInputProps } from '../textfield';
2
+ export type IMaskOptions = {
3
+ mask?: string | RegExp | (string | RegExp)[] | (() => void) | number;
4
+ unmask?: boolean | 'typed';
5
+ lazy?: boolean;
6
+ scale?: number;
7
+ radix?: string;
8
+ mapToRadix?: string[];
9
+ normalizeZeros?: boolean;
10
+ placeholderChar?: string;
11
+ padFractionalZeros?: boolean;
12
+ autoCompleteMask?: 'left' | 'right';
13
+ onAccept?: (value: string, event?: InputEvent) => void;
14
+ onComplete?: (value: string, event?: InputEvent) => void;
15
+ };
16
+ export type MaskFieldProps = TextFieldInputProps & IMaskOptions;
@@ -1,3 +1,4 @@
1
+ import { default as React } from 'react';
1
2
  import { CurrencyFieldInputProps } from './types';
2
- declare const Currency: import('react').ForwardRefExoticComponent<CurrencyFieldInputProps & import('react').RefAttributes<HTMLInputElement>>;
3
+ declare const Currency: React.ForwardRefExoticComponent<CurrencyFieldInputProps & React.RefAttributes<HTMLInputElement>>;
3
4
  export { Currency };
@@ -1,7 +1,8 @@
1
- import { jsxs as W, jsx as O } from "react/jsx-runtime";
2
- import { c as X } from "../../_virtual/compiler-runtime.js";
1
+ import { jsxs as et, jsx as X } from "react/jsx-runtime";
2
+ import { c as ot } from "../../_virtual/compiler-runtime.js";
3
3
  import '../../assets/styles/numberfield.css';/* empty css */
4
- import h from "../../_virtual/lodash.js";
4
+ import { forwardRef as lt, useRef as it, useEffect as at } from "react";
5
+ import l from "../../_virtual/lodash.js";
5
6
  import "../../node_modules/imask/esm/index.js";
6
7
  import "../../node_modules/imask/esm/controls/input.js";
7
8
  import "../../node_modules/imask/esm/masked/factory.js";
@@ -11,101 +12,118 @@ import "../../node_modules/imask/esm/controls/html-mask-element.js";
11
12
  import "../../node_modules/imask/esm/controls/html-contenteditable-mask-element.js";
12
13
  import "../../node_modules/imask/esm/controls/input-history.js";
13
14
  import "../../node_modules/react-imask/esm/input.js";
14
- import Y from "../../node_modules/react-imask/esm/hook.js";
15
+ import rt from "../../node_modules/react-imask/esm/hook.js";
15
16
  import "../../node_modules/react-imask/esm/mixin.js";
16
- import { forwardRef as tt, useRef as et, useEffect as ot } from "react";
17
- import { Input as it } from "../textfield/index.js";
17
+ import { Input as nt } from "../textfield/index.js";
18
18
  import "../textareafield/index.js";
19
19
  import "./index.js";
20
20
  import "../date/datefield/index.js";
21
21
  import "../radiofield/index.js";
22
22
  import "../selectfield/index.js";
23
23
  import "../colorfield/index.js";
24
+ import "../mask/index.js";
24
25
  import "../checkboxfield/index.js";
25
26
  import "../date/dateperiodfield/index.js";
26
27
  import "../filefield/index.js";
27
- import { mergeRefs as lt } from "../../form2/helpers.js";
28
- import { LeftSlot as rt } from "../slot/index.js";
29
- const at = tt((e, b) => {
30
- const t = X.c(45);
31
- let o, r, a, n, m, s, c, u, d, f, v, p, g, y;
28
+ import { LeftSlot as mt } from "../slot/index.js";
29
+ import { mergeRefs as st } from "../../form2/helpers.js";
30
+ const ct = lt((e, w) => {
31
+ const t = ot.c(54);
32
+ let a, u, d, f, v, p, g, N, h, y, x, F, R, S, k;
32
33
  t[0] !== e ? ({
33
- min: r,
34
- max: a,
35
- to: c,
36
- from: u,
37
- enum: d,
38
- onChange: f,
39
- allowNegative: v,
40
- textAlign: p,
41
- children: g,
42
- scale: y,
43
- normalizeZeros: n,
44
- padFractionalZeros: m,
45
- currencySymbol: s,
46
- ...o
47
- } = e, t[0] = e, t[1] = o, t[2] = r, t[3] = a, t[4] = n, t[5] = m, t[6] = s, t[7] = c, t[8] = u, t[9] = d, t[10] = f, t[11] = v, t[12] = p, t[13] = g, t[14] = y) : (o = t[1], r = t[2], a = t[3], n = t[4], m = t[5], s = t[6], c = t[7], u = t[8], d = t[9], f = t[10], v = t[11], p = t[12], g = t[13], y = t[14]);
48
- const G = r === void 0 ? void 0 : r, V = a === void 0 ? void 0 : a, _ = c === void 0 ? void 0 : c, C = u === void 0 ? void 0 : u, I = d === void 0 ? void 0 : d, T = f === void 0 ? null : f, P = v === void 0 ? !0 : v, Z = p === void 0 ? "right" : p, w = g === void 0 ? null : g, A = y === void 0 ? 2 : y, E = n === void 0 ? !1 : n, M = m === void 0 ? !0 : m, j = s === void 0 ? "R$" : s, H = et(null), z = h.isNil(G) ? P ? void 0 : 0 : G;
49
- let x;
50
- t[15] === Symbol.for("react.memo_cache_sentinel") ? (x = ["."], t[15] = x) : x = t[15];
51
- let N;
52
- t[16] !== C || t[17] !== I || t[18] !== V || t[19] !== E || t[20] !== M || t[21] !== A || t[22] !== z || t[23] !== _ ? (N = {
34
+ min: u,
35
+ max: d,
36
+ to: N,
37
+ from: h,
38
+ enum: y,
39
+ onChange: x,
40
+ onBlur: F,
41
+ allowNegative: R,
42
+ textAlign: S,
43
+ children: k,
44
+ scale: f,
45
+ normalizeZeros: v,
46
+ padFractionalZeros: p,
47
+ currencySymbol: g,
48
+ ...a
49
+ } = e, t[0] = e, t[1] = a, t[2] = u, t[3] = d, t[4] = f, t[5] = v, t[6] = p, t[7] = g, t[8] = N, t[9] = h, t[10] = y, t[11] = x, t[12] = F, t[13] = R, t[14] = S, t[15] = k) : (a = t[1], u = t[2], d = t[3], f = t[4], v = t[5], p = t[6], g = t[7], N = t[8], h = t[9], y = t[10], x = t[11], F = t[12], R = t[13], S = t[14], k = t[15]);
50
+ const o = u === void 0 ? void 0 : u, A = d === void 0 ? void 0 : d, E = N === void 0 ? void 0 : N, M = h === void 0 ? void 0 : h, j = y === void 0 ? void 0 : y, r = x === void 0 ? null : x, z = F === void 0 ? null : F, Y = R === void 0 ? !0 : R, L = S === void 0 ? "right" : S, $ = k === void 0 ? null : k, q = f === void 0 ? 2 : f, D = v === void 0 ? !1 : v, G = p === void 0 ? !0 : p, H = g === void 0 ? "R$" : g, Q = it(null), J = l.isNil(o) ? Y ? void 0 : 0 : o;
51
+ let V;
52
+ t[16] === Symbol.for("react.memo_cache_sentinel") ? (V = ["."], t[16] = V) : V = t[16];
53
+ let b;
54
+ t[17] !== M || t[18] !== j || t[19] !== A || t[20] !== D || t[21] !== G || t[22] !== q || t[23] !== J || t[24] !== E ? (b = {
53
55
  mask: Number,
54
56
  unmask: !0,
55
- min: z,
56
- enum: I,
57
+ min: J,
58
+ enum: j,
57
59
  radix: ",",
58
- mapToRadix: x,
60
+ mapToRadix: V,
59
61
  thousandsSeparator: ".",
60
- max: V,
61
- to: _,
62
- from: C,
63
- scale: A,
64
- normalizeZeros: E,
65
- padFractionalZeros: M
66
- }, t[16] = C, t[17] = I, t[18] = V, t[19] = E, t[20] = M, t[21] = A, t[22] = z, t[23] = _, t[24] = N) : N = t[24];
67
- let R;
68
- t[25] !== T || t[26] !== e.name ? (R = {
69
- ref: H,
70
- onAccept: (D, Q, J) => {
71
- const K = parseFloat(Q.unmaskedValue), U = h.isNaN(K) ? 0 : K;
72
- T?.({
73
- ...J,
62
+ max: A,
63
+ to: E,
64
+ from: M,
65
+ scale: q,
66
+ normalizeZeros: D,
67
+ padFractionalZeros: G
68
+ }, t[17] = M, t[18] = j, t[19] = A, t[20] = D, t[21] = G, t[22] = q, t[23] = J, t[24] = E, t[25] = b) : b = t[25];
69
+ let C;
70
+ t[26] !== r || t[27] !== e.name ? (C = {
71
+ ref: Q,
72
+ onAccept: (i, _, U) => {
73
+ const W = parseFloat(_.unmaskedValue), tt = l.isNaN(W) ? 0 : W;
74
+ r?.({
75
+ ...U,
74
76
  target: {
75
- ...J?.target,
77
+ ...U?.target,
76
78
  name: e?.name,
77
- value: U
79
+ value: tt
78
80
  }
79
81
  });
80
82
  }
81
- }, t[25] = T, t[26] = e.name, t[27] = R) : R = t[27];
83
+ }, t[26] = r, t[27] = e.name, t[28] = C) : C = t[28];
82
84
  const {
83
- value: L,
84
- setValue: $,
85
- unmaskedValue: q
86
- } = Y(N, R);
87
- let F;
88
- t[28] !== e.value || t[29] !== $ || t[30] !== q ? (F = () => {
89
- const D = h.toString(e?.value);
90
- !h.isNil(e?.value) && !h.isEqual(parseFloat(D), parseFloat(q)) && $(parseFloat(D).toLocaleString("pt-BR"));
91
- }, t[28] = e.value, t[29] = $, t[30] = q, t[31] = F) : F = t[31];
92
- const B = e?.value;
93
- let S;
94
- t[32] !== B ? (S = [B], t[32] = B, t[33] = S) : S = t[33], ot(F, S);
95
- let i;
96
- t[34] !== b ? (i = lt(b, H), t[34] = b, t[35] = i) : i = t[35];
97
- let l;
98
- t[36] !== j ? (l = /* @__PURE__ */ O(rt, { className: "currency-left-elements", children: /* @__PURE__ */ O("span", { className: "currency-symbol", children: j }) }), t[36] = j, t[37] = l) : l = t[37];
99
- let k;
100
- return t[38] !== w || t[39] !== L || t[40] !== o || t[41] !== i || t[42] !== l || t[43] !== Z ? (k = /* @__PURE__ */ W(it, { ...o, ref: i, type: "text", inputMode: "numeric", value: L, textAlign: Z, onChange: nt, children: [
101
- l,
102
- w
103
- ] }), t[38] = w, t[39] = L, t[40] = o, t[41] = i, t[42] = l, t[43] = Z, t[44] = k) : k = t[44], k;
85
+ value: K,
86
+ setValue: n,
87
+ unmaskedValue: m
88
+ } = rt(b, C);
89
+ let B;
90
+ t[29] !== o || t[30] !== z || t[31] !== r || t[32] !== e.name || t[33] !== n || t[34] !== m ? (B = (i) => {
91
+ if (!l.isNil(o)) {
92
+ const _ = parseFloat(m);
93
+ (l.isNaN(_) || _ < o) && (n(l.toString(o)), r?.({
94
+ ...i,
95
+ target: {
96
+ ...i?.target,
97
+ name: e?.name,
98
+ value: o
99
+ }
100
+ }));
101
+ }
102
+ z?.(i);
103
+ }, t[29] = o, t[30] = z, t[31] = r, t[32] = e.name, t[33] = n, t[34] = m, t[35] = B) : B = t[35];
104
+ const O = B;
105
+ let T;
106
+ t[36] !== e.value || t[37] !== n || t[38] !== m ? (T = () => {
107
+ const i = l.toString(e?.value);
108
+ !l.isNil(e?.value) && !l.isEqual(parseFloat(i), parseFloat(m)) && n(parseFloat(i).toLocaleString("pt-BR"));
109
+ }, t[36] = e.value, t[37] = n, t[38] = m, t[39] = T) : T = t[39];
110
+ const P = e?.value;
111
+ let I;
112
+ t[40] !== P ? (I = [P], t[40] = P, t[41] = I) : I = t[41], at(T, I);
113
+ let s;
114
+ t[42] !== w ? (s = st(w, Q), t[42] = w, t[43] = s) : s = t[43];
115
+ let c;
116
+ t[44] !== H ? (c = /* @__PURE__ */ X(mt, { className: "currency-left-elements", children: /* @__PURE__ */ X("span", { className: "currency-symbol", children: H }) }), t[44] = H, t[45] = c) : c = t[45];
117
+ let Z;
118
+ return t[46] !== $ || t[47] !== O || t[48] !== K || t[49] !== a || t[50] !== s || t[51] !== c || t[52] !== L ? (Z = /* @__PURE__ */ et(nt, { ...a, ref: s, type: "text", inputMode: "decimal", value: K, textAlign: L, onBlur: O, onChange: ut, children: [
119
+ c,
120
+ $
121
+ ] }), t[46] = $, t[47] = O, t[48] = K, t[49] = a, t[50] = s, t[51] = c, t[52] = L, t[53] = Z) : Z = t[53], Z;
104
122
  });
105
- at.displayName = "CurrencyFieldInput";
106
- function nt() {
123
+ ct.displayName = "CurrencyFieldInput";
124
+ function ut() {
107
125
  }
108
126
  export {
109
- at as Currency
127
+ ct as Currency
110
128
  };
111
129
  //# sourceMappingURL=currency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.js","sources":["../../../src/lib/inputs2/numberfield/currency.tsx"],"sourcesContent":["import '../../assets/styles/numberfield.scss';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { ChangeEvent, forwardRef, useEffect, useRef } from 'react';\nimport { TextField } from '..';\nimport { mergeRefs } from '../../form2/helpers';\nimport type { CurrencyFieldInputProps } from './types';\n\nconst Currency = forwardRef<HTMLInputElement, CurrencyFieldInputProps>((props, ref) => {\n const {\n min = undefined, max = undefined, to = undefined, from = undefined, enum: interval = undefined,\n onChange = null, allowNegative = true, textAlign = 'right', children = null, scale = 2, \n normalizeZeros = false, padFractionalZeros = true, currencySymbol = 'R$', ...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 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=\"numeric\"\n value={maskedValue}\n textAlign={textAlign}\n onChange={() => { }}>\n <TextField.LeftSlot className=\"currency-left-elements\">\n <span className=\"currency-symbol\">{currencySymbol}</span>\n </TextField.LeftSlot>\n {children}\n </TextField.Input>\n );\n});\n\nCurrency.displayName = 'CurrencyFieldInput';\n\nexport { Currency };\n"],"names":["Currency","forwardRef","props","ref","$","_c","rest","t0","t1","t10","t11","t12","t2","t3","t4","t5","t6","t7","t8","t9","min","max","to","from","enum","onChange","allowNegative","textAlign","children","scale","normalizeZeros","padFractionalZeros","currencySymbol","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","valueToString","toString","isEqual","toLocaleString","t18","t19","useEffect","t20","mergeRefs","t21","jsx","t22","_temp","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"currency.js","sources":["../../../src/lib/inputs2/numberfield/currency.tsx"],"sourcesContent":["import '../../assets/styles/numberfield.scss';\n\nimport 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 { CurrencyFieldInputProps } from './types';\n\nconst Currency = forwardRef<HTMLInputElement, CurrencyFieldInputProps>((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, currencySymbol = 'R$', ...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 <TextField.LeftSlot className=\"currency-left-elements\">\n <span className=\"currency-symbol\">{currencySymbol}</span>\n </TextField.LeftSlot>\n {children}\n </TextField.Input>\n );\n});\n\nCurrency.displayName = 'CurrencyFieldInput';\n\nexport { Currency };\n"],"names":["Currency","forwardRef","props","ref","$","_c","rest","t0","t1","t10","t11","t12","t13","t2","t3","t4","t5","t6","t7","t8","t9","min","max","to","from","enum","onChange","onBlur","allowNegative","textAlign","children","scale","normalizeZeros","padFractionalZeros","currencySymbol","undefined","interval","numberInputRef","useRef","t14","_","isNil","t15","Symbol","for","t16","mask","Number","unmask","radix","mapToRadix","thousandsSeparator","t17","name","onAccept","__","options","event","parsedValueToFloat","parseFloat","unmaskedValue","valueToReturn","isNaN","target","value","maskedValue","setValue","setMaskedValue","useIMask","t18","event_0","parsedCurrentValueToFloat","toString","handleBlur","t19","valueToString","isEqual","toLocaleString","t20","t21","useEffect","t22","mergeRefs","t23","jsx","t24","_temp","displayName"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { default as React } from 'react';
1
2
  import { DecimalFieldInputProps } from './types';
2
- declare const Decimal: import('react').ForwardRefExoticComponent<DecimalFieldInputProps & import('react').RefAttributes<HTMLInputElement>>;
3
+ declare const Decimal: React.ForwardRefExoticComponent<DecimalFieldInputProps & React.RefAttributes<HTMLInputElement>>;
3
4
  export { Decimal };