@activecollab/components 2.0.15 → 2.0.17

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 (61) hide show
  1. package/dist/cjs/components/EditableCurrency/EditableCurrency.js +37 -18
  2. package/dist/cjs/components/EditableCurrency/EditableCurrency.js.map +1 -1
  3. package/dist/cjs/components/Input/InputCurrency.js.map +1 -1
  4. package/dist/cjs/components/Input/InputNumber.js +35 -18
  5. package/dist/cjs/components/Input/InputNumber.js.map +1 -1
  6. package/dist/cjs/components/Input/index.js +22 -0
  7. package/dist/cjs/components/Input/index.js.map +1 -1
  8. package/dist/cjs/components/Select/Select.js +8 -4
  9. package/dist/cjs/components/Select/Select.js.map +1 -1
  10. package/dist/cjs/hooks/useInputNumber.js +151 -97
  11. package/dist/cjs/hooks/useInputNumber.js.map +1 -1
  12. package/dist/cjs/utils/currencyUtils.js +2 -2
  13. package/dist/cjs/utils/currencyUtils.js.map +1 -1
  14. package/dist/cjs/utils/currencyUtils.test.js +2 -2
  15. package/dist/cjs/utils/currencyUtils.test.js.map +1 -1
  16. package/dist/cjs/utils/index.js +3 -3
  17. package/dist/cjs/utils/index.js.map +1 -1
  18. package/dist/cjs/utils/validation.js +19 -1
  19. package/dist/cjs/utils/validation.js.map +1 -1
  20. package/dist/esm/components/EditableCurrency/EditableCurrency.d.ts +6 -2
  21. package/dist/esm/components/EditableCurrency/EditableCurrency.d.ts.map +1 -1
  22. package/dist/esm/components/EditableCurrency/EditableCurrency.js +38 -17
  23. package/dist/esm/components/EditableCurrency/EditableCurrency.js.map +1 -1
  24. package/dist/esm/components/Input/InputCurrency.d.ts +2 -3
  25. package/dist/esm/components/Input/InputCurrency.d.ts.map +1 -1
  26. package/dist/esm/components/Input/InputCurrency.js.map +1 -1
  27. package/dist/esm/components/Input/InputNumber.d.ts +4 -1
  28. package/dist/esm/components/Input/InputNumber.d.ts.map +1 -1
  29. package/dist/esm/components/Input/InputNumber.js +36 -17
  30. package/dist/esm/components/Input/InputNumber.js.map +1 -1
  31. package/dist/esm/components/Input/index.d.ts +2 -0
  32. package/dist/esm/components/Input/index.d.ts.map +1 -1
  33. package/dist/esm/components/Input/index.js +22 -0
  34. package/dist/esm/components/Input/index.js.map +1 -1
  35. package/dist/esm/components/Select/Select.d.ts +2 -0
  36. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  37. package/dist/esm/components/Select/Select.js +5 -2
  38. package/dist/esm/components/Select/Select.js.map +1 -1
  39. package/dist/esm/hooks/useInputNumber.d.ts +25 -13
  40. package/dist/esm/hooks/useInputNumber.d.ts.map +1 -1
  41. package/dist/esm/hooks/useInputNumber.js +131 -90
  42. package/dist/esm/hooks/useInputNumber.js.map +1 -1
  43. package/dist/esm/utils/currencyUtils.d.ts +1 -1
  44. package/dist/esm/utils/currencyUtils.d.ts.map +1 -1
  45. package/dist/esm/utils/currencyUtils.js +3 -3
  46. package/dist/esm/utils/currencyUtils.js.map +1 -1
  47. package/dist/esm/utils/currencyUtils.test.js +2 -2
  48. package/dist/esm/utils/currencyUtils.test.js.map +1 -1
  49. package/dist/esm/utils/index.d.ts +1 -1
  50. package/dist/esm/utils/index.d.ts.map +1 -1
  51. package/dist/esm/utils/index.js +3 -3
  52. package/dist/esm/utils/index.js.map +1 -1
  53. package/dist/esm/utils/validation.d.ts +1 -0
  54. package/dist/esm/utils/validation.d.ts.map +1 -1
  55. package/dist/esm/utils/validation.js +20 -1
  56. package/dist/esm/utils/validation.js.map +1 -1
  57. package/dist/index.js +425 -247
  58. package/dist/index.js.map +1 -1
  59. package/dist/index.min.js +1 -1
  60. package/dist/index.min.js.map +1 -1
  61. package/package.json +1 -1
@@ -11,42 +11,61 @@ var _EditableContent = require("../EditableContent");
11
11
  var _Tooltip = require("../Tooltip");
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
- const EditableCurrency = exports.EditableCurrency = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
14
+ const EditableCurrency = exports.EditableCurrency = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
15
15
  let {
16
16
  decimalLength = 2,
17
17
  decimalSeparator = ".",
18
18
  disableAbbreviation = false,
19
19
  disabled,
20
20
  disableMacros = false,
21
- onValueChange,
22
21
  step = 1,
23
22
  thousandSeparator = ",",
24
- value,
23
+ value: defaultValue,
24
+ onSave,
25
+ onCancel,
25
26
  className,
27
+ allowEmptyValue,
28
+ onEnterKeyPress: externalEnterKeyPress,
29
+ onClick: externalOnClick,
30
+ onChange: externalOnChange,
31
+ limit,
26
32
  ...rest
27
33
  } = _ref;
28
34
  const inputRef = (0, _react.useRef)(null);
29
35
  const handleRef = (0, _utils.useForkRef)(ref, inputRef);
30
36
  const {
31
- focused,
32
- rootValue,
33
- formattedValue,
34
- handleBlur,
35
- handleChange,
36
- handleFocus,
37
- handleKeyDown
37
+ inputProps
38
38
  } = (0, _hooks.useInputNumber)({
39
39
  decimalLength,
40
40
  decimalSeparator,
41
41
  disableAbbreviation,
42
42
  disableMacros,
43
- onValueChange,
44
43
  step,
45
44
  thousandSeparator,
46
- value
45
+ value: defaultValue,
46
+ onSave,
47
+ allowEmptyValue,
48
+ onCancel,
49
+ onChange: externalOnChange,
50
+ onEnterKeyPress: externalEnterKeyPress,
51
+ onClick: externalOnClick,
52
+ limit
47
53
  }, inputRef);
54
+ const {
55
+ value,
56
+ onBlur,
57
+ onKeyDown,
58
+ onChange,
59
+ onClick,
60
+ onDoubleClick,
61
+ onFocus,
62
+ focused
63
+ } = inputProps;
64
+ const formattedValue = (0, _react.useMemo)(() => {
65
+ return focused ? value : (0, _utils.numberWithSeparator)(value ?? "", thousandSeparator);
66
+ }, [focused, value, thousandSeparator]);
48
67
  return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
49
- title: rootValue,
68
+ title: (0, _utils.numberWithSeparator)(value ?? "", thousandSeparator),
50
69
  disable: focused
