@activecollab/components 2.0.227 → 2.0.229

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 (31) hide show
  1. package/dist/cjs/components/Input/InputNumber.js.map +1 -1
  2. package/dist/cjs/components/Input/InputTime.js +53 -12
  3. package/dist/cjs/components/Input/InputTime.js.map +1 -1
  4. package/dist/cjs/hooks/useInputNumber.js +77 -45
  5. package/dist/cjs/hooks/useInputNumber.js.map +1 -1
  6. package/dist/cjs/utils/currencyUtils.js +1 -0
  7. package/dist/cjs/utils/currencyUtils.js.map +1 -1
  8. package/dist/cjs/utils/currencyUtils.test.js +16 -0
  9. package/dist/cjs/utils/currencyUtils.test.js.map +1 -1
  10. package/dist/esm/components/Input/InputNumber.d.ts +2 -0
  11. package/dist/esm/components/Input/InputNumber.d.ts.map +1 -1
  12. package/dist/esm/components/Input/InputNumber.js.map +1 -1
  13. package/dist/esm/components/Input/InputTime.d.ts +2 -1
  14. package/dist/esm/components/Input/InputTime.d.ts.map +1 -1
  15. package/dist/esm/components/Input/InputTime.js +32 -5
  16. package/dist/esm/components/Input/InputTime.js.map +1 -1
  17. package/dist/esm/hooks/useInputNumber.d.ts +8 -6
  18. package/dist/esm/hooks/useInputNumber.d.ts.map +1 -1
  19. package/dist/esm/hooks/useInputNumber.js +53 -31
  20. package/dist/esm/hooks/useInputNumber.js.map +1 -1
  21. package/dist/esm/utils/currencyUtils.d.ts +1 -1
  22. package/dist/esm/utils/currencyUtils.d.ts.map +1 -1
  23. package/dist/esm/utils/currencyUtils.js +1 -0
  24. package/dist/esm/utils/currencyUtils.js.map +1 -1
  25. package/dist/esm/utils/currencyUtils.test.js +16 -0
  26. package/dist/esm/utils/currencyUtils.test.js.map +1 -1
  27. package/dist/index.js +131 -57
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.min.js +1 -1
  30. package/dist/index.min.js.map +1 -1
  31. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["_react","_interopRequireWildcard","require","_Input","_hooks","_utils","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","InputNumber","exports","forwardRef","_ref","ref","_ref$decimalLength","decimalLength","_ref$decimalSeparator","decimalSeparator","_ref$disableAbbreviat","disableAbbreviation","disabled","_ref$disableMacros","disableMacros","invalid","_ref$step","step","_ref$thousandSeparato","thousandSeparator","defaultValue","value","onCancel","onSave","externalEnterKeyPress","onEnterKeyPress","allowEmptyValue","externalOnChange","onChange","externalOnClick","onClick","limit","placeholder","_ref$trimDecimals","trimDecimals","min","max","externalOnBlur","onBlur","_ref$update","update","_ref$shortenThreshold","shortenThreshold","rest","inputRef","useRef","handleRef","useForkRef","_useInputNumber","useInputNumber","onKeyDown","onFocus","onDoubleClick","createElement","Input","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\" | \"onBlur\">,\n IInputNumber {\n shortenThreshold?: number;\n}\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 placeholder,\n trimDecimals = true,\n min,\n max,\n onBlur: externalOnBlur,\n update = false,\n shortenThreshold = 1000,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onFocus,\n onDoubleClick,\n } = 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 trimDecimals,\n min,\n max,\n onBlur: externalOnBlur,\n update,\n shortenThreshold,\n },\n inputRef\n );\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={placeholder}\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={placeholder}\n aria-disabled={disabled}\n aria-invalid={invalid}\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","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","InputNumber","exports","forwardRef","_ref","ref","_ref$decimalLength","decimalLength","_ref$decimalSeparator","decimalSeparator","_ref$disableAbbreviat","disableAbbreviation","disabled","_ref$disableMacros","disableMacros","invalid","_ref$step","step","_ref$thousandSeparato","thousandSeparator","defaultValue","value","onCancel","onSave","externalEnterKeyPress","onEnterKeyPress","allowEmptyValue","externalOnChange","onChange","externalOnClick","onClick","limit","placeholder","_ref$trimDecimals","trimDecimals","min","max","externalOnBlur","onBlur","_ref$update","update","_ref$shortenThreshold","shortenThreshold","rest","inputRef","useRef","handleRef","useForkRef","_useInputNumber","useInputNumber","onKeyDown","onFocus","onDoubleClick","createElement","Input","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\" | \"onBlur\">,\n IInputNumber {\n shortenThreshold?: number;\n min?: number;\n max?: number;\n}\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 placeholder,\n trimDecimals = true,\n min,\n max,\n onBlur: externalOnBlur,\n update = false,\n shortenThreshold = 1000,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onFocus,\n onDoubleClick,\n } = 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 trimDecimals,\n min,\n max,\n onBlur: externalOnBlur,\n update,\n shortenThreshold,\n },\n inputRef\n );\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={placeholder}\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={placeholder}\n aria-disabled={disabled}\n aria-invalid={invalid}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":"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"}
