@activecollab/components 2.0.226 → 2.0.228

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/cjs/components/ChooseV2/ChooseV2.js +60 -0
  2. package/dist/cjs/components/ChooseV2/ChooseV2.js.map +1 -0
  3. package/dist/cjs/components/ChooseV2/index.js +17 -0
  4. package/dist/cjs/components/ChooseV2/index.js.map +1 -0
  5. package/dist/cjs/components/Input/InputNumber.js.map +1 -1
  6. package/dist/cjs/components/index.js +11 -0
  7. package/dist/cjs/components/index.js.map +1 -1
  8. package/dist/cjs/hooks/useInputNumber.js +77 -45
  9. package/dist/cjs/hooks/useInputNumber.js.map +1 -1
  10. package/dist/cjs/utils/currencyUtils.js +1 -0
  11. package/dist/cjs/utils/currencyUtils.js.map +1 -1
  12. package/dist/cjs/utils/currencyUtils.test.js +16 -0
  13. package/dist/cjs/utils/currencyUtils.test.js.map +1 -1
  14. package/dist/esm/components/ChooseV2/ChooseV2.d.ts +16 -0
  15. package/dist/esm/components/ChooseV2/ChooseV2.d.ts.map +1 -0
  16. package/dist/esm/components/ChooseV2/ChooseV2.js +42 -0
  17. package/dist/esm/components/ChooseV2/ChooseV2.js.map +1 -0
  18. package/dist/esm/components/ChooseV2/index.d.ts +2 -0
  19. package/dist/esm/components/ChooseV2/index.d.ts.map +1 -0
  20. package/dist/esm/components/ChooseV2/index.js +2 -0
  21. package/dist/esm/components/ChooseV2/index.js.map +1 -0
  22. package/dist/esm/components/Input/InputNumber.d.ts +2 -0
  23. package/dist/esm/components/Input/InputNumber.d.ts.map +1 -1
  24. package/dist/esm/components/Input/InputNumber.js.map +1 -1
  25. package/dist/esm/components/index.d.ts +1 -0
  26. package/dist/esm/components/index.d.ts.map +1 -1
  27. package/dist/esm/components/index.js +1 -0
  28. package/dist/esm/components/index.js.map +1 -1
  29. package/dist/esm/hooks/useInputNumber.d.ts +8 -6
  30. package/dist/esm/hooks/useInputNumber.d.ts.map +1 -1
  31. package/dist/esm/hooks/useInputNumber.js +53 -31
  32. package/dist/esm/hooks/useInputNumber.js.map +1 -1
  33. package/dist/esm/utils/currencyUtils.d.ts +1 -1
  34. package/dist/esm/utils/currencyUtils.d.ts.map +1 -1
  35. package/dist/esm/utils/currencyUtils.js +1 -0
  36. package/dist/esm/utils/currencyUtils.js.map +1 -1
  37. package/dist/esm/utils/currencyUtils.test.js +16 -0
  38. package/dist/esm/utils/currencyUtils.test.js.map +1 -1
  39. package/dist/index.js +129 -48
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.min.js +1 -1
  42. package/dist/index.min.js.map +1 -1
  43. package/package.json +1 -1