51
70
  }, /*#__PURE__*/_react.default.createElement(_EditableContent.EditableContent, {
52
71
  disabled: disabled,
@@ -54,10 +73,12 @@ const EditableCurrency = exports.EditableCurrency = /*#__PURE__*/(0, _react.forw
54
73
  className: className,
55
74
  inputProps: {
56
75
  value: formattedValue,
57
- onBlur: handleBlur,
58
- onChange: handleChange,
59
- onFocus: handleFocus,
60
- onKeyDown: handleKeyDown,
76
+ onBlur: onBlur,
77
+ onChange: onChange,
78
+ onKeyDown: onKeyDown,
79
+ onClick: onClick,
80
+ onFocus: onFocus,
81
+ onDoubleClick: onDoubleClick,
61
82
  ...rest
62
83
  }
63
84
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCurrency.js","names":["_react","_interopRequireWildcard","require","_hooks","_utils","_EditableContent","_Tooltip","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","EditableCurrency","exports","forwardRef","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","onValueChange","step","thousandSeparator","value","className","rest","inputRef","useRef","handleRef","useForkRef","focused","rootValue","formattedValue","handleBlur","handleChange","handleFocus","handleKeyDown","useInputNumber","createElement","Tooltip","title","disable","EditableContent","inputProps","onBlur","onChange","onFocus","onKeyDown","displayName"],"sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\n\nimport { useInputNumber } from \"../../hooks\";\nimport type { InputNumberProps } from \"../../hooks\";\nimport { useForkRef } from \"../../utils\";\nimport { EditableContent } from \"../EditableContent\";\nimport { Tooltip } from \"../Tooltip\";\n\nexport const EditableCurrency = forwardRef<\n HTMLInputElement,\n Omit<InputNumberProps, \"size\">\n>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n onValueChange,\n step = 1,\n thousandSeparator = \",\",\n value,\n className,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n focused,\n rootValue,\n formattedValue,\n handleBlur,\n handleChange,\n handleFocus,\n handleKeyDown,\n } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n onValueChange,\n step,\n thousandSeparator,\n value,\n },\n inputRef\n );\n\n return (\n <Tooltip title={rootValue as string} disable={focused}>\n <EditableContent\n disabled={disabled}\n ref={handleRef}\n className={className}\n inputProps={{\n value: formattedValue,\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n ...rest,\n }}\n />\n </Tooltip>\n );\n }\n);\n\nEditableCurrency.displayName = \"EditableCurrency\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditableCurrency.js","names":["_react","_interopRequireWildcard","require","_hooks","_utils","_EditableContent","_Tooltip","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","EditableCurrency","exports","React","forwardRef","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","step","thousandSeparator","value","defaultValue","onSave","onCancel","className","allowEmptyValue","onEnterKeyPress","externalEnterKeyPress","onClick","externalOnClick","onChange","externalOnChange","limit","rest","inputRef","useRef","handleRef","useForkRef","inputProps","useInputNumber","onBlur","onKeyDown","onDoubleClick","onFocus","focused","formattedValue","useMemo","numberWithSeparator","createElement","Tooltip","title","disable","EditableContent","displayName"],"sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"sourcesContent":["import React, { useMemo, useRef } from \"react\";\n\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { numberWithSeparator, useForkRef } from \"../../utils\";\nimport { EditableContent, EditableContentInterface } from \"../EditableContent\";\nimport { Tooltip } from \"../Tooltip\";\n\nexport interface EditableCurrencyProps\n extends EditableContentInterface,\n IInputNumber {\n className?: string;\n}\n\nexport const EditableCurrency = React.forwardRef<\n HTMLDivElement,\n EditableCurrencyProps\n>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onSave,\n onCancel,\n className,\n allowEmptyValue,\n onEnterKeyPress: externalEnterKeyPress,\n onClick: externalOnClick,\n onChange: externalOnChange,\n limit,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const { inputProps } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n value: defaultValue,\n onSave,\n allowEmptyValue,\n onCancel,\n onChange: externalOnChange,\n onEnterKeyPress: externalEnterKeyPress,\n onClick: externalOnClick,\n limit,\n },\n inputRef\n );\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onDoubleClick,\n onFocus,\n focused,\n } = inputProps;\n\n const formattedValue = useMemo(() => {\n return focused\n ? value\n : numberWithSeparator(value ?? \"\", thousandSeparator);\n }, [focused, value, thousandSeparator]);\n\n return (\n <Tooltip\n title={numberWithSeparator(value ?? \"\", thousandSeparator) as string}\n disable={focused}\n >\n <EditableContent\n disabled={disabled}\n ref={handleRef}\n className={className}\n inputProps={{\n value: formattedValue,\n onBlur: onBlur,\n onChange: onChange,\n onKeyDown: onKeyDown,\n onClick: onClick,\n onFocus: onFocus,\n onDoubleClick: onDoubleClick,\n ...rest,\n }}\n />\n </Tooltip>\n );\n }\n);\n\nEditableCurrency.displayName = \"EditableCurrency\";\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
- import type { InputNumberProps } from "../../hooks";
3
- export type InputCurrencyProps = InputNumberProps;
4
- export declare const InputCurrency: React.ForwardRefExoticComponent<InputNumberProps & React.RefAttributes<HTMLInputElement>>;
2
+ import type { IInputNumber } from "../../hooks";
3
+ export declare const InputCurrency: React.ForwardRefExoticComponent<IInputNumber & React.RefAttributes<HTMLInputElement>>;
5
4
  //# sourceMappingURL=InputCurrency.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAElD,eAAO,MAAM,aAAa,2FAIzB,CAAC"}
1
+ {"version":3,"file":"InputCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,aAAa,uFAIzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputCurrency.js","names":["_react","_interopRequireWildcard","require","_InputNumber","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","InputCurrency","exports","forwardRef","_ref","ref","rest","createElement","InputNumber","_extends2","displayName"],"sources":["../../../../src/components/Input/InputCurrency.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { InputNumber } from \"./InputNumber\";\nimport type { InputNumberProps } from \"../../hooks\";\n\nexport type InputCurrencyProps = InputNumberProps;\n\nexport const InputCurrency = forwardRef<HTMLInputElement, InputCurrencyProps>(\n ({ ...rest }, ref) => {\n return <InputNumber ref={ref} {...rest} />;\n }\n);\n\nInputCurrency.displayName = \"InputCurrency\";\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAA4C,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAKrC,MAAMY,aAAa,GAAAC,OAAA,CAAAD,aAAA,gBAAG,IAAAE,iBAAU,EACrC,CAAAC,IAAA,EAAcC,GAAG,KAAK;EAAA,IAArB;IAAE,GAAGC;EAAK,CAAC,GAAAF,IAAA;EACV,oBAAO5B,MAAA,CAAAU,OAAA,CAAAqB,aAAA,CAAC5B,YAAA,CAAA6B,WAAW,MAAAC,SAAA,CAAAvB,OAAA;IAACmB,GAAG,EAAEA;EAAI,GAAKC,IAAI,CAAG,CAAC;AAC5C,CACF,CAAC;AAEDL,aAAa,CAACS,WAAW,GAAG,eAAe"}
1
+ {"version":3,"file":"InputCurrency.js","names":["_react","_interopRequireWildcard","require","_InputNumber","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","InputCurrency","exports","forwardRef","_ref","ref","rest","createElement","InputNumber","_extends2","displayName"],"sources":["../../../../src/components/Input/InputCurrency.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { InputNumber } from \"./InputNumber\";\nimport type { IInputNumber } from \"../../hooks\";\n\nexport const InputCurrency = forwardRef<HTMLInputElement, IInputNumber>(\n ({ ...rest }, ref) => {\n return <InputNumber ref={ref} {...rest} />;\n }\n);\n\nInputCurrency.displayName = \"InputCurrency\";\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAA4C,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGrC,MAAMY,aAAa,GAAAC,OAAA,CAAAD,aAAA,gBAAG,IAAAE,iBAAU,EACrC,CAAAC,IAAA,EAAcC,GAAG,KAAK;EAAA,IAArB;IAAE,GAAGC;EAAK,CAAC,GAAAF,IAAA;EACV,oBAAO5B,MAAA,CAAAU,OAAA,CAAAqB,aAAA,CAAC5B,YAAA,CAAA6B,WAAW,MAAAC,SAAA,CAAAvB,OAAA;IAACmB,GAAG,EAAEA;EAAI,GAAKC,IAAI,CAAG,CAAC;AAC5C,CACF,CAAC;AAEDL,aAAa,CAACS,WAAW,GAAG,eAAe"}
@@ -1,4 +1,7 @@
1
1
  import React from "react";
2
- import { InputNumberProps } from "../../hooks";
2
+ import { InputProps } from "./Input";
3
+ import { IInputNumber } from "../../hooks";
4
+ export interface InputNumberProps extends Omit<InputProps, "value" | "onChange" | "step">, IInputNumber {
5
+ }
3
6
  export declare const InputNumber: React.ForwardRefExoticComponent<InputNumberProps & React.RefAttributes<HTMLInputElement>>;
4
7
  //# sourceMappingURL=InputNumber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAkB,MAAM,aAAa,CAAC;AAG/D,eAAO,MAAM,WAAW,2FA2DvB,CAAC"}
1
+ {"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC,EACrD,YAAY;CAAG;AAEnB,eAAO,MAAM,WAAW,2FA4EvB,CAAC"}
@@ -20,45 +20,64 @@ const InputNumber = exports.InputNumber = /*#__PURE__*/(0, _react.forwardRef)((_
20
20
  disabled,
21
21
  disableMacros = false,
22
22
  invalid,
23
- onValueChange,
24
23
  step = 1,
25
24
  thousandSeparator = ",",
26
- value,
25
+ value: defaultValue,
26
+ onCancel,
27
+ onSave,
28
+ onEnterKeyPress: externalEnterKeyPress,
29
+ allowEmptyValue,
30
+ onChange: externalOnChange,
31
+ onClick: externalOnClick,
32
+ limit,
27
33
  ...rest
28
34
  } = _ref;
29
35
  const inputRef = (0, _react.useRef)(null);
30
36
  const handleRef = (0, _utils.useForkRef)(ref, inputRef);
31
37
  const {
32
- formattedValue,
33
- handleBlur,
34
- handleChange,
35
- handleFocus,
36
- handleKeyDown
38
+ inputProps
37
39
  } = (0, _hooks.useInputNumber)({
38
40
  decimalLength,
39
41
  decimalSeparator,
40
42
  disableAbbreviation,
41
43
  disableMacros,
42
- onValueChange,
43
44
  step,
44
45
  thousandSeparator,
45
- value
46
+ onEnterKeyPress: externalEnterKeyPress,
47
+ onChange: externalOnChange,
48
+ onClick: externalOnClick,
49
+ value: defaultValue,
50
+ onCancel,
51
+ onSave,
52
+ allowEmptyValue,
53
+ limit
46
54
  }, inputRef);
47
- return /*#__PURE__*/_react.default.createElement(_Input.Input, (0, _extends2.default)({
55
+ const {
56
+ value,
57
+ onBlur,
58
+ onKeyDown,
59
+ onChange,
60
+ onClick,
61
+ onDoubleClick,
62
+ onFocus
63
+ } = inputProps;
64
+ return /*#__PURE__*/_react.default.createElement(_Input.Input, (0, _extends2.default)({}, rest, {
48
65
  ref: handleRef,
49
- placeholder: `5${thousandSeparator}000${decimalSeparator}00`,
50
- value: formattedValue,
66
+ placeholder: `5000${decimalSeparator}00`,
67
+ value: value,
51
68
  type: "text",
52
69
  disabled: disabled,
53
70
  invalid: invalid,
54
- onChange: handleChange,
55
- onFocus: handleFocus,
56
- onBlur: handleBlur,
57
- onKeyDown: handleKeyDown,
71
+ onChange: onChange,
72
+ onBlur: onBlur,
73
+ onKeyDown: onKeyDown,
74
+ onClick: onClick,
75
+ onDoubleClick: onDoubleClick,
76
+ onFocus: onFocus,
58
77
  "aria-placeholder": `5${thousandSeparator}000${decimalSeparator}00`,
59
78
  "aria-disabled": disabled,
60
79
  "aria-invalid": invalid
61
- }, rest));
80
+ }));
62
81
  });
63
82
  InputNumber.displayName = "InputNumber";
64
83
  //# sourceMappingURL=InputNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["_react","_interopRequireWildcard","require","_Input","_hooks","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","InputNumber","exports","forwardRef","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","invalid","onValueChange","step","thousandSeparator","value","rest","inputRef","useRef","handleRef","useForkRef","formattedValue","handleBlur","handleChange","handleFocus","handleKeyDown","useInputNumber","createElement","Input","_extends2","placeholder","type","onChange","onFocus","onBlur","onKeyDown","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\n\nimport { Input } from \"./Input\";\nimport { InputNumberProps, useInputNumber } from \"../../hooks\";\nimport { useForkRef } from \"../../utils\";\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n onValueChange,\n step = 1,\n thousandSeparator = \",\",\n value,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n formattedValue,\n handleBlur,\n handleChange,\n handleFocus,\n handleKeyDown,\n } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n onValueChange,\n step,\n thousandSeparator,\n value,\n },\n inputRef\n );\n\n return (\n <Input\n ref={handleRef}\n placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n value={formattedValue}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n aria-disabled={disabled}\n aria-invalid={invalid}\n {...rest}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.js","names":["_react","_interopRequireWildcard","require","_Input","_hooks","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","InputNumber","exports","forwardRef","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","invalid","step","thousandSeparator","value","defaultValue","onCancel","onSave","onEnterKeyPress","externalEnterKeyPress","allowEmptyValue","onChange","externalOnChange","onClick","externalOnClick","limit","rest","inputRef","useRef","handleRef","useForkRef","inputProps","useInputNumber","onBlur","onKeyDown","onDoubleClick","onFocus","createElement","Input","_extends2","placeholder","type","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputNumberProps\n extends Omit<InputProps, \"value\" | \"onChange\" | \"step\">,\n IInputNumber {}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onCancel,\n onSave,\n onEnterKeyPress: externalEnterKeyPress,\n allowEmptyValue,\n onChange: externalOnChange,\n onClick: externalOnClick,\n limit,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const { inputProps } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n onEnterKeyPress: externalEnterKeyPress,\n onChange: externalOnChange,\n onClick: externalOnClick,\n value: defaultValue,\n onCancel,\n onSave,\n allowEmptyValue,\n limit,\n },\n inputRef\n );\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onDoubleClick,\n onFocus,\n } = inputProps;\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={`5000${decimalSeparator}00`}\n value={value}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onFocus={onFocus}\n aria-placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n aria-disabled={disabled}\n aria-invalid={invalid}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export * from "./Input";
2
2
  export * from "./InputAdornment";
3
3
  export * from "./InputHours";
4
+ export * from "./InputCurrency";
5
+ export * from "./InputNumber";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
@@ -36,4 +36,26 @@ Object.keys(_InputHours).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
+ var _InputCurrency = require("./InputCurrency");
40
+ Object.keys(_InputCurrency).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _InputCurrency[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _InputCurrency[key];
47
+ }
48
+ });
49
+ });
50
+ var _InputNumber = require("./InputNumber");
51
+ Object.keys(_InputNumber).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _InputNumber[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _InputNumber[key];
58
+ }
59
+ });
60
+ });
39
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Input","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_InputAdornment","_InputHours"],"sources":["../../../../src/components/Input/index.ts"],"sourcesContent":["export * from \"./Input\";\nexport * from \"./InputAdornment\";\nexport * from \"./InputHours\";\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_Input","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_InputAdornment","_InputHours","_InputCurrency","_InputNumber"],"sources":["../../../../src/components/Input/index.ts"],"sourcesContent":["export * from \"./Input\";\nexport * from \"./InputAdornment\";\nexport * from \"./InputHours\";\nexport * from \"./InputCurrency\";\nexport * from \"./InputNumber\";\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,cAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,cAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,cAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,cAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,YAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,YAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,YAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,YAAA,CAAAR,GAAA;IAAA;EAAA;AAAA"}
@@ -31,6 +31,8 @@ export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" |
31
31
  startAdornment?: ReactNode;
