linear-react-components-ui 2.0.0-beta.4 → 2.0.0-rc.0

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 (122) hide show
  1. package/lib/assets/styles/radio.css +1 -1
  2. package/lib/assets/styles/selectfield.css +1 -1
  3. package/lib/assets/styles/split.css +1 -1
  4. package/lib/form2/useForm/index.js +74 -63
  5. package/lib/form2/useForm/index.js.map +1 -1
  6. package/lib/inputs/base/types.d.ts +2 -2
  7. package/lib/inputs/date/helpers.js +11 -22
  8. package/lib/inputs/date/helpers.js.map +1 -1
  9. package/lib/inputs/mask/BaseMask.js +55 -65
  10. package/lib/inputs/mask/BaseMask.js.map +1 -1
  11. package/lib/inputs/mask/types.d.ts +2 -1
  12. package/lib/inputs/number/Currency.js +35 -45
  13. package/lib/inputs/number/Currency.js.map +1 -1
  14. package/lib/inputs/number/Decimal.js +38 -48
  15. package/lib/inputs/number/Decimal.js.map +1 -1
  16. package/lib/inputs/number/index.js +38 -48
  17. package/lib/inputs/number/index.js.map +1 -1
  18. package/lib/inputs/period/helper.d.ts +1 -0
  19. package/lib/inputs/period/helper.js +27 -19
  20. package/lib/inputs/period/helper.js.map +1 -1
  21. package/lib/inputs/period/index.js +143 -139
  22. package/lib/inputs/period/index.js.map +1 -1
  23. package/lib/inputs2/date/datefield/base.js +60 -70
  24. package/lib/inputs2/date/datefield/base.js.map +1 -1
  25. package/lib/inputs2/date/dateperiodfield/base.js +79 -89
  26. package/lib/inputs2/date/dateperiodfield/base.js.map +1 -1
  27. package/lib/inputs2/mask/Cnpj.js +58 -68
  28. package/lib/inputs2/mask/Cnpj.js.map +1 -1
  29. package/lib/inputs2/mask/Cpf.js +38 -48
  30. package/lib/inputs2/mask/Cpf.js.map +1 -1
  31. package/lib/inputs2/mask/index.js +50 -60
  32. package/lib/inputs2/mask/index.js.map +1 -1
  33. package/lib/inputs2/numberfield/currency.js +51 -61
  34. package/lib/inputs2/numberfield/currency.js.map +1 -1
  35. package/lib/inputs2/numberfield/decimal.js +25 -35
  36. package/lib/inputs2/numberfield/decimal.js.map +1 -1
  37. package/lib/inputs2/numberfield/index.js +46 -56
  38. package/lib/inputs2/numberfield/index.js.map +1 -1
  39. package/lib/inputs2/selectfield/base.d.ts +1 -2
  40. package/lib/inputs2/selectfield/base.js +260 -382
  41. package/lib/inputs2/selectfield/base.js.map +1 -1
  42. package/lib/inputs2/selectfield/context.d.ts +1 -1
  43. package/lib/inputs2/selectfield/context.js.map +1 -1
  44. package/lib/inputs2/selectfield/helpers.d.ts +5 -0
  45. package/lib/inputs2/selectfield/helpers.js +22 -13
  46. package/lib/inputs2/selectfield/helpers.js.map +1 -1
  47. package/lib/inputs2/selectfield/index.js.map +1 -1
  48. package/lib/inputs2/selectfield/listbox.js +17 -18
  49. package/lib/inputs2/selectfield/listbox.js.map +1 -1
  50. package/lib/inputs2/selectfield/selections.d.ts +1 -1
  51. package/lib/inputs2/selectfield/selections.js +11 -11
  52. package/lib/inputs2/selectfield/selections.js.map +1 -1
  53. package/lib/inputs2/selectfield/triggers.js +15 -15
  54. package/lib/inputs2/selectfield/triggers.js.map +1 -1
  55. package/lib/radio/index.js +74 -84
  56. package/lib/radio/index.js.map +1 -1
  57. package/lib/table/Row.js +57 -46
  58. package/lib/table/Row.js.map +1 -1
  59. package/lib/table/types.d.ts +2 -1
  60. package/package.json +9 -6
  61. package/lib/node_modules/imask/esm/controls/html-contenteditable-mask-element.js +0 -35
  62. package/lib/node_modules/imask/esm/controls/html-contenteditable-mask-element.js.map +0 -1
  63. package/lib/node_modules/imask/esm/controls/html-input-mask-element.js +0 -32
  64. package/lib/node_modules/imask/esm/controls/html-input-mask-element.js.map +0 -1
  65. package/lib/node_modules/imask/esm/controls/html-mask-element.js +0 -49
  66. package/lib/node_modules/imask/esm/controls/html-mask-element.js.map +0 -1
  67. package/lib/node_modules/imask/esm/controls/input-history.js +0 -31
  68. package/lib/node_modules/imask/esm/controls/input-history.js.map +0 -1
  69. package/lib/node_modules/imask/esm/controls/input.js +0 -223
  70. package/lib/node_modules/imask/esm/controls/input.js.map +0 -1
  71. package/lib/node_modules/imask/esm/controls/mask-element.js +0 -44
  72. package/lib/node_modules/imask/esm/controls/mask-element.js.map +0 -1
  73. package/lib/node_modules/imask/esm/core/action-details.js +0 -52
  74. package/lib/node_modules/imask/esm/core/action-details.js.map +0 -1
  75. package/lib/node_modules/imask/esm/core/change-details.js +0 -37
  76. package/lib/node_modules/imask/esm/core/change-details.js.map +0 -1
  77. package/lib/node_modules/imask/esm/core/continuous-tail-details.js +0 -43
  78. package/lib/node_modules/imask/esm/core/continuous-tail-details.js.map +0 -1
  79. package/lib/node_modules/imask/esm/core/holder.js +0 -7
  80. package/lib/node_modules/imask/esm/core/holder.js.map +0 -1
  81. package/lib/node_modules/imask/esm/core/utils.js +0 -68
  82. package/lib/node_modules/imask/esm/core/utils.js.map +0 -1
  83. package/lib/node_modules/imask/esm/index.js +0 -51
  84. package/lib/node_modules/imask/esm/index.js.map +0 -1
  85. package/lib/node_modules/imask/esm/masked/base.js +0 -253
  86. package/lib/node_modules/imask/esm/masked/base.js.map +0 -1
  87. package/lib/node_modules/imask/esm/masked/date.js +0 -118
  88. package/lib/node_modules/imask/esm/masked/date.js.map +0 -1
  89. package/lib/node_modules/imask/esm/masked/dynamic.js +0 -223
  90. package/lib/node_modules/imask/esm/masked/dynamic.js.map +0 -1
  91. package/lib/node_modules/imask/esm/masked/enum.js +0 -70
  92. package/lib/node_modules/imask/esm/masked/enum.js.map +0 -1
  93. package/lib/node_modules/imask/esm/masked/factory.js +0 -47
  94. package/lib/node_modules/imask/esm/masked/factory.js.map +0 -1
  95. package/lib/node_modules/imask/esm/masked/function.js +0 -24
  96. package/lib/node_modules/imask/esm/masked/function.js.map +0 -1
  97. package/lib/node_modules/imask/esm/masked/number.js +0 -213
  98. package/lib/node_modules/imask/esm/masked/number.js.map +0 -1
  99. package/lib/node_modules/imask/esm/masked/pattern/chunk-tail-details.js +0 -104
  100. package/lib/node_modules/imask/esm/masked/pattern/chunk-tail-details.js.map +0 -1
  101. package/lib/node_modules/imask/esm/masked/pattern/cursor.js +0 -101
  102. package/lib/node_modules/imask/esm/masked/pattern/cursor.js.map +0 -1
  103. package/lib/node_modules/imask/esm/masked/pattern/fixed-definition.js +0 -103
  104. package/lib/node_modules/imask/esm/masked/pattern/fixed-definition.js.map +0 -1
  105. package/lib/node_modules/imask/esm/masked/pattern/input-definition.js +0 -134
  106. package/lib/node_modules/imask/esm/masked/pattern/input-definition.js.map +0 -1
  107. package/lib/node_modules/imask/esm/masked/pattern.js +0 -323
  108. package/lib/node_modules/imask/esm/masked/pattern.js.map +0 -1
  109. package/lib/node_modules/imask/esm/masked/pipe.js +0 -24
  110. package/lib/node_modules/imask/esm/masked/pipe.js.map +0 -1
  111. package/lib/node_modules/imask/esm/masked/range.js +0 -79
  112. package/lib/node_modules/imask/esm/masked/range.js.map +0 -1
  113. package/lib/node_modules/imask/esm/masked/regexp.js +0 -22
  114. package/lib/node_modules/imask/esm/masked/regexp.js.map +0 -1
  115. package/lib/node_modules/imask/esm/masked/repeat.js +0 -105
  116. package/lib/node_modules/imask/esm/masked/repeat.js.map +0 -1
  117. package/lib/node_modules/react-imask/esm/hook.js +0 -76
  118. package/lib/node_modules/react-imask/esm/hook.js.map +0 -1
  119. package/lib/node_modules/react-imask/esm/input.js +0 -24
  120. package/lib/node_modules/react-imask/esm/input.js.map +0 -1
  121. package/lib/node_modules/react-imask/esm/mixin.js +0 -132
  122. package/lib/node_modules/react-imask/esm/mixin.js.map +0 -1
@@ -1,84 +1,74 @@
1
- import { jsx as u } from "react/jsx-runtime";
1
+ import { jsx as m } from "react/jsx-runtime";
2
2
  import { useRef as C, useEffect as F } from "react";
