@activecollab/components 2.0.17 → 2.0.18

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.
@@ -69,12 +69,13 @@ var EditableCurrency = exports.EditableCurrency = /*#__PURE__*/_react.default.fo
69
69
  onClick = inputProps.onClick,
70
70
  onDoubleClick = inputProps.onDoubleClick,
71
71
  onFocus = inputProps.onFocus,
72
- focused = inputProps.focused;
72
+ focused = inputProps.focused,
73
+ unformattedValue = inputProps.unformattedValue;
73
74
  var formattedValue = (0, _react.useMemo)(function () {
74
75
  return focused ? value : (0, _utils.numberWithSeparator)(value !== null && value !== void 0 ? value : "", thousandSeparator);
75
76
  }, [focused, value, thousandSeparator]);
76
77
  return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
77
- title: (0, _utils.numberWithSeparator)(value !== null && value !== void 0 ? value : "", thousandSeparator),
78
+ title: unformattedValue,
78
79
  disable: focused
79
80
  }, /*#__PURE__*/_react.default.createElement(_EditableContent.EditableContent, {
80
81
  disabled: disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCurrency.js","names":["_react","_interopRequireWildcard","require","_hooks","_utils","_EditableContent","_Tooltip","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","EditableCurrency","exports","React","forwardRef","_ref","ref","_ref$decimalLength","decimalLength","_ref$decimalSeparator","decimalSeparator","_ref$disableAbbreviat","disableAbbreviation","disabled","_ref$disableMacros","disableMacros","_ref$step","step","_ref$thousandSeparato","thousandSeparator","defaultValue","onSave","onCancel","className","allowEmptyValue","externalEnterKeyPress","onEnterKeyPress","externalOnClick","onClick","externalOnChange","onChange","limit","rest","inputRef","useRef","handleRef","useForkRef","_useInputNumber","useInputNumber","inputProps","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
+ {"version":3,"file":"EditableCurrency.js","names":["_react","_interopRequireWildcard","require","_hooks","_utils","_EditableContent","_Tooltip","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","EditableCurrency","exports","React","forwardRef","_ref","ref","_ref$decimalLength","decimalLength","_ref$decimalSeparator","decimalSeparator","_ref$disableAbbreviat","disableAbbreviation","disabled","_ref$disableMacros","disableMacros","_ref$step","step","_ref$thousandSeparato","thousandSeparator","defaultValue","onSave","onCancel","className","allowEmptyValue","externalEnterKeyPress","onEnterKeyPress","externalOnClick","onClick","externalOnChange","onChange","limit","rest","inputRef","useRef","handleRef","useForkRef","_useInputNumber","useInputNumber","inputProps","onBlur","onKeyDown","onDoubleClick","onFocus","focused","unformattedValue","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 unformattedValue,\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 title={unformattedValue as string} disable={focused}>\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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAqC,IAAAK,SAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,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;AAAA,SAAAY,QAAApB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAU,IAAA,CAAArB,CAAA,OAAAW,MAAA,CAAAW,qBAAA,QAAAC,CAAA,GAAAZ,MAAA,CAAAW,qBAAA,CAAAtB,CAAA,GAAAE,CAAA,KAAAqB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAtB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAuB,UAAA,OAAAtB,CAAA,CAAAuB,IAAA,CAAAC,KAAA,CAAAxB,CAAA,EAAAoB,CAAA,YAAApB,CAAA;AAAA,SAAAyB,cAAA5B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA2B,SAAA,CAAAC,MAAA,EAAA5B,CAAA,UAAAC,CAAA,WAAA0B,SAAA,CAAA3B,CAAA,IAAA2B,SAAA,CAAA3B,CAAA,QAAAA,CAAA,OAAAkB,OAAA,CAAAT,MAAA,CAAAR,CAAA,OAAA4B,OAAA,WAAA7B,CAAA,IAAA8B,eAAA,CAAAhC,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAsB,yBAAA,GAAAtB,MAAA,CAAAuB,gBAAA,CAAAlC,CAAA,EAAAW,MAAA,CAAAsB,yBAAA,CAAA9B,CAAA,KAAAiB,OAAA,CAAAT,MAAA,CAAAR,CAAA,GAAA4B,OAAA,WAAA7B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAAgC,gBAAAG,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAxB,MAAA,CAAAC,cAAA,CAAAuB,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAAL,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAnC,CAAA,QAAAe,CAAA,GAAAuB,YAAA,CAAAtC,CAAA,uCAAAe,CAAA,GAAAA,CAAA,GAAAwB,MAAA,CAAAxB,CAAA;AAAA,SAAAuB,aAAAtC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAwC,MAAA,CAAAC,WAAA,kBAAA5C,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAd,CAAA,EAAAD,CAAA,uCAAAgB,CAAA,SAAAA,CAAA,YAAA2B,SAAA,yEAAA3C,CAAA,GAAAwC,MAAA,GAAAI,MAAA,EAAA3C,CAAA;AAAA,SAAA4C,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAb,GAAA,EAAAlB,CAAA,MAAAP,MAAA,CAAAW,qBAAA,QAAA8B,gBAAA,GAAAzC,MAAA,CAAAW,qBAAA,CAAA0B,MAAA,QAAA9B,CAAA,MAAAA,CAAA,GAAAkC,gBAAA,CAAAtB,MAAA,EAAAZ,CAAA,MAAAkB,GAAA,GAAAgB,gBAAA,CAAAlC,CAAA,OAAA+B,QAAA,CAAAI,OAAA,CAAAjB,GAAA,uBAAAzB,MAAA,CAAAI,SAAA,CAAAuC,oBAAA,CAAArC,IAAA,CAAA+B,MAAA,EAAAZ,GAAA,aAAAc,MAAA,CAAAd,GAAA,IAAAY,MAAA,CAAAZ,GAAA,cAAAc,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAK,UAAA,GAAA5C,MAAA,CAAAU,IAAA,CAAA2B,MAAA,OAAAZ,GAAA,EAAAlB,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAqC,UAAA,CAAAzB,MAAA,EAAAZ,CAAA,MAAAkB,GAAA,GAAAmB,UAAA,CAAArC,CAAA,OAAA+B,QAAA,CAAAI,OAAA,CAAAjB,GAAA,kBAAAc,MAAA,CAAAd,GAAA,IAAAY,MAAA,CAAAZ,GAAA,YAAAc,MAAA;AAQ9B,IAAMM,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,UAAU,CAI9C,UAAAC,IAAA,EAoBEC,GAAG,EACA;EAAA,IAAAC,kBAAA,GAAAF,IAAA,CAnBDG,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAG,CAAC,GAAAA,kBAAA;IAAAE,qBAAA,GAAAJ,IAAA,CACjBK,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,GAAG,GAAAA,qBAAA;IAAAE,qBAAA,GAAAN,IAAA,CACtBO,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAC3BE,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IAAAC,kBAAA,GAAAT,IAAA,CACRU,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAG,KAAK,GAAAA,kBAAA;IAAAE,SAAA,GAAAX,IAAA,CACrBY,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,CAAC,GAAAA,SAAA;IAAAE,qBAAA,GAAAb,IAAA,CACRc,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,GAAG,GAAAA,qBAAA;IAChBE,YAAY,GAAAf,IAAA,CAAnBvB,KAAK;IACLuC,MAAM,GAAAhB,IAAA,CAANgB,MAAM;IACNC,QAAQ,GAAAjB,IAAA,CAARiB,QAAQ;IACRC,SAAS,GAAAlB,IAAA,CAATkB,SAAS;IACTC,eAAe,GAAAnB,IAAA,CAAfmB,eAAe;IACEC,qBAAqB,GAAApB,IAAA,CAAtCqB,eAAe;IACNC,eAAe,GAAAtB,IAAA,CAAxBuB,OAAO;IACGC,gBAAgB,GAAAxB,IAAA,CAA1ByB,QAAQ;IACRC,KAAK,GAAA1B,IAAA,CAAL0B,KAAK;IACFC,IAAI,GAAAxC,wBAAA,CAAAa,IAAA,EAAA9D,SAAA;EAIT,IAAM0F,QAAQ,GAAG,IAAAC,aAAM,EAAmB,IAAI,CAAC;EAC/C,IAAMC,SAAS,GAAG,IAAAC,iBAAU,EAAC9B,GAAG,EAAE2B,QAAQ,CAAC;EAE3C,IAAAI,eAAA,GAAuB,IAAAC,qBAAc,EACnC;MACE9B,aAAa;MACbE,gBAAgB;MAChBE,mBAAmB;MACnBG,aAAa;MACbE,IAAI;MACJE,iBAAiB;MACjBrC,KAAK,EAAEsC,YAAY;MACnBC,MAAM;MACNG,eAAe;MACfF,QAAQ;MACRQ,QAAQ,EAAED,gBAAgB;MAC1BH,eAAe,EAAED,qBAAqB;MACtCG,OAAO,EAAED,eAAe;MACxBI;IACF,CAAC,EACDE,QACF,CAAC;IAlBOM,UAAU,GAAAF,eAAA,CAAVE,UAAU;EAoBlB,IACEzD,KAAK,GASHyD,UAAU,CATZzD,KAAK;IACL0D,MAAM,GAQJD,UAAU,CARZC,MAAM;IACNC,SAAS,GAOPF,UAAU,CAPZE,SAAS;IACTX,QAAQ,GAMNS,UAAU,CANZT,QAAQ;IACRF,OAAO,GAKLW,UAAU,CALZX,OAAO;IACPc,aAAa,GAIXH,UAAU,CAJZG,aAAa;IACbC,OAAO,GAGLJ,UAAU,CAHZI,OAAO;IACPC,OAAO,GAELL,UAAU,CAFZK,OAAO;IACPC,gBAAgB,GACdN,UAAU,CADZM,gBAAgB;EAGlB,IAAMC,cAAc,GAAG,IAAAC,cAAO,EAAC,YAAM;IACnC,OAAOH,OAAO,GACV9D,KAAK,GACL,IAAAkE,0BAAmB,EAAClE,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,EAAEqC,iBAAiB,CAAC;EACzD,CAAC,EAAE,CAACyB,OAAO,EAAE9D,KAAK,EAAEqC,iBAAiB,CAAC,CAAC;EAEvC,oBACEnF,MAAA,CAAAc,OAAA,CAAAmG,aAAA,CAAC3G,QAAA,CAAA4G,OAAO;IAACC,KAAK,EAAEN,gBAA2B;IAACO,OAAO,EAAER;EAAQ,gBAC3D5G,MAAA,CAAAc,OAAA,CAAAmG,aAAA,CAAC5G,gBAAA,CAAAgH,eAAe;IACdxC,QAAQ,EAAEA,QAAS;IACnBP,GAAG,EAAE6B,SAAU;IACfZ,SAAS,EAAEA,SAAU;IACrBgB,UAAU,EAAAlE,aAAA;MACRS,KAAK,EAAEgE,cAAc;MACrBN,MAAM,EAAEA,MAAM;MACdV,QAAQ,EAAEA,QAAQ;MAClBW,SAAS,EAAEA,SAAS;MACpBb,OAAO,EAAEA,OAAO;MAChBe,OAAO,EAAEA,OAAO;MAChBD,aAAa,EAAEA;IAAa,GACzBV,IAAI;EACP,CACH,CACM,CAAC;AAEd,CACF,CAAC;AAED/B,gBAAgB,CAACqD,WAAW,GAAG,kBAAkB"}
@@ -192,9 +192,10 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
192
192
  onClick: handleClick,
193
193
  onDoubleClick: handleDoubleClick,
194
194
  onFocus: handleFocus,
195
- focused
195
+ focused,
196
+ unformattedValue
196
197
  };
197
- }, [currentValue, handleBlur, handleKeyDown, handleChange, handleClick, handleDoubleClick, handleFocus, focused]);
198
+ }, [currentValue, handleBlur, handleKeyDown, handleChange, handleClick, handleDoubleClick, handleFocus, focused, unformattedValue]);
198
199
  return {
199
200
  inputProps,
200
201
  setCurrentValue,
@@ -1 +1 @@
1
- {"version":3,"file":"useInputNumber.js","names":["_react","require","_utils","_currencyUtils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputNumber","exports","_ref","inputRef","_ref$decimalSeparator","decimalSeparator","_ref$thousandSeparato","thousandSeparator","disableAbbreviation","disableMacros","decimalLength","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","_ref$step","step","limit","_ref$validation","validation","validateNumberInput","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","_useState7","_useState8","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","updateValue","type","String","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","indexOf","parseFloat","toFixed","joinedValue","numberWithSeparator","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","newValue","substring","Boolean","handleChange","inputValue","numericInput","replace","_","num","unit","currencyMultiplier","toLowerCase","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useMemo,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport {\n currencyMultiplier,\n formatNumber,\n numberWithSeparator,\n} from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n onSave?: (e: Event) => void;\n value?: string | number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value,\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n limit,\n validation = validateNumberInput,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [prevValue, setPrevValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [unformattedValue, setUnformattedValue] = useState(() => value);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = disableAbbreviation\n ? currentValue\n : formatNumber(currentValue as string, thousandSeparator);\n setPrevValue(_value);\n setUnformattedValue(currentValue);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n allowEmptyValue,\n disableAbbreviation,\n onCancel,\n onSave,\n prevValue,\n thousandSeparator,\n currentValue,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const value = String(unformattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\n\n if (!value) {\n return;\n }\n\n if (value.includes(decimalSeparator)) {\n nonDecimalPart = value\n .slice(0, value.indexOf(decimalSeparator))\n .replaceAll(thousandSeparator, \"\");\n }\n\n if (value.includes(decimalSeparator)) {\n decimalPart = value.slice(value.indexOf(decimalSeparator));\n }\n\n if (type === \"increment\") {\n increasedValue = parseFloat(nonDecimalPart) + step;\n } else {\n increasedValue = parseFloat(nonDecimalPart) - step;\n }\n\n if (value.includes(decimalSeparator)) {\n increasedValue = parseFloat(increasedValue.toFixed(decimalLength));\n }\n\n const joinedValue = numberWithSeparator(\n increasedValue,\n thousandSeparator,\n value.includes(thousandSeparator)\n );\n\n setUnformattedValue(\n decimalPart ? joinedValue + decimalPart : joinedValue\n );\n setCurrentValue(decimalPart ? joinedValue + decimalPart : joinedValue);\n },\n [decimalLength, decimalSeparator, step, thousandSeparator, unformattedValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n };\n }, [\n currentValue,\n handleBlur,\n handleKeyDown,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleFocus,\n focused,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useInputNumber.js","names":["_react","require","_utils","_currencyUtils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputNumber","exports","_ref","inputRef","_ref$decimalSeparator","decimalSeparator","_ref$thousandSeparato","thousandSeparator","disableAbbreviation","disableMacros","decimalLength","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","_ref$step","step","limit","_ref$validation","validation","validateNumberInput","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","_useState7","_useState8","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","updateValue","type","String","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","indexOf","parseFloat","toFixed","joinedValue","numberWithSeparator","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","newValue","substring","Boolean","handleChange","inputValue","numericInput","replace","_","num","unit","currencyMultiplier","toLowerCase","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useMemo,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport {\n currencyMultiplier,\n formatNumber,\n numberWithSeparator,\n} from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n onSave?: (e: Event) => void;\n value?: string | number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value,\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n limit,\n validation = validateNumberInput,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [prevValue, setPrevValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [unformattedValue, setUnformattedValue] = useState(() => value);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = disableAbbreviation\n ? currentValue\n : formatNumber(currentValue as string, thousandSeparator);\n setPrevValue(_value);\n setUnformattedValue(currentValue);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n allowEmptyValue,\n disableAbbreviation,\n onCancel,\n onSave,\n prevValue,\n thousandSeparator,\n currentValue,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const value = String(unformattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\n\n if (!value) {\n return;\n }\n\n if (value.includes(decimalSeparator)) {\n nonDecimalPart = value\n .slice(0, value.indexOf(decimalSeparator))\n .replaceAll(thousandSeparator, \"\");\n }\n\n if (value.includes(decimalSeparator)) {\n decimalPart = value.slice(value.indexOf(decimalSeparator));\n }\n\n if (type === \"increment\") {\n increasedValue = parseFloat(nonDecimalPart) + step;\n } else {\n increasedValue = parseFloat(nonDecimalPart) - step;\n }\n\n if (value.includes(decimalSeparator)) {\n increasedValue = parseFloat(increasedValue.toFixed(decimalLength));\n }\n\n const joinedValue = numberWithSeparator(\n increasedValue,\n thousandSeparator,\n value.includes(thousandSeparator)\n );\n\n setUnformattedValue(\n decimalPart ? joinedValue + decimalPart : joinedValue\n );\n setCurrentValue(decimalPart ? joinedValue + decimalPart : joinedValue);\n },\n [decimalLength, decimalSeparator, step, thousandSeparator, unformattedValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n unformattedValue,\n };\n }, [\n currentValue,\n handleBlur,\n handleKeyDown,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleFocus,\n focused,\n unformattedValue,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAmB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,MAAM,WAAW,qBACf,SAAQ,wBAAwB,EAC9B,YAAY;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,8FAyF5B,CAAC"}
1
+ {"version":3,"file":"EditableCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAmB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,MAAM,WAAW,qBACf,SAAQ,wBAAwB,EAC9B,YAAY;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,8FAuF5B,CAAC"}
@@ -59,13 +59,14 @@ const EditableCurrency = exports.EditableCurrency = /*#__PURE__*/_react.default.
59
59
  onClick,
60
60
  onDoubleClick,
61
61
  onFocus,
62
- focused
62
+ focused,
63
+ unformattedValue
63
64
  } = inputProps;
64
65
  const formattedValue = (0, _react.useMemo)(() => {
65
66
  return focused ? value : (0, _utils.numberWithSeparator)(value ?? "", thousandSeparator);
66
67
  }, [focused, value, thousandSeparator]);
67
68
  return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
68
- title: (0, _utils.numberWithSeparator)(value ?? "", thousandSeparator),
69
+ title: unformattedValue,
69
70
  disable: focused
70
71
  }, /*#__PURE__*/_react.default.createElement(_EditableContent.EditableContent, {
71
72
  disabled: disabled,
@@ -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","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
+ {"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","unformattedValue","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 unformattedValue,\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 title={unformattedValue as string} disable={focused}>\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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"}
@@ -27,6 +27,7 @@ export declare const useInputNumber: ({ decimalSeparator, thousandSeparator, dis
27
27
  onDoubleClick: () => void;
28
28
  onFocus: () => void;
29
29
  focused: boolean;
30
+ unformattedValue: string | number | undefined;
30
31
  };
31
32
  setCurrentValue: import("react").Dispatch<import("react").SetStateAction<string | number | undefined>>;
32
33
  setPrevValue: import("react").Dispatch<import("react").SetStateAction<string | number | undefined>>;
@@ -1 +1 @@
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"}
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;;;;;;;;;;;;;;CAoP7C,CAAC"}
@@ -164,9 +164,10 @@ const useInputNumber = (_ref, inputRef) => {
164
164
  onClick: handleClick,
165
165
  onDoubleClick: handleDoubleClick,
166
166
  onFocus: handleFocus,
167
- focused
167
+ focused,
168
+ unformattedValue
168
169
  };
169
- }, [currentValue, handleBlur, handleKeyDown, handleChange, handleClick, handleDoubleClick, handleFocus, focused]);
170
+ }, [currentValue, handleBlur, handleKeyDown, handleChange, handleClick, handleDoubleClick, handleFocus, focused, unformattedValue]);
170
171
  return {
171
172
  inputProps,
172
173
  setCurrentValue,
@@ -1 +1 @@
1
- {"version":3,"file":"useInputNumber.js","names":["_react","require","_utils","_currencyUtils","useInputNumber","_ref","inputRef","decimalSeparator","thousandSeparator","disableAbbreviation","disableMacros","decimalLength","value","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","step","limit","validation","validateNumberInput","currentValue","setCurrentValue","useState","formatNumber","prevValue","setPrevValue","unformattedValue","setUnformattedValue","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","e","current","target","trim","length","_value","updateValue","type","String","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","slice","indexOf","parseFloat","toFixed","joinedValue","numberWithSeparator","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","select","input","start","selectionStart","end","selectionEnd","newValue","substring","Boolean","handleChange","inputValue","numericInput","replace","_","num","unit","currencyMultiplier","toLowerCase","toString","handleClick","handleFocus","handleDoubleClick","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick","onFocus","exports"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useMemo,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport {\n currencyMultiplier,\n formatNumber,\n numberWithSeparator,\n} from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n onSave?: (e: Event) => void;\n value?: string | number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value,\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n limit,\n validation = validateNumberInput,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [prevValue, setPrevValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [unformattedValue, setUnformattedValue] = useState(() => value);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = disableAbbreviation\n ? currentValue\n : formatNumber(currentValue as string, thousandSeparator);\n setPrevValue(_value);\n setUnformattedValue(currentValue);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n allowEmptyValue,\n disableAbbreviation,\n onCancel,\n onSave,\n prevValue,\n thousandSeparator,\n currentValue,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const value = String(unformattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\n\n if (!value) {\n return;\n }\n\n if (value.includes(decimalSeparator)) {\n nonDecimalPart = value\n .slice(0, value.indexOf(decimalSeparator))\n .replaceAll(thousandSeparator, \"\");\n }\n\n if (value.includes(decimalSeparator)) {\n decimalPart = value.slice(value.indexOf(decimalSeparator));\n }\n\n if (type === \"increment\") {\n increasedValue = parseFloat(nonDecimalPart) + step;\n } else {\n increasedValue = parseFloat(nonDecimalPart) - step;\n }\n\n if (value.includes(decimalSeparator)) {\n increasedValue = parseFloat(increasedValue.toFixed(decimalLength));\n }\n\n const joinedValue = numberWithSeparator(\n increasedValue,\n thousandSeparator,\n value.includes(thousandSeparator)\n );\n\n setUnformattedValue(\n decimalPart ? joinedValue + decimalPart : joinedValue\n );\n setCurrentValue(decimalPart ? joinedValue + decimalPart : joinedValue);\n },\n [decimalLength, decimalSeparator, step, thousandSeparator, unformattedValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n };\n }, [\n currentValue,\n handleBlur,\n handleKeyDown,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleFocus,\n focused,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useInputNumber.js","names":["_react","require","_utils","_currencyUtils","useInputNumber","_ref","inputRef","decimalSeparator","thousandSeparator","disableAbbreviation","disableMacros","decimalLength","value","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","step","limit","validation","validateNumberInput","currentValue","setCurrentValue","useState","formatNumber","prevValue","setPrevValue","unformattedValue","setUnformattedValue","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","e","current","target","trim","length","_value","updateValue","type","String","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","slice","indexOf","parseFloat","toFixed","joinedValue","numberWithSeparator","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","select","input","start","selectionStart","end","selectionEnd","newValue","substring","Boolean","handleChange","inputValue","numericInput","replace","_","num","unit","currencyMultiplier","toLowerCase","toString","handleClick","handleFocus","handleDoubleClick","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick","onFocus","exports"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useMemo,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport {\n currencyMultiplier,\n formatNumber,\n numberWithSeparator,\n} from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n onSave?: (e: Event) => void;\n value?: string | number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value,\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n limit,\n validation = validateNumberInput,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [prevValue, setPrevValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [unformattedValue, setUnformattedValue] = useState(() => value);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = disableAbbreviation\n ? currentValue\n : formatNumber(currentValue as string, thousandSeparator);\n setPrevValue(_value);\n setUnformattedValue(currentValue);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n allowEmptyValue,\n disableAbbreviation,\n onCancel,\n onSave,\n prevValue,\n thousandSeparator,\n currentValue,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const value = String(unformattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\n\n if (!value) {\n return;\n }\n\n if (value.includes(decimalSeparator)) {\n nonDecimalPart = value\n .slice(0, value.indexOf(decimalSeparator))\n .replaceAll(thousandSeparator, \"\");\n }\n\n if (value.includes(decimalSeparator)) {\n decimalPart = value.slice(value.indexOf(decimalSeparator));\n }\n\n if (type === \"increment\") {\n increasedValue = parseFloat(nonDecimalPart) + step;\n } else {\n increasedValue = parseFloat(nonDecimalPart) - step;\n }\n\n if (value.includes(decimalSeparator)) {\n increasedValue = parseFloat(increasedValue.toFixed(decimalLength));\n }\n\n const joinedValue = numberWithSeparator(\n increasedValue,\n thousandSeparator,\n value.includes(thousandSeparator)\n );\n\n setUnformattedValue(\n decimalPart ? joinedValue + decimalPart : joinedValue\n );\n setCurrentValue(decimalPart ? joinedValue + decimalPart : joinedValue);\n },\n [decimalLength, decimalSeparator, step, thousandSeparator, unformattedValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n unformattedValue,\n };\n }, [\n currentValue,\n handleBlur,\n handleKeyDown,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleFocus,\n focused,\n unformattedValue,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AASA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAgCO,MAAMG,cAAc,GAAGA,CAAAC,IAAA,EAkB5BC,QAA4C,KACzC;EAAA,IAlBH;IACEC,gBAAgB,GAAG,GAAG;IACtBC,iBAAiB,GAAG,GAAG;IACvBC,mBAAmB;IACnBC,aAAa;IACbC,aAAa;IACbC,KAAK;IACLC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,OAAO;IACPC,QAAQ;IACRC,eAAe;IACfC,IAAI,GAAG,CAAC;IACRC,KAAK;IACLC,UAAU,GAAGC;EACD,CAAC,GAAAjB,IAAA;EAGf,MAAM,CAACkB,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAC/ChB,mBAAmB,GACfG,KAAK,GACL,IAAAc,2BAAY,EAACd,KAAK,EAAYJ,iBAAiB,CACrD,CAAC;EACD,MAAM,CAACmB,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAH,eAAQ,EAAC,MACzChB,mBAAmB,GACfG,KAAK,GACL,IAAAc,2BAAY,EAACd,KAAK,EAAYJ,iBAAiB,CACrD,CAAC;EACD,MAAM,CAACqB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAL,eAAQ,EAAC,MAAMb,KAAK,CAAC;EAErE,MAAM,CAACmB,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAP,eAAQ,EAAC,KAAK,CAAC;EAE7C,MAAMQ,SAAS,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAE/B,MAAMC,UAAU,GAAG,IAAAC,kBAAW,EAC3BC,CAAC,IAAK;IACL,IAAIJ,SAAS,CAACK,OAAO,EAAE;MACrBd,eAAe,CAACG,SAAS,CAAC;MAC1BG,mBAAmB,CAACH,SAAS,CAAC;IAChC,CAAC,MAAM;MACL,IAAIU,CAAC,CAACE,MAAM,CAAC3B,KAAK,CAAC4B,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC,IAAId,SAAS,KAAKU,CAAC,CAACE,MAAM,CAAC3B,KAAK,EAAE;QACpE,MAAM8B,MAAM,GAAGjC,mBAAmB,GAC9Bc,YAAY,GACZ,IAAAG,2BAAY,EAACH,YAAY,EAAYf,iBAAiB,CAAC;QAC3DoB,YAAY,CAACc,MAAM,CAAC;QACpBZ,mBAAmB,CAACP,YAAY,CAAC;QACjCC,eAAe,CAACkB,MAAM,CAAC;QACvB,OAAO5B,MAAM,KAAK,UAAU,IAAIA,MAAM,CAACuB,CAAC,CAAC;MAC3C,CAAC,MAAM;QACL,IAAI,CAACnB,eAAe,EAAE;UACpBM,eAAe,CAACG,SAAS,CAAC;UAC1BG,mBAAmB,CAACH,SAAS,CAAC;UAC9B,OAAOV,QAAQ,KAAK,UAAU,IAAIA,QAAQ,CAACoB,CAAC,CAAC;QAC/C,CAAC,MAAM;UACL,IAAI,OAAOvB,MAAM,KAAK,UAAU,IAAIa,SAAS,KAAKU,CAAC,CAACE,MAAM,CAAC3B,KAAK,EAAE;YAChEE,MAAM,CAACuB,CAAC,CAAC;UACX,CAAC,MAAM;YACL,OAAOpB,QAAQ,KAAK,UAAU,IAAIA,QAAQ,CAACoB,CAAC,CAAC;UAC/C;QACF;MACF;IACF;IACAL,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC,EACD,CACEd,eAAe,EACfT,mBAAmB,EACnBQ,QAAQ,EACRH,MAAM,EACNa,SAAS,EACTnB,iBAAiB,EACjBe,YAAY,CAEhB,CAAC;EAED,MAAMoB,WAAW,GAAG,IAAAP,kBAAW,EAC5BQ,IAA+B,IAAK;IACnC,MAAMhC,KAAK,GAAGiC,MAAM,CAAChB,gBAAgB,CAAC;IAEtC,IAAIiB,WAAW,GAAG,EAAE;IACpB,IAAIC,cAAc,GAAG,CAAC;IACtB,IAAIC,cAAc,GAAGpC,KAAK,CAACqC,UAAU,CAACzC,iBAAiB,EAAE,EAAE,CAAC;IAE5D,IAAI,CAACI,KAAK,EAAE;MACV;IACF;IAEA,IAAIA,KAAK,CAACsC,QAAQ,CAAC3C,gBAAgB,CAAC,EAAE;MACpCyC,cAAc,GAAGpC,KAAK,CACnBuC,KAAK,CAAC,CAAC,EAAEvC,KAAK,CAACwC,OAAO,CAAC7C,gBAAgB,CAAC,CAAC,CACzC0C,UAAU,CAACzC,iBAAiB,EAAE,EAAE,CAAC;IACtC;IAEA,IAAII,KAAK,CAACsC,QAAQ,CAAC3C,gBAAgB,CAAC,EAAE;MACpCuC,WAAW,GAAGlC,KAAK,CAACuC,KAAK,CAACvC,KAAK,CAACwC,OAAO,CAAC7C,gBAAgB,CAAC,CAAC;IAC5D;IAEA,IAAIqC,IAAI,KAAK,WAAW,EAAE;MACxBG,cAAc,GAAGM,UAAU,CAACL,cAAc,CAAC,GAAG7B,IAAI;IACpD,CAAC,MAAM;MACL4B,cAAc,GAAGM,UAAU,CAACL,cAAc,CAAC,GAAG7B,IAAI;IACpD;IAEA,IAAIP,KAAK,CAACsC,QAAQ,CAAC3C,gBAAgB,CAAC,EAAE;MACpCwC,cAAc,GAAGM,UAAU,CAACN,cAAc,CAACO,OAAO,CAAC3C,aAAa,CAAC,CAAC;IACpE;IAEA,MAAM4C,WAAW,GAAG,IAAAC,kCAAmB,EACrCT,cAAc,EACdvC,iBAAiB,EACjBI,KAAK,CAACsC,QAAQ,CAAC1C,iBAAiB,CAClC,CAAC;IAEDsB,mBAAmB,CACjBgB,WAAW,GAAGS,WAAW,GAAGT,WAAW,GAAGS,WAC5C,CAAC;IACD/B,eAAe,CAACsB,WAAW,GAAGS,WAAW,GAAGT,WAAW,GAAGS,WAAW,CAAC;EACxE,CAAC,EACD,CAAC5C,aAAa,EAAEJ,gBAAgB,EAAEY,IAAI,EAAEX,iBAAiB,EAAEqB,gBAAgB,CAC7E,CAAC;EAED,MAAM4B,aAAa,GAAG,IAAArB,kBAAW,EAC9BC,CAAC,IAAK;IACL,IAAIA,CAAC,CAACqB,GAAG,KAAK,OAAO,EAAE;MACrBrB,CAAC,CAACE,MAAM,CAACoB,IAAI,CAAC,CAAC;MACf,IAAI,OAAO5C,eAAe,KAAK,UAAU,EACvCA,eAAe,CAACsB,CAAC,CAACE,MAAM,CAAC3B,KAAK,CAAC;IACnC;IACA,IAAIyB,CAAC,CAACqB,GAAG,KAAK,WAAW,EAAE;MACzB;IACF;IACA,IAAIrB,CAAC,CAACqB,GAAG,KAAK,YAAY,EAAE;MAC1B;IACF;IACA,IAAIrB,CAAC,CAACqB,GAAG,KAAK,SAAS,EAAE;MACvBrB,CAAC,CAACuB,cAAc,CAAC,CAAC;MAClBjB,WAAW,CAAC,WAAW,CAAC;IAC1B;IACA,IAAIN,CAAC,CAACqB,GAAG,KAAK,WAAW,EAAE;MACzBrB,CAAC,CAACuB,cAAc,CAAC,CAAC;MAClBjB,WAAW,CAAC,WAAW,CAAC;IAC1B;IACA,IAAIN,CAAC,CAACqB,GAAG,KAAK,QAAQ,EAAE;MACtBzB,SAAS,CAACK,OAAO,GAAG,IAAI;MACxBD,CAAC,CAACE,MAAM,CAACoB,IAAI,CAAC,CAAC;MACf,OAAO1C,QAAQ,KAAK,UAAU,IAAIA,QAAQ,CAACoB,CAAC,CAAC;MAC7CJ,SAAS,CAACK,OAAO,GAAG,KAAK;IAC3B;IACA,IAAID,CAAC,CAACqB,GAAG,KAAK,WAAW,EAAE;MACzB;IACF;IACA,IAAI,CAACrB,CAAC,CAACwB,OAAO,IAAIxB,CAAC,CAACyB,OAAO,KAAKzB,CAAC,CAACqB,GAAG,KAAK,GAAG,EAAE;MAC7CpD,QAAQ,CAACgC,OAAO,EAAEyB,MAAM,CAAC,CAAC;MAC1B;IACF;IACA,IAAI1B,CAAC,CAACqB,GAAG,KAAK,KAAK,EAAE;MACnB;IACF;IACA,IAAI,CAACrB,CAAC,CAACwB,OAAO,IAAIxB,CAAC,CAACyB,OAAO,KAAKzB,CAAC,CAACqB,GAAG,KAAK,GAAG,EAAE;MAC7CrB,CAAC,CAACuB,cAAc,CAAC,CAAC;MAClB;IACF;IACA,MAAMI,KAAK,GAAG3B,CAAC,CAACE,MAAM;IACtB,MAAMhB,YAAY,GAAGyC,KAAK,CAACpD,KAAK;IAChC,MAAMqD,KAAK,GAAGD,KAAK,CAACE,cAAc;IAClC,MAAMC,GAAG,GAAGH,KAAK,CAACI,YAAY;IAC9B,MAAMC,QAAQ,GACZ9C,YAAY,CAAC+C,SAAS,CAAC,CAAC,EAAEL,KAAK,CAAC,GAAG5B,CAAC,CAACqB,GAAG,GAAGnC,YAAY,CAAC+C,SAAS,CAACH,GAAG,CAAC;IACxE,IACE,CAAC9C,UAAU,CACTgD,QAAQ,EACRE,OAAO,CAAC7D,aAAa,CAAC,EACtBH,gBAAgB,EAChBI,aAAa,IAAI,CAAC,EAClBS,KACF,CAAC,EACD;MACAiB,CAAC,CAACuB,cAAc,CAAC,CAAC;MAClB;IACF;EACF,CAAC,EACD,CACEjD,aAAa,EACbJ,gBAAgB,EAChBG,aAAa,EACbJ,QAAQ,EACRc,KAAK,EACLH,QAAQ,EACRF,eAAe,EACf4B,WAAW,EACXtB,UAAU,CAEd,CAAC;EAED,MAAMmD,YAAY,GAAG,IAAApC,kBAAW,EAC7BC,CAAC,IAAK;IACL,MAAMoC,UAAU,GAAGpC,CAAC,CAACE,MAAM,CAAC3B,KAAK;IACjC,MAAM8D,YAAY,GAAGhE,aAAa,GAC9B+D,UAAU,GACVA,UAAU,CAACE,OAAO,CAAC,uBAAuB,EAAE,CAACC,CAAC,EAAEC,GAAG,EAAEC,IAAI,KAAK;MAC5D,OAAO,CACLzB,UAAU,CAACwB,GAAG,CAAC,GAAGE,iCAAkB,CAACD,IAAI,CAACE,WAAW,CAAC,CAAC,CAAC,EACxDC,QAAQ,CAAC,CAAC;IACd,CAAC,CAAC;IACNzD,eAAe,CAACkD,YAAY,CAAC;IAC7B5C,mBAAmB,CAAC4C,YAAY,CAAC;IACjC,IAAI7D,QAAQ,EAAEA,QAAQ,CAAC6D,YAAY,CAAC;EACtC,CAAC,EACD,CAAChE,aAAa,EAAEG,QAAQ,CAC1B,CAAC;EAED,MAAMqE,WAAW,GAAG,IAAA9C,kBAAW,EAC5BC,CAAC,IAAK;IACL,IAAI,OAAOrB,OAAO,KAAK,UAAU,EAAE;MACjCA,OAAO,CAACqB,CAAC,CAAC;IACZ;EACF,CAAC,EACD,CAACrB,OAAO,CACV,CAAC;EAED,MAAMmE,WAAW,GAAG,IAAA/C,kBAAW,EAAC,MAAM;IACpCZ,eAAe,CAACK,gBAAgB,CAAC;IACjCG,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACH,gBAAgB,CAAC,CAAC;EAEtB,MAAMuD,iBAAiB,GAAG,IAAAhD,kBAAW,EAAC,MAAM;IAC1C,IAAI9B,QAAQ,CAACgC,OAAO,EAAE;MACpBhC,QAAQ,CAACgC,OAAO,EAAEyB,MAAM,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,CAACzD,QAAQ,CAAC,CAAC;EAEd,MAAM+E,UAAU,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC/B,OAAO;MACL1E,KAAK,EAAEW,YAAY;MACnBgE,MAAM,EAAEpD,UAAU;MAClBqD,SAAS,EAAE/B,aAAa;MACxB5C,QAAQ,EAAE2D,YAAY;MACtBxD,OAAO,EAAEkE,WAAW;MACpBO,aAAa,EAAEL,iBAAiB;MAChCM,OAAO,EAAEP,WAAW;MACpBpD,OAAO;MACPF;IACF,CAAC;EACH,CAAC,EAAE,CACDN,YAAY,EACZY,UAAU,EACVsB,aAAa,EACbe,YAAY,EACZU,WAAW,EACXE,iBAAiB,EACjBD,WAAW,EACXpD,OAAO,EACPF,gBAAgB,CACjB,CAAC;EAEF,OAAO;IACLwD,UAAU;IACV7D,eAAe;IACfI;EACF,CAAC;AACH,CAAC;AAAC+D,OAAA,CAAAvF,cAAA,GAAAA,cAAA"}
package/dist/index.js CHANGED
@@ -11709,9 +11709,10 @@
11709
11709
  onClick: handleClick,
11710
11710
  onDoubleClick: handleDoubleClick,
11711
11711
  onFocus: handleFocus,
11712
- focused
11712
+ focused,
11713
+ unformattedValue
11713
11714
  };
11714
- }, [currentValue, handleBlur, handleKeyDown, handleChange, handleClick, handleDoubleClick, handleFocus, focused]);
11715
+ }, [currentValue, handleBlur, handleKeyDown, handleChange, handleClick, handleDoubleClick, handleFocus, focused, unformattedValue]);
11715
11716
  return {
11716
11717
  inputProps,
11717
11718
  setCurrentValue,
@@ -16976,12 +16977,13 @@
16976
16977
  onClick = inputProps.onClick,
16977
16978
  onDoubleClick = inputProps.onDoubleClick,
16978
16979
  onFocus = inputProps.onFocus,
16979
- focused = inputProps.focused;
16980
+ focused = inputProps.focused,
16981
+ unformattedValue = inputProps.unformattedValue;
16980
16982
  var formattedValue = React.useMemo(function () {
16981
16983
  return focused ? value : numberWithSeparator(value !== null && value !== void 0 ? value : "", thousandSeparator);
16982
16984
  }, [focused, value, thousandSeparator]);
16983
16985
  return /*#__PURE__*/React__default["default"].createElement(Tooltip, {
16984
- title: numberWithSeparator(value !== null && value !== void 0 ? value : "", thousandSeparator),
16986
+ title: unformattedValue,
16985
16987
  disable: focused
16986
16988
  }, /*#__PURE__*/React__default["default"].createElement(EditableContent, {
16987
16989
  disabled: disabled,