@@ -12,7 +12,7 @@ var _moment = _interopRequireDefault(require("moment"));
12
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
13
  var _timeUtils = require("../../utils/timeUtils");
14
14
  var _ComboBox = require("../ComboBox/ComboBox");
15
- var _excluded = ["mode", "selected", "min", "max", "onChange", "step", "size", "className", "placeholder", "triggerMode", "disabled", "invalid", "disableVirtualization"];
15
+ var _excluded = ["mode", "selected", "min", "max", "onChange", "step", "size", "className", "placeholder", "triggerMode", "disabled", "invalid", "enableVirtualization", "addCustomTimeLabel"];
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
18
  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; }
@@ -32,7 +32,8 @@ var StyledInputTimeWrapper = exports.StyledInputTimeWrapper = _styledComponents.
32
32
  })(["max-width:176px;flex:1;& .c-combo-box--list{min-width:176px;}"]);
33
33
  var renderOption = function renderOption(option) {
34
34
  return /*#__PURE__*/_react.default.createElement("div", {
35
- id: option.id
35
+ id: option.id,
36
+ "data-testid": "time-option-".concat(option.id)
36
37
  }, option.name);
37
38
  };
38
39
  var InputTime = exports.InputTime = function InputTime(_ref) {
@@ -52,12 +53,19 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
52
53
  triggerMode = _ref.triggerMode,
53
54
  disabled = _ref.disabled,
54
55
  invalid = _ref.invalid,
55
- disableVirtualization = _ref.disableVirtualization,
56
+ _ref$enableVirtualiza = _ref.enableVirtualization,
57
+ enableVirtualization = _ref$enableVirtualiza === void 0 ? false : _ref$enableVirtualiza,
58
+ _ref$addCustomTimeLab = _ref.addCustomTimeLabel,
59
+ addCustomTimeLabel = _ref$addCustomTimeLab === void 0 ? "Add" : _ref$addCustomTimeLab,
56
60
  rest = _objectWithoutProperties(_ref, _excluded);
57
61
  var _useState = (0, _react.useState)(false),
58
62
  _useState2 = _slicedToArray(_useState, 2),
59
63
  isOpen = _useState2[0],
60
64
  setIsOpen = _useState2[1];
65
+ var _useState3 = (0, _react.useState)(undefined),
66
+ _useState4 = _slicedToArray(_useState3, 2),
67
+ search = _useState4[0],
68
+ setSearch = _useState4[1];
61
69
  var generateTimeOptions = function generateTimeOptions() {
62
70
  var minTime = (0, _moment.default)((0, _timeUtils.isValidTime)(min) ? min : "00:00", "HH:mm");
63
71
  var maxTime = (0, _moment.default)((0, _timeUtils.isValidTime)(max) ? max : "23:45", "HH:mm");
@@ -74,15 +82,22 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
74
82
  return (0, _moment.default)(option.id, "HH:mm").isSameOrAfter(minTime) && (0, _moment.default)(option.id, "HH:mm").isSameOrBefore(maxTime);
75
83
  });
76
84
  };
77
- var timeOptions = generateTimeOptions();
78
- var isValidDefaultSelected = defaultSelected ? timeOptions.some(function (opt) {
79
- return opt.id === defaultSelected;
80
- }) : false;
81
- var _useState3 = (0, _react.useState)(isValidDefaultSelected ? defaultSelected : undefined),
82
- _useState4 = _slicedToArray(_useState3, 2),
83
- selected = _useState4[0],
84
- setSelected = _useState4[1];
85
+ var _useState5 = (0, _react.useState)(generateTimeOptions()),
86
+ _useState6 = _slicedToArray(_useState5, 2),
87
+ timeOptions = _useState6[0],
88
+ setTimeOptions = _useState6[1];
89
+ var isInOptions = (0, _react.useCallback)(function (option) {
90
+ return timeOptions.some(function (opt) {
91
+ return opt.id === option;
92
+ });
93
+ }, [timeOptions]);
94
+ var isValidDefaultSelected = defaultSelected ? isInOptions(defaultSelected) : false;
95
+ var _useState7 = (0, _react.useState)(isValidDefaultSelected ? defaultSelected : undefined),
96
+ _useState8 = _slicedToArray(_useState7, 2),
97
+ selected = _useState8[0],
98
+ setSelected = _useState8[1];
85
99
  var handleInputChange = (0, _react.useCallback)(function (text) {
100
+ setSearch(text);
86
101
  if (/\d{1,2}:\d{2}/.test(text.trim())) {
87
102
  return;
88
103
  }
@@ -99,6 +114,27 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
99
114
  }
100
115
  }