3
- import a from "../../_virtual/lodash.js";
4
- import "../../node_modules/imask/esm/index.js";
5
- import "../../node_modules/imask/esm/controls/input.js";
6
- import "../../node_modules/imask/esm/masked/factory.js";
7
- import "../../node_modules/imask/esm/controls/mask-element.js";
8
- import "../../node_modules/imask/esm/controls/html-input-mask-element.js";
9
- import "../../node_modules/imask/esm/controls/html-mask-element.js";
10
- import "../../node_modules/imask/esm/controls/html-contenteditable-mask-element.js";
11
- import "../../node_modules/imask/esm/controls/input-history.js";
12
- import "../../node_modules/react-imask/esm/input.js";
13
- import B from "../../node_modules/react-imask/esm/hook.js";
14
- import "../../node_modules/react-imask/esm/mixin.js";
3
+ import t from "../../_virtual/lodash.js";
4
+ import { useIMask as B } from "react-imask";
15
5
  import { numberToEnUS as E } from "./format_number.js";
16
6
  import T from "../base/InputTextBase.js";
17
7
  import { mergeRefs as A } from "../../form2/helpers.js";
18
- const O = (e) => {
8
+ const P = (e) => {
19
9
  const {
20
10
  inputRef: s = void 0,
21
11
  textAlign: c = "left",
22
12
  themePopover: f = "light",
23
13
  popoverAlign: d = "left",
24
14
  min: r = void 0,
25
- max: p = void 0,
26
- allowNegative: g = !1,
27
- scale: v = 2,
28
- normalizeZeros: y = !0,
29
- padFractionalZeros: N = !1,
30
- unmask: h = !0,
15
+ max: g = void 0,
16
+ allowNegative: v = !1,
17
+ scale: y = 2,
18
+ normalizeZeros: N = !0,
19
+ padFractionalZeros: h = !1,
20
+ unmask: p = !0,
31
21
  currencySymbol: x = "R$",
32
22
  displayCurrencySymbol: k = !0
33
- } = e, i = C(null), R = k ? /* @__PURE__ */ u("span", { className: "currency-symbol", children: x }) : [], {
23
+ } = e, n = C(null), R = k ? /* @__PURE__ */ m("span", { className: "currency-symbol", children: x }) : [], {
34
24
  value: S,
35
- setValue: l,
36
- unmaskedValue: n
25
+ setValue: o,
26
+ unmaskedValue: u
37
27
  } = B({
38
28
  mask: Number,
39
- unmask: h,
40
- scale: v,
41
- normalizeZeros: y,
42
- padFractionalZeros: N,
43
- max: p,
44
- min: a.isNil(r) ? g ? void 0 : 0 : r,
29
+ unmask: p,
30
+ scale: y,
31
+ normalizeZeros: N,
32
+ padFractionalZeros: h,
33
+ max: g,
34
+ min: t.isNil(r) ? v ? void 0 : 0 : r,
45
35
  radix: ",",
46
36
  mapToRadix: ["."],
47
37
  thousandsSeparator: "."
48
38
  }, {
49
- ref: i,
50
- onAccept: (t, o, m) => {
51
- const b = E(o.unmaskedValue);
39
+ ref: n,
40
+ onAccept: (a, l, i) => {
41
+ const b = E(l.unmaskedValue);
52
42
  e?.onChange?.({
53
- ...m,
43
+ ...i,
54
44
  target: {
55
- ...m?.target,
45
+ ...i?.target,
56
46
  name: e?.name,
57
47
  value: b
58
48
  }
59
49
  });
60
50
  }
61
- }), V = (t) => {
62
- if (!a.isNil(r)) {
63
- const o = parseFloat(n);
64
- (a.isNaN(o) || o < r) && (l(a.toString(r)), e?.onChange?.({
65
- ...t,
51
+ }), V = (a) => {
52
+ if (!t.isNil(r)) {
53
+ const l = parseFloat(u);
54
+ (t.isNaN(l) || l < r) && (o(t.toString(r)), e?.onChange?.({
55
+ ...a,
66
56
  target: {
67
- ...t?.target,
57
+ ...a?.target,
68
58
  name: e?.name,
69
59
  value: r
70
60
  }
71
61
  }));
72
62
  }
73
- e?.onBlur?.(t);
63
+ e?.onBlur?.(a);
74
64
  };
75
65
  return F(() => {
76
- const t = a.toString(e?.value);
77
- !a.isNil(e?.value) && !a.isEqual(parseFloat(t), parseFloat(n)) && l(t);
78
- }, [e?.value]), /* @__PURE__ */ u(T, { ...e, inputRef: A(i, s), type: "text", onChange: () => {
66
+ const a = t.toString(e?.value);
67
+ !t.isNil(e?.value) && !t.isEqual(parseFloat(a), parseFloat(u)) && o(a);
68
+ }, [e?.value]), /* @__PURE__ */ m(T, { ...e, inputRef: A(n, s), type: "text", onChange: () => {
79
69
  }, leftElements: R, onBlur: V, value: S, textAlign: c, themePopover: f, popoverAlign: d });
80
70
  };
81
71
  export {
82
- O as default
72
+ P as default
83
73
  };
84
74
  //# sourceMappingURL=Currency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Currency.js","sources":["../../../src/lib/inputs/number/Currency.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { ICurrencyProps } from './types';\nimport { numberToEnUS } from './format_number';\nimport InputTextBase from '../base/InputTextBase';\nimport { mergeRefs } from '../../form2/helpers';\nimport type { CustomInputEvent } from '../base/types';\n\nconst CurrencyField = (props: ICurrencyProps) => {\n const {\n inputRef = undefined, textAlign = 'left', themePopover = 'light', popoverAlign = 'left',\n min = undefined, max = undefined, allowNegative = false, scale = 2, normalizeZeros = true,\n padFractionalZeros = false, unmask = true, currencySymbol = 'R$', displayCurrencySymbol = true,\n } = props;\n const currencyNumberInputRef = useRef<HTMLInputElement | null>(null);\n const leftElements = displayCurrencySymbol ?\n <span className=\"currency-symbol\">{currencySymbol}</span>\n : [];\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n unmask,\n scale,\n normalizeZeros,\n padFractionalZeros,\n max,\n min: !_.isNil(min) ? min : (allowNegative ? undefined : 0),\n radix: ',',\n mapToRadix: ['.'],\n thousandsSeparator: '.',\n }, {\n ref: currencyNumberInputRef,\n onAccept: (__, options, event) => {\n const parsedValue = numberToEnUS(options.unmaskedValue);\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: parsedValue as any,\n },\n } as React.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 = (event: CustomInputEvent) => {\n if (!_.isNil(min)) {\n const currentValue = parseFloat(unmaskedValue) as number;\n if (_.isNaN(currentValue) || currentValue < min) {\n setMaskedValue(_.toString(min));\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: min as any,\n },\n } as CustomInputEvent);\n }\n }\n props?.onBlur?.(event);\n };\n\n useEffect(() => {\n const valueToString = _.toString(props?.value);\n if (!_.isNil(props?.value) && !_.isEqual(\n parseFloat(valueToString), parseFloat(unmaskedValue),\n )) {\n setMaskedValue(valueToString);\n }\n }, [props?.value]);\n\n return (\n <InputTextBase\n {...props}\n inputRef={mergeRefs(currencyNumberInputRef, inputRef) as any}\n type=\"text\"\n onChange={() => { }}\n leftElements={leftElements}\n onBlur={handleBlur}\n value={maskedValue}\n textAlign={textAlign}\n themePopover={themePopover}\n popoverAlign={popoverAlign} />\n );\n};\n\nexport default CurrencyField;\n"],"names":["CurrencyField","props","inputRef","undefined","textAlign","themePopover","popoverAlign","min","max","allowNegative","scale","normalizeZeros","padFractionalZeros","unmask","currencySymbol","displayCurrencySymbol","currencyNumberInputRef","useRef","leftElements","jsx","value","maskedValue","setValue","setMaskedValue","unmaskedValue","useIMask","mask","Number","_","isNil","radix","mapToRadix","thousandsSeparator","ref","onAccept","__","options","event","parsedValue","numberToEnUS","onChange","target","name","handleBlur","currentValue","parseFloat","isNaN","toString","onBlur","useEffect","valueToString","isEqual","InputTextBase","mergeRefs"],"mappings":";;;;;;;;;;;;;;;;;AASA,MAAMA,IAAgBA,CAACC,MAA0B;AAC/C,QAAM;AAAA,IACJC,UAAAA,IAAWC;AAAAA,IAAWC,WAAAA,IAAY;AAAA,IAAQC,cAAAA,IAAe;AAAA,IAASC,cAAAA,IAAe;AAAA,IACjFC,KAAAA,IAAMJ;AAAAA,IAAWK,KAAAA,IAAML;AAAAA,IAAWM,eAAAA,IAAgB;AAAA,IAAOC,OAAAA,IAAQ;AAAA,IAAGC,gBAAAA,IAAiB;AAAA,IACrFC,oBAAAA,IAAqB;AAAA,IAAOC,QAAAA,IAAS;AAAA,IAAMC,gBAAAA,IAAiB;AAAA,IAAMC,uBAAAA,IAAwB;AAAA,EAAA,IACxFd,GACEe,IAAyBC,EAAgC,IAAI,GAC7DC,IAAeH,IACnB,gBAAAI,EAAC,QAAA,EAAK,WAAU,mBAAmBL,UAAAA,EAAAA,CAAe,IAChD,CAAA,GAEE;AAAA,IAAEM,OAAOC;AAAAA,IAAaC,UAAUC;AAAAA,IAAgBC,eAAAA;AAAAA,EAAAA,IAAkBC,EAAS;AAAA,IAC/EC,MAAMC;AAAAA,IACNd,QAAAA;AAAAA,IACAH,OAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,oBAAAA;AAAAA,IACAJ,KAAAA;AAAAA,IACAD,KAAMqB,EAAEC,MAAMtB,CAAG,IAAWE,IAAgBN,SAAY,IAAnCI;AAAAA,IACrBuB,OAAO;AAAA,IACPC,YAAY,CAAC,GAAG;AAAA,IAChBC,oBAAoB;AAAA,EAAA,GACnB;AAAA,IACDC,KAAKjB;AAAAA,IACLkB,UAAUA,CAACC,GAAIC,GAASC,MAAU;AAChC,YAAMC,IAAcC,EAAaH,EAAQZ,aAAa;AACtDvB,MAAAA,GAAOuC,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMzC,GAAOyC;AAAAA,UACbtB,OAAOkB;AAAAA,QAAAA;AAAAA,MACT,CACsC;AAAA,IAC1C;AAAA,EAAA,CACD,GAMKK,IAAaA,CAACN,MAA4B;AAC9C,QAAI,CAACT,EAAEC,MAAMtB,CAAG,GAAG;AACjB,YAAMqC,IAAeC,WAAWrB,CAAa;AAC7C,OAAII,EAAEkB,MAAMF,CAAY,KAAKA,IAAerC,OAC1CgB,EAAeK,EAAEmB,SAASxC,CAAG,CAAC,GAC9BN,GAAOuC,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMzC,GAAOyC;AAAAA,UACbtB,OAAOb;AAAAA,QAAAA;AAAAA,MACT,CACmB;AAAA,IAEzB;AACAN,IAAAA,GAAO+C,SAASX,CAAK;AAAA,EACvB;AAEAY,SAAAA,EAAU,MAAM;AACd,UAAMC,IAAgBtB,EAAEmB,SAAS9C,GAAOmB,KAAK;AAC7C,IAAI,CAACQ,EAAEC,MAAM5B,GAAOmB,KAAK,KAAK,CAACQ,EAAEuB,QAC/BN,WAAWK,CAAa,GAAGL,WAAWrB,CAAa,CACrD,KACED,EAAe2B,CAAa;AAAA,EAEhC,GAAG,CAACjD,GAAOmB,KAAK,CAAC,GAGf,gBAAAD,EAACiC,GAAA,EACC,GAAInD,GACJ,UAAUoD,EAAUrC,GAAwBd,CAAQ,GACpD,MAAK,QACL,UAAU,MAAM;AAAA,EAAE,GAClB,cAAAgB,GACA,QAAQyB,GACR,OAAOtB,GACP,WAAAjB,GACA,cAAAC,GACA,cAAAC,GAA2B;AAEjC;"}
1
+ {"version":3,"file":"Currency.js","sources":["../../../src/lib/inputs/number/Currency.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { ICurrencyProps } from './types';\nimport { numberToEnUS } from './format_number';\nimport InputTextBase from '../base/InputTextBase';\nimport { mergeRefs } from '../../form2/helpers';\nimport type { CustomInputEvent } from '../base/types';\n\nconst CurrencyField = (props: ICurrencyProps) => {\n const {\n inputRef = undefined, textAlign = 'left', themePopover = 'light', popoverAlign = 'left',\n min = undefined, max = undefined, allowNegative = false, scale = 2, normalizeZeros = true,\n padFractionalZeros = false, unmask = true, currencySymbol = 'R$', displayCurrencySymbol = true,\n } = props;\n const currencyNumberInputRef = useRef<HTMLInputElement | null>(null);\n const leftElements = displayCurrencySymbol ?\n <span className=\"currency-symbol\">{currencySymbol}</span>\n : [];\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n unmask,\n scale,\n normalizeZeros,\n padFractionalZeros,\n max,\n min: !_.isNil(min) ? min : (allowNegative ? undefined : 0),\n radix: ',',\n mapToRadix: ['.'],\n thousandsSeparator: '.',\n }, {\n ref: currencyNumberInputRef,\n onAccept: (__, options, event) => {\n const parsedValue = numberToEnUS(options.unmaskedValue);\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: parsedValue as any,\n },\n } as React.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 = (event: CustomInputEvent) => {\n if (!_.isNil(min)) {\n const currentValue = parseFloat(unmaskedValue) as number;\n if (_.isNaN(currentValue) || currentValue < min) {\n setMaskedValue(_.toString(min));\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: min as any,\n },\n } as CustomInputEvent);\n }\n }\n props?.onBlur?.(event);\n };\n\n useEffect(() => {\n const valueToString = _.toString(props?.value);\n if (!_.isNil(props?.value) && !_.isEqual(\n parseFloat(valueToString), parseFloat(unmaskedValue),\n )) {\n setMaskedValue(valueToString);\n }\n }, [props?.value]);\n\n return (\n <InputTextBase\n {...props}\n inputRef={mergeRefs(currencyNumberInputRef, inputRef) as any}\n type=\"text\"\n onChange={() => { }}\n leftElements={leftElements}\n onBlur={handleBlur}\n value={maskedValue}\n textAlign={textAlign}\n themePopover={themePopover}\n popoverAlign={popoverAlign} />\n );\n};\n\nexport default CurrencyField;\n"],"names":["CurrencyField","props","inputRef","undefined","textAlign","themePopover","popoverAlign","min","max","allowNegative","scale","normalizeZeros","padFractionalZeros","unmask","currencySymbol","displayCurrencySymbol","currencyNumberInputRef","useRef","leftElements","jsx","value","maskedValue","setValue","setMaskedValue","unmaskedValue","useIMask","mask","Number","_","isNil","radix","mapToRadix","thousandsSeparator","ref","onAccept","__","options","event","parsedValue","numberToEnUS","onChange","target","name","handleBlur","currentValue","parseFloat","isNaN","toString","onBlur","useEffect","valueToString","isEqual","InputTextBase","mergeRefs"],"mappings":";;;;;;;AASA,MAAMA,IAAgBA,CAACC,MAA0B;AAC/C,QAAM;AAAA,IACJC,UAAAA,IAAWC;AAAAA,IAAWC,WAAAA,IAAY;AAAA,IAAQC,cAAAA,IAAe;AAAA,IAASC,cAAAA,IAAe;AAAA,IACjFC,KAAAA,IAAMJ;AAAAA,IAAWK,KAAAA,IAAML;AAAAA,IAAWM,eAAAA,IAAgB;AAAA,IAAOC,OAAAA,IAAQ;AAAA,IAAGC,gBAAAA,IAAiB;AAAA,IACrFC,oBAAAA,IAAqB;AAAA,IAAOC,QAAAA,IAAS;AAAA,IAAMC,gBAAAA,IAAiB;AAAA,IAAMC,uBAAAA,IAAwB;AAAA,EAAA,IACxFd,GACEe,IAAyBC,EAAgC,IAAI,GAC7DC,IAAeH,IACnB,gBAAAI,EAAC,QAAA,EAAK,WAAU,mBAAmBL,UAAAA,EAAAA,CAAe,IAChD,CAAA,GAEE;AAAA,IAAEM,OAAOC;AAAAA,IAAaC,UAAUC;AAAAA,IAAgBC,eAAAA;AAAAA,EAAAA,IAAkBC,EAAS;AAAA,IAC/EC,MAAMC;AAAAA,IACNd,QAAAA;AAAAA,IACAH,OAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,oBAAAA;AAAAA,IACAJ,KAAAA;AAAAA,IACAD,KAAMqB,EAAEC,MAAMtB,CAAG,IAAWE,IAAgBN,SAAY,IAAnCI;AAAAA,IACrBuB,OAAO;AAAA,IACPC,YAAY,CAAC,GAAG;AAAA,IAChBC,oBAAoB;AAAA,EAAA,GACnB;AAAA,IACDC,KAAKjB;AAAAA,IACLkB,UAAUA,CAACC,GAAIC,GAASC,MAAU;AAChC,YAAMC,IAAcC,EAAaH,EAAQZ,aAAa;AACtDvB,MAAAA,GAAOuC,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMzC,GAAOyC;AAAAA,UACbtB,OAAOkB;AAAAA,QAAAA;AAAAA,MACT,CACsC;AAAA,IAC1C;AAAA,EAAA,CACD,GAMKK,IAAaA,CAACN,MAA4B;AAC9C,QAAI,CAACT,EAAEC,MAAMtB,CAAG,GAAG;AACjB,YAAMqC,IAAeC,WAAWrB,CAAa;AAC7C,OAAII,EAAEkB,MAAMF,CAAY,KAAKA,IAAerC,OAC1CgB,EAAeK,EAAEmB,SAASxC,CAAG,CAAC,GAC9BN,GAAOuC,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMzC,GAAOyC;AAAAA,UACbtB,OAAOb;AAAAA,QAAAA;AAAAA,MACT,CACmB;AAAA,IAEzB;AACAN,IAAAA,GAAO+C,SAASX,CAAK;AAAA,EACvB;AAEAY,SAAAA,EAAU,MAAM;AACd,UAAMC,IAAgBtB,EAAEmB,SAAS9C,GAAOmB,KAAK;AAC7C,IAAI,CAACQ,EAAEC,MAAM5B,GAAOmB,KAAK,KAAK,CAACQ,EAAEuB,QAC/BN,WAAWK,CAAa,GAAGL,WAAWrB,CAAa,CACrD,KACED,EAAe2B,CAAa;AAAA,EAEhC,GAAG,CAACjD,GAAOmB,KAAK,CAAC,GAGf,gBAAAD,EAACiC,GAAA,EACC,GAAInD,GACJ,UAAUoD,EAAUrC,GAAwBd,CAAQ,GACpD,MAAK,QACL,UAAU,MAAM;AAAA,EAAE,GAClB,cAAAgB,GACA,QAAQyB,GACR,OAAOtB,GACP,WAAAjB,GACA,cAAAC,GACA,cAAAC,GAA2B;AAEjC;"}
@@ -1,82 +1,72 @@
1
1
  import { jsx as R } from "react/jsx-runtime";
2
- import a from "../../_virtual/lodash.js";
2
+ import t from "../../_virtual/lodash.js";
3
3
  import { useRef as F, useEffect as S } from "react";
4
- import "../../node_modules/imask/esm/index.js";
5
- import "../../node_modules/imask/esm/controls/input.js";
6
- import "../../node_modules/imask/esm/masked/factory.js";
7
- import "../../node_modules/imask/esm/controls/mask-element.js";
8
- import "../../node_modules/imask/esm/controls/html-input-mask-element.js";
9
- import "../../node_modules/imask/esm/controls/html-mask-element.js";
10
- import "../../node_modules/imask/esm/controls/html-contenteditable-mask-element.js";
11
- import "../../node_modules/imask/esm/controls/input-history.js";
12
- import "../../node_modules/react-imask/esm/input.js";
13
- import B from "../../node_modules/react-imask/esm/hook.js";
14
- import "../../node_modules/react-imask/esm/mixin.js";
4
+ import { useIMask as B } from "react-imask";
15
5
  import { numberToEnUS as T } from "./format_number.js";
16
6
  import b from "../base/InputTextBase.js";
17
7
  import { mergeRefs as A } from "../../form2/helpers.js";
18
- const K = (e) => {
8
+ const w = (e) => {
19
9
  const {
20
- textAlign: u = "left",
10
+ textAlign: m = "left",
21
11
  themePopover: s = "light",
22
12
  popoverAlign: f = "left",
23
- min: o = void 0,
13
+ min: l = void 0,
24
14
  max: d = void 0,
25
15
  allowNegative: c = !1,
26
- scale: p = 2,
27
- normalizeZeros: g = !0,
28
- padFractionalZeros: v = !0,
29
- unmask: x = !0,
30
- inputRef: N = void 0
31
- } = e, i = F(null), {
32
- value: h,
33
- setValue: m,
34
- unmaskedValue: l
16
+ scale: g = 2,
17
+ normalizeZeros: v = !0,
18
+ padFractionalZeros: x = !0,
19
+ unmask: N = !0,
20
+ inputRef: h = void 0
21
+ } = e, n = F(null), {
22
+ value: k,
23
+ setValue: r,
24
+ unmaskedValue: i
35
25
  } = B({
36
26
  mask: Number,
37
- unmask: x,
38
- scale: p,
39
- normalizeZeros: g,
40
- padFractionalZeros: v,
27
+ unmask: N,
28
+ scale: g,
29
+ normalizeZeros: v,
30
+ padFractionalZeros: x,
41
31
  max: d,
42
- min: a.isNil(o) ? c ? void 0 : 0 : o,
32
+ min: t.isNil(l) ? c ? void 0 : 0 : l,
43
33
  radix: ",",
44
34
  mapToRadix: ["."],
45
35
  thousandsSeparator: "."
46
36
  }, {
47
- ref: i,
48
- onAccept: (t, r, n) => {
49
- const V = T(r.unmaskedValue);
37
+ ref: n,
38
+ onAccept: (a, o, u) => {
39
+ const p = T(o.unmaskedValue);
50
40
  e?.onChange?.({
51
- ...n,
41
+ ...u,
52
42
  target: {
53
- ...n?.target,
43
+ ...u?.target,
54
44
  name: e?.name,
55
- value: V
45
+ value: p
56
46
  }
57
47
  });
58
48
  }
59
- }), k = (t) => {
60
- if (!a.isNil(o)) {
61
- const r = parseFloat(l);
62
- (a.isNaN(r) || r < o) && (m(a.toString(o)), e?.onChange?.({
63
- ...t,
49
+ }), V = (a) => {
50
+ if (!t.isNil(l)) {
51
+ const o = parseFloat(i);
52
+ (t.isNaN(o) || o < l) && (r(t.toString(l)), e?.onChange?.({
53
+ ...a,
64
54
  target: {
65
- ...t?.target,
55
+ ...a?.target,
66
56
  name: e?.name,
67
- value: o
57
+ value: l
68
58
  }
69
59
  }));
70
60
  }
71
- e?.onBlur?.(t);
61
+ e?.onBlur?.(a);
72
62
  };
73
63
  return S(() => {
74
- const t = a.toString(e?.value);
75
- !a.isNil(e?.value) && !a.isEqual(parseFloat(t), parseFloat(l)) && m(t);
76
- }, [e?.value]), /* @__PURE__ */ R(b, { ...e, inputRef: A(i, N), type: "text", onChange: () => {
77
- }, onBlur: k, value: h, textAlign: u, themePopover: s, popoverAlign: f });
64
+ const a = t.toString(e?.value);
65
+ !t.isNil(e?.value) && !t.isEqual(parseFloat(a), parseFloat(i)) && r(a);
66
+ }, [e?.value]), /* @__PURE__ */ R(b, { ...e, inputRef: A(n, h), type: "text", onChange: () => {
67
+ }, onBlur: V, value: k, textAlign: m, themePopover: s, popoverAlign: f });
78
68
  };
79
69
  export {
80
- K as default
70
+ w as default
81
71
  };
82
72
  //# sourceMappingURL=Decimal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Decimal.js","sources":["../../../src/lib/inputs/number/Decimal.tsx"],"sourcesContent":["import _ from 'lodash';\nimport React, { useEffect, useRef } from 'react';\nimport { useIMask } from 'react-imask';\nimport { IDecimalProps } from './types';\nimport { numberToEnUS } from './format_number';\nimport InputTextBase from '../base/InputTextBase';\nimport type { CustomInputEvent } from '../base/types';\nimport { mergeRefs } from '../../form2/helpers';\n\nconst DecimalField = (props: IDecimalProps) => {\n const {\n textAlign = 'left', themePopover = 'light', popoverAlign = 'left', min = undefined,\n max = undefined, allowNegative = false, scale = 2, normalizeZeros = true,\n padFractionalZeros = true, unmask = true, inputRef = undefined,\n } = props;\n const decimalNumberInputRef = useRef<HTMLInputElement | null>(null);\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n unmask,\n scale,\n normalizeZeros,\n padFractionalZeros,\n max,\n min: !_.isNil(min) ? min : (allowNegative ? undefined : 0),\n radix: ',',\n mapToRadix: ['.'],\n thousandsSeparator: '.',\n }, {\n ref: decimalNumberInputRef,\n onAccept: (__, options, event) => {\n const parsedValue = numberToEnUS(options.unmaskedValue);\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: parsedValue as any,\n },\n } as React.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 = (event: CustomInputEvent) => {\n if (!_.isNil(min)) {\n const currentValue = parseFloat(unmaskedValue) as number;\n if (_.isNaN(currentValue) || currentValue < min) {\n setMaskedValue(_.toString(min));\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: min as any,\n },\n } as CustomInputEvent);\n }\n }\n props?.onBlur?.(event);\n };\n\n useEffect(() => {\n const valueToString = _.toString(props?.value);\n if (!_.isNil(props?.value) && !_.isEqual(\n parseFloat(valueToString), parseFloat(unmaskedValue),\n )) {\n setMaskedValue(valueToString);\n }\n }, [props?.value]);\n\n return (\n <InputTextBase\n {...props}\n inputRef={mergeRefs(decimalNumberInputRef, inputRef) as any}\n type=\"text\"\n onChange={() => { }}\n onBlur={handleBlur}\n value={maskedValue}\n textAlign={textAlign}\n themePopover={themePopover}\n popoverAlign={popoverAlign} />\n );\n};\n\nexport default DecimalField;\n"],"names":["DecimalField","props","textAlign","themePopover","popoverAlign","min","undefined","max","allowNegative","scale","normalizeZeros","padFractionalZeros","unmask","inputRef","decimalNumberInputRef","useRef","value","maskedValue","setValue","setMaskedValue","unmaskedValue","useIMask","mask","Number","_","isNil","radix","mapToRadix","thousandsSeparator","ref","onAccept","__","options","event","parsedValue","numberToEnUS","onChange","target","name","handleBlur","currentValue","parseFloat","isNaN","toString","onBlur","useEffect","valueToString","isEqual","jsx","InputTextBase","mergeRefs"],"mappings":";;;;;;;;;;;;;;;;;AASA,MAAMA,IAAeA,CAACC,MAAyB;AAC7C,QAAM;AAAA,IACJC,WAAAA,IAAY;AAAA,IAAQC,cAAAA,IAAe;AAAA,IAASC,cAAAA,IAAe;AAAA,IAAQC,KAAAA,IAAMC;AAAAA,IACzEC,KAAAA,IAAMD;AAAAA,IAAWE,eAAAA,IAAgB;AAAA,IAAOC,OAAAA,IAAQ;AAAA,IAAGC,gBAAAA,IAAiB;AAAA,IACpEC,oBAAAA,IAAqB;AAAA,IAAMC,QAAAA,IAAS;AAAA,IAAMC,UAAAA,IAAWP;AAAAA,EAAAA,IACnDL,GACEa,IAAwBC,EAAgC,IAAI,GAE5D;AAAA,IAAEC,OAAOC;AAAAA,IAAaC,UAAUC;AAAAA,IAAgBC,eAAAA;AAAAA,EAAAA,IAAkBC,EAAS;AAAA,IAC/EC,MAAMC;AAAAA,IACNX,QAAAA;AAAAA,IACAH,OAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,oBAAAA;AAAAA,IACAJ,KAAAA;AAAAA,IACAF,KAAMmB,EAAEC,MAAMpB,CAAG,IAAWG,IAAgBF,SAAY,IAAnCD;AAAAA,IACrBqB,OAAO;AAAA,IACPC,YAAY,CAAC,GAAG;AAAA,IAChBC,oBAAoB;AAAA,EAAA,GACnB;AAAA,IACDC,KAAKf;AAAAA,IACLgB,UAAUA,CAACC,GAAIC,GAASC,MAAU;AAChC,YAAMC,IAAcC,EAAaH,EAAQZ,aAAa;AACtDnB,MAAAA,GAAOmC,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMrC,GAAOqC;AAAAA,UACbtB,OAAOkB;AAAAA,QAAAA;AAAAA,MACT,CACsC;AAAA,IAC1C;AAAA,EAAA,CACD,GAMKK,IAAaA,CAACN,MAA4B;AAC9C,QAAI,CAACT,EAAEC,MAAMpB,CAAG,GAAG;AACjB,YAAMmC,IAAeC,WAAWrB,CAAa;AAC7C,OAAII,EAAEkB,MAAMF,CAAY,KAAKA,IAAenC,OAC1Cc,EAAeK,EAAEmB,SAAStC,CAAG,CAAC,GAC9BJ,GAAOmC,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMrC,GAAOqC;AAAAA,UACbtB,OAAOX;AAAAA,QAAAA;AAAAA,MACT,CACmB;AAAA,IAEzB;AACAJ,IAAAA,GAAO2C,SAASX,CAAK;AAAA,EACvB;AAEAY,SAAAA,EAAU,MAAM;AACd,UAAMC,IAAgBtB,EAAEmB,SAAS1C,GAAOe,KAAK;AAC7C,IAAI,CAACQ,EAAEC,MAAMxB,GAAOe,KAAK,KAAK,CAACQ,EAAEuB,QAC/BN,WAAWK,CAAa,GAAGL,WAAWrB,CAAa,CACrD,KACED,EAAe2B,CAAa;AAAA,EAEhC,GAAG,CAAC7C,GAAOe,KAAK,CAAC,GAGf,gBAAAgC,EAACC,GAAA,EACC,GAAIhD,GACJ,UAAUiD,EAAUpC,GAAuBD,CAAQ,GACnD,MAAK,QACL,UAAU,MAAM;AAAA,EAAE,GAClB,QAAQ0B,GACR,OAAOtB,GACP,WAAAf,GACA,cAAAC,GACA,cAAAC,GAA2B;AAEjC;"}
1
+ {"version":3,"file":"Decimal.js","sources":["../../../src/lib/inputs/number/Decimal.tsx"],"sourcesContent":["import _ from 'lodash';\nimport React, { useEffect, useRef } from 'react';\nimport { useIMask } from 'react-imask';\nimport { IDecimalProps } from './types';\nimport { numberToEnUS } from './format_number';\nimport InputTextBase from '../base/InputTextBase';\nimport type { CustomInputEvent } from '../base/types';\nimport { mergeRefs } from '../../form2/helpers';\n\nconst DecimalField = (props: IDecimalProps) => {\n const {\n textAlign = 'left', themePopover = 'light', popoverAlign = 'left', min = undefined,\n max = undefined, allowNegative = false, scale = 2, normalizeZeros = true,\n padFractionalZeros = true, unmask = true, inputRef = undefined,\n } = props;\n const decimalNumberInputRef = useRef<HTMLInputElement | null>(null);\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n unmask,\n scale,\n normalizeZeros,\n padFractionalZeros,\n max,\n min: !_.isNil(min) ? min : (allowNegative ? undefined : 0),\n radix: ',',\n mapToRadix: ['.'],\n thousandsSeparator: '.',\n }, {\n ref: decimalNumberInputRef,\n onAccept: (__, options, event) => {\n const parsedValue = numberToEnUS(options.unmaskedValue);\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: parsedValue as any,\n },\n } as React.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 = (event: CustomInputEvent) => {\n if (!_.isNil(min)) {\n const currentValue = parseFloat(unmaskedValue) as number;\n if (_.isNaN(currentValue) || currentValue < min) {\n setMaskedValue(_.toString(min));\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: min as any,\n },\n } as CustomInputEvent);\n }\n }\n props?.onBlur?.(event);\n };\n\n useEffect(() => {\n const valueToString = _.toString(props?.value);\n if (!_.isNil(props?.value) && !_.isEqual(\n parseFloat(valueToString), parseFloat(unmaskedValue),\n )) {\n setMaskedValue(valueToString);\n }\n }, [props?.value]);\n\n return (\n <InputTextBase\n {...props}\n inputRef={mergeRefs(decimalNumberInputRef, inputRef) as any}\n type=\"text\"\n onChange={() => { }}\n onBlur={handleBlur}\n value={maskedValue}\n textAlign={textAlign}\n themePopover={themePopover}\n popoverAlign={popoverAlign} />\n );\n};\n\nexport default DecimalField;\n"],"names":["DecimalField","props","textAlign","themePopover","popoverAlign","min","undefined","max","allowNegative","scale","normalizeZeros","padFractionalZeros","unmask","inputRef","decimalNumberInputRef","useRef","value","maskedValue","setValue","setMaskedValue","unmaskedValue","useIMask","mask","Number","_","isNil","radix","mapToRadix","thousandsSeparator","ref","onAccept","__","options","event","parsedValue","numberToEnUS","onChange","target","name","handleBlur","currentValue","parseFloat","isNaN","toString","onBlur","useEffect","valueToString","isEqual","jsx","InputTextBase","mergeRefs"],"mappings":";;;;;;;AASA,MAAMA,IAAeA,CAACC,MAAyB;AAC7C,QAAM;AAAA,IACJC,WAAAA,IAAY;AAAA,IAAQC,cAAAA,IAAe;AAAA,IAASC,cAAAA,IAAe;AAAA,IAAQC,KAAAA,IAAMC;AAAAA,IACzEC,KAAAA,IAAMD;AAAAA,IAAWE,eAAAA,IAAgB;AAAA,IAAOC,OAAAA,IAAQ;AAAA,IAAGC,gBAAAA,IAAiB;AAAA,IACpEC,oBAAAA,IAAqB;AAAA,IAAMC,QAAAA,IAAS;AAAA,IAAMC,UAAAA,IAAWP;AAAAA,EAAAA,IACnDL,GACEa,IAAwBC,EAAgC,IAAI,GAE5D;AAAA,IAAEC,OAAOC;AAAAA,IAAaC,UAAUC;AAAAA,IAAgBC,eAAAA;AAAAA,EAAAA,IAAkBC,EAAS;AAAA,IAC/EC,MAAMC;AAAAA,IACNX,QAAAA;AAAAA,IACAH,OAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,oBAAAA;AAAAA,IACAJ,KAAAA;AAAAA,IACAF,KAAMmB,EAAEC,MAAMpB,CAAG,IAAWG,IAAgBF,SAAY,IAAnCD;AAAAA,IACrBqB,OAAO;AAAA,IACPC,YAAY,CAAC,GAAG;AAAA,IAChBC,oBAAoB;AAAA,EAAA,GACnB;AAAA,IACDC,KAAKf;AAAAA,IACLgB,UAAUA,CAACC,GAAIC,GAASC,MAAU;AAChC,YAAMC,IAAcC,EAAaH,EAAQZ,aAAa;AACtDnB,MAAAA,GAAOmC,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMrC,GAAOqC;AAAAA,UACbtB,OAAOkB;AAAAA,QAAAA;AAAAA,MACT,CACsC;AAAA,IAC1C;AAAA,EAAA,CACD,GAMKK,IAAaA,CAACN,MAA4B;AAC9C,QAAI,CAACT,EAAEC,MAAMpB,CAAG,GAAG;AACjB,YAAMmC,IAAeC,WAAWrB,CAAa;AAC7C,OAAII,EAAEkB,MAAMF,CAAY,KAAKA,IAAenC,OAC1Cc,EAAeK,EAAEmB,SAAStC,CAAG,CAAC,GAC9BJ,GAAOmC,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMrC,GAAOqC;AAAAA,UACbtB,OAAOX;AAAAA,QAAAA;AAAAA,MACT,CACmB;AAAA,IAEzB;AACAJ,IAAAA,GAAO2C,SAASX,CAAK;AAAA,EACvB;AAEAY,SAAAA,EAAU,MAAM;AACd,UAAMC,IAAgBtB,EAAEmB,SAAS1C,GAAOe,KAAK;AAC7C,IAAI,CAACQ,EAAEC,MAAMxB,GAAOe,KAAK,KAAK,CAACQ,EAAEuB,QAC/BN,WAAWK,CAAa,GAAGL,WAAWrB,CAAa,CACrD,KACED,EAAe2B,CAAa;AAAA,EAEhC,GAAG,CAAC7C,GAAOe,KAAK,CAAC,GAGf,gBAAAgC,EAACC,GAAA,EACC,GAAIhD,GACJ,UAAUiD,EAAUpC,GAAuBD,CAAQ,GACnD,MAAK,QACL,UAAU,MAAM;AAAA,EAAE,GAClB,QAAQ0B,GACR,OAAOtB,GACP,WAAAf,GACA,cAAAC,GACA,cAAAC,GAA2B;AAEjC;"}
@@ -1,38 +1,28 @@
1
- import { jsx as x } from "react/jsx-runtime";
1
+ import { jsx as N } from "react/jsx-runtime";
2
2
  import '../../assets/styles/numbers.css';/* empty css */
3
- import { useRef as N, useEffect as V } from "react";
4
- import a 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 h from "../../node_modules/react-imask/esm/hook.js";
15
- import "../../node_modules/react-imask/esm/mixin.js";
16
- import { default as G } from "./Decimal.js";
17
- import { default as J } from "./Currency.js";
18
- import k from "../base/InputTextBase.js";
19
- import { mergeRefs as b } from "../../form2/helpers.js";
20
- const U = (e) => {
3
+ import { useRef as V, useEffect as h } from "react";
4
+ import t from "../../_virtual/lodash.js";
5
+ import { useIMask as k } from "react-imask";
6
+ import { default as Z } from "./Decimal.js";
7
+ import { default as p } from "./Currency.js";
8
+ import b from "../base/InputTextBase.js";
9
+ import { mergeRefs as I } from "../../form2/helpers.js";
10
+ const y = (e) => {
21
11
  const {
22
- textAlign: n = "left",
12
+ textAlign: m = "left",
23
13
  themePopover: f = "light",
24
14
  popoverAlign: s = "left",
25
- min: o = void 0,
15
+ min: l = void 0,
26
16
  max: d = void 0,
27
17
  inputRef: c = void 0
28
- } = e, i = N(null), {
18
+ } = e, n = V(null), {
29
19
  value: v,
30
- setValue: m,
31
- unmaskedValue: l
32
- } = h({
20
+ setValue: o,
21
+ unmaskedValue: r
22
+ } = k({
33
23
  mask: Number,
34
24
  max: d,
35
- min: o,
25
+ min: l,
36
26
  scale: 0,
37
27
  enum: void 0,
38
28
  to: void 0,
@@ -40,41 +30,41 @@ const U = (e) => {
40
30
  normalizeZeros: !0,
41
31
  padFractionalZeros: !1
42
32
  }, {
43
- ref: i,
44
- onAccept: (t, r, u) => {
45
- const p = parseInt(t, 10);
33
+ ref: n,
34
+ onAccept: (a, u, i) => {
35
+ const x = parseInt(a, 10);
46
36
  e?.onChange?.({
47
- ...u,
37
+ ...i,
48
38
  target: {
49
- ...u?.target,
39
+ ...i?.target,
50
40
  name: e?.name,
51
- value: p
41
+ value: x
52
42
  }
53
43
  });
54
44
  }
55
- }), g = (t) => {
56
- if (!a.isNil(o)) {
57
- const r = parseInt(l, 10);
58
- (a.isNaN(r) || r < o) && (m(a.toString(o)), e?.onChange?.({
59
- ...t,
45
+ }), g = (a) => {
46
+ if (!t.isNil(l)) {
47
+ const u = parseInt(r, 10);
48
+ (t.isNaN(u) || u < l) && (o(t.toString(l)), e?.onChange?.({
49
+ ...a,
60
50
  target: {
61
- ...t?.target,
51
+ ...a?.target,
62
52
  name: e?.name,
63
- value: o
53
+ value: l
64
54
  }
65
55
  }));
66
56
  }
67
- e?.onBlur?.(t);
57
+ e?.onBlur?.(a);
68
58
  };
69
- return V(() => {
70
- const t = Number(l || "0");
71
- !a.isNil(e?.value) && (!a.isEqual(e?.value, t) || a.isEqual(e?.value, 0)) && m(a.toString(e?.value));
72
- }, [e?.value]), /* @__PURE__ */ x(k, { ...e, inputRef: b(i, c), type: "number", onChange: () => {
73
- }, onBlur: g, value: v, textAlign: n, themePopover: f, popoverAlign: s });
59
+ return h(() => {
60
+ const a = Number(r || "0");
61
+ !t.isNil(e?.value) && (!t.isEqual(e?.value, a) || t.isEqual(e?.value, 0)) && o(t.toString(e?.value));
62
+ }, [e?.value]), /* @__PURE__ */ N(b, { ...e, inputRef: I(n, c), type: "number", onChange: () => {
63
+ }, onBlur: g, value: v, textAlign: m, themePopover: f, popoverAlign: s });
74
64
  };
75
65
  export {
76
- J as CurrencyField,
77
- G as DecimalField,
78
- U as default
66
+ p as CurrencyField,
67
+ Z as DecimalField,
68
+ y as default
79
69
  };
80
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/inputs/number/index.tsx"],"sourcesContent":["import '../../assets/styles/numbers.scss';\n\nimport React, { useEffect, useRef } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport DecimalField from './Decimal';\nimport CurrencyField from './Currency';\nimport { INumberFieldProps } from './types';\nimport InputTextBase from '../base/InputTextBase';\nimport { CustomInputEvent } from '../base/types';\nimport { mergeRefs } from '../../form2/helpers';\n\nconst NumberField = (props: INumberFieldProps) => {\n const {\n textAlign = 'left', themePopover = 'light', popoverAlign = 'left', min = undefined, \n max = undefined, inputRef = undefined,\n } = props;\n const numberInputRef = useRef<HTMLInputElement | null>(null);\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n max,\n min,\n scale: 0,\n enum: undefined,\n to: undefined,\n from: undefined,\n normalizeZeros: true,\n padFractionalZeros: false,\n }, {\n ref: numberInputRef,\n onAccept: (value, __, event) => {\n const parsedValue = parseInt(value, 10);\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: parsedValue as any,\n },\n } as CustomInputEvent);\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 = (event: CustomInputEvent) => {\n if (!_.isNil(min)) {\n const currentValue = parseInt(unmaskedValue, 10) as number;\n if (_.isNaN(currentValue) || currentValue < min) {\n setMaskedValue(_.toString(min));\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: min as any,\n },\n } as CustomInputEvent);\n }\n }\n props?.onBlur?.(event);\n };\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 <InputTextBase\n {...props}\n inputRef={mergeRefs(numberInputRef, inputRef) as any}\n type=\"number\"\n onChange={() => {}}\n onBlur={handleBlur}\n value={maskedValue}\n textAlign={textAlign}\n themePopover={themePopover}\n popoverAlign={popoverAlign} />\n );\n};\n\nexport default NumberField;\nexport {\n CurrencyField,\n DecimalField,\n};\n"],"names":["NumberField","props","textAlign","themePopover","popoverAlign","min","undefined","max","inputRef","numberInputRef","useRef","value","maskedValue","setValue","setMaskedValue","unmaskedValue","useIMask","mask","Number","scale","enum","to","from","normalizeZeros","padFractionalZeros","ref","onAccept","__","event","parsedValue","parseInt","onChange","target","name","handleBlur","_","isNil","currentValue","isNaN","toString","onBlur","useEffect","floatUnmaskedValue","isEqual","jsx","InputTextBase","mergeRefs"],"mappings":";;;;;;;;;;;;;;;;;;;AAYA,MAAMA,IAAcA,CAACC,MAA6B;AAChD,QAAM;AAAA,IACJC,WAAAA,IAAY;AAAA,IAAQC,cAAAA,IAAe;AAAA,IAASC,cAAAA,IAAe;AAAA,IAAQC,KAAAA,IAAMC;AAAAA,IACzEC,KAAAA,IAAMD;AAAAA,IAAWE,UAAAA,IAAWF;AAAAA,EAAAA,IAC1BL,GACEQ,IAAiBC,EAAgC,IAAI,GAErD;AAAA,IAAEC,OAAOC;AAAAA,IAAaC,UAAUC;AAAAA,IAAgBC,eAAAA;AAAAA,EAAAA,IAAkBC,EAAS;AAAA,IAC/EC,MAAMC;AAAAA,IACNX,KAAAA;AAAAA,IACAF,KAAAA;AAAAA,IACAc,OAAO;AAAA,IACPC,MAAMd;AAAAA,IACNe,IAAIf;AAAAA,IACJgB,MAAMhB;AAAAA,IACNiB,gBAAgB;AAAA,IAChBC,oBAAoB;AAAA,EAAA,GACnB;AAAA,IACDC,KAAKhB;AAAAA,IACLiB,UAAUA,CAACf,GAAOgB,GAAIC,MAAU;AAC9B,YAAMC,IAAcC,SAASnB,GAAO,EAAE;AACtCV,MAAAA,GAAO8B,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMhC,GAAOgC;AAAAA,UACbtB,OAAOkB;AAAAA,QAAAA;AAAAA,MACT,CACmB;AAAA,IACvB;AAAA,EAAA,CACD,GAMKK,IAAaA,CAACN,MAA4B;AAC9C,QAAI,CAACO,EAAEC,MAAM/B,CAAG,GAAG;AACjB,YAAMgC,IAAeP,SAASf,GAAe,EAAE;AAC/C,OAAIoB,EAAEG,MAAMD,CAAY,KAAKA,IAAehC,OAC1CS,EAAeqB,EAAEI,SAASlC,CAAG,CAAC,GAC9BJ,GAAO8B,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMhC,GAAOgC;AAAAA,UACbtB,OAAON;AAAAA,QAAAA;AAAAA,MACT,CACmB;AAAA,IAEzB;AACAJ,IAAAA,GAAOuC,SAASZ,CAAK;AAAA,EACvB;AAEAa,SAAAA,EAAU,MAAM;AACd,UAAMC,IAAqBxB,OAAOH,KAAiB,GAAG;AACtD,IAAI,CAACoB,EAAEC,MAAMnC,GAAOU,KAAK,MAAM,CAACwB,EAAEQ,QAAQ1C,GAAOU,OAC/C+B,CAAkB,KAAKP,EAAEQ,QAAQ1C,GAAOU,OAAO,CAAC,MAChDG,EAAeqB,EAAEI,SAAStC,GAAOU,KAAK,CAAC;AAAA,EAE3C,GAAG,CAACV,GAAOU,KAAK,CAAC,GAGf,gBAAAiC,EAACC,GAAA,EACC,GAAI5C,GACJ,UAAU6C,EAAUrC,GAAgBD,CAAQ,GAC5C,MAAK,UACL,UAAU,MAAM;AAAA,EAAC,GACjB,QAAQ0B,GACR,OAAOtB,GACP,WAAAV,GACA,cAAAC,GACA,cAAAC,GAA2B;AAEjC;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/inputs/number/index.tsx"],"sourcesContent":["import '../../assets/styles/numbers.scss';\n\nimport React, { useEffect, useRef } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport DecimalField from './Decimal';\nimport CurrencyField from './Currency';\nimport { INumberFieldProps } from './types';\nimport InputTextBase from '../base/InputTextBase';\nimport { CustomInputEvent } from '../base/types';\nimport { mergeRefs } from '../../form2/helpers';\n\nconst NumberField = (props: INumberFieldProps) => {\n const {\n textAlign = 'left', themePopover = 'light', popoverAlign = 'left', min = undefined, \n max = undefined, inputRef = undefined,\n } = props;\n const numberInputRef = useRef<HTMLInputElement | null>(null);\n\n const { value: maskedValue, setValue: setMaskedValue, unmaskedValue } = useIMask({\n mask: Number,\n max,\n min,\n scale: 0,\n enum: undefined,\n to: undefined,\n from: undefined,\n normalizeZeros: true,\n padFractionalZeros: false,\n }, {\n ref: numberInputRef,\n onAccept: (value, __, event) => {\n const parsedValue = parseInt(value, 10);\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: parsedValue as any,\n },\n } as CustomInputEvent);\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 = (event: CustomInputEvent) => {\n if (!_.isNil(min)) {\n const currentValue = parseInt(unmaskedValue, 10) as number;\n if (_.isNaN(currentValue) || currentValue < min) {\n setMaskedValue(_.toString(min));\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: min as any,\n },\n } as CustomInputEvent);\n }\n }\n props?.onBlur?.(event);\n };\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 <InputTextBase\n {...props}\n inputRef={mergeRefs(numberInputRef, inputRef) as any}\n type=\"number\"\n onChange={() => {}}\n onBlur={handleBlur}\n value={maskedValue}\n textAlign={textAlign}\n themePopover={themePopover}\n popoverAlign={popoverAlign} />\n );\n};\n\nexport default NumberField;\nexport {\n CurrencyField,\n DecimalField,\n};\n"],"names":["NumberField","props","textAlign","themePopover","popoverAlign","min","undefined","max","inputRef","numberInputRef","useRef","value","maskedValue","setValue","setMaskedValue","unmaskedValue","useIMask","mask","Number","scale","enum","to","from","normalizeZeros","padFractionalZeros","ref","onAccept","__","event","parsedValue","parseInt","onChange","target","name","handleBlur","_","isNil","currentValue","isNaN","toString","onBlur","useEffect","floatUnmaskedValue","isEqual","jsx","InputTextBase","mergeRefs"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAcA,CAACC,MAA6B;AAChD,QAAM;AAAA,IACJC,WAAAA,IAAY;AAAA,IAAQC,cAAAA,IAAe;AAAA,IAASC,cAAAA,IAAe;AAAA,IAAQC,KAAAA,IAAMC;AAAAA,IACzEC,KAAAA,IAAMD;AAAAA,IAAWE,UAAAA,IAAWF;AAAAA,EAAAA,IAC1BL,GACEQ,IAAiBC,EAAgC,IAAI,GAErD;AAAA,IAAEC,OAAOC;AAAAA,IAAaC,UAAUC;AAAAA,IAAgBC,eAAAA;AAAAA,EAAAA,IAAkBC,EAAS;AAAA,IAC/EC,MAAMC;AAAAA,IACNX,KAAAA;AAAAA,IACAF,KAAAA;AAAAA,IACAc,OAAO;AAAA,IACPC,MAAMd;AAAAA,IACNe,IAAIf;AAAAA,IACJgB,MAAMhB;AAAAA,IACNiB,gBAAgB;AAAA,IAChBC,oBAAoB;AAAA,EAAA,GACnB;AAAA,IACDC,KAAKhB;AAAAA,IACLiB,UAAUA,CAACf,GAAOgB,GAAIC,MAAU;AAC9B,YAAMC,IAAcC,SAASnB,GAAO,EAAE;AACtCV,MAAAA,GAAO8B,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMhC,GAAOgC;AAAAA,UACbtB,OAAOkB;AAAAA,QAAAA;AAAAA,MACT,CACmB;AAAA,IACvB;AAAA,EAAA,CACD,GAMKK,IAAaA,CAACN,MAA4B;AAC9C,QAAI,CAACO,EAAEC,MAAM/B,CAAG,GAAG;AACjB,YAAMgC,IAAeP,SAASf,GAAe,EAAE;AAC/C,OAAIoB,EAAEG,MAAMD,CAAY,KAAKA,IAAehC,OAC1CS,EAAeqB,EAAEI,SAASlC,CAAG,CAAC,GAC9BJ,GAAO8B,WAAW;AAAA,QAChB,GAAGH;AAAAA,QACHI,QAAQ;AAAA,UACN,GAAGJ,GAAOI;AAAAA,UACVC,MAAMhC,GAAOgC;AAAAA,UACbtB,OAAON;AAAAA,QAAAA;AAAAA,MACT,CACmB;AAAA,IAEzB;AACAJ,IAAAA,GAAOuC,SAASZ,CAAK;AAAA,EACvB;AAEAa,SAAAA,EAAU,MAAM;AACd,UAAMC,IAAqBxB,OAAOH,KAAiB,GAAG;AACtD,IAAI,CAACoB,EAAEC,MAAMnC,GAAOU,KAAK,MAAM,CAACwB,EAAEQ,QAAQ1C,GAAOU,OAC/C+B,CAAkB,KAAKP,EAAEQ,QAAQ1C,GAAOU,OAAO,CAAC,MAChDG,EAAeqB,EAAEI,SAAStC,GAAOU,KAAK,CAAC;AAAA,EAE3C,GAAG,CAACV,GAAOU,KAAK,CAAC,GAGf,gBAAAiC,EAACC,GAAA,EACC,GAAI5C,GACJ,UAAU6C,EAAUrC,GAAgBD,CAAQ,GAC5C,MAAK,UACL,UAAU,MAAM;AAAA,EAAC,GACjB,QAAQ0B,GACR,OAAOtB,GACP,WAAAV,GACA,cAAAC,GACA,cAAAC,GAA2B;AAEjC;"}
@@ -9,3 +9,4 @@ export default getCalendarDropdownStyle;
9
9
  export declare const getDropdownItemCssClass: (selected?: boolean, disabled?: boolean, striped?: boolean) => string;
10
10
  export declare const CalcDatesByPeriod: (dateType: DateTypes) => Moment[];
11
11
  export declare const isDateValid: (date: Moment) => boolean;
12
+ export declare const parseDateValue: (value?: string | Moment) => Moment | undefined;
@@ -1,32 +1,40 @@
1
- import a from "../../node_modules/moment/dist/moment.js";
2
- const l = (s = !1, e = !1, r = !1) => {
3
- let t = "item";
4
- return t += s && !e ? " -selected " : "", t += e ? " -disabled" : "", t += !s && !e && r ? " -striped " : "", t;
5
- }, m = (s) => {
6
- const e = a();
1
+ import r from "../../node_modules/moment/dist/moment.js";
2
+ const d = (n = !1, t = !1, o = !1) => {
3
+ let e = "item";
4
+ return e += n && !t ? " -selected " : "", e += t ? " -disabled" : "", e += !n && !t && o ? " -striped " : "", e;
5
+ }, l = (n) => {
6
+ const t = r();
7
7
  return {
8
- today: () => [e, e],
8
+ today: () => [t, t],
9
9
  week: () => {
10
- const t = e.clone().startOf("week"), n = e.clone().endOf("week");
11
- return [t, n];
10
+ const e = t.clone().startOf("week"), s = t.clone().endOf("week");
11
+ return [e, s];
12
12
  },
13
13
  lastweek: () => {
14
- const t = e.subtract(1, "weeks"), n = t.clone().startOf("week"), o = t.clone().endOf("week");
15
- return [n, o];
14
+ const e = t.subtract(1, "weeks"), s = e.clone().startOf("week"), a = e.clone().endOf("week");
15
+ return [s, a];
16
16
  },
17
- last15: () => [a(e).subtract(15, "days"), e],
17
+ last15: () => [r(t).subtract(15, "days"), t],
18
18
  month: () => {
19
- const t = e.clone().startOf("month"), n = e.clone().endOf("month");
20
- return [t, n];
19
+ const e = t.clone().startOf("month"), s = t.clone().endOf("month");
20
+ return [e, s];
21
21
  },
22
22
  lastmonth: () => {
23
- const t = e.subtract(1, "months"), n = t.clone().startOf("month"), o = t.clone().endOf("month");
24
- return [n, o];
23
+ const e = t.subtract(1, "months"), s = e.clone().startOf("month"), a = e.clone().endOf("month");
24
+ return [s, a];
25
25
  }
26
- }[s]();
26
+ }[n]();
27
+ }, i = (n) => {
28
+ if (!n) return;
29
+ if (r.isMoment(n)) return n.isValid() ? n : void 0;
30
+ const t = r(n, "YYYY-MM-DD", !0);
31
+ if (t.isValid()) return t;
32
+ const o = r(n, "DD/MM/YYYY", !0);
33
+ if (o.isValid()) return o;
27
34
  };
28
35
  export {
29
- m as CalcDatesByPeriod,
30
- l as getDropdownItemCssClass
36
+ l as CalcDatesByPeriod,
37
+ d as getDropdownItemCssClass,
38
+ i as parseDateValue
31
39
  };
32
40
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sources":["../../../src/lib/inputs/period/helper.ts"],"sourcesContent":["import moment, { Moment } from 'moment';\nimport { DateTypes } from './types';\n\nconst getCalendarDropdownStyle = ({ topPosition, leftPosition, width }:\n{ topPosition: number | string, leftPosition: number | string, width: number | string }) => (\n `top: ${topPosition}px;\n left: ${leftPosition}px;\n width:${width}px`\n);\nexport default getCalendarDropdownStyle;\n\nexport const getDropdownItemCssClass = (selected = false, disabled = false, striped = false) => {\n let className = 'item';\n className += (selected && !disabled ? ' -selected ' : '');\n className += disabled ? ' -disabled' : '';\n className += (!selected && !disabled && striped ? ' -striped ' : '');\n return className;\n};\n\nexport const CalcDatesByPeriod = (dateType: DateTypes): Moment[] => {\n const currentDate = moment();\n const dateTypes = {\n today: () => [currentDate, currentDate],\n week: () => {\n const weekStart = currentDate.clone().startOf('week');\n const weekEnd = currentDate.clone().endOf('week');\n return [weekStart, weekEnd];\n },\n lastweek: () => {\n const lastWeek = currentDate.subtract(1, 'weeks');\n const weekStart = lastWeek.clone().startOf('week');\n const weekEnd = lastWeek.clone().endOf('week');\n return [weekStart, weekEnd];\n },\n last15: () => {\n const last15Day = moment(currentDate);\n return [last15Day.subtract(15, 'days'), currentDate];\n },\n month: () => {\n const monthStart = currentDate.clone().startOf('month');\n const monthEnd = currentDate.clone().endOf('month');\n return [monthStart, monthEnd];\n },\n lastmonth: () => {\n const lastMonth = currentDate.subtract(1, 'months');\n const monthStart = lastMonth.clone().startOf('month');\n const monthEnd = lastMonth.clone().endOf('month');\n return [monthStart, monthEnd];\n },\n };\n return dateTypes[dateType]();\n};\n\nexport const isDateValid = (date: Moment) => date && moment(date).isValid();\n"],"names":["getDropdownItemCssClass","selected","disabled","striped","className","CalcDatesByPeriod","dateType","currentDate","moment","today","week","weekStart","clone","startOf","weekEnd","endOf","lastweek","lastWeek","subtract","last15","month","monthStart","monthEnd","lastmonth","lastMonth"],"mappings":";AAWO,MAAMA,IAA0BA,CAACC,IAAW,IAAOC,IAAW,IAAOC,IAAU,OAAU;AAC9F,MAAIC,IAAY;AAChBA,SAAAA,KAAcH,KAAY,CAACC,IAAW,gBAAgB,IACtDE,KAAaF,IAAW,eAAe,IACvCE,KAAc,CAACH,KAAY,CAACC,KAAYC,IAAU,eAAe,IAC1DC;AACT,GAEaC,IAAoBA,CAACC,MAAkC;AAClE,QAAMC,IAAcC,EAAAA;AA8BpB,SA7BkB;AAAA,IAChBC,OAAOA,MAAM,CAACF,GAAaA,CAAW;AAAA,IACtCG,MAAMA,MAAM;AACV,YAAMC,IAAYJ,EAAYK,MAAAA,EAAQC,QAAQ,MAAM,GAC9CC,IAAUP,EAAYK,MAAAA,EAAQG,MAAM,MAAM;AAChD,aAAO,CAACJ,GAAWG,CAAO;AAAA,IAC5B;AAAA,IACAE,UAAUA,MAAM;AACd,YAAMC,IAAWV,EAAYW,SAAS,GAAG,OAAO,GAC1CP,IAAYM,EAASL,MAAAA,EAAQC,QAAQ,MAAM,GAC3CC,IAAUG,EAASL,MAAAA,EAAQG,MAAM,MAAM;AAC7C,aAAO,CAACJ,GAAWG,CAAO;AAAA,IAC5B;AAAA,IACAK,QAAQA,MAEC,CADWX,EAAOD,CAAW,EAClBW,SAAS,IAAI,MAAM,GAAGX,CAAW;AAAA,IAErDa,OAAOA,MAAM;AACX,YAAMC,IAAad,EAAYK,MAAAA,EAAQC,QAAQ,OAAO,GAChDS,IAAWf,EAAYK,MAAAA,EAAQG,MAAM,OAAO;AAClD,aAAO,CAACM,GAAYC,CAAQ;AAAA,IAC9B;AAAA,IACAC,WAAWA,MAAM;AACf,YAAMC,IAAYjB,EAAYW,SAAS,GAAG,QAAQ,GAC5CG,IAAaG,EAAUZ,MAAAA,EAAQC,QAAQ,OAAO,GAC9CS,IAAWE,EAAUZ,MAAAA,EAAQG,MAAM,OAAO;AAChD,aAAO,CAACM,GAAYC,CAAQ;AAAA,IAC9B;AAAA,EAAA,EAEehB,CAAQ,EAAA;AAC3B;"}
1
+ {"version":3,"file":"helper.js","sources":["../../../src/lib/inputs/period/helper.ts"],"sourcesContent":["import moment, { Moment } from 'moment';\nimport { DateTypes } from './types';\n\nconst getCalendarDropdownStyle = ({ topPosition, leftPosition, width }:\n{ topPosition: number | string, leftPosition: number | string, width: number | string }) => (\n `top: ${topPosition}px;\n left: ${leftPosition}px;\n width:${width}px`\n);\nexport default getCalendarDropdownStyle;\n\nexport const getDropdownItemCssClass = (selected = false, disabled = false, striped = false) => {\n let className = 'item';\n className += (selected && !disabled ? ' -selected ' : '');\n className += disabled ? ' -disabled' : '';\n className += (!selected && !disabled && striped ? ' -striped ' : '');\n return className;\n};\n\nexport const CalcDatesByPeriod = (dateType: DateTypes): Moment[] => {\n const currentDate = moment();\n const dateTypes = {\n today: () => [currentDate, currentDate],\n week: () => {\n const weekStart = currentDate.clone().startOf('week');\n const weekEnd = currentDate.clone().endOf('week');\n return [weekStart, weekEnd];\n },\n lastweek: () => {\n const lastWeek = currentDate.subtract(1, 'weeks');\n const weekStart = lastWeek.clone().startOf('week');\n const weekEnd = lastWeek.clone().endOf('week');\n return [weekStart, weekEnd];\n },\n last15: () => {\n const last15Day = moment(currentDate);\n return [last15Day.subtract(15, 'days'), currentDate];\n },\n month: () => {\n const monthStart = currentDate.clone().startOf('month');\n const monthEnd = currentDate.clone().endOf('month');\n return [monthStart, monthEnd];\n },\n lastmonth: () => {\n const lastMonth = currentDate.subtract(1, 'months');\n const monthStart = lastMonth.clone().startOf('month');\n const monthEnd = lastMonth.clone().endOf('month');\n return [monthStart, monthEnd];\n },\n };\n return dateTypes[dateType]();\n};\n\nexport const isDateValid = (date: Moment) => date && moment(date).isValid();\n\nexport const parseDateValue = (value?: string | Moment): Moment | undefined => {\n if (!value) return undefined;\n if (moment.isMoment(value)) return value.isValid() ? value : undefined;\n const iso = moment(value, 'YYYY-MM-DD', true);\n if (iso.isValid()) return iso;\n const dmy = moment(value, 'DD/MM/YYYY', true);\n if (dmy.isValid()) return dmy;\n return undefined;\n};\n"],"names":["getDropdownItemCssClass","selected","disabled","striped","className","CalcDatesByPeriod","dateType","currentDate","moment","today","week","weekStart","clone","startOf","weekEnd","endOf","lastweek","lastWeek","subtract","last15","month","monthStart","monthEnd","lastmonth","lastMonth","parseDateValue","value","isMoment","isValid","undefined","iso","dmy"],"mappings":";AAWO,MAAMA,IAA0BA,CAACC,IAAW,IAAOC,IAAW,IAAOC,IAAU,OAAU;AAC9F,MAAIC,IAAY;AAChBA,SAAAA,KAAcH,KAAY,CAACC,IAAW,gBAAgB,IACtDE,KAAaF,IAAW,eAAe,IACvCE,KAAc,CAACH,KAAY,CAACC,KAAYC,IAAU,eAAe,IAC1DC;AACT,GAEaC,IAAoBA,CAACC,MAAkC;AAClE,QAAMC,IAAcC,EAAAA;AA8BpB,SA7BkB;AAAA,IAChBC,OAAOA,MAAM,CAACF,GAAaA,CAAW;AAAA,IACtCG,MAAMA,MAAM;AACV,YAAMC,IAAYJ,EAAYK,MAAAA,EAAQC,QAAQ,MAAM,GAC9CC,IAAUP,EAAYK,MAAAA,EAAQG,MAAM,MAAM;AAChD,aAAO,CAACJ,GAAWG,CAAO;AAAA,IAC5B;AAAA,IACAE,UAAUA,MAAM;AACd,YAAMC,IAAWV,EAAYW,SAAS,GAAG,OAAO,GAC1CP,IAAYM,EAASL,MAAAA,EAAQC,QAAQ,MAAM,GAC3CC,IAAUG,EAASL,MAAAA,EAAQG,MAAM,MAAM;AAC7C,aAAO,CAACJ,GAAWG,CAAO;AAAA,IAC5B;AAAA,IACAK,QAAQA,MAEC,CADWX,EAAOD,CAAW,EAClBW,SAAS,IAAI,MAAM,GAAGX,CAAW;AAAA,IAErDa,OAAOA,MAAM;AACX,YAAMC,IAAad,EAAYK,MAAAA,EAAQC,QAAQ,OAAO,GAChDS,IAAWf,EAAYK,MAAAA,EAAQG,MAAM,OAAO;AAClD,aAAO,CAACM,GAAYC,CAAQ;AAAA,IAC9B;AAAA,IACAC,WAAWA,MAAM;AACf,YAAMC,IAAYjB,EAAYW,SAAS,GAAG,QAAQ,GAC5CG,IAAaG,EAAUZ,MAAAA,EAAQC,QAAQ,OAAO,GAC9CS,IAAWE,EAAUZ,MAAAA,EAAQG,MAAM,OAAO;AAChD,aAAO,CAACM,GAAYC,CAAQ;AAAA,IAC9B;AAAA,EAAA,EAEehB,CAAQ,EAAA;AAC3B,GAIamB,IAAiBA,CAACC,MAAgD;AAC7E,MAAI,CAACA,EAAO;AACZ,MAAIlB,EAAOmB,SAASD,CAAK,UAAUA,EAAME,QAAAA,IAAYF,IAAQG;AAC7D,QAAMC,IAAMtB,EAAOkB,GAAO,cAAc,EAAI;AAC5C,MAAII,EAAIF,QAAAA,EAAW,QAAOE;AAC1B,QAAMC,IAAMvB,EAAOkB,GAAO,cAAc,EAAI;AAC5C,MAAIK,EAAIH,QAAAA,EAAW,QAAOG;AAE5B;"}