@activecollab/components 1.0.398 → 1.0.399

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.
@@ -71,6 +71,9 @@ var InputNumber = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
71
71
  var handleChange = function handleChange(e) {
72
72
  var inputValue = e.target.value;
73
73
  var isValidInput = false;
74
+ if (inputValue.startsWith("00")) {
75
+ return;
76
+ }
74
77
  var numericInput = disableMacros ? inputValue : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, function (_, num, unit) {
75
78
  return (parseFloat(num) * multiplier[unit.toLowerCase()]).toString();
76
79
  });
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["multiplier","k","m","b","t","InputNumber","forwardRef","ref","disableMacros","disableAbbreviation","decimalLength","thousandSeparator","decimalSeparator","value","onBlur","onKeyDown","onFocus","onValueChange","disabled","invalid","step","rest","useState","formattedValue","setFormatted","rootValue","setRootValue","inputRef","useRef","handleRef","useForkRef","handleInputBlur","current","blur","handleSelect","select","handleChange","e","inputValue","target","isValidInput","numericInput","replace","_","num","unit","parseFloat","toLowerCase","toString","regexString","RegExp","test","handleKeyDown","allowedChars","key","_step","String","preventDefault","updateValue","metaKey","ctrlKey","handleBlur","formatCurrency","handleFocus","type","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","slice","indexOf","toFixed","joinedValue","numberWithSeparator","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n FocusEventHandler,\n KeyboardEventHandler,\n useRef,\n useState,\n} from \"react\";\nimport { Input } from \"./Input\";\nimport { formatCurrency, numberWithSeparator } from \"../../utils/currencyUtils\";\nimport { useForkRef } from \"../../utils\";\n\nimport type { InputProps } from \"./Input\";\n\nconst multiplier = {\n k: 1_000,\n m: 1_000_000,\n b: 1_000_000_000,\n t: 1_000_000_000_000,\n};\n\nexport type Separators = \".\" | \",\";\n\nexport interface InputNumberProps extends InputProps {\n decimalSeparator?: Separators;\n thousandSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n decimalLength?: number;\n onValueChange?: (value: string) => void;\n}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n disableMacros = false,\n disableAbbreviation = false,\n decimalLength = 2,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n value,\n onBlur,\n onKeyDown,\n onFocus,\n onValueChange,\n disabled,\n invalid,\n step = 1,\n ...rest\n },\n ref\n ) => {\n const [formattedValue, setFormatted] = useState(value);\n const [rootValue, setRootValue] = useState(value);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const handleInputBlur = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.blur();\n }\n };\n\n const handleSelect = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.select();\n }\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n const inputValue = e.target.value;\n let isValidInput = false;\n\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * multiplier[unit.toLowerCase()]\n ).toString();\n });\n\n const regexString = `^(\\\\d{0,9}(?:[${thousandSeparator}]?\\\\d{0,3})*(?:\\\\${decimalSeparator}\\\\d{0,${decimalLength}})?)?$`;\n\n if (thousandSeparator === \",\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (thousandSeparator === \".\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (!isValidInput) {\n return;\n }\n\n setFormatted(numericInput);\n\n onValueChange && onValueChange(numericInput);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLInputElement> = (e) => {\n const allowedChars = /[0-9km.,b]/i;\n const key = e.key;\n const _step = parseFloat(String(step));\n\n if (key === \"Escape\") {\n handleInputBlur();\n }\n\n if (key === \"ArrowUp\") {\n e.preventDefault();\n\n updateValue(\"increment\", _step);\n }\n\n if (key === \"ArrowDown\") {\n e.preventDefault();\n\n updateValue(\"decrement\", _step);\n }\n\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n handleSelect();\n }\n\n if (!allowedChars.test(key)) {\n e.preventDefault();\n }\n\n if (decimalLength === 0 && e.key === decimalSeparator) {\n e.preventDefault();\n }\n\n onKeyDown && onKeyDown(e);\n };\n\n const handleBlur: FocusEventHandler<HTMLInputElement> = (e) => {\n if (disableAbbreviation) {\n setFormatted(formattedValue);\n } else {\n setFormatted(\n formatCurrency(formattedValue as string, thousandSeparator)\n );\n }\n\n setRootValue(formattedValue);\n\n onBlur && onBlur(e);\n };\n\n const handleFocus: FocusEventHandler<HTMLInputElement> = (e) => {\n setFormatted(rootValue);\n\n onFocus && onFocus(e);\n };\n\n const updateValue = (type: \"increment\" | \"decrement\", step: number) => {\n const value = String(formattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\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 setFormatted(decimalPart ? joinedValue + decimalPart : joinedValue);\n };\n\n return (\n <Input\n ref={handleRef}\n placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n value={formattedValue}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n aria-disabled={disabled}\n aria-invalid={invalid}\n {...rest}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.js","names":["multiplier","k","m","b","t","InputNumber","forwardRef","ref","disableMacros","disableAbbreviation","decimalLength","thousandSeparator","decimalSeparator","value","onBlur","onKeyDown","onFocus","onValueChange","disabled","invalid","step","rest","useState","formattedValue","setFormatted","rootValue","setRootValue","inputRef","useRef","handleRef","useForkRef","handleInputBlur","current","blur","handleSelect","select","handleChange","e","inputValue","target","isValidInput","startsWith","numericInput","replace","_","num","unit","parseFloat","toLowerCase","toString","regexString","RegExp","test","handleKeyDown","allowedChars","key","_step","String","preventDefault","updateValue","metaKey","ctrlKey","handleBlur","formatCurrency","handleFocus","type","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","slice","indexOf","toFixed","joinedValue","numberWithSeparator","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n FocusEventHandler,\n KeyboardEventHandler,\n useRef,\n useState,\n} from \"react\";\nimport { Input } from \"./Input\";\nimport { formatCurrency, numberWithSeparator } from \"../../utils/currencyUtils\";\nimport { useForkRef } from \"../../utils\";\n\nimport type { InputProps } from \"./Input\";\n\nconst multiplier = {\n k: 1_000,\n m: 1_000_000,\n b: 1_000_000_000,\n t: 1_000_000_000_000,\n};\n\nexport type Separators = \".\" | \",\";\n\nexport interface InputNumberProps extends InputProps {\n decimalSeparator?: Separators;\n thousandSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n decimalLength?: number;\n onValueChange?: (value: string) => void;\n}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n disableMacros = false,\n disableAbbreviation = false,\n decimalLength = 2,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n value,\n onBlur,\n onKeyDown,\n onFocus,\n onValueChange,\n disabled,\n invalid,\n step = 1,\n ...rest\n },\n ref\n ) => {\n const [formattedValue, setFormatted] = useState(value);\n const [rootValue, setRootValue] = useState(value);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const handleInputBlur = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.blur();\n }\n };\n\n const handleSelect = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.select();\n }\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n const inputValue = e.target.value;\n let isValidInput = false;\n\n if (inputValue.startsWith(\"00\")) {\n return;\n }\n\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * multiplier[unit.toLowerCase()]\n ).toString();\n });\n\n const regexString = `^(\\\\d{0,9}(?:[${thousandSeparator}]?\\\\d{0,3})*(?:\\\\${decimalSeparator}\\\\d{0,${decimalLength}})?)?$`;\n\n if (thousandSeparator === \",\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (thousandSeparator === \".\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (!isValidInput) {\n return;\n }\n\n setFormatted(numericInput);\n\n onValueChange && onValueChange(numericInput);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLInputElement> = (e) => {\n const allowedChars = /[0-9km.,b]/i;\n const key = e.key;\n const _step = parseFloat(String(step));\n\n if (key === \"Escape\") {\n handleInputBlur();\n }\n\n if (key === \"ArrowUp\") {\n e.preventDefault();\n\n updateValue(\"increment\", _step);\n }\n\n if (key === \"ArrowDown\") {\n e.preventDefault();\n\n updateValue(\"decrement\", _step);\n }\n\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n handleSelect();\n }\n\n if (!allowedChars.test(key)) {\n e.preventDefault();\n }\n\n if (decimalLength === 0 && e.key === decimalSeparator) {\n e.preventDefault();\n }\n\n onKeyDown && onKeyDown(e);\n };\n\n const handleBlur: FocusEventHandler<HTMLInputElement> = (e) => {\n if (disableAbbreviation) {\n setFormatted(formattedValue);\n } else {\n setFormatted(\n formatCurrency(formattedValue as string, thousandSeparator)\n );\n }\n\n setRootValue(formattedValue);\n\n onBlur && onBlur(e);\n };\n\n const handleFocus: FocusEventHandler<HTMLInputElement> = (e) => {\n setFormatted(rootValue);\n\n onFocus && onFocus(e);\n };\n\n const updateValue = (type: \"increment\" | \"decrement\", step: number) => {\n const value = String(formattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\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 setFormatted(decimalPart ? joinedValue + decimalPart : joinedValue);\n };\n\n return (\n <Input\n ref={handleRef}\n placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n value={formattedValue}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n aria-disabled={disabled}\n aria-invalid={invalid}\n {...rest}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAS1C,oBAAY,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;AAEnC,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,WAAW,2FAoLvB,CAAC"}
1
+ {"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAS1C,oBAAY,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;AAEnC,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,WAAW,2FAwLvB,CAAC"}
@@ -53,6 +53,9 @@ export var InputNumber = /*#__PURE__*/forwardRef(function (_ref, ref) {
53
53
  var handleChange = function handleChange(e) {
54
54
  var inputValue = e.target.value;
55
55
  var isValidInput = false;
56
+ if (inputValue.startsWith("00")) {
57
+ return;
58
+ }
56
59
  var numericInput = disableMacros ? inputValue : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, function (_, num, unit) {
57
60
  return (parseFloat(num) * multiplier[unit.toLowerCase()]).toString();
58
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["React","forwardRef","useRef","useState","Input","formatCurrency","numberWithSeparator","useForkRef","multiplier","k","m","b","t","InputNumber","ref","disableMacros","disableAbbreviation","decimalLength","thousandSeparator","decimalSeparator","value","onBlur","onKeyDown","onFocus","onValueChange","disabled","invalid","step","rest","formattedValue","setFormatted","rootValue","setRootValue","inputRef","handleRef","handleInputBlur","current","blur","handleSelect","select","handleChange","e","inputValue","target","isValidInput","numericInput","replace","_","num","unit","parseFloat","toLowerCase","toString","regexString","RegExp","test","handleKeyDown","allowedChars","key","_step","String","preventDefault","updateValue","metaKey","ctrlKey","handleBlur","handleFocus","type","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","slice","indexOf","toFixed","joinedValue","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n FocusEventHandler,\n KeyboardEventHandler,\n useRef,\n useState,\n} from \"react\";\nimport { Input } from \"./Input\";\nimport { formatCurrency, numberWithSeparator } from \"../../utils/currencyUtils\";\nimport { useForkRef } from \"../../utils\";\n\nimport type { InputProps } from \"./Input\";\n\nconst multiplier = {\n k: 1_000,\n m: 1_000_000,\n b: 1_000_000_000,\n t: 1_000_000_000_000,\n};\n\nexport type Separators = \".\" | \",\";\n\nexport interface InputNumberProps extends InputProps {\n decimalSeparator?: Separators;\n thousandSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n decimalLength?: number;\n onValueChange?: (value: string) => void;\n}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n disableMacros = false,\n disableAbbreviation = false,\n decimalLength = 2,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n value,\n onBlur,\n onKeyDown,\n onFocus,\n onValueChange,\n disabled,\n invalid,\n step = 1,\n ...rest\n },\n ref\n ) => {\n const [formattedValue, setFormatted] = useState(value);\n const [rootValue, setRootValue] = useState(value);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const handleInputBlur = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.blur();\n }\n };\n\n const handleSelect = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.select();\n }\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n const inputValue = e.target.value;\n let isValidInput = false;\n\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * multiplier[unit.toLowerCase()]\n ).toString();\n });\n\n const regexString = `^(\\\\d{0,9}(?:[${thousandSeparator}]?\\\\d{0,3})*(?:\\\\${decimalSeparator}\\\\d{0,${decimalLength}})?)?$`;\n\n if (thousandSeparator === \",\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (thousandSeparator === \".\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (!isValidInput) {\n return;\n }\n\n setFormatted(numericInput);\n\n onValueChange && onValueChange(numericInput);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLInputElement> = (e) => {\n const allowedChars = /[0-9km.,b]/i;\n const key = e.key;\n const _step = parseFloat(String(step));\n\n if (key === \"Escape\") {\n handleInputBlur();\n }\n\n if (key === \"ArrowUp\") {\n e.preventDefault();\n\n updateValue(\"increment\", _step);\n }\n\n if (key === \"ArrowDown\") {\n e.preventDefault();\n\n updateValue(\"decrement\", _step);\n }\n\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n handleSelect();\n }\n\n if (!allowedChars.test(key)) {\n e.preventDefault();\n }\n\n if (decimalLength === 0 && e.key === decimalSeparator) {\n e.preventDefault();\n }\n\n onKeyDown && onKeyDown(e);\n };\n\n const handleBlur: FocusEventHandler<HTMLInputElement> = (e) => {\n if (disableAbbreviation) {\n setFormatted(formattedValue);\n } else {\n setFormatted(\n formatCurrency(formattedValue as string, thousandSeparator)\n );\n }\n\n setRootValue(formattedValue);\n\n onBlur && onBlur(e);\n };\n\n const handleFocus: FocusEventHandler<HTMLInputElement> = (e) => {\n setFormatted(rootValue);\n\n onFocus && onFocus(e);\n };\n\n const updateValue = (type: \"increment\" | \"decrement\", step: number) => {\n const value = String(formattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\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 setFormatted(decimalPart ? joinedValue + decimalPart : joinedValue);\n };\n\n return (\n <Input\n ref={handleRef}\n placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n value={formattedValue}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n aria-disabled={disabled}\n aria-invalid={invalid}\n {...rest}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.js","names":["React","forwardRef","useRef","useState","Input","formatCurrency","numberWithSeparator","useForkRef","multiplier","k","m","b","t","InputNumber","ref","disableMacros","disableAbbreviation","decimalLength","thousandSeparator","decimalSeparator","value","onBlur","onKeyDown","onFocus","onValueChange","disabled","invalid","step","rest","formattedValue","setFormatted","rootValue","setRootValue","inputRef","handleRef","handleInputBlur","current","blur","handleSelect","select","handleChange","e","inputValue","target","isValidInput","startsWith","numericInput","replace","_","num","unit","parseFloat","toLowerCase","toString","regexString","RegExp","test","handleKeyDown","allowedChars","key","_step","String","preventDefault","updateValue","metaKey","ctrlKey","handleBlur","handleFocus","type","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","slice","indexOf","toFixed","joinedValue","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n FocusEventHandler,\n KeyboardEventHandler,\n useRef,\n useState,\n} from \"react\";\nimport { Input } from \"./Input\";\nimport { formatCurrency, numberWithSeparator } from \"../../utils/currencyUtils\";\nimport { useForkRef } from \"../../utils\";\n\nimport type { InputProps } from \"./Input\";\n\nconst multiplier = {\n k: 1_000,\n m: 1_000_000,\n b: 1_000_000_000,\n t: 1_000_000_000_000,\n};\n\nexport type Separators = \".\" | \",\";\n\nexport interface InputNumberProps extends InputProps {\n decimalSeparator?: Separators;\n thousandSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n decimalLength?: number;\n onValueChange?: (value: string) => void;\n}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n disableMacros = false,\n disableAbbreviation = false,\n decimalLength = 2,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n value,\n onBlur,\n onKeyDown,\n onFocus,\n onValueChange,\n disabled,\n invalid,\n step = 1,\n ...rest\n },\n ref\n ) => {\n const [formattedValue, setFormatted] = useState(value);\n const [rootValue, setRootValue] = useState(value);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const handleInputBlur = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.blur();\n }\n };\n\n const handleSelect = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.select();\n }\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n const inputValue = e.target.value;\n let isValidInput = false;\n\n if (inputValue.startsWith(\"00\")) {\n return;\n }\n\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * multiplier[unit.toLowerCase()]\n ).toString();\n });\n\n const regexString = `^(\\\\d{0,9}(?:[${thousandSeparator}]?\\\\d{0,3})*(?:\\\\${decimalSeparator}\\\\d{0,${decimalLength}})?)?$`;\n\n if (thousandSeparator === \",\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (thousandSeparator === \".\") {\n isValidInput = new RegExp(regexString).test(numericInput);\n }\n\n if (!isValidInput) {\n return;\n }\n\n setFormatted(numericInput);\n\n onValueChange && onValueChange(numericInput);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLInputElement> = (e) => {\n const allowedChars = /[0-9km.,b]/i;\n const key = e.key;\n const _step = parseFloat(String(step));\n\n if (key === \"Escape\") {\n handleInputBlur();\n }\n\n if (key === \"ArrowUp\") {\n e.preventDefault();\n\n updateValue(\"increment\", _step);\n }\n\n if (key === \"ArrowDown\") {\n e.preventDefault();\n\n updateValue(\"decrement\", _step);\n }\n\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n handleSelect();\n }\n\n if (!allowedChars.test(key)) {\n e.preventDefault();\n }\n\n if (decimalLength === 0 && e.key === decimalSeparator) {\n e.preventDefault();\n }\n\n onKeyDown && onKeyDown(e);\n };\n\n const handleBlur: FocusEventHandler<HTMLInputElement> = (e) => {\n if (disableAbbreviation) {\n setFormatted(formattedValue);\n } else {\n setFormatted(\n formatCurrency(formattedValue as string, thousandSeparator)\n );\n }\n\n setRootValue(formattedValue);\n\n onBlur && onBlur(e);\n };\n\n const handleFocus: FocusEventHandler<HTMLInputElement> = (e) => {\n setFormatted(rootValue);\n\n onFocus && onFocus(e);\n };\n\n const updateValue = (type: \"increment\" | \"decrement\", step: number) => {\n const value = String(formattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\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 setFormatted(decimalPart ? joinedValue + decimalPart : joinedValue);\n };\n\n return (\n <Input\n ref={handleRef}\n placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n value={formattedValue}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-placeholder={`5${thousandSeparator}000${decimalSeparator}00`}\n aria-disabled={disabled}\n aria-invalid={invalid}\n {...rest}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@activecollab/components",
3
- "version": "1.0.398",
3
+ "version": "1.0.399",
4
4
  "description": "ActiveCollab Components",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",