101
116
  }, [onChange, selected, timeOptions]);
117
+ var handleEmptyAction = function handleEmptyAction(newTime) {
118
+ var time = String(newTime);
119
+ if ((0, _timeUtils.isValidTime)(time)) {
120
+ var newOption = {
121
+ id: time,
122
+ name: mode === "12" ? (0, _moment.default)(time, "HH:mm").format("hh:mm A") : time
123
+ };
124
+ var newOptions = [...timeOptions];
125
+ var index = newOptions.findIndex(function (option) {
126
+ return (0, _moment.default)(option.id, "HH:mm") > (0, _moment.default)(time, "HH:mm");
127
+ });
128
+ if (index === -1) {
129
+ newOptions.push(newOption);
130
+ } else {
131
+ newOptions.splice(index, 0, newOption);
132
+ }
133
+ setTimeOptions(newOptions);
134
+ onChange === null || onChange === void 0 || onChange(time);
135
+ setSelected(time);
136
+ }
137
+ };
102
138
  var handleChange = function handleChange(e) {
103
139
  setSelected(e);
104
140
  onChange === null || onChange === void 0 || onChange(e);
@@ -125,6 +161,9 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
125
161
  })) setSelected(defaultSelected);
126
162
  // eslint-disable-next-line react-hooks/exhaustive-deps
127
163
  }, [defaultSelected, timeOptions]);
164
+ var isValid = function isValid(time) {
165
+ return !isInOptions(time) && (0, _timeUtils.isValidTime)(time);
166
+ };
128
167
  return /*#__PURE__*/_react.default.createElement(StyledInputTimeWrapper, {
129
168
  className: (0, _classnames.default)("c-input-time", className)
130
169
  }, /*#__PURE__*/_react.default.createElement(_ComboBox.ComboBox, _extends({}, rest, {
@@ -135,6 +174,8 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
135
174
  keepSameOptionsOrder: true,
136
175
  onInputChange: handleInputChange,
137
176
  onChange: handleChange,
177
+ handleEmptyAction: handleEmptyAction,
178
+ emptyValue: isValid(search) ? "".concat(addCustomTimeLabel, " ").concat(search) : undefined,
138
179
  forceCloseMenu: true,
139
180
  placeholder: placeholder,
140
181
  renderOption: renderOption,
@@ -145,7 +186,7 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
145
186
  triggerMode: triggerMode,
146
187
  disabled: disabled,
147
188
  invalid: invalid,
148
- disableVirtualization: disableVirtualization
189
+ disableVirtualization: !enableVirtualization
149
190
  })));
150
191
  };