@@ -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","_ref$value","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","_ref$step","step","_ref$trimDecimals","trimDecimals","limit","_ref$validation","validation","validateNumberInput","min","max","onBlur","update","_ref$shortenThreshold","shortenThreshold","isMaxValid","undefined","Number","console","warn","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","_useState7","_useState8","unformattedPrevValue","setUnformattedPrevValue","_useState9","_useState10","focused","setFocused","useEffect","escapeRef","useRef","handleBlur","useCallback","current","String","target","trim","_value","updateValue","type","preformattedValue","replace","numericValue","parseFloat","isNaN","newValue","formattedValue","toFixed","Math","round","includes","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","substring","Boolean","handleChange","inputValue","numericInput","_","num","unit","normalizedNum","parts","split","integerPart","fractionalPart","newInteger","parseInt","currencyMultiplier","toLowerCase","result","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useEffect,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport { currencyMultiplier, formatNumber } 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 trimDecimals?: boolean;\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 onBlur?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n min?: string | number;\n max?: string | number;\n update?: boolean;\n shortenThreshold?: number;\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 trimDecimals = true,\n limit,\n validation = validateNumberInput,\n min,\n max,\n onBlur,\n update,\n shortenThreshold = 1000,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const isMaxValid =\n max === undefined || min === undefined || Number(max) >= Number(min);\n\n if (!isMaxValid) {\n console.warn(\n \"Warning: The maximum value is set to be lower than the minimum value. The maximum value will be ignored.\"\n );\n }\n\n const [currentValue, setCurrentValue] = useState(() =>\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n )\n );\n const [prevValue, setPrevValue] = useState(() =>\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n )\n );\n const [unformattedValue, setUnformattedValue] = useState(() =>\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n const [unformattedPrevValue, setUnformattedPrevValue] = useState(() =>\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n\n const [focused, setFocused] = useState(false);\n\n useEffect(() => {\n if (value !== prevValue && (!focused || update)) {\n setCurrentValue(\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n )\n );\n setPrevValue(\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n )\n );\n setUnformattedValue(\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n setUnformattedPrevValue(\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n disableAbbreviation,\n thousandSeparator,\n decimalSeparator,\n decimalLength,\n trimDecimals,\n value,\n focused,\n ]);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(unformattedPrevValue);\n if (onChange) onChange(String(unformattedPrevValue));\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = formatNumber(\n currentValue as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n );\n setPrevValue(_value);\n setUnformattedPrevValue(\n formatNumber(\n currentValue as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n setUnformattedValue(\n formatNumber(\n currentValue as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(unformattedPrevValue);\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 typeof onBlur === \"function\" && onBlur(e);\n },\n [\n onBlur,\n prevValue,\n unformattedPrevValue,\n onChange,\n currentValue,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation,\n shortenThreshold,\n onSave,\n allowEmptyValue,\n onCancel,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const preformattedValue = String(unformattedValue)\n .replace(thousandSeparator, \"\")\n .replace(decimalSeparator, \".\");\n const numericValue = parseFloat(preformattedValue);\n\n if (isNaN(numericValue)) return;\n\n if (\n (max !== undefined && numericValue > Number(max)) ||\n (min !== undefined && numericValue < Number(min))\n ) {\n return;\n }\n\n let newValue = numericValue;\n\n if (type === \"increment\") {\n if (max === undefined || numericValue + step <= Number(max)) {\n newValue = numericValue + step;\n } else if (numericValue < Number(max)) {\n newValue = Number(max);\n } else {\n return;\n }\n } else if (type === \"decrement\") {\n if (min === undefined || numericValue - step >= Number(min)) {\n newValue = numericValue - step;\n } else if (numericValue > Number(min)) {\n newValue = Number(min);\n } else {\n return;\n }\n }\n\n let formattedValue;\n if (decimalLength !== undefined) {\n formattedValue = newValue.toFixed(decimalLength);\n } else {\n formattedValue = newValue.toFixed(2);\n }\n\n if (decimalLength !== undefined && decimalLength === 0) {\n formattedValue = Math.round(newValue).toString();\n }\n\n if (formattedValue.includes(\".\") || formattedValue.includes(\",\")) {\n formattedValue = formattedValue.replace(\".\", decimalSeparator);\n }\n\n setUnformattedValue(formattedValue);\n setCurrentValue(formattedValue);\n if (onChange) onChange(formattedValue);\n },\n [\n unformattedValue,\n thousandSeparator,\n decimalSeparator,\n decimalLength,\n onChange,\n step,\n min,\n max,\n ]\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.key === \"Delete\") {\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\n // Disallow \"-\" if min is 0 or greater\n if (e.key === \"-\" && min !== undefined && Number(min) >= 0) {\n e.preventDefault();\n return;\n }\n\n // Disallow decimal separator if decimalLength is 0\n if (e.key === decimalSeparator && decimalLength === 0) {\n e.preventDefault();\n return;\n }\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 min,\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(\n /(\\d+(?:[.,]\\d+)?)([kmbtKMBT])/,\n (_, num, unit) => {\n const normalizedNum = num.replace(\",\", \".\");\n const parts = normalizedNum.split(\".\");\n const integerPart = parts[0];\n const fractionalPart = parts[1];\n\n const newInteger =\n parseInt(integerPart, 10) *\n currencyMultiplier[unit.toLowerCase()];\n\n let result = newInteger.toString();\n if (fractionalPart !== undefined) {\n result += decimalSeparator + fractionalPart;\n }\n return result;\n }\n );\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, decimalSeparator, 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 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"],"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","_ref$value","undefined","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","_ref$step","step","_ref$trimDecimals","trimDecimals","limit","_ref$validation","validation","validateNumberInput","min","max","onBlur","update","_ref$shortenThreshold","shortenThreshold","isMaxValid","Number","console","warn","_useState","useState","_useState2","numericValue","setNumericValue","_useState3","_useState4","prevNumericValue","setPrevNumericValue","_useState5","formatNumber","_useState6","currentValue","setCurrentValue","_useState7","_useState8","prevValue","setPrevValue","_useState9","_useState10","unformattedValue","setUnformattedValue","_useState11","_useState12","unformattedPrevValue","setUnformattedPrevValue","_useState13","_useState14","focused","setFocused","useEffect","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","_unformatedValue","_numericValue","getNumberFromString","updateValue","type","newValue","formattedValue","toFixed","Math","round","includes","replace","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","substring","Boolean","handleChange","inputValue","numericNewValue","numericInput","_","num","unit","normalizedNum","parts","split","integerPart","fractionalPart","newInteger","parseInt","currencyMultiplier","toLowerCase","parseFloat","concat","result","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useEffect,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport {\n currencyMultiplier,\n formatNumber,\n getNumberFromString,\n} from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\" | \" \" | \"\";\n\nexport type InputNumberValue = number | undefined;\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n trimDecimals?: boolean;\n value?: number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: InputNumberValue) => void;\n onChange?: (val: InputNumberValue) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n onSave?: (e: Event) => void;\n onBlur?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n min?: number;\n max?: number;\n update?: boolean;\n shortenThreshold?: number;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value = undefined,\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n trimDecimals = true,\n limit,\n validation = validateNumberInput,\n min,\n max,\n onBlur,\n update,\n shortenThreshold = 1000,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const isMaxValid =\n max === undefined || min === undefined || Number(max) >= Number(min);\n\n if (!isMaxValid) {\n console.warn(\n \"Warning: The maximum value is set to be lower than the minimum value. The maximum value will be ignored.\"\n );\n }\n\n const [numericValue, setNumericValue] = useState(() => value);\n const [prevNumericValue, setPrevNumericValue] = useState(() => value);\n\n const [currentValue, setCurrentValue] = useState(() =>\n formatNumber(\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n )\n );\n const [prevValue, setPrevValue] = useState(() =>\n formatNumber(\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n )\n );\n const [unformattedValue, setUnformattedValue] = useState(() =>\n formatNumber(\n value,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n const [unformattedPrevValue, setUnformattedPrevValue] = useState(() =>\n formatNumber(\n value,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n\n const [focused, setFocused] = useState(false);\n\n useEffect(() => {\n if (value !== prevNumericValue && (!focused || update)) {\n setCurrentValue(\n formatNumber(\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n )\n );\n setPrevValue(\n formatNumber(\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n )\n );\n setUnformattedValue(\n formatNumber(\n value,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n setUnformattedPrevValue(\n formatNumber(\n value,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n )\n );\n setNumericValue(value);\n setPrevNumericValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n disableAbbreviation,\n thousandSeparator,\n decimalSeparator,\n decimalLength,\n trimDecimals,\n value,\n focused,\n ]);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(unformattedPrevValue);\n setNumericValue(prevNumericValue);\n if (onChange) onChange(prevNumericValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = formatNumber(\n currentValue,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\",\n shortenThreshold\n );\n const _unformatedValue = formatNumber(\n currentValue,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\",\n shortenThreshold\n );\n const _numericValue = getNumberFromString(\n _unformatedValue,\n thousandSeparator,\n decimalSeparator\n );\n setPrevValue(_value);\n setUnformattedPrevValue(_unformatedValue);\n setUnformattedValue(_unformatedValue);\n setNumericValue(_numericValue);\n setPrevNumericValue(_numericValue);\n if (_numericValue !== prevNumericValue) onChange?.(_numericValue);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(unformattedPrevValue);\n setNumericValue(prevNumericValue);\n onChange?.(prevNumericValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (prevValue !== e.target.value) {\n onSave?.(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n typeof onBlur === \"function\" && onBlur(e);\n },\n [\n currentValue,\n onBlur,\n prevValue,\n unformattedPrevValue,\n prevNumericValue,\n onChange,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation,\n shortenThreshold,\n onSave,\n allowEmptyValue,\n onCancel,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n if (\n (max !== undefined && Number(numericValue) > max) ||\n (min !== undefined && Number(numericValue) < min)\n ) {\n return;\n }\n\n let newValue = numericValue;\n\n if (type === \"increment\") {\n if (max === undefined || Number(numericValue) + step <= max) {\n newValue = Number(numericValue) + step;\n } else if (Number(numericValue) < max) {\n newValue = max;\n } else {\n return;\n }\n } else if (type === \"decrement\") {\n if (min === undefined || Number(numericValue) - step >= min) {\n newValue = Number(numericValue) - step;\n } else if (Number(numericValue) > min) {\n newValue = min;\n } else {\n return;\n }\n }\n\n let formattedValue;\n if (decimalLength !== undefined) {\n formattedValue = Number(newValue).toFixed(decimalLength);\n } else {\n formattedValue = Number(newValue).toFixed(2);\n }\n\n if (decimalLength !== undefined && decimalLength === 0) {\n formattedValue = Math.round(Number(newValue)).toString();\n }\n\n if (formattedValue.includes(\".\") || formattedValue.includes(\",\")) {\n formattedValue = formattedValue.replace(\".\", decimalSeparator);\n }\n\n setNumericValue(newValue);\n setPrevNumericValue(newValue);\n setUnformattedValue(formattedValue);\n setCurrentValue(formattedValue);\n if (onChange) onChange(newValue);\n },\n [max, numericValue, min, decimalLength, onChange, step, decimalSeparator]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(numericValue);\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.key === \"Delete\") {\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\n // Disallow \"-\" if min is 0 or greater\n if (e.key === \"-\" && min !== undefined && Number(min) >= 0) {\n e.preventDefault();\n return;\n }\n\n // Disallow decimal separator if decimalLength is 0\n if (e.key === decimalSeparator && decimalLength === 0) {\n e.preventDefault();\n return;\n }\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 min,\n numericValue,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n let numericNewValue: InputNumberValue = undefined;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(\n /(\\d+(?:[.,]\\d+)?)([kmbtKMBT])/,\n (_, num, unit) => {\n const normalizedNum = num.replace(\",\", \".\");\n const parts = normalizedNum.split(\".\");\n const integerPart = parts[0];\n const fractionalPart = parts[1];\n const newInteger =\n parseInt(integerPart, 10) *\n currencyMultiplier[unit.toLowerCase()];\n\n numericNewValue = parseFloat(\n `${newInteger ? newInteger : 0}.${\n fractionalPart ? fractionalPart : 0\n }`\n );\n\n let result = newInteger.toString();\n if (fractionalPart !== undefined) {\n result += decimalSeparator + fractionalPart;\n }\n return result;\n }\n );\n\n if (numericNewValue === undefined) {\n if (inputValue) {\n numericNewValue = parseFloat(inputValue.replace(\",\", \".\"));\n } else {\n numericNewValue = undefined;\n }\n }\n\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n setNumericValue(numericNewValue);\n if (onChange && numericNewValue !== numericValue)\n onChange(numericNewValue);\n },\n [disableMacros, onChange, numericValue, decimalSeparator]\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 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 numericValue,\n };\n};\n"],"mappings":"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"}
@@ -79,6 +79,7 @@ var formatNumber = exports.formatNumber = function formatNumber(n) {
79
79
  var decimalSpaces = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 2;
80
80
  var format = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : "long";
81
81
  var shortenThreshold = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 1000;
82
+ if (typeof n === undefined || typeof n === null) return "";
82
83
  var number = getNumberFromString(n, thousandSeparator, decimalSeperator);
83
84
  if (isNaN(number)) {
84
85
  return "";
@@ -1 +1 @@
1
- {"version":3,"file":"currencyUtils.js","names":["currencyMultiplier","exports","k","m","b","t","fixedDecimalSpaces","num","fixed","Math","pow","parts","toString","split","length","parseInt","floor","round","getNumberFromString","number","thousandSeparator","arguments","undefined","decimalSeparator","NaN","isNaN","Number","result","parseFloat","String","replaceAll","formatNumber","n","decimalSeperator","trimDecimals","decimalSpaces","format","shortenThreshold","isNegative","absoluteNumber","abs","suffixes","scale","shouldShorten","formattedNum","toFixed","numberWithSeparator","concat","x","replace","join","formatCurrency","currencyCode","currencyCodePosition"],"sources":["../../../src/utils/currencyUtils.ts"],"sourcesContent":["export const currencyMultiplier = {\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 const fixedDecimalSpaces = (num: number, fixed: number) => {\n fixed = fixed || 0;\n fixed = Math.pow(10, fixed);\n const parts = num.toString().split(\".\");\n if (parts.length > 1 && parseInt(parts[1]) > fixed) {\n return Math.floor(num * fixed) / fixed;\n }\n return Math.round(num * fixed) / fixed;\n};\n\nexport const getNumberFromString = (\n number: string | number,\n thousandSeparator = \",\",\n decimalSeparator = \".\"\n) => {\n if (typeof number === \"string\" && number === \"\") {\n return NaN;\n }\n if (!isNaN(Number(number)) || typeof number === \"number\") {\n return Number(number);\n }\n if (decimalSeparator === \",\") {\n const parts = number.split(decimalSeparator);\n\n let result = 0;\n if (parts.length === 2) {\n result = parts[0]\n ? parseFloat(String(parts[0]).replaceAll(thousandSeparator, \"\"))\n : 0;\n if (result < 0) {\n result -= parts[1]\n ? parseFloat(String(parts[1])) / Math.pow(10, parts[1].length)\n : 0;\n } else {\n result += parts[1]\n ? parseFloat(String(parts[1])) / Math.pow(10, parts[1].length)\n : 0;\n }\n return result;\n }\n if (parts.length === 1) {\n result = parseFloat(String(parts[0]).replaceAll(thousandSeparator, \"\"));\n\n return result;\n }\n return 0;\n } else {\n return parseFloat(String(number).replaceAll(thousandSeparator, \"\"));\n }\n};\n\n/**\n * @function formatNumber\n * @description\n * Formats a number or string into a human-readable format with options for thousand separators,\n * decimal precision, and shortening the number using suffixes (K, M, B, T).\n * It can handle negative numbers and optionally trim decimals and set number of decimal places based on the configuration.\n *\n * @param {string | number} n - The number or string to be formatted.\n * @param {\",\" | \".\" | \" \" | \"\"} [thousandSeparator=\",\"] - The character to use as a thousand separator.\n * @param {\",\" | \".\"} [decimalSeperator=\".\"] - The character to use as a decimal separator.\n * @param {boolean} [trimDecimals=true] - Whether to trim decimals to the specified number of decimal spaces.\n * @param {number} [decimalSpaces=2] - The number of decimal spaces to keep in the formatted output.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for shortened numbers with suffixes.\n * @param {number} [shortenThreshold=1000] - The minimum numeric value at which the number should be shortened\n * using suffixes. Numbers below this threshold will always be shown in long format.\n *\n * @returns {string} - The formatted number as a string with separators and potentially with decimals.\n *\n * @example\n * formatNumber(1500) // \"1,500.00\"\n * formatNumber(1500000, \",\", \".\", true, 2, \"short\") // \"1.5M\"\n */\nexport const formatNumber = (\n n: string | number,\n thousandSeparator = \",\",\n decimalSeperator = \".\",\n trimDecimals = true,\n decimalSpaces = 2,\n format = \"long\",\n shortenThreshold = 1000\n) => {\n const number = getNumberFromString(n, thousandSeparator, decimalSeperator);\n\n if (isNaN(number)) {\n return \"\";\n }\n\n const isNegative = number < 0;\n let absoluteNumber = Math.abs(number);\n\n const suffixes = [\"\", \"K\", \"M\", \"B\", \"T\"];\n let scale = 0;\n\n const shouldShorten =\n absoluteNumber >= shortenThreshold && format === \"short\";\n\n while (\n shouldShorten &&\n scale < suffixes.length - 1 &&\n absoluteNumber >= 1000\n ) {\n absoluteNumber /= 1000;\n scale++;\n }\n\n let formattedNum =\n scale === 0\n ? fixedDecimalSpaces(absoluteNumber, decimalSpaces)\n : parseFloat(absoluteNumber.toFixed(1));\n\n if (formattedNum === 1000 && scale > 0 && scale < 4) {\n formattedNum = 1;\n scale++;\n }\n\n const result = numberWithSeparator(\n trimDecimals ? formattedNum : formattedNum.toFixed(decimalSpaces),\n thousandSeparator,\n decimalSeperator\n );\n\n return isNegative\n ? `-${result}${suffixes[scale]}`\n : `${result}${suffixes[scale]}`;\n};\n\nexport const numberWithSeparator = (\n x: number | string,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n format = true\n) => {\n if (!format) {\n return x;\n }\n const parts = x.toString().split(\".\");\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n\n return parts.join(decimalSeparator);\n};\n\n/**\n * @function formatCurrency\n * @description\n * Formats a number or string as a currency string with options for thousand separators,\n * decimal precision, currency code, currency code position, and the use of suffixes (K, M, B, T) if needed.\n * It can handle negative values and supports customization of the currency code and its position.\n *\n * @param {string | number} n - The number or string to be formatted as currency.\n * @param {\",\" | \".\" | \" \" | \"\"} [thousandSeparator=\",\"] - The character to use as a thousand separator.\n * @param {\",\" | \".\"} [decimalSeperator=\".\"] - The character to use as a decimal separator.\n * @param {boolean} [trimDecimals=false] - Whether to trim decimals to the specified number of decimal spaces.\n * @param {number} [decimalSpaces=2] - The number of decimal spaces to keep in the formatted output.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for shortened numbers with suffixes.\n * @param {string} [currencyCode=\"\"] - The currency code to append or prepend to the formatted number.\n * @param {\"right\" | \"left\"} [currencyCodePosition=\"right\"] - The position of the currency code relative to the formatted number.\n *\n * @returns {string} - The formatted currency string, including the currency code if provided.\n *\n * @example\n * formatCurrency(1500, \",\", \".\", false, 2, \"long\", \"USD\", \"right\") // \"1,500.00 USD\"\n * formatCurrency(1500000, \",\", \".\", true, 2, \"short\", \"JPY\", \"left\") // \"JPY 1.5M\"\n */\nexport const formatCurrency = (\n n: string | number,\n thousandSeparator = \",\",\n decimalSeperator = \".\",\n trimDecimals = false,\n decimalSpaces = 2,\n format = \"long\",\n currencyCode = \"\",\n currencyCodePosition = \"right\"\n) => {\n const formattedNum = formatNumber(\n n,\n thousandSeparator,\n decimalSeperator,\n trimDecimals,\n decimalSpaces,\n format,\n 10000\n );\n\n if (!currencyCode) {\n return formattedNum;\n }\n\n return currencyCodePosition === \"right\"\n ? `${formattedNum} ${currencyCode}`\n : `${currencyCode} ${formattedNum}`;\n};\n"],"mappings":";;;;;;AAAO,IAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EAChCE,CAAC,EAAE,IAAK;EACRC,CAAC,EAAE,OAAS;EACZC,CAAC,EAAE,UAAa;EAChBC,CAAC,EAAE;AACL,CAAC;AAEM,IAAMC,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,GAAG,SAArBA,kBAAkBA,CAAIC,GAAW,EAAEC,KAAa,EAAK;EAChEA,KAAK,GAAGA,KAAK,IAAI,CAAC;EAClBA,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEF,KAAK,CAAC;EAC3B,IAAMG,KAAK,GAAGJ,GAAG,CAACK,QAAQ,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;EACvC,IAAIF,KAAK,CAACG,MAAM,GAAG,CAAC,IAAIC,QAAQ,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAGH,KAAK,EAAE;IAClD,OAAOC,IAAI,CAACO,KAAK,CAACT,GAAG,GAAGC,KAAK,CAAC,GAAGA,KAAK;EACxC;EACA,OAAOC,IAAI,CAACQ,KAAK,CAACV,GAAG,GAAGC,KAAK,CAAC,GAAGA,KAAK;AACxC,CAAC;AAEM,IAAMU,mBAAmB,GAAAjB,OAAA,CAAAiB,mBAAA,GAAG,SAAtBA,mBAAmBA,CAC9BC,MAAuB,EAGpB;EAAA,IAFHC,iBAAiB,GAAAC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,GAAG;EAAA,IACvBE,gBAAgB,GAAAF,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,GAAG;EAEtB,IAAI,OAAOF,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,EAAE,EAAE;IAC/C,OAAOK,GAAG;EACZ;EACA,IAAI,CAACC,KAAK,CAACC,MAAM,CAACP,MAAM,CAAC,CAAC,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IACxD,OAAOO,MAAM,CAACP,MAAM,CAAC;EACvB;EACA,IAAII,gBAAgB,KAAK,GAAG,EAAE;IAC5B,IAAMZ,KAAK,GAAGQ,MAAM,CAACN,KAAK,CAACU,gBAAgB,CAAC;IAE5C,IAAII,MAAM,GAAG,CAAC;IACd,IAAIhB,KAAK,CAACG,MAAM,KAAK,CAAC,EAAE;MACtBa,MAAM,GAAGhB,KAAK,CAAC,CAAC,CAAC,GACbiB,UAAU,CAACC,MAAM,CAAClB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACmB,UAAU,CAACV,iBAAiB,EAAE,EAAE,CAAC,CAAC,GAC9D,CAAC;MACL,IAAIO,MAAM,GAAG,CAAC,EAAE;QACdA,MAAM,IAAIhB,KAAK,CAAC,CAAC,CAAC,GACdiB,UAAU,CAACC,MAAM,CAAClB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGF,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEC,KAAK,CAAC,CAAC,CAAC,CAACG,MAAM,CAAC,GAC5D,CAAC;MACP,CAAC,MAAM;QACLa,MAAM,IAAIhB,KAAK,CAAC,CAAC,CAAC,GACdiB,UAAU,CAACC,MAAM,CAAClB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGF,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEC,KAAK,CAAC,CAAC,CAAC,CAACG,MAAM,CAAC,GAC5D,CAAC;MACP;MACA,OAAOa,MAAM;IACf;IACA,IAAIhB,KAAK,CAACG,MAAM,KAAK,CAAC,EAAE;MACtBa,MAAM,GAAGC,UAAU,CAACC,MAAM,CAAClB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACmB,UAAU,CAACV,iBAAiB,EAAE,EAAE,CAAC,CAAC;MAEvE,OAAOO,MAAM;IACf;IACA,OAAO,CAAC;EACV,CAAC,MAAM;IACL,OAAOC,UAAU,CAACC,MAAM,CAACV,MAAM,CAAC,CAACW,UAAU,CAACV,iBAAiB,EAAE,EAAE,CAAC,CAAC;EACrE;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMW,YAAY,GAAA9B,OAAA,CAAA8B,YAAA,GAAG,SAAfA,YAAYA,CACvBC,CAAkB,EAOf;EAAA,IANHZ,iBAAiB,GAAAC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,GAAG;EAAA,IACvBY,gBAAgB,GAAAZ,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,GAAG;EAAA,IACtBa,YAAY,GAAAb,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;EAAA,IACnBc,aAAa,GAAAd,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;EAAA,IACjBe,MAAM,GAAAf,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,MAAM;EAAA,IACfgB,gBAAgB,GAAAhB,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;EAEvB,IAAMF,MAAM,GAAGD,mBAAmB,CAACc,CAAC,EAAEZ,iBAAiB,EAAEa,gBAAgB,CAAC;EAE1E,IAAIR,KAAK,CAACN,MAAM,CAAC,EAAE;IACjB,OAAO,EAAE;EACX;EAEA,IAAMmB,UAAU,GAAGnB,MAAM,GAAG,CAAC;EAC7B,IAAIoB,cAAc,GAAG9B,IAAI,CAAC+B,GAAG,CAACrB,MAAM,CAAC;EAErC,IAAMsB,QAAQ,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;EACzC,IAAIC,KAAK,GAAG,CAAC;EAEb,IAAMC,aAAa,GACjBJ,cAAc,IAAIF,gBAAgB,IAAID,MAAM,KAAK,OAAO;EAE1D,OACEO,aAAa,IACbD,KAAK,GAAGD,QAAQ,CAAC3B,MAAM,GAAG,CAAC,IAC3ByB,cAAc,IAAI,IAAI,EACtB;IACAA,cAAc,IAAI,IAAI;IACtBG,KAAK,EAAE;EACT;EAEA,IAAIE,YAAY,GACdF,KAAK,KAAK,CAAC,GACPpC,kBAAkB,CAACiC,cAAc,EAAEJ,aAAa,CAAC,GACjDP,UAAU,CAACW,cAAc,CAACM,OAAO,CAAC,CAAC,CAAC,CAAC;EAE3C,IAAID,YAAY,KAAK,IAAI,IAAIF,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;IACnDE,YAAY,GAAG,CAAC;IAChBF,KAAK,EAAE;EACT;EAEA,IAAMf,MAAM,GAAGmB,mBAAmB,CAChCZ,YAAY,GAAGU,YAAY,GAAGA,YAAY,CAACC,OAAO,CAACV,aAAa,CAAC,EACjEf,iBAAiB,EACjBa,gBACF,CAAC;EAED,OAAOK,UAAU,OAAAS,MAAA,CACTpB,MAAM,EAAAoB,MAAA,CAAGN,QAAQ,CAACC,KAAK,CAAC,OAAAK,MAAA,CACzBpB,MAAM,EAAAoB,MAAA,CAAGN,QAAQ,CAACC,KAAK,CAAC,CAAE;AACnC,CAAC;AAEM,IAAMI,mBAAmB,GAAA7C,OAAA,CAAA6C,mBAAA,GAAG,SAAtBA,mBAAmBA,CAC9BE,CAAkB,EAIf;EAAA,IAHH5B,iBAAiB,GAAAC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,GAAG;EAAA,IACvBE,gBAAgB,GAAAF,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,GAAG;EAAA,IACtBe,MAAM,GAAAf,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;EAEb,IAAI,CAACe,MAAM,EAAE;IACX,OAAOY,CAAC;EACV;EACA,IAAMrC,KAAK,GAAGqC,CAAC,CAACpC,QAAQ,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;EACrCF,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,CAACsC,OAAO,CAAC,uBAAuB,EAAE7B,iBAAiB,CAAC;EAEvE,OAAOT,KAAK,CAACuC,IAAI,CAAC3B,gBAAgB,CAAC;AACrC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAM4B,cAAc,GAAAlD,OAAA,CAAAkD,cAAA,GAAG,SAAjBA,cAAcA,CACzBnB,CAAkB,EAQf;EAAA,IAPHZ,iBAAiB,GAAAC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,GAAG;EAAA,IACvBY,gBAAgB,GAAAZ,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,GAAG;EAAA,IACtBa,YAAY,GAAAb,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;EAAA,IACpBc,aAAa,GAAAd,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;EAAA,IACjBe,MAAM,GAAAf,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,MAAM;EAAA,IACf+B,YAAY,GAAA/B,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;EAAA,IACjBgC,oBAAoB,GAAAhC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,OAAO;EAE9B,IAAMuB,YAAY,GAAGb,YAAY,CAC/BC,CAAC,EACDZ,iBAAiB,EACjBa,gBAAgB,EAChBC,YAAY,EACZC,aAAa,EACbC,MAAM,EACN,KACF,CAAC;EAED,IAAI,CAACgB,YAAY,EAAE;IACjB,OAAOR,YAAY;EACrB;EAEA,OAAOS,oBAAoB,KAAK,OAAO,MAAAN,MAAA,CAChCH,YAAY,OAAAG,MAAA,CAAIK,YAAY,OAAAL,MAAA,CAC5BK,YAAY,OAAAL,MAAA,CAAIH,YAAY,CAAE;AACvC,CAAC"}
1
+ {"version":3,"file":"currencyUtils.js","names":["currencyMultiplier","exports","k","m","b","t","fixedDecimalSpaces","num","fixed","Math","pow","parts","toString","split","length","parseInt","floor","round","getNumberFromString","number","thousandSeparator","arguments","undefined","decimalSeparator","NaN","isNaN","Number","result","parseFloat","String","replaceAll","formatNumber","n","decimalSeperator","trimDecimals","decimalSpaces","format","shortenThreshold","isNegative","absoluteNumber","abs","suffixes","scale","shouldShorten","formattedNum","toFixed","numberWithSeparator","concat","x","replace","join","formatCurrency","currencyCode","currencyCodePosition"],"sources":["../../../src/utils/currencyUtils.ts"],"sourcesContent":["export const currencyMultiplier = {\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 const fixedDecimalSpaces = (num: number, fixed: number) => {\n fixed = fixed || 0;\n fixed = Math.pow(10, fixed);\n const parts = num.toString().split(\".\");\n if (parts.length > 1 && parseInt(parts[1]) > fixed) {\n return Math.floor(num * fixed) / fixed;\n }\n return Math.round(num * fixed) / fixed;\n};\n\nexport const getNumberFromString = (\n number: string | number,\n thousandSeparator = \",\",\n decimalSeparator = \".\"\n) => {\n if (typeof number === \"string\" && number === \"\") {\n return NaN;\n }\n if (!isNaN(Number(number)) || typeof number === \"number\") {\n return Number(number);\n }\n if (decimalSeparator === \",\") {\n const parts = number.split(decimalSeparator);\n\n let result = 0;\n if (parts.length === 2) {\n result = parts[0]\n ? parseFloat(String(parts[0]).replaceAll(thousandSeparator, \"\"))\n : 0;\n if (result < 0) {\n result -= parts[1]\n ? parseFloat(String(parts[1])) / Math.pow(10, parts[1].length)\n : 0;\n } else {\n result += parts[1]\n ? parseFloat(String(parts[1])) / Math.pow(10, parts[1].length)\n : 0;\n }\n return result;\n }\n if (parts.length === 1) {\n result = parseFloat(String(parts[0]).replaceAll(thousandSeparator, \"\"));\n\n return result;\n }\n return 0;\n } else {\n return parseFloat(String(number).replaceAll(thousandSeparator, \"\"));\n }\n};\n\n/**\n * @function formatNumber\n * @description\n * Formats a number or string into a human-readable format with options for thousand separators,\n * decimal precision, and shortening the number using suffixes (K, M, B, T).\n * It can handle negative numbers and optionally trim decimals and set number of decimal places based on the configuration.\n *\n * @param {string | number} n - The number or string to be formatted.\n * @param {\",\" | \".\" | \" \" | \"\"} [thousandSeparator=\",\"] - The character to use as a thousand separator.\n * @param {\",\" | \".\"} [decimalSeperator=\".\"] - The character to use as a decimal separator.\n * @param {boolean} [trimDecimals=true] - Whether to trim decimals to the specified number of decimal spaces.\n * @param {number} [decimalSpaces=2] - The number of decimal spaces to keep in the formatted output.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for shortened numbers with suffixes.\n * @param {number} [shortenThreshold=1000] - The minimum numeric value at which the number should be shortened\n * using suffixes. Numbers below this threshold will always be shown in long format.\n *\n * @returns {string} - The formatted number as a string with separators and potentially with decimals.\n *\n * @example\n * formatNumber(1500) // \"1,500.00\"\n * formatNumber(1500000, \",\", \".\", true, 2, \"short\") // \"1.5M\"\n */\nexport const formatNumber = (\n n?: string | number,\n thousandSeparator = \",\",\n decimalSeperator = \".\",\n trimDecimals = true,\n decimalSpaces = 2,\n format = \"long\",\n shortenThreshold = 1000\n) => {\n if (typeof n === undefined || typeof n === null) return \"\";\n\n const number = getNumberFromString(\n n as string,\n thousandSeparator,\n decimalSeperator\n );\n\n if (isNaN(number)) {\n return \"\";\n }\n\n const isNegative = number < 0;\n let absoluteNumber = Math.abs(number);\n\n const suffixes = [\"\", \"K\", \"M\", \"B\", \"T\"];\n let scale = 0;\n\n const shouldShorten =\n absoluteNumber >= shortenThreshold && format === \"short\";\n\n while (\n shouldShorten &&\n scale < suffixes.length - 1 &&\n absoluteNumber >= 1000\n ) {\n absoluteNumber /= 1000;\n scale++;\n }\n\n let formattedNum =\n scale === 0\n ? fixedDecimalSpaces(absoluteNumber, decimalSpaces)\n : parseFloat(absoluteNumber.toFixed(1));\n\n if (formattedNum === 1000 && scale > 0 && scale < 4) {\n formattedNum = 1;\n scale++;\n }\n\n const result = numberWithSeparator(\n trimDecimals ? formattedNum : formattedNum.toFixed(decimalSpaces),\n thousandSeparator,\n decimalSeperator\n );\n\n return isNegative\n ? `-${result}${suffixes[scale]}`\n : `${result}${suffixes[scale]}`;\n};\n\nexport const numberWithSeparator = (\n x: number | string,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n format = true\n) => {\n if (!format) {\n return x;\n }\n const parts = x.toString().split(\".\");\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n\n return parts.join(decimalSeparator);\n};\n\n/**\n * @function formatCurrency\n * @description\n * Formats a number or string as a currency string with options for thousand separators,\n * decimal precision, currency code, currency code position, and the use of suffixes (K, M, B, T) if needed.\n * It can handle negative values and supports customization of the currency code and its position.\n *\n * @param {string | number} n - The number or string to be formatted as currency.\n * @param {\",\" | \".\" | \" \" | \"\"} [thousandSeparator=\",\"] - The character to use as a thousand separator.\n * @param {\",\" | \".\"} [decimalSeperator=\".\"] - The character to use as a decimal separator.\n * @param {boolean} [trimDecimals=false] - Whether to trim decimals to the specified number of decimal spaces.\n * @param {number} [decimalSpaces=2] - The number of decimal spaces to keep in the formatted output.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for shortened numbers with suffixes.\n * @param {string} [currencyCode=\"\"] - The currency code to append or prepend to the formatted number.\n * @param {\"right\" | \"left\"} [currencyCodePosition=\"right\"] - The position of the currency code relative to the formatted number.\n *\n * @returns {string} - The formatted currency string, including the currency code if provided.\n *\n * @example\n * formatCurrency(1500, \",\", \".\", false, 2, \"long\", \"USD\", \"right\") // \"1,500.00 USD\"\n * formatCurrency(1500000, \",\", \".\", true, 2, \"short\", \"JPY\", \"left\") // \"JPY 1.5M\"\n */\nexport const formatCurrency = (\n n: string | number,\n thousandSeparator = \",\",\n decimalSeperator = \".\",\n trimDecimals = false,\n decimalSpaces = 2,\n format = \"long\",\n currencyCode = \"\",\n currencyCodePosition = \"right\"\n) => {\n const formattedNum = formatNumber(\n n,\n thousandSeparator,\n decimalSeperator,\n trimDecimals,\n decimalSpaces,\n format,\n 10000\n );\n\n if (!currencyCode) {\n return formattedNum;\n }\n\n return currencyCodePosition === \"right\"\n ? `${formattedNum} ${currencyCode}`\n : `${currencyCode} ${formattedNum}`;\n};\n"],"mappings":"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"}
@@ -35,6 +35,13 @@ describe("format currency with thousandseparator set to ',' and decimalSeparator
35
35
  thousandSeparator: ".",
36
36
  decimalSeparator: ","
37
37
  }, "900,25"], [{
38
+ value: 0,
39
+ thousandSeparator: ".",
40
+ decimalSeparator: ",",
41
+ trimDecimals: false,
42
+ format: "long",
43
+ decimalSpaces: 2
44
+ }, "0,00"], [{
38
45
  value: "900,25",
39
46
  thousandSeparator: ".",
40
47
  decimalSeparator: ","
@@ -351,6 +358,15 @@ describe("format currency with thousandseparator set to ',' and decimalSeparator
351
358
  currencyCode: "",
352
359
  currencyCodePosition: "right"
353
360
  }, ""], [{
361
+ value: 0,
362
+ thousandSeparator: ",",
363
+ decimalSeparator: ".",
364
+ trimDecimals: false,
365
+ decimalSpaces: 2,
366
+ format: "long",
367
+ currencyCode: "USD",
368
+ currencyCodePosition: "right"
369
+ }, "0.00 USD"], [{
354
370
  value: "10",
355
371
  thousandSeparator: ",",
356
372
  decimalSeparator: ".",
@@ -1 +1 @@
1
- {"version":3,"file":"currencyUtils.test.js","names":["_currencyUtils","require","describe","it","each","value","thousandSeparator","decimalSeparator","trimDecimals","decimalSpaces","format","shortenThreshold","params","expected","expect","formatNumber","toEqual","number","fixedDecimalSpaces","toBe","result","numberWithSeparator","toFixed","getNumberFromString","currencyCode","currencyCodePosition","args","formatCurrency"],"sources":["../../../src/utils/currencyUtils.test.ts"],"sourcesContent":["import {\n formatNumber,\n getNumberFromString,\n numberWithSeparator,\n fixedDecimalSpaces,\n formatCurrency,\n} from \"./currencyUtils\";\nimport { FormatCurrencyArgs, FormatNumberArgs } from \"./types\";\n\ndescribe(\"format currency with thousandseparator set to ',' and decimalSeparator to '.'\", () => {\n // please try to leave unformatted - ignore works for this block only\n // prettier-ignore\n it.each<[FormatNumberArgs, string]>([\n [{ value: \"\" }, \"\"],\n [{ value: \"10\" }, \"10\"],\n [{ value: \"1000\" }, \"1,000\"],\n [{ value: \"1000.00\" }, \"1,000\"],\n [{ value: \"1200.50\" }, \"1,200.5\"],\n [{ value: \"1,200.00\" }, \"1,200\"],\n [{ value: \"2,240.00\" }, \"2,240\"],\n [{ value: \"22,240.00\" }, \"22,240\"],\n [{ value: \"50,000,000.00\" }, \"50,000,000\"],\n [{ value: \"-50,000.00\" }, \"-50,000\"],\n [{ value: \"-1,200\" }, \"-1,200\"],\n [{ value: \"-90,000,000.00\" }, \"-90,000,000\"],\n [{ value: \"900.25\" }, \"900.25\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: \"900,25\", thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 900.255556, thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: \"900,255556\", thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 900.255556, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 6 }, \"900,255556\"],\n [{ value: \"900,255556\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false }, \"900,25\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 3 }, \"900,250\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 3, format: \"long\" }, \"900,250\" ],\n [{ value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.66\" ],\n [{ value: \"1150.6666667\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.66\" ],\n [{ value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.2K\" ],\n [{ value: \"1150.6666667\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.2K\" ],\n [{ value: 1150.0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.1K\" ],\n [{ value: \"1150.00000\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.1K\" ],\n [{ value: 1150.6, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.6\" ],\n [{ value: \"1150.60\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.6\"],\n [{ value: 1150.0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150\" ],\n [{ value: \"1150.00\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150\"],\n [{ value: 110.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"110.15\" ],\n [{ value: \"110.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"110.15\" ],\n [{ value: 110.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"110.15\" ],\n [{ value: \"110.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"110.15\" ],\n [{ value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,501,000.15\" ],\n [{ value: \"1501000.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,501,000.15\" ],\n [{ value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.5M\"],\n [{ value: \"1501000.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.5M\" ],\n [{ value: \"1501000.155557\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,5M\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,6K\" ],\n [{ value: \"1579,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,6K\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\" }, \"1.579,50\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"short\", shortenThreshold: 10000 }, \"1.579,50\" ],\n ])(\"should format currency advanced\", (params, expected) => {\n const {\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n format,\n shortenThreshold\n } = params;\n\n expect(\n formatNumber(\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n format,\n shortenThreshold\n )\n ).toEqual(expected);\n });\n\n //fixedDecimalSpaces\n it.each<[{ number: number; decimalSpaces: number }, number]>([\n [{ number: 123.456789, decimalSpaces: 3 }, 123.456],\n [{ number: 123.3, decimalSpaces: 2 }, 123.3],\n [{ number: 123.3, decimalSpaces: 0 }, 123],\n ])(\"should handle fixedDecimalSpaces\", (params, expected) => {\n expect(fixedDecimalSpaces(params.number, params.decimalSpaces)).toBe(\n expected\n );\n });\n\n //numberWithSeparator\n it(\"should format number with thousand separator\", () => {\n const result = numberWithSeparator((1000.0).toFixed(3), \",\", \".\");\n expect(result).toBe(\"1,000.000\");\n });\n\n it(\"should format string number with thousand separator\", () => {\n const result = numberWithSeparator(\"1000\", \",\");\n expect(result).toBe(\"1,000\");\n });\n\n it(\"should format decimal number with thousand separator and keep decimal part\", () => {\n const result = numberWithSeparator(12345.67, \",\");\n expect(result).toBe(\"12,345.67\");\n });\n\n it(\"should not format when format is set to false\", () => {\n const result = numberWithSeparator(1000, \",\", \".\", false);\n expect(result).toBe(1000);\n });\n\n it(\"should handle zero with thousand separator\", () => {\n const result = numberWithSeparator(0, \",\");\n expect(result).toBe(\"0\");\n });\n\n it(\"should handle negative number with thousand separator\", () => {\n const result = numberWithSeparator(-123456789, \",\");\n expect(result).toBe(\"-123,456,789\");\n });\n\n it(\"should not format\", () => {\n const result = numberWithSeparator(123456789, \",\", \".\", false);\n expect(result).toBe(123456789);\n });\n\n //getNumberFromString\n it.each([\n [\n {\n number: \"1.000.000,256\",\n thousandSeparator: \".\",\n decimalSeparator: \",\",\n },\n 1000000.256,\n ],\n [\n { number: 1000000.256, thousandSeparator: \".\", decimalSeparator: \",\" },\n 1000000.256,\n ],\n [\n {\n number: \"1,000,000.256\",\n thousandSeparator: \",\",\n decimalSeparator: \".\",\n },\n 1000000.256,\n ],\n [{ number: \",256\", thousandSeparator: \".\", decimalSeparator: \",\" }, 0.256],\n [{ number: \"1562\", thousandSeparator: \".\", decimalSeparator: \",\" }, 1562],\n [{ number: \"1,2,3.4\", thousandSeparator: \".\", decimalSeparator: \",\" }, 0],\n [{ number: \"1562\", thousandSeparator: \",\", decimalSeparator: \".\" }, 1562],\n [\n { number: \"-1.562,25\", thousandSeparator: \".\", decimalSeparator: \",\" },\n -1562.25,\n ],\n [\n { number: \"-1 562.25\", thousandSeparator: \" \", decimalSeparator: \".\" },\n -1562.25,\n ],\n [\n { number: \"1562.50\", thousandSeparator: \".\", decimalSeparator: \",\" },\n 1562.5,\n ],\n [{ number: \"1562.\", thousandSeparator: \".\", decimalSeparator: \",\" }, 1562],\n ])(\"should handle getNumberFromString\", (params, expected) => {\n const { number, thousandSeparator, decimalSeparator } = params;\n\n expect(\n getNumberFromString(number, thousandSeparator, decimalSeparator)\n ).toBe(expected);\n });\n\n // please try to leave unformatted - ignore works for this block only\n // prettier-ignore\n it.each<[FormatCurrencyArgs, string]>([\n [\n { value: \"\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"\",\n ],\n [\n { value: \"10\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"10.00\",\n ],\n [\n { value: \"1000\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"right\" },\n \"1,000.00 USD\",\n ],\n [\n { value: \"1000.00\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"left\" },\n \"USD 1,000\",\n ],\n [\n { value: \"1200,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"EUR\", currencyCodePosition: \"right\" },\n \"1.200,50 EUR\",\n ],\n [\n { value: \"1200,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"1.200,50\",\n ],\n [\n { value: \"900,25\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"GBP\", currencyCodePosition: \"left\" },\n \"GBP 900,25\",\n ],\n [\n { value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"GBP\", currencyCodePosition: \"left\" },\n \"GBP 900,25\",\n ],\n [\n { value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\", currencyCode: \"JPY\", currencyCodePosition: \"right\" },\n \"1,150.66 JPY\",\n ],\n [\n { value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\", currencyCode: \"USD\", currencyCodePosition: \"left\" },\n \"USD 1.5M\",\n ],\n ])(\"should format currency correctly\", (args, expected) => {\n expect(\n formatCurrency(\n args.value,\n args.thousandSeparator,\n args.decimalSeparator,\n args.trimDecimals,\n args.decimalSpaces,\n args.format,\n args.currencyCode,\n args.currencyCodePosition\n )\n ).toEqual(expected);\n });\n});\n"],"mappings":";;AAAA,IAAAA,cAAA,GAAAC,OAAA;AASAC,QAAQ,CAAC,+EAA+E,EAAE,YAAM;EAC9F;EACA;EACAC,EAAE,CAACC,IAAI,CAA6B,CAClC,CAAC;IAAEC,KAAK,EAAE;EAAG,CAAC,EAAE,EAAE,CAAC,EACnB,CAAC;IAAEA,KAAK,EAAE;EAAK,CAAC,EAAE,IAAI,CAAC,EACvB,CAAC;IAAEA,KAAK,EAAE;EAAO,CAAC,EAAE,OAAO,CAAC,EAC5B,CAAC;IAAEA,KAAK,EAAE;EAAU,CAAC,EAAE,OAAO,CAAC,EAC/B,CAAC;IAAEA,KAAK,EAAE;EAAU,CAAC,EAAE,SAAS,CAAC,EACjC,CAAC;IAAEA,KAAK,EAAE;EAAW,CAAC,EAAE,OAAO,CAAC,EAChC,CAAC;IAAEA,KAAK,EAAE;EAAW,CAAC,EAAE,OAAO,CAAC,EAChC,CAAC;IAAEA,KAAK,EAAE;EAAY,CAAC,EAAE,QAAQ,CAAC,EAClC,CAAC;IAAEA,KAAK,EAAE;EAAgB,CAAC,EAAE,YAAY,CAAC,EAC1C,CAAC;IAAEA,KAAK,EAAE;EAAa,CAAC,EAAE,SAAS,CAAC,EACpC,CAAC;IAAEA,KAAK,EAAE;EAAS,CAAC,EAAE,QAAQ,CAAC,EAC/B,CAAC;IAAEA,KAAK,EAAE;EAAiB,CAAC,EAAE,aAAa,CAAC,EAC5C,CAAC;IAAEA,KAAK,EAAE;EAAS,CAAC,EAAE,QAAQ,CAAC,EAC/B,CAAC;IAAEA,KAAK,EAAE,MAAM;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,QAAQ,CAAC,EAC5E,CAAC;IAAEF,KAAK,EAAE,QAAQ;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,QAAQ,CAAC,EAC9E,CAAC;IAAEF,KAAK,EAAE,UAAU;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,QAAQ,CAAC,EAChF,CAAC;IAAEF,KAAK,EAAE,YAAY;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,QAAQ,CAAC,EAClF,CAAC;IAAEF,KAAK,EAAE,UAAU;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE;EAAE,CAAC,EAAE,YAAY,CAAC,EAC3H,CAAC;IAAEJ,KAAK,EAAE,YAAY;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE;EAAM,CAAC,EAAE,QAAQ,CAAC,EACvG,CAAC;IAAEH,KAAK,EAAE,MAAM;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE;EAAE,CAAC,EAAE,SAAS,CAAC,EACpH,CAAC;IAAEJ,KAAK,EAAE,MAAM;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,SAAS,CAAE,EACrI,CAAC;IAAEL,KAAK,EAAE,YAAY;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,UAAU,CAAE,EAC3I,CAAC;IAAEL,KAAK,EAAE,cAAc;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,UAAU,CAAE,EAC7I,CAAC;IAAEL,KAAK,EAAE,YAAY;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAE,EACxI,CAAC;IAAEL,KAAK,EAAE,cAAc;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAE,EAC1I,CAAC;IAAEL,KAAK,EAAE,MAAM;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAE,EAClI,CAAC;IAAEL,KAAK,EAAE,YAAY;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAE,EACxI,CAAC;IAAEL,KAAK,EAAE,MAAM;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,SAAS,CAAE,EACpI,CAAC;IAAEL,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,SAAS,CAAC,EACtI,CAAC;IAAEL,KAAK,EAAE,MAAM;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,OAAO,CAAE,EAClI,CAAC;IAAEL,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,OAAO,CAAC,EACpI,CAAC;IAAEL,KAAK,EAAE,UAAU;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,QAAQ,CAAE,EACvI,CAAC;IAAEL,KAAK,EAAE,YAAY;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,QAAQ,CAAE,EACzI,CAAC;IAAEL,KAAK,EAAE,UAAU;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,QAAQ,CAAE,EACxI,CAAC;IAAEL,KAAK,EAAE,YAAY;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,QAAQ,CAAE,EAC1I,CAAC;IAAEL,KAAK,EAAE,cAAc;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,cAAc,CAAE,EACjJ,CAAC;IAAEL,KAAK,EAAE,gBAAgB;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,cAAc,CAAE,EACnJ,CAAC;IAAEL,KAAK,EAAE,cAAc;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAC,EACzI,CAAC;IAAEL,KAAK,EAAE,gBAAgB;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAE,EAC5I,CAAC;IAAEL,KAAK,EAAE,gBAAgB;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAE,EAC5I,CAAC;IAAEL,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAE,EACrI,CAAC;IAAEL,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAQ,CAAC,EAAE,MAAM,CAAE,EACrI,CAAC;IAAEL,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAO,CAAC,EAAE,UAAU,CAAE,EACzI,CAAC;IAAEL,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,OAAO;IAAEC,gBAAgB,EAAE;EAAM,CAAC,EAAE,UAAU,CAAE,CACpK,CAAC,CAAC,iCAAiC,EAAE,UAACC,MAAM,EAAEC,QAAQ,EAAK;IAC1D,IACER,KAAK,GAOHO,MAAM,CAPRP,KAAK;MACLC,iBAAiB,GAMfM,MAAM,CANRN,iBAAiB;MACjBC,gBAAgB,GAKdK,MAAM,CALRL,gBAAgB;MAChBC,YAAY,GAIVI,MAAM,CAJRJ,YAAY;MACZC,aAAa,GAGXG,MAAM,CAHRH,aAAa;MACbC,MAAM,GAEJE,MAAM,CAFRF,MAAM;MACNC,gBAAgB,GACdC,MAAM,CADRD,gBAAgB;IAGlBG,MAAM,CACJ,IAAAC,2BAAY,EACVV,KAAK,EACLC,iBAAiB,EACjBC,gBAAgB,EAChBC,YAAY,EACZC,aAAa,EACbC,MAAM,EACNC,gBACF,CACF,CAAC,CAACK,OAAO,CAACH,QAAQ,CAAC;EACrB,CAAC,CAAC;;EAEF;EACAV,EAAE,CAACC,IAAI,CAAsD,CAC3D,CAAC;IAAEa,MAAM,EAAE,UAAU;IAAER,aAAa,EAAE;EAAE,CAAC,EAAE,OAAO,CAAC,EACnD,CAAC;IAAEQ,MAAM,EAAE,KAAK;IAAER,aAAa,EAAE;EAAE,CAAC,EAAE,KAAK,CAAC,EAC5C,CAAC;IAAEQ,MAAM,EAAE,KAAK;IAAER,aAAa,EAAE;EAAE,CAAC,EAAE,GAAG,CAAC,CAC3C,CAAC,CAAC,kCAAkC,EAAE,UAACG,MAAM,EAAEC,QAAQ,EAAK;IAC3DC,MAAM,CAAC,IAAAI,iCAAkB,EAACN,MAAM,CAACK,MAAM,EAAEL,MAAM,CAACH,aAAa,CAAC,CAAC,CAACU,IAAI,CAClEN,QACF,CAAC;EACH,CAAC,CAAC;;EAEF;EACAV,EAAE,CAAC,8CAA8C,EAAE,YAAM;IACvD,IAAMiB,MAAM,GAAG,IAAAC,kCAAmB,EAAE,MAAM,CAAEC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjER,MAAM,CAACM,MAAM,CAAC,CAACD,IAAI,CAAC,WAAW,CAAC;EAClC,CAAC,CAAC;EAEFhB,EAAE,CAAC,qDAAqD,EAAE,YAAM;IAC9D,IAAMiB,MAAM,GAAG,IAAAC,kCAAmB,EAAC,MAAM,EAAE,GAAG,CAAC;IAC/CP,MAAM,CAACM,MAAM,CAAC,CAACD,IAAI,CAAC,OAAO,CAAC;EAC9B,CAAC,CAAC;EAEFhB,EAAE,CAAC,4EAA4E,EAAE,YAAM;IACrF,IAAMiB,MAAM,GAAG,IAAAC,kCAAmB,EAAC,QAAQ,EAAE,GAAG,CAAC;IACjDP,MAAM,CAACM,MAAM,CAAC,CAACD,IAAI,CAAC,WAAW,CAAC;EAClC,CAAC,CAAC;EAEFhB,EAAE,CAAC,+CAA+C,EAAE,YAAM;IACxD,IAAMiB,MAAM,GAAG,IAAAC,kCAAmB,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;IACzDP,MAAM,CAACM,MAAM,CAAC,CAACD,IAAI,CAAC,IAAI,CAAC;EAC3B,CAAC,CAAC;EAEFhB,EAAE,CAAC,4CAA4C,EAAE,YAAM;IACrD,IAAMiB,MAAM,GAAG,IAAAC,kCAAmB,EAAC,CAAC,EAAE,GAAG,CAAC;IAC1CP,MAAM,CAACM,MAAM,CAAC,CAACD,IAAI,CAAC,GAAG,CAAC;EAC1B,CAAC,CAAC;EAEFhB,EAAE,CAAC,uDAAuD,EAAE,YAAM;IAChE,IAAMiB,MAAM,GAAG,IAAAC,kCAAmB,EAAC,CAAC,SAAS,EAAE,GAAG,CAAC;IACnDP,MAAM,CAACM,MAAM,CAAC,CAACD,IAAI,CAAC,cAAc,CAAC;EACrC,CAAC,CAAC;EAEFhB,EAAE,CAAC,mBAAmB,EAAE,YAAM;IAC5B,IAAMiB,MAAM,GAAG,IAAAC,kCAAmB,EAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;IAC9DP,MAAM,CAACM,MAAM,CAAC,CAACD,IAAI,CAAC,SAAS,CAAC;EAChC,CAAC,CAAC;;EAEF;EACAhB,EAAE,CAACC,IAAI,CAAC,CACN,CACE;IACEa,MAAM,EAAE,eAAe;IACvBX,iBAAiB,EAAE,GAAG;IACtBC,gBAAgB,EAAE;EACpB,CAAC,EACD,WAAW,CACZ,EACD,CACE;IAAEU,MAAM,EAAE,WAAW;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EACtE,WAAW,CACZ,EACD,CACE;IACEU,MAAM,EAAE,eAAe;IACvBX,iBAAiB,EAAE,GAAG;IACtBC,gBAAgB,EAAE;EACpB,CAAC,EACD,WAAW,CACZ,EACD,CAAC;IAAEU,MAAM,EAAE,MAAM;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,KAAK,CAAC,EAC1E,CAAC;IAAEU,MAAM,EAAE,MAAM;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,IAAI,CAAC,EACzE,CAAC;IAAEU,MAAM,EAAE,SAAS;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,CAAC,CAAC,EACzE,CAAC;IAAEU,MAAM,EAAE,MAAM;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,IAAI,CAAC,EACzE,CACE;IAAEU,MAAM,EAAE,WAAW;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EACtE,CAAC,OAAO,CACT,EACD,CACE;IAAEU,MAAM,EAAE,WAAW;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EACtE,CAAC,OAAO,CACT,EACD,CACE;IAAEU,MAAM,EAAE,SAAS;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EACpE,MAAM,CACP,EACD,CAAC;IAAEU,MAAM,EAAE,OAAO;IAAEX,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE;EAAI,CAAC,EAAE,IAAI,CAAC,CAC3E,CAAC,CAAC,mCAAmC,EAAE,UAACK,MAAM,EAAEC,QAAQ,EAAK;IAC5D,IAAQI,MAAM,GAA0CL,MAAM,CAAtDK,MAAM;MAAEX,iBAAiB,GAAuBM,MAAM,CAA9CN,iBAAiB;MAAEC,gBAAgB,GAAKK,MAAM,CAA3BL,gBAAgB;IAEnDO,MAAM,CACJ,IAAAS,kCAAmB,EAACN,MAAM,EAAEX,iBAAiB,EAAEC,gBAAgB,CACjE,CAAC,CAACY,IAAI,CAACN,QAAQ,CAAC;EAClB,CAAC,CAAC;;EAEF;EACA;EACAV,EAAE,CAACC,IAAI,CAA+B,CACpC,CACE;IAAEC,KAAK,EAAE,EAAE;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,MAAM;IAAEc,YAAY,EAAE,EAAE;IAAEC,oBAAoB,EAAE;EAAQ,CAAC,EACpK,EAAE,CACH,EACD,CACE;IAAEpB,KAAK,EAAE,IAAI;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,MAAM;IAAEc,YAAY,EAAE,EAAE;IAAEC,oBAAoB,EAAE;EAAQ,CAAC,EACtK,OAAO,CACR,EACD,CACE;IAAEpB,KAAK,EAAE,MAAM;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,MAAM;IAAEc,YAAY,EAAE,KAAK;IAAEC,oBAAoB,EAAE;EAAQ,CAAC,EAC3K,cAAc,CACf,EACD,CACE;IAAEpB,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,MAAM;IAAEc,YAAY,EAAE,KAAK;IAAEC,oBAAoB,EAAE;EAAO,CAAC,EAC5K,WAAW,CACZ,EACD,CACE;IAAEpB,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,MAAM;IAAEc,YAAY,EAAE,KAAK;IAAEC,oBAAoB,EAAE;EAAQ,CAAC,EAC9K,cAAc,CACf,EACD,CACE;IAAEpB,KAAK,EAAE,SAAS;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,MAAM;IAAEc,YAAY,EAAE,EAAE;IAAEC,oBAAoB,EAAE;EAAQ,CAAC,EAC3K,UAAU,CACX,EACD,CACE;IAAEpB,KAAK,EAAE,QAAQ;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,MAAM;IAAEc,YAAY,EAAE,KAAK;IAAEC,oBAAoB,EAAE;EAAO,CAAC,EAC5K,YAAY,CACb,EACD,CACE;IAAEpB,KAAK,EAAE,MAAM;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,KAAK;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,MAAM;IAAEc,YAAY,EAAE,KAAK;IAAEC,oBAAoB,EAAE;EAAO,CAAC,EAC1K,YAAY,CACb,EACD,CACE;IAAEpB,KAAK,EAAE,YAAY;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,OAAO;IAAEc,YAAY,EAAE,KAAK;IAAEC,oBAAoB,EAAE;EAAQ,CAAC,EACjL,cAAc,CACf,EACD,CACE;IAAEpB,KAAK,EAAE,cAAc;IAAEC,iBAAiB,EAAE,GAAG;IAAEC,gBAAgB,EAAE,GAAG;IAAEC,YAAY,EAAE,IAAI;IAAEC,aAAa,EAAE,CAAC;IAAEC,MAAM,EAAE,OAAO;IAAEc,YAAY,EAAE,KAAK;IAAEC,oBAAoB,EAAE;EAAO,CAAC,EAClL,UAAU,CACX,CACF,CAAC,CAAC,kCAAkC,EAAE,UAACC,IAAI,EAAEb,QAAQ,EAAK;IACzDC,MAAM,CACJ,IAAAa,6BAAc,EACZD,IAAI,CAACrB,KAAK,EACVqB,IAAI,CAACpB,iBAAiB,EACtBoB,IAAI,CAACnB,gBAAgB,EACrBmB,IAAI,CAAClB,YAAY,EACjBkB,IAAI,CAACjB,aAAa,EAClBiB,IAAI,CAAChB,MAAM,EACXgB,IAAI,CAACF,YAAY,EACjBE,IAAI,CAACD,oBACP,CACF,CAAC,CAACT,OAAO,CAACH,QAAQ,CAAC;EACrB,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"currencyUtils.test.js","names":["_currencyUtils","require","describe","it","each","value","thousandSeparator","decimalSeparator","trimDecimals","format","decimalSpaces","shortenThreshold","params","expected","expect","formatNumber","toEqual","number","fixedDecimalSpaces","toBe","result","numberWithSeparator","toFixed","getNumberFromString","currencyCode","currencyCodePosition","args","formatCurrency"],"sources":["../../../src/utils/currencyUtils.test.ts"],"sourcesContent":["import {\n formatNumber,\n getNumberFromString,\n numberWithSeparator,\n fixedDecimalSpaces,\n formatCurrency,\n} from \"./currencyUtils\";\nimport { FormatCurrencyArgs, FormatNumberArgs } from \"./types\";\n\ndescribe(\"format currency with thousandseparator set to ',' and decimalSeparator to '.'\", () => {\n // please try to leave unformatted - ignore works for this block only\n // prettier-ignore\n it.each<[FormatNumberArgs, string]>([\n [{ value: \"\" }, \"\"],\n [{ value: \"10\" }, \"10\"],\n [{ value: \"1000\" }, \"1,000\"],\n [{ value: \"1000.00\" }, \"1,000\"],\n [{ value: \"1200.50\" }, \"1,200.5\"],\n [{ value: \"1,200.00\" }, \"1,200\"],\n [{ value: \"2,240.00\" }, \"2,240\"],\n [{ value: \"22,240.00\" }, \"22,240\"],\n [{ value: \"50,000,000.00\" }, \"50,000,000\"],\n [{ value: \"-50,000.00\" }, \"-50,000\"],\n [{ value: \"-1,200\" }, \"-1,200\"],\n [{ value: \"-90,000,000.00\" }, \"-90,000,000\"],\n [{ value: \"900.25\" }, \"900.25\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 0, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, format: \"long\", decimalSpaces: 2 }, \"0,00\"],\n [{ value: \"900,25\", thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 900.255556, thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: \"900,255556\", thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 900.255556, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 6 }, \"900,255556\"],\n [{ value: \"900,255556\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false }, \"900,25\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 3 }, \"900,250\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 3, format: \"long\" }, \"900,250\" ],\n [{ value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.66\" ],\n [{ value: \"1150.6666667\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.66\" ],\n [{ value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.2K\" ],\n [{ value: \"1150.6666667\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.2K\" ],\n [{ value: 1150.0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.1K\" ],\n [{ value: \"1150.00000\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.1K\" ],\n [{ value: 1150.6, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.6\" ],\n [{ value: \"1150.60\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.6\"],\n [{ value: 1150.0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150\" ],\n [{ value: \"1150.00\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150\"],\n [{ value: 110.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"110.15\" ],\n [{ value: \"110.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"110.15\" ],\n [{ value: 110.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"110.15\" ],\n [{ value: \"110.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"110.15\" ],\n [{ value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,501,000.15\" ],\n [{ value: \"1501000.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,501,000.15\" ],\n [{ value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.5M\"],\n [{ value: \"1501000.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.5M\" ],\n [{ value: \"1501000.155557\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,5M\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,6K\" ],\n [{ value: \"1579,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,6K\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\" }, \"1.579,50\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"short\", shortenThreshold: 10000 }, \"1.579,50\" ],\n ])(\"should format currency advanced\", (params, expected) => {\n const {\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n format,\n shortenThreshold\n } = params;\n\n expect(\n formatNumber(\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n format,\n shortenThreshold\n )\n ).toEqual(expected);\n });\n\n //fixedDecimalSpaces\n it.each<[{ number: number; decimalSpaces: number }, number]>([\n [{ number: 123.456789, decimalSpaces: 3 }, 123.456],\n [{ number: 123.3, decimalSpaces: 2 }, 123.3],\n [{ number: 123.3, decimalSpaces: 0 }, 123],\n ])(\"should handle fixedDecimalSpaces\", (params, expected) => {\n expect(fixedDecimalSpaces(params.number, params.decimalSpaces)).toBe(\n expected\n );\n });\n\n //numberWithSeparator\n it(\"should format number with thousand separator\", () => {\n const result = numberWithSeparator((1000.0).toFixed(3), \",\", \".\");\n expect(result).toBe(\"1,000.000\");\n });\n\n it(\"should format string number with thousand separator\", () => {\n const result = numberWithSeparator(\"1000\", \",\");\n expect(result).toBe(\"1,000\");\n });\n\n it(\"should format decimal number with thousand separator and keep decimal part\", () => {\n const result = numberWithSeparator(12345.67, \",\");\n expect(result).toBe(\"12,345.67\");\n });\n\n it(\"should not format when format is set to false\", () => {\n const result = numberWithSeparator(1000, \",\", \".\", false);\n expect(result).toBe(1000);\n });\n\n it(\"should handle zero with thousand separator\", () => {\n const result = numberWithSeparator(0, \",\");\n expect(result).toBe(\"0\");\n });\n\n it(\"should handle negative number with thousand separator\", () => {\n const result = numberWithSeparator(-123456789, \",\");\n expect(result).toBe(\"-123,456,789\");\n });\n\n it(\"should not format\", () => {\n const result = numberWithSeparator(123456789, \",\", \".\", false);\n expect(result).toBe(123456789);\n });\n\n //getNumberFromString\n it.each([\n [\n {\n number: \"1.000.000,256\",\n thousandSeparator: \".\",\n decimalSeparator: \",\",\n },\n 1000000.256,\n ],\n [\n { number: 1000000.256, thousandSeparator: \".\", decimalSeparator: \",\" },\n 1000000.256,\n ],\n [\n {\n number: \"1,000,000.256\",\n thousandSeparator: \",\",\n decimalSeparator: \".\",\n },\n 1000000.256,\n ],\n [{ number: \",256\", thousandSeparator: \".\", decimalSeparator: \",\" }, 0.256],\n [{ number: \"1562\", thousandSeparator: \".\", decimalSeparator: \",\" }, 1562],\n [{ number: \"1,2,3.4\", thousandSeparator: \".\", decimalSeparator: \",\" }, 0],\n [{ number: \"1562\", thousandSeparator: \",\", decimalSeparator: \".\" }, 1562],\n [\n { number: \"-1.562,25\", thousandSeparator: \".\", decimalSeparator: \",\" },\n -1562.25,\n ],\n [\n { number: \"-1 562.25\", thousandSeparator: \" \", decimalSeparator: \".\" },\n -1562.25,\n ],\n [\n { number: \"1562.50\", thousandSeparator: \".\", decimalSeparator: \",\" },\n 1562.5,\n ],\n [{ number: \"1562.\", thousandSeparator: \".\", decimalSeparator: \",\" }, 1562],\n ])(\"should handle getNumberFromString\", (params, expected) => {\n const { number, thousandSeparator, decimalSeparator } = params;\n\n expect(\n getNumberFromString(number, thousandSeparator, decimalSeparator)\n ).toBe(expected);\n });\n\n // please try to leave unformatted - ignore works for this block only\n // prettier-ignore\n it.each<[FormatCurrencyArgs, string]>([\n [\n { value: \"\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"\",\n ],\n [\n { value: 0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"right\" },\n \"0.00 USD\",\n ],\n [\n { value: \"10\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"10.00\",\n ],\n [\n { value: \"1000\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"right\" },\n \"1,000.00 USD\",\n ],\n [\n { value: \"1000.00\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"left\" },\n \"USD 1,000\",\n ],\n [\n { value: \"1200,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"EUR\", currencyCodePosition: \"right\" },\n \"1.200,50 EUR\",\n ],\n [\n { value: \"1200,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"1.200,50\",\n ],\n [\n { value: \"900,25\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"GBP\", currencyCodePosition: \"left\" },\n \"GBP 900,25\",\n ],\n [\n { value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"GBP\", currencyCodePosition: \"left\" },\n \"GBP 900,25\",\n ],\n [\n { value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\", currencyCode: \"JPY\", currencyCodePosition: \"right\" },\n \"1,150.66 JPY\",\n ],\n [\n { value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\", currencyCode: \"USD\", currencyCodePosition: \"left\" },\n \"USD 1.5M\",\n ],\n ])(\"should format currency correctly\", (args, expected) => {\n expect(\n formatCurrency(\n args.value,\n args.thousandSeparator,\n args.decimalSeparator,\n args.trimDecimals,\n args.decimalSpaces,\n args.format,\n args.currencyCode,\n args.currencyCodePosition\n )\n ).toEqual(expected);\n });\n});\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ export interface ChooseV2Option {
3
+ id: string | number;
4
+ name: string;
5
+ disabled?: boolean;
6
+ }
7
+ export interface ChooseV2Props {
8
+ required?: boolean;
9
+ multiple?: boolean;
10
+ invalid?: boolean;
11
+ options: ChooseV2Option[];
12
+ selected: (string | number)[];
13
+ onChange: (ids: (string | number)[]) => void;
14
+ }
15
+ export declare const ChooseV2: React.FC<ChooseV2Props>;
16
+ //# sourceMappingURL=ChooseV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChooseV2.d.ts","sourceRoot":"","sources":["../../../../src/components/ChooseV2/ChooseV2.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;CAC9C;AAUD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwC5C,CAAC"}
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ import styled, { css } from "styled-components";
3
+ import { ButtonGroup } from "../ButtonGroup";
4
+ import { Choose } from "../Choose";
5
+ const StyledChoose = styled(Choose).withConfig({
6
+ displayName: "ChooseV2__StyledChoose",
7
+ componentId: "sc-142e30o-0"
8
+ })(["", ""], props => !props.active && css(["background-color:transparent !important;"]));
9
+ export const ChooseV2 = _ref => {
10
+ let {
11
+ required = false,
12
+ multiple = false,
13
+ invalid = false,
14
+ options,
15
+ selected,
16
+ onChange
17
+ } = _ref;
18
+ const handleSelect = id => {
19
+ if (multiple) {
20
+ const newSelected = selected.includes(id) ? selected.filter(s => s !== id) : [...selected, id];
21
+ if (required && newSelected.length === 0) {
22
+ return;
23
+ }
24
+ onChange(newSelected);
25
+ } else {
26
+ if (required && selected.includes(id)) {
27
+ return;
28
+ }
29
+ const newSelected = selected.includes(id) ? [] : [id];
30
+ onChange(newSelected);
31
+ }
32
+ };
33
+ return /*#__PURE__*/React.createElement(ButtonGroup, {
34
+ invalid: invalid
35
+ }, options.map(option => /*#__PURE__*/React.createElement(StyledChoose, {
36
+ key: option.id,
37
+ active: selected.includes(option.id),
38
+ disabled: option.disabled,
39
+ onClick: () => handleSelect(option.id)
40
+ }, option.name)));
41
+ };
42
+ //# sourceMappingURL=ChooseV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChooseV2.js","names":["React","styled","css","ButtonGroup","Choose","StyledChoose","withConfig","displayName","componentId","props","active","ChooseV2","_ref","required","multiple","invalid","options","selected","onChange","handleSelect","id","newSelected","includes","filter","s","length","createElement","map","option","key","disabled","onClick","name"],"sources":["../../../../src/components/ChooseV2/ChooseV2.tsx"],"sourcesContent":["import React from \"react\";\n\nimport styled, { css } from \"styled-components\";\n\nimport { ButtonGroup } from \"../ButtonGroup\";\nimport { Choose } from \"../Choose\";\n\nexport interface ChooseV2Option {\n id: string | number;\n name: string;\n disabled?: boolean;\n}\n\nexport interface ChooseV2Props {\n required?: boolean;\n multiple?: boolean;\n invalid?: boolean;\n options: ChooseV2Option[];\n selected: (string | number)[];\n onChange: (ids: (string | number)[]) => void;\n}\n\nconst StyledChoose = styled(Choose)`\n ${(props) =>\n !props.active &&\n css`\n background-color: transparent !important;\n `}\n`;\n\nexport const ChooseV2: React.FC<ChooseV2Props> = ({\n required = false,\n multiple = false,\n invalid = false,\n options,\n selected,\n onChange,\n}) => {\n const handleSelect = (id: string | number) => {\n if (multiple) {\n const newSelected = selected.includes(id)\n ? selected.filter((s) => s !== id)\n : [...selected, id];\n if (required && newSelected.length === 0) {\n return;\n }\n onChange(newSelected);\n } else {\n if (required && selected.includes(id)) {\n return;\n }\n const newSelected = selected.includes(id) ? [] : [id];\n onChange(newSelected);\n }\n };\n\n return (\n <ButtonGroup invalid={invalid}>\n {options.map((option) => (\n <StyledChoose\n key={option.id}\n active={selected.includes(option.id)}\n disabled={option.disabled}\n onClick={() => handleSelect(option.id)}\n >\n {option.name}\n </StyledChoose>\n ))}\n </ButtonGroup>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,MAAM,QAAQ,WAAW;AAiBlC,MAAMC,YAAY,GAAGJ,MAAM,CAACG,MAAM,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAC9BC,KAAK,IACN,CAACA,KAAK,CAACC,MAAM,IACbR,GAAG,8CAEF,CACJ;AAED,OAAO,MAAMS,QAAiC,GAAGC,IAAA,IAO3C;EAAA,IAP4C;IAChDC,QAAQ,GAAG,KAAK;IAChBC,QAAQ,GAAG,KAAK;IAChBC,OAAO,GAAG,KAAK;IACfC,OAAO;IACPC,QAAQ;IACRC;EACF,CAAC,GAAAN,IAAA;EACC,MAAMO,YAAY,GAAIC,EAAmB,IAAK;IAC5C,IAAIN,QAAQ,EAAE;MACZ,MAAMO,WAAW,GAAGJ,QAAQ,CAACK,QAAQ,CAACF,EAAE,CAAC,GACrCH,QAAQ,CAACM,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,EAAE,CAAC,GAChC,CAAC,GAAGH,QAAQ,EAAEG,EAAE,CAAC;MACrB,IAAIP,QAAQ,IAAIQ,WAAW,CAACI,MAAM,KAAK,CAAC,EAAE;QACxC;MACF;MACAP,QAAQ,CAACG,WAAW,CAAC;IACvB,CAAC,MAAM;MACL,IAAIR,QAAQ,IAAII,QAAQ,CAACK,QAAQ,CAACF,EAAE,CAAC,EAAE;QACrC;MACF;MACA,MAAMC,WAAW,GAAGJ,QAAQ,CAACK,QAAQ,CAACF,EAAE,CAAC,GAAG,EAAE,GAAG,CAACA,EAAE,CAAC;MACrDF,QAAQ,CAACG,WAAW,CAAC;IACvB;EACF,CAAC;EAED,oBACErB,KAAA,CAAA0B,aAAA,CAACvB,WAAW;IAACY,OAAO,EAAEA;EAAQ,GAC3BC,OAAO,CAACW,GAAG,CAAEC,MAAM,iBAClB5B,KAAA,CAAA0B,aAAA,CAACrB,YAAY;IACXwB,GAAG,EAAED,MAAM,CAACR,EAAG;IACfV,MAAM,EAAEO,QAAQ,CAACK,QAAQ,CAACM,MAAM,CAACR,EAAE,CAAE;IACrCU,QAAQ,EAAEF,MAAM,CAACE,QAAS;IAC1BC,OAAO,EAAEA,CAAA,KAAMZ,YAAY,CAACS,MAAM,CAACR,EAAE;EAAE,GAEtCQ,MAAM,CAACI,IACI,CACf,CACU,CAAC;AAElB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./ChooseV2";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ChooseV2/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./ChooseV2";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/ChooseV2/index.ts"],"sourcesContent":["export * from \"./ChooseV2\";\n"],"mappings":"AAAA,cAAc,YAAY"}
@@ -3,6 +3,8 @@ import { InputProps } from "./Input";
3
3
  import { IInputNumber } from "../../hooks";
4
4
  export interface InputNumberProps extends Omit<InputProps, "value" | "onChange" | "step" | "onBlur">, IInputNumber {
5
5
  shortenThreshold?: number;
6
+ min?: number;
7
+ max?: number;
6
8
  }
7
9
  export declare const InputNumber: React.ForwardRefExoticComponent<InputNumberProps & React.RefAttributes<HTMLInputElement>>;
8
10
  //# sourceMappingURL=InputNumber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC,EAChE,YAAY;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,2FAwFvB,CAAC"}
1
+ {"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC,EAChE,YAAY;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,WAAW,2FAwFvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["React","forwardRef","useRef","Input","useInputNumber","useForkRef","InputNumber","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","invalid","step","thousandSeparator","value","defaultValue","onCancel","onSave","onEnterKeyPress","externalEnterKeyPress","allowEmptyValue","onChange","externalOnChange","onClick","externalOnClick","limit","placeholder","trimDecimals","min","max","onBlur","externalOnBlur","update","shortenThreshold","rest","inputRef","handleRef","onKeyDown","onFocus","onDoubleClick","createElement","_extends","type","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputNumberProps\n extends Omit<InputProps, \"value\" | \"onChange\" | \"step\" | \"onBlur\">,\n IInputNumber {\n shortenThreshold?: number;\n}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onCancel,\n onSave,\n onEnterKeyPress: externalEnterKeyPress,\n allowEmptyValue,\n onChange: externalOnChange,\n onClick: externalOnClick,\n limit,\n placeholder,\n trimDecimals = true,\n min,\n max,\n onBlur: externalOnBlur,\n update = false,\n shortenThreshold = 1000,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onFocus,\n onDoubleClick,\n } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n onEnterKeyPress: externalEnterKeyPress,\n onChange: externalOnChange,\n onClick: externalOnClick,\n value: defaultValue,\n onCancel,\n onSave,\n allowEmptyValue,\n limit,\n trimDecimals,\n min,\n max,\n onBlur: externalOnBlur,\n update,\n shortenThreshold,\n },\n inputRef\n );\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={placeholder}\n value={value}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onFocus={onFocus}\n aria-placeholder={placeholder}\n aria-disabled={disabled}\n aria-invalid={invalid}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAEjD,SAASC,KAAK,QAAoB,SAAS;AAC3C,SAAuBC,cAAc,QAAQ,aAAa;AAC1D,SAASC,UAAU,QAAQ,aAAa;AAQxC,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,CAAAM,IAAA,EA2BEC,GAAG,KACA;EAAA,IA3BH;IACEC,aAAa,GAAG,CAAC;IACjBC,gBAAgB,GAAG,GAAG;IACtBC,mBAAmB,GAAG,KAAK;IAC3BC,QAAQ;IACRC,aAAa,GAAG,KAAK;IACrBC,OAAO;IACPC,IAAI,GAAG,CAAC;IACRC,iBAAiB,GAAG,GAAG;IACvBC,KAAK,EAAEC,YAAY;IACnBC,QAAQ;IACRC,MAAM;IACNC,eAAe,EAAEC,qBAAqB;IACtCC,eAAe;IACfC,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBC,KAAK;IACLC,WAAW;IACXC,YAAY,GAAG,IAAI;IACnBC,GAAG;IACHC,GAAG;IACHC,MAAM,EAAEC,cAAc;IACtBC,MAAM,GAAG,KAAK;IACdC,gBAAgB,GAAG,IAAI;IACvB,GAAGC;EACL,CAAC,GAAA9B,IAAA;EAGD,MAAM+B,QAAQ,GAAGpC,MAAM,CAA0B,IAAI,CAAC;EACtD,MAAMqC,SAAS,GAAGlC,UAAU,CAACG,GAAG,EAAE8B,QAAQ,CAAC;EAE3C,MAAM;IACJrB,KAAK;IACLgB,MAAM;IACNO,SAAS;IACThB,QAAQ;IACRE,OAAO;IACPe,OAAO;IACPC;EACF,CAAC,GAAGtC,cAAc,CAChB;IACEK,aAAa;IACbC,gBAAgB;IAChBC,mBAAmB;IACnBE,aAAa;IACbE,IAAI;IACJC,iBAAiB;IACjBK,eAAe,EAAEC,qBAAqB;IACtCE,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBV,KAAK,EAAEC,YAAY;IACnBC,QAAQ;IACRC,MAAM;IACNG,eAAe;IACfK,KAAK;IACLE,YAAY;IACZC,GAAG;IACHC,GAAG;IACHC,MAAM,EAAEC,cAAc;IACtBC,MAAM;IACNC;EACF,CAAC,EACDE,QACF,CAAC;EAED,oBACEtC,KAAA,CAAA2C,aAAA,CAACxC,KAAK,EAAAyC,QAAA,KACAP,IAAI;IACR7B,GAAG,EAAE+B,SAAU;IACfV,WAAW,EAAEA,WAAY;IACzBZ,KAAK,EAAEA,KAAM;IACb4B,IAAI,EAAC,MAAM;IACXjC,QAAQ,EAAEA,QAAS;IACnBE,OAAO,EAAEA,OAAQ;IACjBU,QAAQ,EAAEA,QAAS;IACnBS,MAAM,EAAEA,MAAO;IACfO,SAAS,EAAEA,SAAU;IACrBd,OAAO,EAAEA,OAAQ;IACjBgB,aAAa,EAAEA,aAAc;IAC7BD,OAAO,EAAEA,OAAQ;IACjB,oBAAkBZ,WAAY;IAC9B,iBAAejB,QAAS;IACxB,gBAAcE;EAAQ,EACvB,CAAC;AAEN,CACF,CAAC;AAEDR,WAAW,CAACwC,WAAW,GAAG,aAAa"}
1
+ {"version":3,"file":"InputNumber.js","names":["React","forwardRef","useRef","Input","useInputNumber","useForkRef","InputNumber","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","invalid","step","thousandSeparator","value","defaultValue","onCancel","onSave","onEnterKeyPress","externalEnterKeyPress","allowEmptyValue","onChange","externalOnChange","onClick","externalOnClick","limit","placeholder","trimDecimals","min","max","onBlur","externalOnBlur","update","shortenThreshold","rest","inputRef","handleRef","onKeyDown","onFocus","onDoubleClick","createElement","_extends","type","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputNumberProps\n extends Omit<InputProps, \"value\" | \"onChange\" | \"step\" | \"onBlur\">,\n IInputNumber {\n shortenThreshold?: number;\n min?: number;\n max?: number;\n}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onCancel,\n onSave,\n onEnterKeyPress: externalEnterKeyPress,\n allowEmptyValue,\n onChange: externalOnChange,\n onClick: externalOnClick,\n limit,\n placeholder,\n trimDecimals = true,\n min,\n max,\n onBlur: externalOnBlur,\n update = false,\n shortenThreshold = 1000,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onFocus,\n onDoubleClick,\n } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n onEnterKeyPress: externalEnterKeyPress,\n onChange: externalOnChange,\n onClick: externalOnClick,\n value: defaultValue,\n onCancel,\n onSave,\n allowEmptyValue,\n limit,\n trimDecimals,\n min,\n max,\n onBlur: externalOnBlur,\n update,\n shortenThreshold,\n },\n inputRef\n );\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={placeholder}\n value={value}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onFocus={onFocus}\n aria-placeholder={placeholder}\n aria-disabled={disabled}\n aria-invalid={invalid}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAEjD,SAASC,KAAK,QAAoB,SAAS;AAC3C,SAAuBC,cAAc,QAAQ,aAAa;AAC1D,SAASC,UAAU,QAAQ,aAAa;AAUxC,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,CAAAM,IAAA,EA2BEC,GAAG,KACA;EAAA,IA3BH;IACEC,aAAa,GAAG,CAAC;IACjBC,gBAAgB,GAAG,GAAG;IACtBC,mBAAmB,GAAG,KAAK;IAC3BC,QAAQ;IACRC,aAAa,GAAG,KAAK;IACrBC,OAAO;IACPC,IAAI,GAAG,CAAC;IACRC,iBAAiB,GAAG,GAAG;IACvBC,KAAK,EAAEC,YAAY;IACnBC,QAAQ;IACRC,MAAM;IACNC,eAAe,EAAEC,qBAAqB;IACtCC,eAAe;IACfC,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBC,KAAK;IACLC,WAAW;IACXC,YAAY,GAAG,IAAI;IACnBC,GAAG;IACHC,GAAG;IACHC,MAAM,EAAEC,cAAc;IACtBC,MAAM,GAAG,KAAK;IACdC,gBAAgB,GAAG,IAAI;IACvB,GAAGC;EACL,CAAC,GAAA9B,IAAA;EAGD,MAAM+B,QAAQ,GAAGpC,MAAM,CAA0B,IAAI,CAAC;EACtD,MAAMqC,SAAS,GAAGlC,UAAU,CAACG,GAAG,EAAE8B,QAAQ,CAAC;EAE3C,MAAM;IACJrB,KAAK;IACLgB,MAAM;IACNO,SAAS;IACThB,QAAQ;IACRE,OAAO;IACPe,OAAO;IACPC;EACF,CAAC,GAAGtC,cAAc,CAChB;IACEK,aAAa;IACbC,gBAAgB;IAChBC,mBAAmB;IACnBE,aAAa;IACbE,IAAI;IACJC,iBAAiB;IACjBK,eAAe,EAAEC,qBAAqB;IACtCE,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBV,KAAK,EAAEC,YAAY;IACnBC,QAAQ;IACRC,MAAM;IACNG,eAAe;IACfK,KAAK;IACLE,YAAY;IACZC,GAAG;IACHC,GAAG;IACHC,MAAM,EAAEC,cAAc;IACtBC,MAAM;IACNC;EACF,CAAC,EACDE,QACF,CAAC;EAED,oBACEtC,KAAA,CAAA2C,aAAA,CAACxC,KAAK,EAAAyC,QAAA,KACAP,IAAI;IACR7B,GAAG,EAAE+B,SAAU;IACfV,WAAW,EAAEA,WAAY;IACzBZ,KAAK,EAAEA,KAAM;IACb4B,IAAI,EAAC,MAAM;IACXjC,QAAQ,EAAEA,QAAS;IACnBE,OAAO,EAAEA,OAAQ;IACjBU,QAAQ,EAAEA,QAAS;IACnBS,MAAM,EAAEA,MAAO;IACfO,SAAS,EAAEA,SAAU;IACrBd,OAAO,EAAEA,OAAQ;IACjBgB,aAAa,EAAEA,aAAc;IAC7BD,OAAO,EAAEA,OAAQ;IACjB,oBAAkBZ,WAAY;IAC9B,iBAAejB,QAAS;IACxB,gBAAcE;EAAQ,EACvB,CAAC;AAEN,CACF,CAAC;AAEDR,WAAW,CAACwC,WAAW,GAAG,aAAa"}
@@ -35,6 +35,7 @@ export * from "./AutoResizeTextarea";
35
35
  export * from "./Overlay";
36
36
  export * from "./Accordion";
37
37
  export * from "./Choose";
38
+ export * from "./ChooseV2";
38
39
  export * from "./Links";
39
40
  export * from "./SelectDate";
40
41
  export * from "./Popper";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -35,6 +35,7 @@ export * from "./AutoResizeTextarea";
35
35
  export * from "./Overlay";
36
36
  export * from "./Accordion";
37
37
  export * from "./Choose";
38
+ export * from "./ChooseV2";
38
39
  export * from "./Links";
39
40
  export * from "./SelectDate";
40
41
  export * from "./Popper";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./EntitiesHeader\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Display\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./SelectTime\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./EditableHours\";\nexport * from \"./EditableCurrency\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\nexport * from \"./Badge\";\nexport * from \"./AvatarGroup\";\nexport * from \"./CommandPalette\";\nexport * from \"./EmptySlate\";\nexport * from \"./Toolbar\";\nexport * from \"./InfoBox\";\nexport * from \"./Sort\";\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,sBAAsB;AACpC,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,0BAA0B;AACxC,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,oBAAoB;AAClC,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,kBAAkB;AAChC,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,QAAQ"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./EntitiesHeader\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Display\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./ChooseV2\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./SelectTime\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./EditableHours\";\nexport * from \"./EditableCurrency\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\nexport * from \"./Badge\";\nexport * from \"./AvatarGroup\";\nexport * from \"./CommandPalette\";\nexport * from \"./EmptySlate\";\nexport * from \"./Toolbar\";\nexport * from \"./InfoBox\";\nexport * from \"./Sort\";\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,sBAAsB;AACpC,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,0BAA0B;AACxC,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,oBAAoB;AAClC,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,kBAAkB;AAChC,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,QAAQ"}