32
32
  /** Node element on the right side */
33
33
  endAdornment?: ReactNode;
34
+ /** Focus search input on inline select */
35
+ focusInput?: boolean;
34
36
  }
35
37
  export declare const Select: FC<ISelectProps>;
36
38
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,CACxE;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAiPnC,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,CACxE;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAoPnC,CAAC"}
@@ -37,6 +37,7 @@ const Select = _ref => {
37
37
  preselectDefaultValue = type === "single",
38
38
  startAdornment,
39
39
  endAdornment,
40
+ focusInput = false,
40
41
  ...prop
41
42
  } = _ref;
42
43
  if (disableSearch && (startAdornment || endAdornment)) {
@@ -67,8 +68,10 @@ const Select = _ref => {
67
68
  const isAllOptionsChecked = (0, _react.useMemo)(() => allOptionValues.every(option => selectedOptions.includes(option)), [allOptionValues, selectedOptions]);
68
69
  const someOptionsChecked = (0, _react.useMemo)(() => allOptionValues.some(option => selectedOptions.includes(option)), [allOptionValues, selectedOptions]);
69
70
  (0, _react.useEffect)(() => {
70
- open && childNode?.current?.focus();
71
- }, [childNode, open, target]);
71
+ if (open && target || !target && focusInput) {
72
+ childNode?.current?.focus();
73
+ }
74
+ }, [focusInput, open, target]);
72
75
  const handleChange = (0, _react.useCallback)(selectedValue => {
73
76
  if (forceCloseMenu) {
74
77
  if (typeof onSelectClose === "function") onSelectClose();
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","exports","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n }, [childNode, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n isIndeterminate={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAaA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAQA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AAEA,IAAAO,KAAA,GAAAP,OAAA;AAAoC,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAyC7B,MAAMY,MAAwB,GAAGC,IAAA,IAsBlC;EAAA,IAtBmC;IACvCC,IAAI,GAAG,QAAQ;IACfC,IAAI;IACJC,MAAM;IACNC,OAAO;IACPC,QAAQ,GAAG,EAAE;IACbC,QAAQ,GAAG,cAAc;IACzBC,QAAQ,GAAGA,CAAA,KAAM,IAAI;IACrBC,WAAW;IACXC,WAAW,GAAGA,CAAA,KAAY,IAAI;IAC9BC,aAAa,GAAG,KAAK;IACrBC,cAAc;IACdC,eAAe;IACfC,oBAAoB,GAAG,KAAK;IAC5BC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,yBAAyB;IACzBC,qBAAqB,GAAGjB,IAAI,KAAK,QAAQ;IACzCkB,cAAc;IACdC,YAAY;IACZ,GAAGC;EACL,CAAC,GAAArB,IAAA;EACC,IAAIU,aAAa,KAAKS,cAAc,IAAIC,YAAY,CAAC,EAAE;IACrDE,OAAO,CAACC,IAAI,CAAC,sDAAsD,CAAC;EACtE;EACA,MAAMC,SAAS,GAAG,IAAAC,aAAM,EAA0B,CAAC;EACnD,MAAMC,UAAU,GAAG,IAAAD,aAAM,EAA0B,IAAI,CAAC;EAExD,MAAME,SAAS,GAAG,IAAAC,mBAAU,EAACJ,SAAS,EAAEE,UAAU,CAAC;EAEnD,MAAMG,GAAG,GAAG,CAAC1B,MAAM,GAAG,KAAK,GAAG2B,UAAI;EAClC,MAAMC,OAAO,GAAG,IAAAN,aAAM,EAAyB,IAAI,CAAC;EAEpD,MAAM,CAACO,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,MAAMC,eAAe,GAAG,IAAAC,cAAO,EAC7B,MAAO/B,QAAQ,YAAYgC,KAAK,GAAGhC,QAAQ,GAAG,CAACA,QAAQ,CAAE,EACzD,CAACA,QAAQ,CACX,CAAC;EAED,MAAMiC,aAAa,GAAG,IAAAF,cAAO,EAAC,MAAM;IAClC,IAAI,CAAChC,OAAO,EAAE;MACZ,OAAO,EAAE;IACX;IACA,OAAOA,OAAO;EAChB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMmC,eAAe,GAAG,IAAAH,cAAO,EAAC,MAAM;IACpC,OAAOE,aAAa,CAACE,MAAM,CACzB,CACEC,GAAwB,EACxBC,MAA4C,KACzC;MACH,IAAI,CAAC,IAAAC,2BAAa,EAACD,MAAM,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAGD,GAAG,EAAEC,MAAM,CAACE,EAAE,CAAC;MAC5B;MACA,MAAMC,eAAe,GAAGH,MAAM,CAACtC,OAAO,CAAC0C,GAAG,CAAEJ,MAAM,IAAKA,MAAM,CAACE,EAAE,CAAC;MACjE,OAAO,CAAC,GAAGH,GAAG,EAAE,GAAGI,eAAe,CAAC;IACrC,CAAC,EACD,EACF,CAAC;EACH,CAAC,EAAE,CAACP,aAAa,CAAC,CAAC;EAEnB,MAAMS,mBAAmB,GAAG,IAAAX,cAAO,EACjC,MAAMG,eAAe,CAACS,KAAK,CAAEN,MAAM,IAAKP,eAAe,CAACc,QAAQ,CAACP,MAAM,CAAC,CAAC,EACzE,CAACH,eAAe,EAAEJ,eAAe,CACnC,CAAC;EAED,MAAMe,kBAAkB,GAAG,IAAAd,cAAO,EAChC,MAAMG,eAAe,CAACY,IAAI,CAAET,MAAM,IAAKP,eAAe,CAACc,QAAQ,CAACP,MAAM,CAAC,CAAC,EACxE,CAACH,eAAe,EAAEJ,eAAe,CACnC,CAAC;EAED,IAAAiB,gBAAS,EAAC,MAAM;IACdpB,IAAI,IAAIR,SAAS,EAAE6B,OAAO,EAAEC,KAAK,CAAC,CAAC;EACrC,CAAC,EAAE,CAAC9B,SAAS,EAAEQ,IAAI,EAAE7B,MAAM,CAAC,CAAC;EAE7B,MAAMoD,YAAY,GAAG,IAAAC,kBAAW,EAC7BC,aAAa,IAAK;IACjB,IAAI9C,cAAc,EAAE;MAClB,IAAI,OAAOI,aAAa,KAAK,UAAU,EAAEA,aAAa,CAAC,CAAC;MACxDkB,OAAO,CAAC,KAAK,CAAC;IAChB;IACA,IAAIwB,aAAa,KAAKpD,QAAQ,EAAE;MAC9BE,QAAQ,CAACkD,aAAa,CAAC;IACzB;EACF,CAAC,EACD,CAAC9C,cAAc,EAAEN,QAAQ,EAAEU,aAAa,EAAER,QAAQ,CACpD,CAAC;EAED,MAAMmD,OAAO,GAAG,IAAAF,kBAAW,EAAC,MAAM;IAChCvB,OAAO,CAAC,KAAK,CAAC;IACd,IAAIlB,aAAa,EAAE;MACjBA,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,MAAM4C,MAAM,GAAG,IAAAH,kBAAW,EAAC,MAAM;IAC/BvB,OAAO,CAAC,IAAI,CAAC;IACb,IAAInB,YAAY,EAAE;MAChBA,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAM8C,KAAK,GAAG,IAAAxB,cAAO,EAAC,MAAM;IAC1B,IAAIjC,MAAM,EAAE;MACV,OAAO;QACL0D,aAAa,EAAE,IAAAC,mBAAU,EAAC,UAAU,EAAElD,eAAe,CAAC;QACtD8C,OAAO;QACPC,MAAM;QACNxD,MAAM;QACND,IAAI;QACJ8B,IAAI;QACJ1B,QAAQ;QACRyD,YAAY,EAAEA,CAAA,KAAMrC,UAAU,EAAE2B,OAAO,EAAEC,KAAK,CAAC;MACjD,CAAC;IACH;IACA,OAAO;MAAEU,SAAS,EAAE,IAAAF,mBAAU,EAAC,UAAU,EAAElD,eAAe;IAAE,CAAC;EAC/D,CAAC,EAAE,CAACT,MAAM,EAAES,eAAe,EAAE8C,OAAO,EAAEC,MAAM,EAAEzD,IAAI,EAAE8B,IAAI,EAAE1B,QAAQ,CAAC,CAAC;EAEpE,MAAM2D,iBAAiB,GAAG,IAAAT,kBAAW,EAClCU,KAAK,IAAK;IACTzD,WAAW,CAACyD,KAAK,CAAC;IAClB,IAAIvD,cAAc,EAAE;MAClBsB,OAAO,CAAC,KAAK,CAAC;IAChB;IACAF,OAAO,CAACsB,OAAO,EAAEc,KAAK,CAAC,CAAC;EAC1B,CAAC,EACD,CAAC1D,WAAW,EAAEE,cAAc,CAC9B,CAAC;EAED,MAAMyD,iCAAiC,GAAG,IAAAZ,kBAAW,EAAC,MAAM;IAC1D,IAAIvD,IAAI,KAAK,UAAU,EAAE;MACvB,IAAIkC,eAAe,CAACkC,MAAM,KAAK9B,eAAe,CAAC8B,MAAM,EAAE;QACrD,IAAI,OAAOpD,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,CAAC,CAAC;QAC7B,CAAC,MAAM;UACLV,QAAQ,CAAC,EAAE,CAAC;QACd;MACF,CAAC,MAAM;QACL,IAAI,OAAOU,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,CAAC,CAAC;QAC7B,CAAC,MAAM;UACLV,QAAQ,CAACgC,eAAe,CAAC;QAC3B;MACF;IACF,CAAC,MAAM;MACL,IAAI,OAAOtB,yBAAyB,KAAK,UAAU,EAAE;QACnDA,yBAAyB,CAAC,CAAC;MAC7B,CAAC,MAAM;QACLV,QAAQ,CAAC,EAAE,CAAC;MACd;IACF;IACA,IAAII,cAAc,EAAE;MAClBsB,OAAO,CAAC,KAAK,CAAC;IAChB;EACF,CAAC,EAAE,CACD1B,QAAQ,EACRN,IAAI,EACJU,cAAc,EACdwB,eAAe,CAACkC,MAAM,EACtB9B,eAAe,EACftB,yBAAyB,CAC1B,CAAC;EAEF,MAAMqD,kBAAkB,GAAG,IAAAd,kBAAW,EACpC,CAACd,MAAM,EAAEkB,KAAK,KAAK;IACjB,IAAI,OAAO5C,YAAY,KAAK,UAAU,EAAE;MACtC,OAAOA,YAAY,CAAC0B,MAAM,EAAEkB,KAAK,CAAC;IACpC;IACA,oBACE5F,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAAAvG,MAAA,CAAAgB,OAAA,CAAAwF,QAAA,qBACExG,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAAClG,cAAA,CAAAoG,aAAa;MACZC,QAAQ,EAAEhC,MAAM,CAACiC,KAAM;MACvBC,KAAK,EAAElC,MAAM,CAACkC,KAAM;MACpBC,SAAS,EAAEnC,MAAM,CAACmC,SAAU;MAC5BC,IAAI,EAAEpC,MAAM,CAACoC,IAAK;MAClBC,cAAc,EAAErC,MAAM,CAACqC;IAAe,CACvC,CAAC,EACDrC,MAAM,CAACE,EAAE,KAAK,IAAI,GACjB3C,IAAI,KAAK,UAAU,gBACjBjC,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAACjG,OAAA,CAAA0G,cAAc,MAAAC,SAAA,CAAAjG,OAAA;MACbkG,OAAO,EAAEnC,mBAAoB;MAC7BoC,eAAe,EAAEjC,kBAAkB,IAAI,CAACH;IAAoB,GACxDa,KAAK,CACV,CAAC,gBAEF5F,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAACjG,OAAA,CAAA8G,iBAAiB,MAAAH,SAAA,CAAAjG,OAAA;MAChBkG,OAAO,EAAE/C,eAAe,CAACkC,MAAM,GAAG,CAAC,IAAI,CAAClC,eAAe,CAAC,CAAC;IAAE,GACvDyB,KAAK,CACV,CACF,GACC3D,IAAI,KAAK,UAAU,gBACrBjC,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAACjG,OAAA,CAAA0G,cAAc,EAAKpB,KAAQ,CAAC,gBAE7B5F,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAACjG,OAAA,CAAA8G,iBAAiB,EAAKxB,KAAQ,CAEjC,CAAC;EAEP,CAAC,EACD,CACEb,mBAAmB,EACnB/B,YAAY,EACZmB,eAAe,EACflC,IAAI,EACJiD,kBAAkB,CAEtB,CAAC;EAED,oBACElF,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAAC1C,GAAG,EAAK+B,KAAK,eACZ5F,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,cACG,CAAC7D,aAAa,gBACb1C,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAACjG,OAAA,CAAA+G,gBAAgB;IAACC,GAAG,EAAEvD;EAAQ,GAC5BZ,cAAc,gBACbnD,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAACjG,OAAA,CAAAiH,oBAAoB,QAAEpE,cAAqC,CAAC,GAC3D,IAAI,eACRnD,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAACjG,OAAA,CAAAkH,iBAAiB;IAACF,GAAG,EAAE3D,SAAU;IAACnB,WAAW,EAAEA;EAAY,CAAE,CAAC,EAC9DY,YAAY,gBACXpD,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAACjG,OAAA,CAAAmH,kBAAkB,QAAErE,YAAiC,CAAC,GACrD,IACY,CAAC,GACjB,IAAI,eACRpD,MAAA,CAAAgB,OAAA,CAAAuF,aAAA,CAAC/F,aAAA,CAAAkH,YAAY,MAAAT,SAAA,CAAAjG,OAAA,MACPqC,IAAI;IACRsE,kBAAkB;IAClBC,OAAO,EAAEpE,SAAU;IACnByC,iBAAiB,EAAEA,iBAAkB;IACrC5D,QAAQ,EAAEA,QAAS;IACnBkD,YAAY,EAAEA,YAAa;IAC3BvC,YAAY,EAAEsD,kBAAmB;IACjClE,OAAO,EAAEA,OAAQ;IACjBa,yBAAyB,EAAEmD,iCAAkC;IAC7DnE,IAAI,EAAEA,IAAK;IACXiB,qBAAqB,EAAEA,qBAAsB;IAC7CL,oBAAoB,EAAEA;EAAqB,EAC5C,CACE,CACF,CAAC;AAEV,CAAC;AAACgF,OAAA,CAAA9F,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC+F,WAAW,GAAG,QAAQ"}
1
+ {"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","exports","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n isIndeterminate={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAaA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAQA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AAEA,IAAAO,KAAA,GAAAP,OAAA;AAAoC,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AA2C7B,MAAMY,MAAwB,GAAGC,IAAA,IAuBlC;EAAA,IAvBmC;IACvCC,IAAI,GAAG,QAAQ;IACfC,IAAI;IACJC,MAAM;IACNC,OAAO;IACPC,QAAQ,GAAG,EAAE;IACbC,QAAQ,GAAG,cAAc;IACzBC,QAAQ,GAAGA,CAAA,KAAM,IAAI;IACrBC,WAAW;IACXC,WAAW,GAAGA,CAAA,KAAY,IAAI;IAC9BC,aAAa,GAAG,KAAK;IACrBC,cAAc;IACdC,eAAe;IACfC,oBAAoB,GAAG,KAAK;IAC5BC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,yBAAyB;IACzBC,qBAAqB,GAAGjB,IAAI,KAAK,QAAQ;IACzCkB,cAAc;IACdC,YAAY;IACZC,UAAU,GAAG,KAAK;IAClB,GAAGC;EACL,CAAC,GAAAtB,IAAA;EACC,IAAIU,aAAa,KAAKS,cAAc,IAAIC,YAAY,CAAC,EAAE;IACrDG,OAAO,CAACC,IAAI,CAAC,sDAAsD,CAAC;EACtE;EACA,MAAMC,SAAS,GAAG,IAAAC,aAAM,EAA0B,CAAC;EACnD,MAAMC,UAAU,GAAG,IAAAD,aAAM,EAA0B,IAAI,CAAC;EAExD,MAAME,SAAS,GAAG,IAAAC,mBAAU,EAACJ,SAAS,EAAEE,UAAU,CAAC;EAEnD,MAAMG,GAAG,GAAG,CAAC3B,MAAM,GAAG,KAAK,GAAG4B,UAAI;EAClC,MAAMC,OAAO,GAAG,IAAAN,aAAM,EAAyB,IAAI,CAAC;EAEpD,MAAM,CAACO,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,MAAMC,eAAe,GAAG,IAAAC,cAAO,EAC7B,MAAOhC,QAAQ,YAAYiC,KAAK,GAAGjC,QAAQ,GAAG,CAACA,QAAQ,CAAE,EACzD,CAACA,QAAQ,CACX,CAAC;EAED,MAAMkC,aAAa,GAAG,IAAAF,cAAO,EAAC,MAAM;IAClC,IAAI,CAACjC,OAAO,EAAE;MACZ,OAAO,EAAE;IACX;IACA,OAAOA,OAAO;EAChB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMoC,eAAe,GAAG,IAAAH,cAAO,EAAC,MAAM;IACpC,OAAOE,aAAa,CAACE,MAAM,CACzB,CACEC,GAAwB,EACxBC,MAA4C,KACzC;MACH,IAAI,CAAC,IAAAC,2BAAa,EAACD,MAAM,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAGD,GAAG,EAAEC,MAAM,CAACE,EAAE,CAAC;MAC5B;MACA,MAAMC,eAAe,GAAGH,MAAM,CAACvC,OAAO,CAAC2C,GAAG,CAAEJ,MAAM,IAAKA,MAAM,CAACE,EAAE,CAAC;MACjE,OAAO,CAAC,GAAGH,GAAG,EAAE,GAAGI,eAAe,CAAC;IACrC,CAAC,EACD,EACF,CAAC;EACH,CAAC,EAAE,CAACP,aAAa,CAAC,CAAC;EAEnB,MAAMS,mBAAmB,GAAG,IAAAX,cAAO,EACjC,MAAMG,eAAe,CAACS,KAAK,CAAEN,MAAM,IAAKP,eAAe,CAACc,QAAQ,CAACP,MAAM,CAAC,CAAC,EACzE,CAACH,eAAe,EAAEJ,eAAe,CACnC,CAAC;EAED,MAAMe,kBAAkB,GAAG,IAAAd,cAAO,EAChC,MAAMG,eAAe,CAACY,IAAI,CAAET,MAAM,IAAKP,eAAe,CAACc,QAAQ,CAACP,MAAM,CAAC,CAAC,EACxE,CAACH,eAAe,EAAEJ,eAAe,CACnC,CAAC;EAED,IAAAiB,gBAAS,EAAC,MAAM;IACd,IAAKpB,IAAI,IAAI9B,MAAM,IAAM,CAACA,MAAM,IAAIkB,UAAW,EAAE;MAC/CI,SAAS,EAAE6B,OAAO,EAAEC,KAAK,CAAC,CAAC;IAC7B;EACF,CAAC,EAAE,CAAClC,UAAU,EAAEY,IAAI,EAAE9B,MAAM,CAAC,CAAC;EAE9B,MAAMqD,YAAY,GAAG,IAAAC,kBAAW,EAC7BC,aAAa,IAAK;IACjB,IAAI/C,cAAc,EAAE;MAClB,IAAI,OAAOI,aAAa,KAAK,UAAU,EAAEA,aAAa,CAAC,CAAC;MACxDmB,OAAO,CAAC,KAAK,CAAC;IAChB;IACA,IAAIwB,aAAa,KAAKrD,QAAQ,EAAE;MAC9BE,QAAQ,CAACmD,aAAa,CAAC;IACzB;EACF,CAAC,EACD,CAAC/C,cAAc,EAAEN,QAAQ,EAAEU,aAAa,EAAER,QAAQ,CACpD,CAAC;EAED,MAAMoD,OAAO,GAAG,IAAAF,kBAAW,EAAC,MAAM;IAChCvB,OAAO,CAAC,KAAK,CAAC;IACd,IAAInB,aAAa,EAAE;MACjBA,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,MAAM6C,MAAM,GAAG,IAAAH,kBAAW,EAAC,MAAM;IAC/BvB,OAAO,CAAC,IAAI,CAAC;IACb,IAAIpB,YAAY,EAAE;MAChBA,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAM+C,KAAK,GAAG,IAAAxB,cAAO,EAAC,MAAM;IAC1B,IAAIlC,MAAM,EAAE;MACV,OAAO;QACL2D,aAAa,EAAE,IAAAC,mBAAU,EAAC,UAAU,EAAEnD,eAAe,CAAC;QACtD+C,OAAO;QACPC,MAAM;QACNzD,MAAM;QACND,IAAI;QACJ+B,IAAI;QACJ3B,QAAQ;QACR0D,YAAY,EAAEA,CAAA,KAAMrC,UAAU,EAAE2B,OAAO,EAAEC,KAAK,CAAC;MACjD,CAAC;IACH;IACA,OAAO;MAAEU,SAAS,EAAE,IAAAF,mBAAU,EAAC,UAAU,EAAEnD,eAAe;IAAE,CAAC;EAC/D,CAAC,EAAE,CAACT,MAAM,EAAES,eAAe,EAAE+C,OAAO,EAAEC,MAAM,EAAE1D,IAAI,EAAE+B,IAAI,EAAE3B,QAAQ,CAAC,CAAC;EAEpE,MAAM4D,iBAAiB,GAAG,IAAAT,kBAAW,EAClCU,KAAK,IAAK;IACT1D,WAAW,CAAC0D,KAAK,CAAC;IAClB,IAAIxD,cAAc,EAAE;MAClBuB,OAAO,CAAC,KAAK,CAAC;IAChB;IACAF,OAAO,CAACsB,OAAO,EAAEc,KAAK,CAAC,CAAC;EAC1B,CAAC,EACD,CAAC3D,WAAW,EAAEE,cAAc,CAC9B,CAAC;EAED,MAAM0D,iCAAiC,GAAG,IAAAZ,kBAAW,EAAC,MAAM;IAC1D,IAAIxD,IAAI,KAAK,UAAU,EAAE;MACvB,IAAImC,eAAe,CAACkC,MAAM,KAAK9B,eAAe,CAAC8B,MAAM,EAAE;QACrD,IAAI,OAAOrD,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,CAAC,CAAC;QAC7B,CAAC,MAAM;UACLV,QAAQ,CAAC,EAAE,CAAC;QACd;MACF,CAAC,MAAM;QACL,IAAI,OAAOU,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,CAAC,CAAC;QAC7B,CAAC,MAAM;UACLV,QAAQ,CAACiC,eAAe,CAAC;QAC3B;MACF;IACF,CAAC,MAAM;MACL,IAAI,OAAOvB,yBAAyB,KAAK,UAAU,EAAE;QACnDA,yBAAyB,CAAC,CAAC;MAC7B,CAAC,MAAM;QACLV,QAAQ,CAAC,EAAE,CAAC;MACd;IACF;IACA,IAAII,cAAc,EAAE;MAClBuB,OAAO,CAAC,KAAK,CAAC;IAChB;EACF,CAAC,EAAE,CACD3B,QAAQ,EACRN,IAAI,EACJU,cAAc,EACdyB,eAAe,CAACkC,MAAM,EACtB9B,eAAe,EACfvB,yBAAyB,CAC1B,CAAC;EAEF,MAAMsD,kBAAkB,GAAG,IAAAd,kBAAW,EACpC,CAACd,MAAM,EAAEkB,KAAK,KAAK;IACjB,IAAI,OAAO7C,YAAY,KAAK,UAAU,EAAE;MACtC,OAAOA,YAAY,CAAC2B,MAAM,EAAEkB,KAAK,CAAC;IACpC;IACA,oBACE7F,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAAxG,MAAA,CAAAgB,OAAA,CAAAyF,QAAA,qBACEzG,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAACnG,cAAA,CAAAqG,aAAa;MACZC,QAAQ,EAAEhC,MAAM,CAACiC,KAAM;MACvBC,KAAK,EAAElC,MAAM,CAACkC,KAAM;MACpBC,SAAS,EAAEnC,MAAM,CAACmC,SAAU;MAC5BC,IAAI,EAAEpC,MAAM,CAACoC,IAAK;MAClBC,cAAc,EAAErC,MAAM,CAACqC;IAAe,CACvC,CAAC,EACDrC,MAAM,CAACE,EAAE,KAAK,IAAI,GACjB5C,IAAI,KAAK,UAAU,gBACjBjC,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAClG,OAAA,CAAA2G,cAAc,MAAAC,SAAA,CAAAlG,OAAA;MACbmG,OAAO,EAAEnC,mBAAoB;MAC7BoC,eAAe,EAAEjC,kBAAkB,IAAI,CAACH;IAAoB,GACxDa,KAAK,CACV,CAAC,gBAEF7F,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAClG,OAAA,CAAA+G,iBAAiB,MAAAH,SAAA,CAAAlG,OAAA;MAChBmG,OAAO,EAAE/C,eAAe,CAACkC,MAAM,GAAG,CAAC,IAAI,CAAClC,eAAe,CAAC,CAAC;IAAE,GACvDyB,KAAK,CACV,CACF,GACC5D,IAAI,KAAK,UAAU,gBACrBjC,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAClG,OAAA,CAAA2G,cAAc,EAAKpB,KAAQ,CAAC,gBAE7B7F,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAClG,OAAA,CAAA+G,iBAAiB,EAAKxB,KAAQ,CAEjC,CAAC;EAEP,CAAC,EACD,CACEb,mBAAmB,EACnBhC,YAAY,EACZoB,eAAe,EACfnC,IAAI,EACJkD,kBAAkB,CAEtB,CAAC;EAED,oBACEnF,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAC1C,GAAG,EAAK+B,KAAK,eACZ7F,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,cACG,CAAC9D,aAAa,gBACb1C,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAClG,OAAA,CAAAgH,gBAAgB;IAACC,GAAG,EAAEvD;EAAQ,GAC5Bb,cAAc,gBACbnD,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAClG,OAAA,CAAAkH,oBAAoB,QAAErE,cAAqC,CAAC,GAC3D,IAAI,eACRnD,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAClG,OAAA,CAAAmH,iBAAiB;IAACF,GAAG,EAAE3D,SAAU;IAACpB,WAAW,EAAEA;EAAY,CAAE,CAAC,EAC9DY,YAAY,gBACXpD,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAClG,OAAA,CAAAoH,kBAAkB,QAAEtE,YAAiC,CAAC,GACrD,IACY,CAAC,GACjB,IAAI,eACRpD,MAAA,CAAAgB,OAAA,CAAAwF,aAAA,CAAChG,aAAA,CAAAmH,YAAY,MAAAT,SAAA,CAAAlG,OAAA,MACPsC,IAAI;IACRsE,kBAAkB;IAClBC,OAAO,EAAEpE,SAAU;IACnByC,iBAAiB,EAAEA,iBAAkB;IACrC7D,QAAQ,EAAEA,QAAS;IACnBmD,YAAY,EAAEA,YAAa;IAC3BxC,YAAY,EAAEuD,kBAAmB;IACjCnE,OAAO,EAAEA,OAAQ;IACjBa,yBAAyB,EAAEoD,iCAAkC;IAC7DpE,IAAI,EAAEA,IAAK;IACXiB,qBAAqB,EAAEA,qBAAsB;IAC7CL,oBAAoB,EAAEA;EAAqB,EAC5C,CACE,CACF,CAAC;AAEV,CAAC;AAACiF,OAAA,CAAA/F,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAACgG,WAAW,GAAG,QAAQ"}
@@ -1,22 +1,34 @@
1
- import { ChangeEventHandler, KeyboardEventHandler, FocusEventHandler, MutableRefObject } from "react";
2
- import type { InputProps } from "../components";
1
+ import { MouseEvent, RefObject } from "react";
3
2
  export type Separators = "." | ",";
4
- export interface InputNumberProps extends InputProps {
3
+ export interface IInputNumber {
5
4
  decimalLength?: number;
6
5
  decimalSeparator?: Separators;
7
6
  disableAbbreviation?: boolean;
8
7
  disableMacros?: boolean;
9
8
  thousandSeparator?: Separators;
10
- onValueChange?: (value: string) => void;
9
+ onSave?: (e: Event) => void;
10
+ value?: string | number;
11
+ step?: number;
12
+ limit?: number;
13
+ onEnterKeyPress?: (val: string) => void;
14
+ onChange?: (val: string) => void;
15
+ onClick?: (event: MouseEvent<HTMLInputElement>) => void;
16
+ allowEmptyValue?: boolean;
17
+ onCancel?: (e: Event) => void;
18
+ validation?: (value: string, disableMacros: boolean, decimalSeparator: string, decimalLength: number, limit?: number) => boolean;
11
19
  }
12
- export declare const useInputNumber: ({ decimalSeparator, thousandSeparator, disableAbbreviation, disableMacros, decimalLength, value, onValueChange, onKeyDown, onBlur, onFocus, step, }: InputNumberProps, ref: MutableRefObject<HTMLInputElement | null>) => {
13
- readonly focused: boolean;
14
- readonly formattedValue: string | number | readonly string[] | undefined;
15
- readonly rootValue: string | number | readonly string[] | undefined;
16
- readonly handleChange: ChangeEventHandler<HTMLInputElement>;
17
- readonly handleKeyDown: KeyboardEventHandler<HTMLInputElement>;
18
- readonly handleBlur: FocusEventHandler<HTMLInputElement>;
19
- readonly handleFocus: FocusEventHandler<HTMLInputElement>;
20
- readonly onValueChange: ((value: string) => void) | undefined;
20
+ export declare const useInputNumber: ({ decimalSeparator, thousandSeparator, disableAbbreviation, disableMacros, decimalLength, value, onChange, onSave, onEnterKeyPress, onClick, onCancel, allowEmptyValue, step, limit, validation, }: IInputNumber, inputRef: RefObject<HTMLInputElement | null>) => {
21
+ inputProps: {
22
+ value: string | number | undefined;
23
+ onBlur: (e: any) => void;
24
+ onKeyDown: (e: any) => void;
25
+ onChange: (e: any) => void;
26
+ onClick: (e: any) => void;
27
+ onDoubleClick: () => void;
28
+ onFocus: () => void;
29
+ focused: boolean;
30
+ };
31
+ setCurrentValue: import("react").Dispatch<import("react").SetStateAction<string | number | undefined>>;
32
+ setPrevValue: import("react").Dispatch<import("react").SetStateAction<string | number | undefined>>;
21
33
  };
22
34
  //# sourceMappingURL=useInputNumber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInputNumber.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAOhD,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;AAInC,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,cAAc,wJAatB,gBAAgB,OACd,iBAAiB,gBAAgB,GAAG,IAAI,CAAC;;;;;;;;qCAjBtB,MAAM,KAAK,IAAI;CA8KxC,CAAC"}
1
+ {"version":3,"file":"useInputNumber.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGV,SAAS,EAEV,MAAM,OAAO,CAAC;AASf,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;AAEnC,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,CACX,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,CAAC;CACd;AAED,eAAO,MAAM,cAAc,uMAiBtB,YAAY,YACL,UAAU,gBAAgB,GAAG,IAAI,CAAC;;;;;;;;;;;;;CAkP7C,CAAC"}