151
192
  //# sourceMappingURL=InputTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputTime.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_compromise","_compromiseDates","_moment","_styledComponents","_timeUtils","_ComboBox","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","nlp","plugin","plg","StyledInputTimeWrapper","exports","styled","div","withConfig","displayName","componentId","renderOption","option","createElement","id","InputTime","_ref","_ref$mode","mode","defaultSelected","selected","_ref$min","min","_ref$max","max","onChange","_ref$step","step","size","className","placeholder","triggerMode","disabled","invalid","disableVirtualization","rest","_useState","useState","_useState2","isOpen","setIsOpen","generateTimeOptions","minTime","moment","isValidTime","maxTime","allOptions","currentTime","isBefore","format","add","filter","isSameOrAfter","isSameOrBefore","timeOptions","isValidDefaultSelected","some","opt","_useState3","undefined","_useState4","setSelected","handleInputChange","useCallback","text","trim","doc","parsed","times","handleChange","handleOpen","handleClose","useEffect","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","classNames","ComboBox","options","open","disabledInternalSort","keepSameOptionsOrder","onInputChange","forceCloseMenu","autoHeightMax","onClose","onOpen"],"sources":["../../../../src/components/Input/InputTime.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport nlp from \"compromise\";\nimport plg, { DatesMethods } from \"compromise-dates\";\nimport moment from \"moment\";\nimport styled from \"styled-components\";\n\nimport { InputMode, InputSize } from \"./types\";\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { ComboBox } from \"../ComboBox/ComboBox\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Time24HourFormat } from \"../SelectTime\";\n\nnlp.plugin(plg);\n\nexport const StyledInputTimeWrapper = styled.div`\n max-width: 176px;\n flex: 1;\n\n & .c-combo-box--list {\n min-width: 176px;\n }\n`;\n\nexport interface InputTimeProps {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: (val: Time24HourFormat) => void;\n className?: string;\n placeholder?: string;\n size?: InputSize;\n step?: 1 | 5 | 15 | 30 | 60;\n triggerMode?: InputMode;\n disabled?: boolean;\n invalid?: boolean;\n disableVirtualization?: boolean;\n}\n\nconst renderOption = (option) => {\n return <div id={option.id}>{option.name}</div>;\n};\n\nexport const InputTime: React.FC<InputTimeProps> = ({\n mode = \"24\",\n selected: defaultSelected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n step = 15,\n size,\n className,\n placeholder,\n triggerMode,\n disabled,\n invalid,\n disableVirtualization,\n ...rest\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const generateTimeOptions = (): IOptionItemProps[] => {\n const minTime = moment(isValidTime(min) ? min : \"00:00\", \"HH:mm\");\n const maxTime = moment(isValidTime(max) ? max : \"23:45\", \"HH:mm\");\n const allOptions: IOptionItemProps[] = [];\n\n const currentTime = moment(\"00:00\", \"HH:mm\");\n\n while (currentTime.isBefore(moment(\"24:00\", \"HH:mm\"))) {\n allOptions.push({\n id: currentTime.format(\"HH:mm\"),\n name: currentTime.format(mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"),\n });\n currentTime.add(step, \"minutes\");\n }\n\n return allOptions.filter(\n (option) =>\n moment(option.id, \"HH:mm\").isSameOrAfter(minTime) &&\n moment(option.id, \"HH:mm\").isSameOrBefore(maxTime)\n );\n };\n\n const timeOptions = generateTimeOptions();\n\n const isValidDefaultSelected = defaultSelected\n ? timeOptions.some((opt) => opt.id === defaultSelected)\n : false;\n\n const [selected, setSelected] = useState<Time24HourFormat | undefined>(\n isValidDefaultSelected ? defaultSelected : undefined\n );\n\n const handleInputChange = useCallback(\n (text: string) => {\n if (/\\d{1,2}:\\d{2}/.test(text.trim())) {\n return;\n }\n const doc = nlp<DatesMethods>(text);\n const parsed = doc.times().get()[0];\n if (parsed && parsed[\"24h\"] && parsed[\"24h\"] !== selected) {\n const value = moment(parsed).format(\"HH:mm\") as Time24HourFormat;\n if (timeOptions.some((option) => option.id === value)) {\n setSelected(value);\n onChange?.(value);\n setIsOpen(false);\n }\n }\n },\n [onChange, selected, timeOptions]\n );\n\n const handleChange = (e) => {\n setSelected(e);\n onChange?.(e);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (isOpen && selected) {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [isOpen, selected]);\n\n useEffect(() => {\n if (\n defaultSelected !== selected &&\n timeOptions.some((opt) => opt.id === defaultSelected)\n )\n setSelected(defaultSelected);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultSelected, timeOptions]);\n\n return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\n {...rest}\n options={timeOptions}\n open={isOpen}\n disabledInternalSort\n selected={selected}\n keepSameOptionsOrder\n onInputChange={handleInputChange}\n onChange={handleChange}\n forceCloseMenu\n placeholder={placeholder}\n renderOption={renderOption}\n autoHeightMax={226}\n size={size}\n onClose={handleClose}\n onOpen={handleOpen}\n triggerMode={triggerMode}\n disabled={disabled}\n invalid={invalid}\n disableVirtualization={disableVirtualization}\n />\n </StyledInputTimeWrapper>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputTime.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_compromise","_compromiseDates","_moment","_styledComponents","_timeUtils","_ComboBox","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","nlp","plugin","plg","StyledInputTimeWrapper","exports","styled","div","withConfig","displayName","componentId","renderOption","option","createElement","id","concat","InputTime","_ref","_ref$mode","mode","defaultSelected","selected","_ref$min","min","_ref$max","max","onChange","_ref$step","step","size","className","placeholder","triggerMode","disabled","invalid","_ref$enableVirtualiza","enableVirtualization","_ref$addCustomTimeLab","addCustomTimeLabel","rest","_useState","useState","_useState2","isOpen","setIsOpen","_useState3","undefined","_useState4","search","setSearch","generateTimeOptions","minTime","moment","isValidTime","maxTime","allOptions","currentTime","isBefore","format","add","filter","isSameOrAfter","isSameOrBefore","_useState5","_useState6","timeOptions","setTimeOptions","isInOptions","useCallback","some","opt","isValidDefaultSelected","_useState7","_useState8","setSelected","handleInputChange","text","trim","doc","parsed","times","handleEmptyAction","newTime","time","String","newOption","newOptions","index","findIndex","splice","handleChange","handleOpen","handleClose","useEffect","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","isValid","classNames","ComboBox","options","open","disabledInternalSort","keepSameOptionsOrder","onInputChange","emptyValue","forceCloseMenu","autoHeightMax","onClose","onOpen","disableVirtualization"],"sources":["../../../../src/components/Input/InputTime.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport nlp from \"compromise\";\nimport plg, { DatesMethods } from \"compromise-dates\";\nimport moment from \"moment\";\nimport styled from \"styled-components\";\n\nimport { InputMode, InputSize } from \"./types\";\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { ComboBox } from \"../ComboBox/ComboBox\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Time24HourFormat } from \"../SelectTime\";\n\nnlp.plugin(plg);\n\nexport const StyledInputTimeWrapper = styled.div`\n max-width: 176px;\n flex: 1;\n\n & .c-combo-box--list {\n min-width: 176px;\n }\n`;\n\nexport interface InputTimeProps {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: (val: Time24HourFormat) => void;\n className?: string;\n placeholder?: string;\n size?: InputSize;\n step?: 1 | 5 | 15 | 30 | 60;\n triggerMode?: InputMode;\n disabled?: boolean;\n invalid?: boolean;\n enableVirtualization?: boolean;\n addCustomTimeLabel?: string;\n}\n\nconst renderOption = (option) => {\n return (\n <div id={option.id} data-testid={`time-option-${option.id}`}>\n {option.name}\n </div>\n );\n};\n\nexport const InputTime: React.FC<InputTimeProps> = ({\n mode = \"24\",\n selected: defaultSelected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n step = 15,\n size,\n className,\n placeholder,\n triggerMode,\n disabled,\n invalid,\n enableVirtualization = false,\n addCustomTimeLabel = \"Add\",\n ...rest\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [search, setSearch] = useState<string | undefined>(undefined);\n\n const generateTimeOptions = (): IOptionItemProps[] => {\n const minTime = moment(isValidTime(min) ? min : \"00:00\", \"HH:mm\");\n const maxTime = moment(isValidTime(max) ? max : \"23:45\", \"HH:mm\");\n const allOptions: IOptionItemProps[] = [];\n\n const currentTime = moment(\"00:00\", \"HH:mm\");\n\n while (currentTime.isBefore(moment(\"24:00\", \"HH:mm\"))) {\n allOptions.push({\n id: currentTime.format(\"HH:mm\"),\n name: currentTime.format(mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"),\n });\n currentTime.add(step, \"minutes\");\n }\n\n return allOptions.filter(\n (option) =>\n moment(option.id, \"HH:mm\").isSameOrAfter(minTime) &&\n moment(option.id, \"HH:mm\").isSameOrBefore(maxTime)\n );\n };\n\n const [timeOptions, setTimeOptions] = useState(generateTimeOptions());\n\n const isInOptions = useCallback(\n (option) => timeOptions.some((opt) => opt.id === option),\n [timeOptions]\n );\n\n const isValidDefaultSelected = defaultSelected\n ? isInOptions(defaultSelected)\n : false;\n\n const [selected, setSelected] = useState<Time24HourFormat | undefined>(\n isValidDefaultSelected ? defaultSelected : undefined\n );\n\n const handleInputChange = useCallback(\n (text: string) => {\n setSearch(text);\n if (/\\d{1,2}:\\d{2}/.test(text.trim())) {\n return;\n }\n const doc = nlp<DatesMethods>(text);\n const parsed = doc.times().get()[0];\n if (parsed && parsed[\"24h\"] && parsed[\"24h\"] !== selected) {\n const value = moment(parsed).format(\"HH:mm\") as Time24HourFormat;\n if (timeOptions.some((option) => option.id === value)) {\n setSelected(value);\n onChange?.(value);\n setIsOpen(false);\n }\n }\n },\n [onChange, selected, timeOptions]\n );\n\n const handleEmptyAction = (newTime: string | number) => {\n const time = String(newTime);\n if (isValidTime(time)) {\n const newOption = {\n id: time,\n name: mode === \"12\" ? moment(time, \"HH:mm\").format(\"hh:mm A\") : time,\n };\n\n const newOptions = [...timeOptions];\n const index = newOptions.findIndex(\n (option) => moment(option.id, \"HH:mm\") > moment(time, \"HH:mm\")\n );\n\n if (index === -1) {\n newOptions.push(newOption);\n } else {\n newOptions.splice(index, 0, newOption);\n }\n\n setTimeOptions(newOptions);\n onChange?.(time as Time24HourFormat);\n setSelected(time as Time24HourFormat);\n }\n };\n\n const handleChange = (e) => {\n setSelected(e);\n onChange?.(e);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (isOpen && selected) {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [isOpen, selected]);\n\n useEffect(() => {\n if (\n defaultSelected !== selected &&\n timeOptions.some((opt) => opt.id === defaultSelected)\n )\n setSelected(defaultSelected);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultSelected, timeOptions]);\n\n const isValid = (time?: string) => !isInOptions(time) && isValidTime(time);\n\n return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\n {...rest}\n options={timeOptions}\n open={isOpen}\n disabledInternalSort\n selected={selected}\n keepSameOptionsOrder\n onInputChange={handleInputChange}\n onChange={handleChange}\n handleEmptyAction={handleEmptyAction}\n emptyValue={\n isValid(search) ? `${addCustomTimeLabel} ${search}` : undefined\n }\n forceCloseMenu\n placeholder={placeholder}\n renderOption={renderOption}\n autoHeightMax={226}\n size={size}\n onClose={handleClose}\n onOpen={handleOpen}\n triggerMode={triggerMode}\n disabled={disabled}\n invalid={invalid}\n disableVirtualization={!enableVirtualization}\n />\n </StyledInputTimeWrapper>\n );\n};\n"],"mappings":"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"}
@@ -22,7 +22,7 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
22
22
  disableMacros = _ref.disableMacros,
23
23
  decimalLength = _ref.decimalLength,
24
24
  _ref$value = _ref.value,
25
- value = _ref$value === void 0 ? "" : _ref$value,
25
+ value = _ref$value === void 0 ? undefined : _ref$value,
26
26
  onChange = _ref.onChange,
27
27
  onSave = _ref.onSave,
28
28
  onEnterKeyPress = _ref.onEnterKeyPress,
@@ -47,39 +47,53 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
47
47
  console.warn("Warning: The maximum value is set to be lower than the minimum value. The maximum value will be ignored.");
48
48
  }
49
49
  var _useState = (0, _react.useState)(function () {
50
- return (0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short", shortenThreshold);
50
+ return value;
51
51
  }),
52
52
  _useState2 = _slicedToArray(_useState, 2),
53
- currentValue = _useState2[0],
54
- setCurrentValue = _useState2[1];
53
+ numericValue = _useState2[0],
54
+ setNumericValue = _useState2[1];
55
55
  var _useState3 = (0, _react.useState)(function () {
56
- return (0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short", shortenThreshold);
56
+ return value;
57
57
  }),
58
58
  _useState4 = _slicedToArray(_useState3, 2),
59
- prevValue = _useState4[0],
60
- setPrevValue = _useState4[1];
59
+ prevNumericValue = _useState4[0],
60
+ setPrevNumericValue = _useState4[1];
61
61
  var _useState5 = (0, _react.useState)(function () {
62
- return (0, _currencyUtils.formatNumber)(value, "", decimalSeparator, false, decimalLength, "long", shortenThreshold);
62
+ return (0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short", shortenThreshold);
63
63
  }),
64
64
  _useState6 = _slicedToArray(_useState5, 2),
65
- unformattedValue = _useState6[0],
66
- setUnformattedValue = _useState6[1];
65
+ currentValue = _useState6[0],
66
+ setCurrentValue = _useState6[1];
67
67
  var _useState7 = (0, _react.useState)(function () {
68
- return (0, _currencyUtils.formatNumber)(value, "", decimalSeparator, false, decimalLength, "long", shortenThreshold);
68
+ return (0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short", shortenThreshold);
69
69
  }),
70
70
  _useState8 = _slicedToArray(_useState7, 2),
71
- unformattedPrevValue = _useState8[0],
72
- setUnformattedPrevValue = _useState8[1];
73
- var _useState9 = (0, _react.useState)(false),
71
+ prevValue = _useState8[0],
72
+ setPrevValue = _useState8[1];
73
+ var _useState9 = (0, _react.useState)(function () {
74
+ return (0, _currencyUtils.formatNumber)(value, "", decimalSeparator, false, decimalLength, "long", shortenThreshold);
75
+ }),
74
76
  _useState10 = _slicedToArray(_useState9, 2),
75
- focused = _useState10[0],
76
- setFocused = _useState10[1];
77
+ unformattedValue = _useState10[0],
78
+ setUnformattedValue = _useState10[1];
79
+ var _useState11 = (0, _react.useState)(function () {
80
+ return (0, _currencyUtils.formatNumber)(value, "", decimalSeparator, false, decimalLength, "long", shortenThreshold);
81
+ }),
82
+ _useState12 = _slicedToArray(_useState11, 2),
83
+ unformattedPrevValue = _useState12[0],
84
+ setUnformattedPrevValue = _useState12[1];
85
+ var _useState13 = (0, _react.useState)(false),
86
+ _useState14 = _slicedToArray(_useState13, 2),
87
+ focused = _useState14[0],
88
+ setFocused = _useState14[1];
77
89
  (0, _react.useEffect)(function () {
78
- if (value !== prevValue && (!focused || update)) {
90
+ if (value !== prevNumericValue && (!focused || update)) {
79
91
  setCurrentValue((0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short", shortenThreshold));
80
92
  setPrevValue((0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short", shortenThreshold));
81
93
  setUnformattedValue((0, _currencyUtils.formatNumber)(value, "", decimalSeparator, false, decimalLength, "long", shortenThreshold));
82
94
  setUnformattedPrevValue((0, _currencyUtils.formatNumber)(value, "", decimalSeparator, false, decimalLength, "long", shortenThreshold));
95
+ setNumericValue(value);
96
+ setPrevNumericValue(value);
83
97
  }
84
98
  // eslint-disable-next-line react-hooks/exhaustive-deps
85
99
  }, [disableAbbreviation, thousandSeparator, decimalSeparator, decimalLength, trimDecimals, value, focused]);
@@ -88,23 +102,31 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
88
102
  if (escapeRef.current) {
89
103
  setCurrentValue(prevValue);
90
104
  setUnformattedValue(unformattedPrevValue);
91
- if (onChange) onChange(String(unformattedPrevValue));
105
+ setNumericValue(prevNumericValue);
106
+ if (onChange) onChange(prevNumericValue);
92
107
  } else {
93
108
  if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {
94
109
  var _value = (0, _currencyUtils.formatNumber)(currentValue, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short", shortenThreshold);
110
+ var _unformatedValue = (0, _currencyUtils.formatNumber)(currentValue, "", decimalSeparator, false, decimalLength, "long", shortenThreshold);
111
+ var _numericValue = (0, _currencyUtils.getNumberFromString)(_unformatedValue, thousandSeparator, decimalSeparator);
95
112
  setPrevValue(_value);
96
- setUnformattedPrevValue((0, _currencyUtils.formatNumber)(currentValue, "", decimalSeparator, false, decimalLength, "long", shortenThreshold));
97
- setUnformattedValue((0, _currencyUtils.formatNumber)(currentValue, "", decimalSeparator, false, decimalLength, "long", shortenThreshold));
113
+ setUnformattedPrevValue(_unformatedValue);
114
+ setUnformattedValue(_unformatedValue);
115
+ setNumericValue(_numericValue);
116
+ setPrevNumericValue(_numericValue);
117
+ if (_numericValue !== prevNumericValue) onChange === null || onChange === void 0 || onChange(_numericValue);
98
118
  setCurrentValue(_value);
99
119
  typeof onSave === "function" && onSave(e);
100
120
  } else {
101
121
  if (!allowEmptyValue) {
102
122
  setCurrentValue(prevValue);
103
123
  setUnformattedValue(unformattedPrevValue);
124
+ setNumericValue(prevNumericValue);
125
+ onChange === null || onChange === void 0 || onChange(prevNumericValue);
104
126
  typeof onCancel === "function" && onCancel(e);
105
127
  } else {
106
- if (typeof onSave === "function" && prevValue !== e.target.value) {
107
- onSave(e);
128
+ if (prevValue !== e.target.value) {
129
+ onSave === null || onSave === void 0 || onSave(e);
108
130
  } else {
109
131
  typeof onCancel === "function" && onCancel(e);
110
132
  }
@@ -113,52 +135,51 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
113
135
  }
114
136
  setFocused(false);
115
137
  typeof onBlur === "function" && onBlur(e);
116
- }, [onBlur, prevValue, unformattedPrevValue, onChange, currentValue, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation, shortenThreshold, onSave, allowEmptyValue, onCancel]);
138
+ }, [currentValue, onBlur, prevValue, unformattedPrevValue, prevNumericValue, onChange, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation, shortenThreshold, onSave, allowEmptyValue, onCancel]);
117
139
  var updateValue = (0, _react.useCallback)(function (type) {
118
- var preformattedValue = String(unformattedValue).replace(thousandSeparator, "").replace(decimalSeparator, ".");
119
- var numericValue = parseFloat(preformattedValue);
120
- if (isNaN(numericValue)) return;
121
- if (max !== undefined && numericValue > Number(max) || min !== undefined && numericValue < Number(min)) {
140
+ if (max !== undefined && Number(numericValue) > max || min !== undefined && Number(numericValue) < min) {
122
141
  return;
123
142
  }
124
143
  var newValue = numericValue;
125
144
  if (type === "increment") {
126
- if (max === undefined || numericValue + step <= Number(max)) {
127
- newValue = numericValue + step;
128
- } else if (numericValue < Number(max)) {
129
- newValue = Number(max);
145
+ if (max === undefined || Number(numericValue) + step <= max) {
146
+ newValue = Number(numericValue) + step;
147
+ } else if (Number(numericValue) < max) {
148
+ newValue = max;
130
149
  } else {
131
150
  return;
132
151
  }
133
152
  } else if (type === "decrement") {
134
- if (min === undefined || numericValue - step >= Number(min)) {
135
- newValue = numericValue - step;
136
- } else if (numericValue > Number(min)) {
137
- newValue = Number(min);
153
+ if (min === undefined || Number(numericValue) - step >= min) {
154
+ newValue = Number(numericValue) - step;
155
+ } else if (Number(numericValue) > min) {
156
+ newValue = min;
138
157
  } else {
139
158
  return;
140
159
  }
141
160
  }
142
161
  var formattedValue;
143
162
  if (decimalLength !== undefined) {
144
- formattedValue = newValue.toFixed(decimalLength);
163
+ formattedValue = Number(newValue).toFixed(decimalLength);
145
164
  } else {
146
- formattedValue = newValue.toFixed(2);
165
+ formattedValue = Number(newValue).toFixed(2);
147
166
  }
148
167
  if (decimalLength !== undefined && decimalLength === 0) {
149
- formattedValue = Math.round(newValue).toString();
168
+ formattedValue = Math.round(Number(newValue)).toString();
150
169
  }
151
170
  if (formattedValue.includes(".") || formattedValue.includes(",")) {
152
171
  formattedValue = formattedValue.replace(".", decimalSeparator);
153
172
  }
173
+ setNumericValue(newValue);
174
+ setPrevNumericValue(newValue);
154
175
  setUnformattedValue(formattedValue);
155
176
  setCurrentValue(formattedValue);
156
- if (onChange) onChange(formattedValue);
157
- }, [unformattedValue, thousandSeparator, decimalSeparator, decimalLength, onChange, step, min, max]);
177
+ if (onChange) onChange(newValue);
178
+ }, [max, numericValue, min, decimalLength, onChange, step, decimalSeparator]);
158
179
  var handleKeyDown = (0, _react.useCallback)(function (e) {
159
180
  if (e.key === "Enter") {
160
181
  e.target.blur();
161
- if (typeof onEnterKeyPress === "function") onEnterKeyPress(e.target.value);
182
+ if (typeof onEnterKeyPress === "function") onEnterKeyPress(numericValue);
162
183
  }
163
184
  if (e.key === "ArrowLeft") {
164
185
  return;
@@ -219,25 +240,35 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
219
240
  e.preventDefault();
220
241
  return;
221
242
  }
222
- }, [decimalLength, decimalSeparator, disableMacros, inputRef, limit, min, onCancel, onEnterKeyPress, updateValue, validation]);
243
+ }, [decimalLength, decimalSeparator, disableMacros, inputRef, limit, min, numericValue, onCancel, onEnterKeyPress, updateValue, validation]);
223
244
  var handleChange = (0, _react.useCallback)(function (e) {
224
245
  var inputValue = e.target.value;
246
+ var numericNewValue = undefined;
225
247
  var numericInput = disableMacros ? inputValue : inputValue.replace(/(\d+(?:[.,]\d+)?)([kmbtKMBT])/, function (_, num, unit) {
226
248
  var normalizedNum = num.replace(",", ".");
227
249
  var parts = normalizedNum.split(".");
228
250
  var integerPart = parts[0];
229
251
  var fractionalPart = parts[1];
230
252
  var newInteger = parseInt(integerPart, 10) * _currencyUtils.currencyMultiplier[unit.toLowerCase()];
253
+ numericNewValue = parseFloat("".concat(newInteger ? newInteger : 0, ".").concat(fractionalPart ? fractionalPart : 0));
231
254
  var result = newInteger.toString();
232
255
  if (fractionalPart !== undefined) {
233
256
  result += decimalSeparator + fractionalPart;
234
257
  }
235
258
  return result;
236
259
  });
260
+ if (numericNewValue === undefined) {
261
+ if (inputValue) {
262
+ numericNewValue = parseFloat(inputValue.replace(",", "."));
263
+ } else {
264
+ numericNewValue = undefined;
265
+ }
266
+ }
237
267
  setCurrentValue(numericInput);
238
268
  setUnformattedValue(numericInput);
239
- if (onChange) onChange(numericInput);
240
- }, [disableMacros, decimalSeparator, onChange]);
269
+ setNumericValue(numericNewValue);
270
+ if (onChange && numericNewValue !== numericValue) onChange(numericNewValue);
271
+ }, [disableMacros, onChange, numericValue, decimalSeparator]);
241
272
  var handleClick = (0, _react.useCallback)(function (e) {
242
273
  if (typeof onClick === "function") {
243
274
  onClick(e);
@@ -262,7 +293,8 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
262
293
  onDoubleClick: handleDoubleClick,
263
294
  onFocus: handleFocus,
264
295
  focused,
265
- unformattedValue
296
+ unformattedValue,
297
+ numericValue
266
298
  };
267
299
  };
268
300
  //# sourceMappingURL=useInputNumber.js.map