@activecollab/components 2.0.93 → 2.0.95

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 (57) hide show
  1. package/dist/cjs/components/AutoResizeTextarea/AutoResizeTextarea.js +4 -1
  2. package/dist/cjs/components/AutoResizeTextarea/AutoResizeTextarea.js.map +1 -1
  3. package/dist/cjs/components/EditableCurrency/EditableCurrency.js +8 -5
  4. package/dist/cjs/components/EditableCurrency/EditableCurrency.js.map +1 -1
  5. package/dist/cjs/components/Input/Input.js +6 -1
  6. package/dist/cjs/components/Input/Input.js.map +1 -1
  7. package/dist/cjs/components/Input/InputNumber.js +5 -2
  8. package/dist/cjs/components/Input/InputNumber.js.map +1 -1
  9. package/dist/cjs/components/Input/Styles.js +7 -3
  10. package/dist/cjs/components/Input/Styles.js.map +1 -1
  11. package/dist/cjs/components/Input/types.js.map +1 -1
  12. package/dist/cjs/components/Textarea/Styles.js +7 -3
  13. package/dist/cjs/components/Textarea/Styles.js.map +1 -1
  14. package/dist/cjs/components/Textarea/Textarea.js +5 -1
  15. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  16. package/dist/cjs/hooks/useInputNumber.js +9 -7
  17. package/dist/cjs/hooks/useInputNumber.js.map +1 -1
  18. package/dist/esm/components/AutoResizeTextarea/AutoResizeTextarea.d.ts +2 -0
  19. package/dist/esm/components/AutoResizeTextarea/AutoResizeTextarea.d.ts.map +1 -1
  20. package/dist/esm/components/AutoResizeTextarea/AutoResizeTextarea.js +2 -0
  21. package/dist/esm/components/AutoResizeTextarea/AutoResizeTextarea.js.map +1 -1
  22. package/dist/esm/components/AutoResizeTextarea/Styles.d.ts +1 -1
  23. package/dist/esm/components/AutoResizeTextarea/Styles.d.ts.map +1 -1
  24. package/dist/esm/components/EditableCurrency/EditableCurrency.d.ts.map +1 -1
  25. package/dist/esm/components/EditableCurrency/EditableCurrency.js +6 -4
  26. package/dist/esm/components/EditableCurrency/EditableCurrency.js.map +1 -1
  27. package/dist/esm/components/Input/Input.d.ts +2 -1
  28. package/dist/esm/components/Input/Input.d.ts.map +1 -1
  29. package/dist/esm/components/Input/Input.js +4 -0
  30. package/dist/esm/components/Input/Input.js.map +1 -1
  31. package/dist/esm/components/Input/InputNumber.d.ts.map +1 -1
  32. package/dist/esm/components/Input/InputNumber.js +3 -1
  33. package/dist/esm/components/Input/InputNumber.js.map +1 -1
  34. package/dist/esm/components/Input/Styles.d.ts +4 -1
  35. package/dist/esm/components/Input/Styles.d.ts.map +1 -1
  36. package/dist/esm/components/Input/Styles.js +2 -2
  37. package/dist/esm/components/Input/Styles.js.map +1 -1
  38. package/dist/esm/components/Input/types.d.ts +1 -0
  39. package/dist/esm/components/Input/types.d.ts.map +1 -1
  40. package/dist/esm/components/Input/types.js.map +1 -1
  41. package/dist/esm/components/Textarea/Styles.d.ts +2 -0
  42. package/dist/esm/components/Textarea/Styles.d.ts.map +1 -1
  43. package/dist/esm/components/Textarea/Styles.js +5 -5
  44. package/dist/esm/components/Textarea/Styles.js.map +1 -1
  45. package/dist/esm/components/Textarea/Textarea.d.ts +3 -1
  46. package/dist/esm/components/Textarea/Textarea.d.ts.map +1 -1
  47. package/dist/esm/components/Textarea/Textarea.js +3 -0
  48. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  49. package/dist/esm/hooks/useInputNumber.d.ts +2 -1
  50. package/dist/esm/hooks/useInputNumber.d.ts.map +1 -1
  51. package/dist/esm/hooks/useInputNumber.js +8 -7
  52. package/dist/esm/hooks/useInputNumber.js.map +1 -1
  53. package/dist/index.js +51 -23
  54. package/dist/index.js.map +1 -1
  55. package/dist/index.min.js +1 -1
  56. package/dist/index.min.js.map +1 -1
  57. package/package.json +1 -1
@@ -31,17 +31,19 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
31
31
  allowEmptyValue = _ref.allowEmptyValue,
32
32
  _ref$step = _ref.step,
33
33
  step = _ref$step === void 0 ? 1 : _ref$step,
34
+ _ref$trimDecimals = _ref.trimDecimals,
35
+ trimDecimals = _ref$trimDecimals === void 0 ? true : _ref$trimDecimals,
34
36
  limit = _ref.limit,
35
37
  _ref$validation = _ref.validation,
36
38
  validation = _ref$validation === void 0 ? _utils.validateNumberInput : _ref$validation;
37
39
  var _useState = (0, _react.useState)(function () {
38
- return disableAbbreviation ? value : (0, _currencyUtils.formatNumber)(value, thousandSeparator);
40
+ return disableAbbreviation ? value : (0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength);
39
41
  }),
40
42
  _useState2 = _slicedToArray(_useState, 2),
41
43
  currentValue = _useState2[0],
42
44
  setCurrentValue = _useState2[1];
43
45
  var _useState3 = (0, _react.useState)(function () {
44
- return disableAbbreviation ? value : (0, _currencyUtils.formatNumber)(value, thousandSeparator);
46
+ return disableAbbreviation ? value : (0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength);
45
47
  }),
46
48
  _useState4 = _slicedToArray(_useState3, 2),
47
49
  prevValue = _useState4[0],
@@ -54,12 +56,12 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
54
56
  setUnformattedValue = _useState6[1];
55
57
  (0, _react.useEffect)(function () {
56
58
  if (value !== prevValue) {
57
- setCurrentValue(disableAbbreviation ? value : (0, _currencyUtils.formatNumber)(value, thousandSeparator));
58
- setPrevValue(disableAbbreviation ? value : (0, _currencyUtils.formatNumber)(value, thousandSeparator));
59
+ setCurrentValue(disableAbbreviation ? value : (0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength));
60
+ setPrevValue(disableAbbreviation ? value : (0, _currencyUtils.formatNumber)(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength));
59
61
  setUnformattedValue(value);
60
62
  }
61
63
  // eslint-disable-next-line react-hooks/exhaustive-deps
62
- }, [disableAbbreviation, thousandSeparator, value]);
64
+ }, [disableAbbreviation, thousandSeparator, decimalSeparator, decimalLength, trimDecimals, value]);
63
65
  var _useState7 = (0, _react.useState)(false),
64
66
  _useState8 = _slicedToArray(_useState7, 2),
65
67
  focused = _useState8[0],
@@ -71,7 +73,7 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
71
73
  setUnformattedValue(prevValue);
72
74
  } else {
73
75
  if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {
74
- var _value = disableAbbreviation ? currentValue : (0, _currencyUtils.formatNumber)(currentValue, thousandSeparator);
76
+ var _value = disableAbbreviation ? currentValue : (0, _currencyUtils.formatNumber)(currentValue, thousandSeparator, decimalSeparator, trimDecimals, decimalLength);
75
77
  setPrevValue(_value);
76
78
  setUnformattedValue(currentValue);
77
79
  setCurrentValue(_value);
@@ -91,7 +93,7 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
91
93
  }
92
94
  }
93
95
  setFocused(false);
94
- }, [allowEmptyValue, disableAbbreviation, onCancel, onSave, prevValue, thousandSeparator, currentValue]);
96
+ }, [prevValue, disableAbbreviation, currentValue, thousandSeparator, decimalSeparator, decimalLength, trimDecimals, onSave, allowEmptyValue, onCancel]);
95
97
  var updateValue = (0, _react.useCallback)(function (type) {
96
98
  var value = String(unformattedValue);
97
99
  var decimalPart = "";
@@ -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","limit","_ref$validation","validation","validateNumberInput","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","useEffect","_useState7","_useState8","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","updateValue","type","String","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","indexOf","parseFloat","toFixed","joinedValue","numberWithSeparator","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","newValue","substring","Boolean","handleChange","inputValue","numericInput","replace","_","num","unit","currencyMultiplier","toLowerCase","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useMemo,\n useEffect,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport {\n currencyMultiplier,\n formatNumber,\n numberWithSeparator,\n} from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\" | \" \";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n onSave?: (e: Event) => void;\n value?: string | number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value = \"\",\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n limit,\n validation = validateNumberInput,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [prevValue, setPrevValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [unformattedValue, setUnformattedValue] = useState(() => value);\n\n useEffect(() => {\n if (value !== prevValue) {\n setCurrentValue(\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n setPrevValue(\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n setUnformattedValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [disableAbbreviation, thousandSeparator, value]);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = disableAbbreviation\n ? currentValue\n : formatNumber(currentValue as string, thousandSeparator);\n setPrevValue(_value);\n setUnformattedValue(currentValue);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n allowEmptyValue,\n disableAbbreviation,\n onCancel,\n onSave,\n prevValue,\n thousandSeparator,\n currentValue,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const value = String(unformattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\n\n if (!value) {\n return;\n }\n\n if (value.includes(decimalSeparator)) {\n nonDecimalPart = value\n .slice(0, value.indexOf(decimalSeparator))\n .replaceAll(thousandSeparator, \"\");\n }\n\n if (value.includes(decimalSeparator)) {\n decimalPart = value.slice(value.indexOf(decimalSeparator));\n }\n\n if (type === \"increment\") {\n increasedValue = parseFloat(nonDecimalPart) + step;\n } else {\n increasedValue = parseFloat(nonDecimalPart) - step;\n }\n\n if (value.includes(decimalSeparator)) {\n increasedValue = parseFloat(increasedValue.toFixed(decimalLength));\n }\n\n const joinedValue = numberWithSeparator(\n increasedValue,\n thousandSeparator,\n decimalSeparator,\n value.includes(thousandSeparator)\n );\n\n setUnformattedValue(\n decimalPart ? joinedValue + decimalPart : joinedValue\n );\n setCurrentValue(decimalPart ? joinedValue + decimalPart : joinedValue);\n },\n [decimalLength, decimalSeparator, step, thousandSeparator, unformattedValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n unformattedValue,\n };\n }, [\n currentValue,\n handleBlur,\n handleKeyDown,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleFocus,\n focused,\n unformattedValue,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
1
+ {"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","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","useEffect","_useState7","_useState8","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","updateValue","type","String","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","indexOf","parseFloat","toFixed","joinedValue","numberWithSeparator","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","newValue","substring","Boolean","handleChange","inputValue","numericInput","replace","_","num","unit","currencyMultiplier","toLowerCase","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useMemo,\n useEffect,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport {\n currencyMultiplier,\n formatNumber,\n numberWithSeparator,\n} from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\" | \" \";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n 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 validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value = \"\",\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n trimDecimals = true,\n limit,\n validation = validateNumberInput,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength\n )\n );\n const [prevValue, setPrevValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength\n )\n );\n const [unformattedValue, setUnformattedValue] = useState(() => value);\n\n useEffect(() => {\n if (value !== prevValue) {\n setCurrentValue(\n disableAbbreviation\n ? value\n : formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength\n )\n );\n setPrevValue(\n disableAbbreviation\n ? value\n : formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength\n )\n );\n setUnformattedValue(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 ]);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = disableAbbreviation\n ? currentValue\n : formatNumber(\n currentValue as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength\n );\n setPrevValue(_value);\n setUnformattedValue(currentValue);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n prevValue,\n disableAbbreviation,\n currentValue,\n thousandSeparator,\n decimalSeparator,\n decimalLength,\n trimDecimals,\n onSave,\n allowEmptyValue,\n onCancel,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const value = String(unformattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\n\n if (!value) {\n return;\n }\n\n if (value.includes(decimalSeparator)) {\n nonDecimalPart = value\n .slice(0, value.indexOf(decimalSeparator))\n .replaceAll(thousandSeparator, \"\");\n }\n\n if (value.includes(decimalSeparator)) {\n decimalPart = value.slice(value.indexOf(decimalSeparator));\n }\n\n if (type === \"increment\") {\n increasedValue = parseFloat(nonDecimalPart) + step;\n } else {\n increasedValue = parseFloat(nonDecimalPart) - step;\n }\n\n if (value.includes(decimalSeparator)) {\n increasedValue = parseFloat(increasedValue.toFixed(decimalLength));\n }\n\n const joinedValue = numberWithSeparator(\n increasedValue,\n thousandSeparator,\n decimalSeparator,\n value.includes(thousandSeparator)\n );\n\n setUnformattedValue(\n decimalPart ? joinedValue + decimalPart : joinedValue\n );\n setCurrentValue(decimalPart ? joinedValue + decimalPart : joinedValue);\n },\n [decimalLength, decimalSeparator, step, thousandSeparator, unformattedValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n unformattedValue,\n };\n }, [\n currentValue,\n handleBlur,\n handleKeyDown,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleFocus,\n focused,\n unformattedValue,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { InputMode } from "../Input/types";
2
3
  export interface IAutoResizeTextarea extends React.ComponentPropsWithoutRef<"textarea"> {
3
4
  minRows?: number;
4
5
  maxRows?: number;
@@ -6,6 +7,7 @@ export interface IAutoResizeTextarea extends React.ComponentPropsWithoutRef<"tex
6
7
  preventNewRowOnEnter?: boolean;
7
8
  cursorAtTextEnd?: boolean;
8
9
  value?: string;
10
+ mode?: InputMode;
9
11
  }
10
12
  export declare const AutoResizeTextarea: React.ForwardRefExoticComponent<IAutoResizeTextarea & React.RefAttributes<HTMLTextAreaElement>>;
11
13
  //# sourceMappingURL=AutoResizeTextarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoResizeTextarea.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoResizeTextarea/AutoResizeTextarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,mBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,UAAU,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,iGA+F9B,CAAC"}
1
+ {"version":3,"file":"AutoResizeTextarea.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoResizeTextarea/AutoResizeTextarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,mBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,UAAU,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,iGAiG9B,CAAC"}
@@ -14,6 +14,7 @@ export const AutoResizeTextarea = /*#__PURE__*/forwardRef((_ref, ref) => {
14
14
  cursorAtTextEnd = false,
15
15
  onKeyDown,
16
16
  value,
17
+ mode = "outlined",
17
18
  ...rest
18
19
  } = _ref;
19
20
  const innerRef = useRef(null);
@@ -59,6 +60,7 @@ export const AutoResizeTextarea = /*#__PURE__*/forwardRef((_ref, ref) => {
59
60
  onKeyDown: handleTextAreaKeyDown,
60
61
  onFocus: handleFocus,
61
62
  rows: rows,
63
+ mode: mode,
62
64
  className: classnames("c-autoresizetextarea", className),
63
65
  style: {
64
66
  minHeight: lineHeight + "px",
@@ -1 +1 @@
1
- {"version":3,"file":"AutoResizeTextarea.js","names":["React","useState","useCallback","forwardRef","useRef","useEffect","classnames","StyledAutoResizeTextarea","useForkRef","AutoResizeTextarea","_ref","ref","minRows","maxRows","lineHeight","onChange","className","preventNewRowOnEnter","cursorAtTextEnd","onKeyDown","value","rest","innerRef","rows","setRows","handleRef","calcRows","elem","previousRows","currentRows","Math","floor","scrollHeight","scrollTop","current","handleOnChange","e","target","handleFocus","setSelectionRange","length","handleTextAreaKeyDown","key","preventDefault","createElement","_extends","onFocus","style","minHeight","displayName"],"sources":["../../../../src/components/AutoResizeTextarea/AutoResizeTextarea.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n ChangeEvent,\n KeyboardEvent,\n FocusEvent,\n Ref,\n forwardRef,\n useRef,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledAutoResizeTextarea } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\n\nexport interface IAutoResizeTextarea\n extends React.ComponentPropsWithoutRef<\"textarea\"> {\n minRows?: number;\n maxRows?: number;\n lineHeight?: number;\n preventNewRowOnEnter?: boolean;\n cursorAtTextEnd?: boolean;\n value?: string;\n}\n\nexport const AutoResizeTextarea = forwardRef(\n (\n {\n minRows = 1,\n maxRows = 6,\n lineHeight = 18,\n onChange,\n className,\n preventNewRowOnEnter = false,\n cursorAtTextEnd = false,\n onKeyDown,\n value,\n ...rest\n }: IAutoResizeTextarea,\n ref: Ref<HTMLTextAreaElement> | null | undefined\n ) => {\n const innerRef = useRef<HTMLTextAreaElement | null>(null);\n const [rows, setRows] = useState(minRows);\n\n const handleRef = useForkRef(ref, innerRef);\n\n const calcRows = useCallback(\n (elem: HTMLTextAreaElement | null) => {\n if (elem) {\n const previousRows = elem.rows || minRows;\n\n elem.rows = minRows;\n const currentRows = Math.floor(elem.scrollHeight / lineHeight);\n\n if (currentRows === previousRows) {\n elem.rows = currentRows;\n }\n\n if (currentRows >= maxRows) {\n elem.rows = maxRows;\n elem.scrollTop = elem.scrollHeight;\n }\n\n setRows(currentRows < maxRows ? currentRows : maxRows);\n }\n },\n [lineHeight, maxRows, minRows]\n );\n\n useEffect(() => {\n calcRows(innerRef.current);\n }, [value, calcRows]);\n\n const handleOnChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement>) => {\n calcRows(e.target);\n typeof onChange === \"function\" && onChange(e);\n },\n [onChange, calcRows]\n );\n\n const handleFocus = useCallback(\n (e: FocusEvent<HTMLTextAreaElement>) => {\n if (cursorAtTextEnd) {\n e.target.setSelectionRange(\n e.target.value.length,\n e.target.value.length\n );\n }\n },\n [cursorAtTextEnd]\n );\n\n const handleTextAreaKeyDown = useCallback(\n (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (preventNewRowOnEnter && e.key === \"Enter\") {\n e.preventDefault();\n }\n typeof onKeyDown === \"function\" && onKeyDown(e);\n },\n [preventNewRowOnEnter, onKeyDown]\n );\n\n return (\n <StyledAutoResizeTextarea\n {...rest}\n value={value}\n ref={handleRef}\n onChange={handleOnChange}\n onKeyDown={handleTextAreaKeyDown}\n onFocus={handleFocus}\n rows={rows}\n className={classnames(\"c-autoresizetextarea\", className)}\n style={{\n minHeight: `${lineHeight}px`,\n lineHeight: `${lineHeight}px`,\n }}\n />\n );\n }\n);\n\nAutoResizeTextarea.displayName = \"AutoResizeTextarea\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"AutoResizeTextarea.js","names":["React","useState","useCallback","forwardRef","useRef","useEffect","classnames","StyledAutoResizeTextarea","useForkRef","AutoResizeTextarea","_ref","ref","minRows","maxRows","lineHeight","onChange","className","preventNewRowOnEnter","cursorAtTextEnd","onKeyDown","value","mode","rest","innerRef","rows","setRows","handleRef","calcRows","elem","previousRows","currentRows","Math","floor","scrollHeight","scrollTop","current","handleOnChange","e","target","handleFocus","setSelectionRange","length","handleTextAreaKeyDown","key","preventDefault","createElement","_extends","onFocus","style","minHeight","displayName"],"sources":["../../../../src/components/AutoResizeTextarea/AutoResizeTextarea.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n ChangeEvent,\n KeyboardEvent,\n FocusEvent,\n Ref,\n forwardRef,\n useRef,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledAutoResizeTextarea } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { InputMode } from \"../Input/types\";\n\nexport interface IAutoResizeTextarea\n extends React.ComponentPropsWithoutRef<\"textarea\"> {\n minRows?: number;\n maxRows?: number;\n lineHeight?: number;\n preventNewRowOnEnter?: boolean;\n cursorAtTextEnd?: boolean;\n value?: string;\n mode?: InputMode;\n}\n\nexport const AutoResizeTextarea = forwardRef(\n (\n {\n minRows = 1,\n maxRows = 6,\n lineHeight = 18,\n onChange,\n className,\n preventNewRowOnEnter = false,\n cursorAtTextEnd = false,\n onKeyDown,\n value,\n mode = \"outlined\",\n ...rest\n }: IAutoResizeTextarea,\n ref: Ref<HTMLTextAreaElement> | null | undefined\n ) => {\n const innerRef = useRef<HTMLTextAreaElement | null>(null);\n const [rows, setRows] = useState(minRows);\n\n const handleRef = useForkRef(ref, innerRef);\n\n const calcRows = useCallback(\n (elem: HTMLTextAreaElement | null) => {\n if (elem) {\n const previousRows = elem.rows || minRows;\n\n elem.rows = minRows;\n const currentRows = Math.floor(elem.scrollHeight / lineHeight);\n\n if (currentRows === previousRows) {\n elem.rows = currentRows;\n }\n\n if (currentRows >= maxRows) {\n elem.rows = maxRows;\n elem.scrollTop = elem.scrollHeight;\n }\n\n setRows(currentRows < maxRows ? currentRows : maxRows);\n }\n },\n [lineHeight, maxRows, minRows]\n );\n\n useEffect(() => {\n calcRows(innerRef.current);\n }, [value, calcRows]);\n\n const handleOnChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement>) => {\n calcRows(e.target);\n typeof onChange === \"function\" && onChange(e);\n },\n [onChange, calcRows]\n );\n\n const handleFocus = useCallback(\n (e: FocusEvent<HTMLTextAreaElement>) => {\n if (cursorAtTextEnd) {\n e.target.setSelectionRange(\n e.target.value.length,\n e.target.value.length\n );\n }\n },\n [cursorAtTextEnd]\n );\n\n const handleTextAreaKeyDown = useCallback(\n (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (preventNewRowOnEnter && e.key === \"Enter\") {\n e.preventDefault();\n }\n typeof onKeyDown === \"function\" && onKeyDown(e);\n },\n [preventNewRowOnEnter, onKeyDown]\n );\n\n return (\n <StyledAutoResizeTextarea\n {...rest}\n value={value}\n ref={handleRef}\n onChange={handleOnChange}\n onKeyDown={handleTextAreaKeyDown}\n onFocus={handleFocus}\n rows={rows}\n mode={mode}\n className={classnames(\"c-autoresizetextarea\", className)}\n style={{\n minHeight: `${lineHeight}px`,\n lineHeight: `${lineHeight}px`,\n }}\n />\n );\n }\n);\n\nAutoResizeTextarea.displayName = \"AutoResizeTextarea\";\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledAutoResizeTextarea: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Textarea").TextareaProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref">, "invalid"> & import("react").RefAttributes<HTMLTextAreaElement>>, any, {}, never>;
2
+ export declare const StyledAutoResizeTextarea: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Textarea").TextareaProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref">, keyof import("../Textarea").TextareaProps> & import("react").RefAttributes<HTMLTextAreaElement>>, any, {}, never>;
3
3
  //# sourceMappingURL=Styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoResizeTextarea/Styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,wBAAwB,sVAIpC,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoResizeTextarea/Styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,wBAAwB,sXAIpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAmB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,MAAM,WAAW,qBACf,SAAQ,wBAAwB,EAC9B,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,8FAqF5B,CAAC"}
1
+ {"version":3,"file":"EditableCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAmB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,MAAM,WAAW,qBACf,SAAQ,wBAAwB,EAC9B,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,8FAgG5B,CAAC"}
@@ -20,6 +20,7 @@ export const EditableCurrency = /*#__PURE__*/React.forwardRef((_ref, ref) => {
20
20
  onEnterKeyPress: externalEnterKeyPress,
21
21
  onClick: externalOnClick,
22
22
  onChange: externalOnChange,
23
+ trimDecimals = true,
23
24
  ...rest
24
25
  } = _ref;
25
26
  const inputRef = useRef(null);
@@ -39,7 +40,8 @@ export const EditableCurrency = /*#__PURE__*/React.forwardRef((_ref, ref) => {
39
40
  onCancel,
40
41
  onChange: externalOnChange,
41
42
  onEnterKeyPress: externalEnterKeyPress,
42
- onClick: externalOnClick
43
+ onClick: externalOnClick,
44
+ trimDecimals
43
45
  }, inputRef);
44
46
  const {
45
47
  value,
@@ -53,10 +55,10 @@ export const EditableCurrency = /*#__PURE__*/React.forwardRef((_ref, ref) => {
53
55
  unformattedValue
54
56
  } = inputProps;
55
57
  const formattedValue = useMemo(() => {
56
- return focused ? value : numberWithSeparator(value != null ? value : "", thousandSeparator);
57
- }, [focused, value, thousandSeparator]);
58
+ return focused ? value : numberWithSeparator(value != null ? value : "", thousandSeparator, decimalSeparator);
59
+ }, [focused, value, thousandSeparator, decimalSeparator]);
58
60
  return /*#__PURE__*/React.createElement(Tooltip, {
59
- title: unformattedValue,
61
+ title: numberWithSeparator(unformattedValue != null ? unformattedValue : "", thousandSeparator, decimalSeparator),
60
62
  disable: focused
61
63
  }, /*#__PURE__*/React.createElement(EditableContent, {
62
64
  disabled: disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCurrency.js","names":["React","useMemo","useRef","useInputNumber","numberWithSeparator","useForkRef","EditableContent","Tooltip","EditableCurrency","forwardRef","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","step","thousandSeparator","value","defaultValue","onSave","onCancel","className","allowEmptyValue","onEnterKeyPress","externalEnterKeyPress","onClick","externalOnClick","onChange","externalOnChange","rest","inputRef","handleRef","inputProps","onBlur","onKeyDown","onDoubleClick","onFocus","focused","unformattedValue","formattedValue","createElement","title","disable","displayName"],"sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"sourcesContent":["import React, { useMemo, useRef } from \"react\";\n\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { numberWithSeparator, useForkRef } from \"../../utils\";\nimport { EditableContent, EditableContentInterface } from \"../EditableContent\";\nimport { Tooltip } from \"../Tooltip\";\n\nexport interface EditableCurrencyProps\n extends EditableContentInterface,\n Omit<IInputNumber, \"limit\"> {\n className?: string;\n}\n\nexport const EditableCurrency = React.forwardRef<\n HTMLDivElement,\n EditableCurrencyProps\n>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onSave,\n onCancel,\n className,\n allowEmptyValue,\n onEnterKeyPress: externalEnterKeyPress,\n onClick: externalOnClick,\n onChange: externalOnChange,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const { inputProps } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n value: defaultValue,\n onSave,\n allowEmptyValue,\n onCancel,\n onChange: externalOnChange,\n onEnterKeyPress: externalEnterKeyPress,\n onClick: externalOnClick,\n },\n inputRef\n );\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onDoubleClick,\n onFocus,\n focused,\n unformattedValue,\n } = inputProps;\n\n const formattedValue = useMemo(() => {\n return focused\n ? value\n : numberWithSeparator(value ?? \"\", thousandSeparator);\n }, [focused, value, thousandSeparator]);\n\n return (\n <Tooltip title={unformattedValue as string} disable={focused}>\n <EditableContent\n disabled={disabled}\n ref={handleRef}\n className={className}\n inputProps={{\n value: formattedValue,\n onBlur: onBlur,\n onChange: onChange,\n onKeyDown: onKeyDown,\n onClick: onClick,\n onFocus: onFocus,\n onDoubleClick: onDoubleClick,\n ...rest,\n }}\n />\n </Tooltip>\n );\n }\n);\n\nEditableCurrency.displayName = \"EditableCurrency\";\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAE9C,SAAuBC,cAAc,QAAQ,aAAa;AAC1D,SAASC,mBAAmB,EAAEC,UAAU,QAAQ,aAAa;AAC7D,SAASC,eAAe,QAAkC,oBAAoB;AAC9E,SAASC,OAAO,QAAQ,YAAY;AAQpC,OAAO,MAAMC,gBAAgB,gBAAGR,KAAK,CAACS,UAAU,CAI9C,CAAAC,IAAA,EAmBEC,GAAG,KACA;EAAA,IAnBH;IACEC,aAAa,GAAG,CAAC;IACjBC,gBAAgB,GAAG,GAAG;IACtBC,mBAAmB,GAAG,KAAK;IAC3BC,QAAQ;IACRC,aAAa,GAAG,KAAK;IACrBC,IAAI,GAAG,CAAC;IACRC,iBAAiB,GAAG,GAAG;IACvBC,KAAK,EAAEC,YAAY;IACnBC,MAAM;IACNC,QAAQ;IACRC,SAAS;IACTC,eAAe;IACfC,eAAe,EAAEC,qBAAqB;IACtCC,OAAO,EAAEC,eAAe;IACxBC,QAAQ,EAAEC,gBAAgB;IAC1B,GAAGC;EACL,CAAC,GAAArB,IAAA;EAGD,MAAMsB,QAAQ,GAAG9B,MAAM,CAAmB,IAAI,CAAC;EAC/C,MAAM+B,SAAS,GAAG5B,UAAU,CAACM,GAAG,EAAEqB,QAAQ,CAAC;EAE3C,MAAM;IAAEE;EAAW,CAAC,GAAG/B,cAAc,CACnC;IACES,aAAa;IACbC,gBAAgB;IAChBC,mBAAmB;IACnBE,aAAa;IACbC,IAAI;IACJC,iBAAiB;IACjBC,KAAK,EAAEC,YAAY;IACnBC,MAAM;IACNG,eAAe;IACfF,QAAQ;IACRO,QAAQ,EAAEC,gBAAgB;IAC1BL,eAAe,EAAEC,qBAAqB;IACtCC,OAAO,EAAEC;EACX,CAAC,EACDI,QACF,CAAC;EAED,MAAM;IACJb,KAAK;IACLgB,MAAM;IACNC,SAAS;IACTP,QAAQ;IACRF,OAAO;IACPU,aAAa;IACbC,OAAO;IACPC,OAAO;IACPC;EACF,CAAC,GAAGN,UAAU;EAEd,MAAMO,cAAc,GAAGxC,OAAO,CAAC,MAAM;IACnC,OAAOsC,OAAO,GACVpB,KAAK,GACLf,mBAAmB,CAACe,KAAK,WAALA,KAAK,GAAI,EAAE,EAAED,iBAAiB,CAAC;EACzD,CAAC,EAAE,CAACqB,OAAO,EAAEpB,KAAK,EAAED,iBAAiB,CAAC,CAAC;EAEvC,oBACElB,KAAA,CAAA0C,aAAA,CAACnC,OAAO;IAACoC,KAAK,EAAEH,gBAA2B;IAACI,OAAO,EAAEL;EAAQ,gBAC3DvC,KAAA,CAAA0C,aAAA,CAACpC,eAAe;IACdS,QAAQ,EAAEA,QAAS;IACnBJ,GAAG,EAAEsB,SAAU;IACfV,SAAS,EAAEA,SAAU;IACrBW,UAAU,EAAE;MACVf,KAAK,EAAEsB,cAAc;MACrBN,MAAM,EAAEA,MAAM;MACdN,QAAQ,EAAEA,QAAQ;MAClBO,SAAS,EAAEA,SAAS;MACpBT,OAAO,EAAEA,OAAO;MAChBW,OAAO,EAAEA,OAAO;MAChBD,aAAa,EAAEA,aAAa;MAC5B,GAAGN;IACL;EAAE,CACH,CACM,CAAC;AAEd,CACF,CAAC;AAEDvB,gBAAgB,CAACqC,WAAW,GAAG,kBAAkB"}
1
+ {"version":3,"file":"EditableCurrency.js","names":["React","useMemo","useRef","useInputNumber","numberWithSeparator","useForkRef","EditableContent","Tooltip","EditableCurrency","forwardRef","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","step","thousandSeparator","value","defaultValue","onSave","onCancel","className","allowEmptyValue","onEnterKeyPress","externalEnterKeyPress","onClick","externalOnClick","onChange","externalOnChange","trimDecimals","rest","inputRef","handleRef","inputProps","onBlur","onKeyDown","onDoubleClick","onFocus","focused","unformattedValue","formattedValue","createElement","title","disable","displayName"],"sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"sourcesContent":["import React, { useMemo, useRef } from \"react\";\n\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { numberWithSeparator, useForkRef } from \"../../utils\";\nimport { EditableContent, EditableContentInterface } from \"../EditableContent\";\nimport { Tooltip } from \"../Tooltip\";\n\nexport interface EditableCurrencyProps\n extends EditableContentInterface,\n Omit<IInputNumber, \"limit\"> {\n className?: string;\n}\n\nexport const EditableCurrency = React.forwardRef<\n HTMLDivElement,\n EditableCurrencyProps\n>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onSave,\n onCancel,\n className,\n allowEmptyValue,\n onEnterKeyPress: externalEnterKeyPress,\n onClick: externalOnClick,\n onChange: externalOnChange,\n trimDecimals = true,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const { inputProps } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n value: defaultValue,\n onSave,\n allowEmptyValue,\n onCancel,\n onChange: externalOnChange,\n onEnterKeyPress: externalEnterKeyPress,\n onClick: externalOnClick,\n trimDecimals,\n },\n inputRef\n );\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onDoubleClick,\n onFocus,\n focused,\n unformattedValue,\n } = inputProps;\n\n const formattedValue = useMemo(() => {\n return focused\n ? value\n : numberWithSeparator(value ?? \"\", thousandSeparator, decimalSeparator);\n }, [focused, value, thousandSeparator, decimalSeparator]);\n\n return (\n <Tooltip\n title={\n numberWithSeparator(\n unformattedValue ?? \"\",\n thousandSeparator,\n decimalSeparator\n ) as string\n }\n disable={focused}\n >\n <EditableContent\n disabled={disabled}\n ref={handleRef}\n className={className}\n inputProps={{\n value: formattedValue,\n onBlur: onBlur,\n onChange: onChange,\n onKeyDown: onKeyDown,\n onClick: onClick,\n onFocus: onFocus,\n onDoubleClick: onDoubleClick,\n ...rest,\n }}\n />\n </Tooltip>\n );\n }\n);\n\nEditableCurrency.displayName = \"EditableCurrency\";\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAE9C,SAAuBC,cAAc,QAAQ,aAAa;AAC1D,SAASC,mBAAmB,EAAEC,UAAU,QAAQ,aAAa;AAC7D,SAASC,eAAe,QAAkC,oBAAoB;AAC9E,SAASC,OAAO,QAAQ,YAAY;AAQpC,OAAO,MAAMC,gBAAgB,gBAAGR,KAAK,CAACS,UAAU,CAI9C,CAAAC,IAAA,EAoBEC,GAAG,KACA;EAAA,IApBH;IACEC,aAAa,GAAG,CAAC;IACjBC,gBAAgB,GAAG,GAAG;IACtBC,mBAAmB,GAAG,KAAK;IAC3BC,QAAQ;IACRC,aAAa,GAAG,KAAK;IACrBC,IAAI,GAAG,CAAC;IACRC,iBAAiB,GAAG,GAAG;IACvBC,KAAK,EAAEC,YAAY;IACnBC,MAAM;IACNC,QAAQ;IACRC,SAAS;IACTC,eAAe;IACfC,eAAe,EAAEC,qBAAqB;IACtCC,OAAO,EAAEC,eAAe;IACxBC,QAAQ,EAAEC,gBAAgB;IAC1BC,YAAY,GAAG,IAAI;IACnB,GAAGC;EACL,CAAC,GAAAtB,IAAA;EAGD,MAAMuB,QAAQ,GAAG/B,MAAM,CAAmB,IAAI,CAAC;EAC/C,MAAMgC,SAAS,GAAG7B,UAAU,CAACM,GAAG,EAAEsB,QAAQ,CAAC;EAE3C,MAAM;IAAEE;EAAW,CAAC,GAAGhC,cAAc,CACnC;IACES,aAAa;IACbC,gBAAgB;IAChBC,mBAAmB;IACnBE,aAAa;IACbC,IAAI;IACJC,iBAAiB;IACjBC,KAAK,EAAEC,YAAY;IACnBC,MAAM;IACNG,eAAe;IACfF,QAAQ;IACRO,QAAQ,EAAEC,gBAAgB;IAC1BL,eAAe,EAAEC,qBAAqB;IACtCC,OAAO,EAAEC,eAAe;IACxBG;EACF,CAAC,EACDE,QACF,CAAC;EAED,MAAM;IACJd,KAAK;IACLiB,MAAM;IACNC,SAAS;IACTR,QAAQ;IACRF,OAAO;IACPW,aAAa;IACbC,OAAO;IACPC,OAAO;IACPC;EACF,CAAC,GAAGN,UAAU;EAEd,MAAMO,cAAc,GAAGzC,OAAO,CAAC,MAAM;IACnC,OAAOuC,OAAO,GACVrB,KAAK,GACLf,mBAAmB,CAACe,KAAK,WAALA,KAAK,GAAI,EAAE,EAAED,iBAAiB,EAAEL,gBAAgB,CAAC;EAC3E,CAAC,EAAE,CAAC2B,OAAO,EAAErB,KAAK,EAAED,iBAAiB,EAAEL,gBAAgB,CAAC,CAAC;EAEzD,oBACEb,KAAA,CAAA2C,aAAA,CAACpC,OAAO;IACNqC,KAAK,EACHxC,mBAAmB,CACjBqC,gBAAgB,WAAhBA,gBAAgB,GAAI,EAAE,EACtBvB,iBAAiB,EACjBL,gBACF,CACD;IACDgC,OAAO,EAAEL;EAAQ,gBAEjBxC,KAAA,CAAA2C,aAAA,CAACrC,eAAe;IACdS,QAAQ,EAAEA,QAAS;IACnBJ,GAAG,EAAEuB,SAAU;IACfX,SAAS,EAAEA,SAAU;IACrBY,UAAU,EAAE;MACVhB,KAAK,EAAEuB,cAAc;MACrBN,MAAM,EAAEA,MAAM;MACdP,QAAQ,EAAEA,QAAQ;MAClBQ,SAAS,EAAEA,SAAS;MACpBV,OAAO,EAAEA,OAAO;MAChBY,OAAO,EAAEA,OAAO;MAChBD,aAAa,EAAEA,aAAa;MAC5B,GAAGN;IACL;EAAE,CACH,CACM,CAAC;AAEd,CACF,CAAC;AAEDxB,gBAAgB,CAACsC,WAAW,GAAG,kBAAkB"}
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode, Ref, InputHTMLAttributes } from "react";
2
- import { InputSize } from "./types";
2
+ import { InputMode, InputSize } from "./types";
3
3
  import { ITypographyProps } from "../Typography/Typography";
4
4
  export interface OverrideProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "ref"> {
5
5
  /** Velicina inputa koja definse font-size i border radius */
@@ -10,6 +10,7 @@ export interface InputProps extends OverrideProps, Pick<ITypographyProps, "align
10
10
  startAdornment?: ReactNode;
11
11
  endAdornment?: ReactNode;
12
12
  wrapRef?: Ref<HTMLDivElement>;
13
+ mode?: InputMode;
13
14
  wrapperClick?: () => void;
14
15
  }
15
16
  export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EACT,GAAG,EAGH,mBAAmB,EACpB,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACnE,6DAA6D;IAC7D,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,UACf,SAAQ,aAAa,EACnB,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,KAAK,qFAkDjB,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EACT,GAAG,EAGH,mBAAmB,EACpB,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACnE,6DAA6D;IAC7D,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,UACf,SAAQ,aAAa,EACnB,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,KAAK,qFAsDjB,CAAC"}
@@ -15,6 +15,7 @@ export const Input = /*#__PURE__*/React.forwardRef((_ref, ref) => {
15
15
  endAdornment,
16
16
  wrapRef,
17
17
  wrapperClick,
18
+ mode = "outlined",
18
19
  ...rest
19
20
  } = _ref;
20
21
  const intInputRef = useRef(null);
@@ -28,6 +29,7 @@ export const Input = /*#__PURE__*/React.forwardRef((_ref, ref) => {
28
29
  $size: size,
29
30
  $invalid: invalid,
30
31
  $disabled: disabled,
32
+ $mode: mode,
31
33
  style: style,
32
34
  className: classnames("c-input-wrapper", className),
33
35
  onClick: handleWrapperClick,
@@ -39,6 +41,8 @@ export const Input = /*#__PURE__*/React.forwardRef((_ref, ref) => {
39
41
  disabled: disabled,
40
42
  className: "c-input",
41
43
  "aria-invalid": invalid,
44
+ $invalid: invalid,
45
+ $mode: mode,
42
46
  "data-form-type": "other"
43
47
  }, rest)), endAdornment);
44
48
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["React","useCallback","useRef","classnames","StyledInput","StyledInputWrapper","useForkRef","Input","forwardRef","_ref","ref","className","style","type","disabled","size","invalid","startAdornment","endAdornment","wrapRef","wrapperClick","rest","intInputRef","handleRef","handleWrapperClick","_intInputRef$current","current","focus","createElement","$size","$invalid","$disabled","onClick","_extends","displayName"],"sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import React, {\n ReactNode,\n Ref,\n useCallback,\n useRef,\n InputHTMLAttributes,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledInput, StyledInputWrapper } from \"./Styles\";\nimport { InputSize } from \"./types\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { ITypographyProps } from \"../Typography/Typography\";\n\nexport interface OverrideProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"size\" | \"ref\"> {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n}\n\nexport interface InputProps\n extends OverrideProps,\n Pick<ITypographyProps, \"align\"> {\n invalid?: boolean;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n wrapRef?: Ref<HTMLDivElement>;\n wrapperClick?: () => void;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className = \"\",\n style,\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n startAdornment,\n endAdornment,\n wrapRef,\n wrapperClick,\n ...rest\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleWrapperClick = useCallback(() => {\n intInputRef.current?.focus();\n wrapperClick && wrapperClick();\n }, [wrapperClick]);\n\n return (\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n $disabled={disabled}\n style={style}\n className={classnames(\"c-input-wrapper\", className)}\n onClick={handleWrapperClick}\n ref={wrapRef}\n >\n {startAdornment}\n <StyledInput\n ref={handleRef}\n type={type}\n $size={size}\n disabled={disabled}\n className=\"c-input\"\n aria-invalid={invalid}\n data-form-type=\"other\"\n {...rest}\n />\n {endAdornment}\n </StyledInputWrapper>\n );\n }\n);\n\nInput.displayName = \"Input\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAGVC,WAAW,EACXC,MAAM,QAED,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,WAAW,EAAEC,kBAAkB,QAAQ,UAAU;AAE1D,OAAOC,UAAU,MAAM,wBAAwB;AAmB/C,OAAO,MAAMC,KAAK,gBAAGP,KAAK,CAACQ,UAAU,CACnC,CAAAC,IAAA,EAcEC,GAAG,KACA;EAAA,IAdH;IACEC,SAAS,GAAG,EAAE;IACdC,KAAK;IACLC,IAAI,GAAG,MAAM;IACbC,QAAQ,GAAG,KAAK;IAChBC,IAAI,GAAG,SAAS;IAChBC,OAAO,GAAG,KAAK;IACfC,cAAc;IACdC,YAAY;IACZC,OAAO;IACPC,YAAY;IACZ,GAAGC;EACL,CAAC,GAAAZ,IAAA;EAGD,MAAMa,WAAW,GAAGpB,MAAM,CAAmB,IAAI,CAAC;EAClD,MAAMqB,SAAS,GAAGjB,UAAU,CAACI,GAAG,EAAEY,WAAW,CAAC;EAE9C,MAAME,kBAAkB,GAAGvB,WAAW,CAAC,MAAM;IAAA,IAAAwB,oBAAA;IAC3C,CAAAA,oBAAA,GAAAH,WAAW,CAACI,OAAO,aAAnBD,oBAAA,CAAqBE,KAAK,CAAC,CAAC;IAC5BP,YAAY,IAAIA,YAAY,CAAC,CAAC;EAChC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,oBACEpB,KAAA,CAAA4B,aAAA,CAACvB,kBAAkB;IACjBwB,KAAK,EAAEd,IAAK;IACZe,QAAQ,EAAEd,OAAQ;IAClBe,SAAS,EAAEjB,QAAS;IACpBF,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAER,UAAU,CAAC,iBAAiB,EAAEQ,SAAS,CAAE;IACpDqB,OAAO,EAAER,kBAAmB;IAC5Bd,GAAG,EAAES;EAAQ,GAEZF,cAAc,eACfjB,KAAA,CAAA4B,aAAA,CAACxB,WAAW,EAAA6B,QAAA;IACVvB,GAAG,EAAEa,SAAU;IACfV,IAAI,EAAEA,IAAK;IACXgB,KAAK,EAAEd,IAAK;IACZD,QAAQ,EAAEA,QAAS;IACnBH,SAAS,EAAC,SAAS;IACnB,gBAAcK,OAAQ;IACtB,kBAAe;EAAO,GAClBK,IAAI,CACT,CAAC,EACDH,YACiB,CAAC;AAEzB,CACF,CAAC;AAEDX,KAAK,CAAC2B,WAAW,GAAG,OAAO"}
1
+ {"version":3,"file":"Input.js","names":["React","useCallback","useRef","classnames","StyledInput","StyledInputWrapper","useForkRef","Input","forwardRef","_ref","ref","className","style","type","disabled","size","invalid","startAdornment","endAdornment","wrapRef","wrapperClick","mode","rest","intInputRef","handleRef","handleWrapperClick","_intInputRef$current","current","focus","createElement","$size","$invalid","$disabled","$mode","onClick","_extends","displayName"],"sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import React, {\n ReactNode,\n Ref,\n useCallback,\n useRef,\n InputHTMLAttributes,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledInput, StyledInputWrapper } from \"./Styles\";\nimport { InputMode, InputSize } from \"./types\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { ITypographyProps } from \"../Typography/Typography\";\n\nexport interface OverrideProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"size\" | \"ref\"> {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n}\n\nexport interface InputProps\n extends OverrideProps,\n Pick<ITypographyProps, \"align\"> {\n invalid?: boolean;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n wrapRef?: Ref<HTMLDivElement>;\n mode?: InputMode;\n wrapperClick?: () => void;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className = \"\",\n style,\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n startAdornment,\n endAdornment,\n wrapRef,\n wrapperClick,\n mode = \"outlined\",\n ...rest\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleWrapperClick = useCallback(() => {\n intInputRef.current?.focus();\n wrapperClick && wrapperClick();\n }, [wrapperClick]);\n\n return (\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n $disabled={disabled}\n $mode={mode}\n style={style}\n className={classnames(\"c-input-wrapper\", className)}\n onClick={handleWrapperClick}\n ref={wrapRef}\n >\n {startAdornment}\n <StyledInput\n ref={handleRef}\n type={type}\n $size={size}\n disabled={disabled}\n className=\"c-input\"\n aria-invalid={invalid}\n $invalid={invalid}\n $mode={mode}\n data-form-type=\"other\"\n {...rest}\n />\n {endAdornment}\n </StyledInputWrapper>\n );\n }\n);\n\nInput.displayName = \"Input\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAGVC,WAAW,EACXC,MAAM,QAED,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,WAAW,EAAEC,kBAAkB,QAAQ,UAAU;AAE1D,OAAOC,UAAU,MAAM,wBAAwB;AAoB/C,OAAO,MAAMC,KAAK,gBAAGP,KAAK,CAACQ,UAAU,CACnC,CAAAC,IAAA,EAeEC,GAAG,KACA;EAAA,IAfH;IACEC,SAAS,GAAG,EAAE;IACdC,KAAK;IACLC,IAAI,GAAG,MAAM;IACbC,QAAQ,GAAG,KAAK;IAChBC,IAAI,GAAG,SAAS;IAChBC,OAAO,GAAG,KAAK;IACfC,cAAc;IACdC,YAAY;IACZC,OAAO;IACPC,YAAY;IACZC,IAAI,GAAG,UAAU;IACjB,GAAGC;EACL,CAAC,GAAAb,IAAA;EAGD,MAAMc,WAAW,GAAGrB,MAAM,CAAmB,IAAI,CAAC;EAClD,MAAMsB,SAAS,GAAGlB,UAAU,CAACI,GAAG,EAAEa,WAAW,CAAC;EAE9C,MAAME,kBAAkB,GAAGxB,WAAW,CAAC,MAAM;IAAA,IAAAyB,oBAAA;IAC3C,CAAAA,oBAAA,GAAAH,WAAW,CAACI,OAAO,aAAnBD,oBAAA,CAAqBE,KAAK,CAAC,CAAC;IAC5BR,YAAY,IAAIA,YAAY,CAAC,CAAC;EAChC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,oBACEpB,KAAA,CAAA6B,aAAA,CAACxB,kBAAkB;IACjByB,KAAK,EAAEf,IAAK;IACZgB,QAAQ,EAAEf,OAAQ;IAClBgB,SAAS,EAAElB,QAAS;IACpBmB,KAAK,EAAEZ,IAAK;IACZT,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAER,UAAU,CAAC,iBAAiB,EAAEQ,SAAS,CAAE;IACpDuB,OAAO,EAAET,kBAAmB;IAC5Bf,GAAG,EAAES;EAAQ,GAEZF,cAAc,eACfjB,KAAA,CAAA6B,aAAA,CAACzB,WAAW,EAAA+B,QAAA;IACVzB,GAAG,EAAEc,SAAU;IACfX,IAAI,EAAEA,IAAK;IACXiB,KAAK,EAAEf,IAAK;IACZD,QAAQ,EAAEA,QAAS;IACnBH,SAAS,EAAC,SAAS;IACnB,gBAAcK,OAAQ;IACtBe,QAAQ,EAAEf,OAAQ;IAClBiB,KAAK,EAAEZ,IAAK;IACZ,kBAAe;EAAO,GAClBC,IAAI,CACT,CAAC,EACDJ,YACiB,CAAC;AAEzB,CACF,CAAC;AAEDX,KAAK,CAAC6B,WAAW,GAAG,OAAO"}
@@ -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,CAAC,EACrD,YAAY;CAAG;AAEnB,eAAO,MAAM,WAAW,2FA6EvB,CAAC"}
1
+ {"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC,EACrD,YAAY;CAAG;AAEnB,eAAO,MAAM,WAAW,2FA+EvB,CAAC"}
@@ -22,6 +22,7 @@ export const InputNumber = /*#__PURE__*/forwardRef((_ref, ref) => {
22
22
  onClick: externalOnClick,
23
23
  limit,
24
24
  placeholder,
25
+ trimDecimals = true,
25
26
  ...rest
26
27
  } = _ref;
27
28
  const inputRef = useRef(null);
@@ -42,7 +43,8 @@ export const InputNumber = /*#__PURE__*/forwardRef((_ref, ref) => {
42
43
  onCancel,
43
44
  onSave,
44
45
  allowEmptyValue,
45
- limit
46
+ limit,
47
+ trimDecimals
46
48
  }, inputRef);
47
49
  const {
48
50
  value,
@@ -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","rest","inputRef","handleRef","inputProps","onBlur","onKeyDown","onDoubleClick","onFocus","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\">,\n IInputNumber {}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onCancel,\n onSave,\n onEnterKeyPress: externalEnterKeyPress,\n allowEmptyValue,\n onChange: externalOnChange,\n onClick: externalOnClick,\n limit,\n placeholder,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const { inputProps } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n onEnterKeyPress: externalEnterKeyPress,\n onChange: externalOnChange,\n onClick: externalOnClick,\n value: defaultValue,\n onCancel,\n onSave,\n allowEmptyValue,\n limit,\n },\n inputRef\n );\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onDoubleClick,\n onFocus,\n } = inputProps;\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={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;AAMxC,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,CAAAM,IAAA,EAqBEC,GAAG,KACA;EAAA,IArBH;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;IACX,GAAGC;EACL,CAAC,GAAAvB,IAAA;EAGD,MAAMwB,QAAQ,GAAG7B,MAAM,CAA0B,IAAI,CAAC;EACtD,MAAM8B,SAAS,GAAG3B,UAAU,CAACG,GAAG,EAAEuB,QAAQ,CAAC;EAE3C,MAAM;IAAEE;EAAW,CAAC,GAAG7B,cAAc,CACnC;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;EACF,CAAC,EACDG,QACF,CAAC;EACD,MAAM;IACJd,KAAK;IACLiB,MAAM;IACNC,SAAS;IACTX,QAAQ;IACRE,OAAO;IACPU,aAAa;IACbC;EACF,CAAC,GAAGJ,UAAU;EAEd,oBACEjC,KAAA,CAAAsC,aAAA,CAACnC,KAAK,EAAAoC,QAAA,KACAT,IAAI;IACRtB,GAAG,EAAEwB,SAAU;IACfH,WAAW,EAAEA,WAAY;IACzBZ,KAAK,EAAEA,KAAM;IACbuB,IAAI,EAAC,MAAM;IACX5B,QAAQ,EAAEA,QAAS;IACnBE,OAAO,EAAEA,OAAQ;IACjBU,QAAQ,EAAEA,QAAS;IACnBU,MAAM,EAAEA,MAAO;IACfC,SAAS,EAAEA,SAAU;IACrBT,OAAO,EAAEA,OAAQ;IACjBU,aAAa,EAAEA,aAAc;IAC7BC,OAAO,EAAEA,OAAQ;IACjB,oBAAkBR,WAAY;IAC9B,iBAAejB,QAAS;IACxB,gBAAcE;EAAQ,EACvB,CAAC;AAEN,CACF,CAAC;AAEDR,WAAW,CAACmC,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","rest","inputRef","handleRef","inputProps","onBlur","onKeyDown","onDoubleClick","onFocus","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\">,\n IInputNumber {}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onCancel,\n onSave,\n onEnterKeyPress: externalEnterKeyPress,\n allowEmptyValue,\n onChange: externalOnChange,\n onClick: externalOnClick,\n limit,\n placeholder,\n trimDecimals = true,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const { inputProps } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n onEnterKeyPress: externalEnterKeyPress,\n onChange: externalOnChange,\n onClick: externalOnClick,\n value: defaultValue,\n onCancel,\n onSave,\n allowEmptyValue,\n limit,\n trimDecimals,\n },\n inputRef\n );\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onDoubleClick,\n onFocus,\n } = inputProps;\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={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;AAMxC,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,CAAAM,IAAA,EAsBEC,GAAG,KACA;EAAA,IAtBH;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;IACnB,GAAGC;EACL,CAAC,GAAAxB,IAAA;EAGD,MAAMyB,QAAQ,GAAG9B,MAAM,CAA0B,IAAI,CAAC;EACtD,MAAM+B,SAAS,GAAG5B,UAAU,CAACG,GAAG,EAAEwB,QAAQ,CAAC;EAE3C,MAAM;IAAEE;EAAW,CAAC,GAAG9B,cAAc,CACnC;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;EACF,CAAC,EACDE,QACF,CAAC;EACD,MAAM;IACJf,KAAK;IACLkB,MAAM;IACNC,SAAS;IACTZ,QAAQ;IACRE,OAAO;IACPW,aAAa;IACbC;EACF,CAAC,GAAGJ,UAAU;EAEd,oBACElC,KAAA,CAAAuC,aAAA,CAACpC,KAAK,EAAAqC,QAAA,KACAT,IAAI;IACRvB,GAAG,EAAEyB,SAAU;IACfJ,WAAW,EAAEA,WAAY;IACzBZ,KAAK,EAAEA,KAAM;IACbwB,IAAI,EAAC,MAAM;IACX7B,QAAQ,EAAEA,QAAS;IACnBE,OAAO,EAAEA,OAAQ;IACjBU,QAAQ,EAAEA,QAAS;IACnBW,MAAM,EAAEA,MAAO;IACfC,SAAS,EAAEA,SAAU;IACrBV,OAAO,EAAEA,OAAQ;IACjBW,aAAa,EAAEA,aAAc;IAC7BC,OAAO,EAAEA,OAAQ;IACjB,oBAAkBT,WAAY;IAC9B,iBAAejB,QAAS;IACxB,gBAAcE;EAAQ,EACvB,CAAC;AAEN,CACF,CAAC;AAEDR,WAAW,CAACoC,WAAW,GAAG,aAAa"}
@@ -1,14 +1,17 @@
1
1
  import { InputProps } from "./Input";
2
- import { InputSize } from "./types";
2
+ import { InputMode, InputSize } from "./types";
3
3
  interface StyledInputWrapperProps {
4
4
  $size?: InputSize;
5
5
  $invalid?: boolean;
6
6
  $disabled?: boolean;
7
+ $mode?: InputMode;
7
8
  }
8
9
  export declare const StyledInputWrapper: import("styled-components").StyledComponent<"div", any, StyledInputWrapperProps, never>;
9
10
  interface StyledInputProps extends Pick<InputProps, "align"> {
10
11
  $size?: InputSize;
11
12
  $loading?: boolean;
13
+ $mode?: InputMode;
14
+ $invalid?: boolean;
12
15
  }
13
16
  export declare const StyledInput: import("styled-components").StyledComponent<"input", any, StyledInputProps, never>;
14
17
  export declare const StyledPasswordIndicatorWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,yFA4D9B,CAAC;AAIF,UAAU,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,oFAgDvB,CAAC;AAIF,eAAO,MAAM,8BAA8B,oEAK1C,CAAC;AAIF,eAAO,MAAM,uBAAuB;eACvB,MAAM;YACT,MAAM;SAoBf,CAAC;AAIF,eAAO,MAAM,wBAAwB;WAC5B,MAAM;eACF,OAAO;SA+BnB,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI/C,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,yFAqE9B,CAAC;AAIF,UAAU,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,oFAuDvB,CAAC;AAIF,eAAO,MAAM,8BAA8B,oEAK1C,CAAC;AAIF,eAAO,MAAM,uBAAuB;eACvB,MAAM;YACT,MAAM;SAoBf,CAAC;AAIF,eAAO,MAAM,wBAAwB;WAC5B,MAAM;eACF,OAAO;SA+BnB,CAAC"}
@@ -4,12 +4,12 @@ import { FontStyle } from "../FontStyle";
4
4
  export const StyledInputWrapper = styled.div.withConfig({
5
5
  displayName: "Styles__StyledInputWrapper",
6
6
  componentId: "sc-ce8kcp-0"
7
- })(["align-items:center;background-color:var(--input-background-color);border-color:var(--color-theme-500);border-radius:8px;border-style:solid;border-width:1px;cursor:text;display:flex;height:32px;padding-block:4px;padding-inline:4px;transition:all 0.3s ease;width:360px;", " ", " ", " ", " ", " ", " ", " ", ""], FontStyle, BoxSizingStyle, props => props.$size === "small" && css(["border-radius:6px;height:24px;"]), props => props.$size === "big" && css(["height:40px;"]), props => props.$size === "biggest" && css(["height:48px;"]), props => props.$disabled && css(["cursor:default;opacity:50%;"]), props => !props.$disabled && !props.$invalid && css(["&:focus-within,&:hover{border-color:var(--color-primary);}"]), props => !props.$disabled && props.$invalid && css(["border-color:var(--red-alert);"]));
7
+ })(["align-items:center;cursor:text;display:flex;height:32px;padding-block:4px;padding-inline:4px;transition:all 0.3s ease;width:360px;", " ", " ", " ", " ", " ", " ", " ", " ", ""], FontStyle, BoxSizingStyle, props => props.$mode === "outlined" && css(["background-color:var(--input-background-color);border-color:var(--color-theme-500);border-radius:8px;border-style:solid;border-width:1px;"]), props => props.$size === "small" && css(["border-radius:6px;height:24px;"]), props => props.$size === "big" && css(["height:40px;"]), props => props.$size === "biggest" && css(["height:48px;"]), props => props.$disabled && css(["cursor:default;opacity:50%;"]), props => !props.$disabled && !props.$invalid && css(["&:focus-within,&:hover{border-color:var(--color-primary);}"]), props => !props.$disabled && props.$invalid && props.$mode === "outlined" && css(["border-color:var(--red-alert);"]));
8
8
  StyledInputWrapper.displayName = "StyledInputWrapper";
9
9
  export const StyledInput = styled.input.withConfig({
10
10
  displayName: "Styles__StyledInput",
11
11
  componentId: "sc-ce8kcp-1"
12
- })(["background-color:var(--input-background-color);border:none;color:var(--color-theme-900);font-size:0.875rem;font-weight:400;letter-spacing:0.02em;margin-block:0;margin-inline:4px;outline:none;padding:0;width:100%;&::placeholder{color:var(--color-theme-transparent-500);}", " ", " ", " ", " ", ""], props => props.$size === "big" && css(["font-size:1rem;"]), props => props.$size === "biggest" && css(["font-size:1.25rem;font-weight:700;"]), props => props.disabled && css(["cursor:default;"]), props => props.$loading && css(["cursor:progress;"]), props => props.align && css(["text-align:", ";"], props.align));
12
+ })(["background-color:var(--input-background-color);border:none;color:var(--color-theme-900);font-size:0.875rem;font-weight:400;letter-spacing:0.02em;margin-block:0;margin-inline:4px;outline:none;padding:0;width:100%;&::placeholder{color:var(--color-theme-transparent-500);}", " ", " ", " ", " ", " ", ""], props => props.$size === "big" && css(["font-size:1rem;"]), props => props.$size === "biggest" && css(["font-size:1.25rem;font-weight:700;"]), props => props.disabled && css(["cursor:default;"]), props => props.$loading && css(["cursor:progress;"]), props => props.align && css(["text-align:", ";"], props.align), props => props.$mode === "flat" && props.$invalid && css(["color:var(--red-alert);"]));
13
13
  StyledInput.displayName = "StyledInput";
14
14
  export const StyledPasswordIndicatorWrapper = styled.div.withConfig({
15
15
  displayName: "Styles__StyledPasswordIndicatorWrapper",
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","StyledInputWrapper","div","withConfig","displayName","componentId","props","$size","$disabled","$invalid","StyledInput","input","disabled","$loading","align","StyledPasswordIndicatorWrapper","StyledPasswordIndicator","$strength","$index","StyledInputSelectTrigger"],"sources":["../../../../src/components/Input/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { InputProps } from \"./Input\";\nimport { InputSize } from \"./types\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledInputWrapperProps {\n $size?: InputSize;\n $invalid?: boolean;\n $disabled?: boolean;\n}\n\nexport const StyledInputWrapper = styled.div<StyledInputWrapperProps>`\n align-items: center;\n background-color: var(--input-background-color);\n border-color: var(--color-theme-500);\n border-radius: 8px;\n border-style: solid;\n border-width: 1px;\n cursor: text;\n display: flex;\n height: 32px;\n padding-block: 4px;\n padding-inline: 4px;\n transition: all 0.3s ease;\n width: 360px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n border-radius: 6px;\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n props.$size === \"biggest\" &&\n css`\n height: 48px;\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n cursor: default;\n opacity: 50%;\n `}\n\n ${(props) =>\n !props.$disabled &&\n !props.$invalid &&\n css`\n &:focus-within,\n &:hover {\n border-color: var(--color-primary);\n }\n `}\n\n ${(props) =>\n !props.$disabled &&\n props.$invalid &&\n css`\n border-color: var(--red-alert);\n `}\n`;\n\nStyledInputWrapper.displayName = \"StyledInputWrapper\";\n\ninterface StyledInputProps extends Pick<InputProps, \"align\"> {\n $size?: InputSize;\n $loading?: boolean;\n}\n\nexport const StyledInput = styled.input<StyledInputProps>`\n background-color: var(--input-background-color);\n border: none;\n color: var(--color-theme-900);\n /* @TODO: Prebaciti velicine fontova, weight, razmake, itd... u naše varijable. */\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: 0.02em;\n margin-block: 0;\n margin-inline: 4px;\n outline: none;\n padding: 0;\n width: 100%;\n\n &::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n\n ${(props) =>\n props.$size === \"biggest\" &&\n css`\n font-size: 1.25rem;\n font-weight: 700;\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n `}\n\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n\n ${(props) =>\n props.align &&\n css`\n text-align: ${props.align};\n `}\n`;\n\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledPasswordIndicatorWrapper = styled.div`\n display: flex;\n gap: 2px;\n margin-top: 6px;\n margin-bottom: 4px;\n`;\n\nStyledPasswordIndicatorWrapper.displayName = \"StyledPasswordIndicatorWrapper\";\n\nexport const StyledPasswordIndicator = styled.div<{\n $strength: number;\n $index: number;\n}>`\n width: 100%;\n height: 4px;\n border-radius: 6px;\n background-color: ${(props) => {\n const { $strength, $index } = props;\n\n if ($strength === 0) {\n return \"var(--color-theme-300)\";\n } else if ($strength === 1) {\n return $index === 0 ? \"var(--red-alert)\" : \"var(--color-theme-300)\";\n } else if ($strength === 2) {\n return $index < 2 ? \"var(--color-orange)\" : \"var(--color-theme-300)\";\n } else if ($strength === 3) {\n return $index < 3 ? \"var(--color-blue-sky)\" : \"var(--color-theme-300)\";\n } else {\n return \"var(--color-sucess-green)\";\n }\n }};\n`;\n\nStyledPasswordIndicator.displayName = \"StyledPasswordIndicator\";\n\nexport const StyledInputSelectTrigger = styled.div<{\n $size: string;\n $disabled: boolean;\n}>`\n display: flex;\n gap: 6px;\n align-items: center;\n margin-right: 2px;\n margin-left: 8px;\n color: var(--color-theme-700);\n font-weight: 400;\n letter-spacing: 0.02em;\n font-size: 0.875rem;\n flex-shrink: 0;\n cursor: ${(props) => {\n if (props.$disabled) {\n return \"unset\";\n }\n return \"pointer\";\n }};\n\n pointer-events: ${(props) => {\n if (props.$disabled) {\n return \"none\";\n }\n return \"unset\";\n }};\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n`;\n\nStyledInputSelectTrigger.displayName = \"StyledInputSelectTrigger\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","StyledInputWrapper","div","withConfig","displayName","componentId","props","$mode","$size","$disabled","$invalid","StyledInput","input","disabled","$loading","align","StyledPasswordIndicatorWrapper","StyledPasswordIndicator","$strength","$index","StyledInputSelectTrigger"],"sources":["../../../../src/components/Input/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { InputProps } from \"./Input\";\nimport { InputMode, InputSize } from \"./types\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledInputWrapperProps {\n $size?: InputSize;\n $invalid?: boolean;\n $disabled?: boolean;\n $mode?: InputMode;\n}\n\nexport const StyledInputWrapper = styled.div<StyledInputWrapperProps>`\n align-items: center;\n\n cursor: text;\n display: flex;\n height: 32px;\n padding-block: 4px;\n padding-inline: 4px;\n transition: all 0.3s ease;\n width: 360px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n /* mode styling */\n ${(props) =>\n props.$mode === \"outlined\" &&\n css`\n background-color: var(--input-background-color);\n border-color: var(--color-theme-500);\n border-radius: 8px;\n border-style: solid;\n border-width: 1px;\n `}\n\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n border-radius: 6px;\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n props.$size === \"biggest\" &&\n css`\n height: 48px;\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n cursor: default;\n opacity: 50%;\n `}\n\n ${(props) =>\n !props.$disabled &&\n !props.$invalid &&\n css`\n &:focus-within,\n &:hover {\n border-color: var(--color-primary);\n }\n `}\n\n ${(props) =>\n !props.$disabled &&\n props.$invalid &&\n props.$mode === \"outlined\" &&\n css`\n border-color: var(--red-alert);\n `}\n`;\n\nStyledInputWrapper.displayName = \"StyledInputWrapper\";\n\ninterface StyledInputProps extends Pick<InputProps, \"align\"> {\n $size?: InputSize;\n $loading?: boolean;\n $mode?: InputMode;\n $invalid?: boolean;\n}\n\nexport const StyledInput = styled.input<StyledInputProps>`\n background-color: var(--input-background-color);\n border: none;\n color: var(--color-theme-900);\n /* @TODO: Prebaciti velicine fontova, weight, razmake, itd... u naše varijable. */\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: 0.02em;\n margin-block: 0;\n margin-inline: 4px;\n outline: none;\n padding: 0;\n width: 100%;\n\n &::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n\n ${(props) =>\n props.$size === \"biggest\" &&\n css`\n font-size: 1.25rem;\n font-weight: 700;\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n `}\n\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n\n ${(props) =>\n props.align &&\n css`\n text-align: ${props.align};\n `}\n\n ${(props) =>\n props.$mode === \"flat\" &&\n props.$invalid &&\n css`\n color: var(--red-alert);\n `}\n`;\n\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledPasswordIndicatorWrapper = styled.div`\n display: flex;\n gap: 2px;\n margin-top: 6px;\n margin-bottom: 4px;\n`;\n\nStyledPasswordIndicatorWrapper.displayName = \"StyledPasswordIndicatorWrapper\";\n\nexport const StyledPasswordIndicator = styled.div<{\n $strength: number;\n $index: number;\n}>`\n width: 100%;\n height: 4px;\n border-radius: 6px;\n background-color: ${(props) => {\n const { $strength, $index } = props;\n\n if ($strength === 0) {\n return \"var(--color-theme-300)\";\n } else if ($strength === 1) {\n return $index === 0 ? \"var(--red-alert)\" : \"var(--color-theme-300)\";\n } else if ($strength === 2) {\n return $index < 2 ? \"var(--color-orange)\" : \"var(--color-theme-300)\";\n } else if ($strength === 3) {\n return $index < 3 ? \"var(--color-blue-sky)\" : \"var(--color-theme-300)\";\n } else {\n return \"var(--color-sucess-green)\";\n }\n }};\n`;\n\nStyledPasswordIndicator.displayName = \"StyledPasswordIndicator\";\n\nexport const StyledInputSelectTrigger = styled.div<{\n $size: string;\n $disabled: boolean;\n}>`\n display: flex;\n gap: 6px;\n align-items: center;\n margin-right: 2px;\n margin-left: 8px;\n color: var(--color-theme-700);\n font-weight: 400;\n letter-spacing: 0.02em;\n font-size: 0.875rem;\n flex-shrink: 0;\n cursor: ${(props) => {\n if (props.$disabled) {\n return \"unset\";\n }\n return \"pointer\";\n }};\n\n pointer-events: ${(props) => {\n if (props.$disabled) {\n return \"none\";\n }\n return \"unset\";\n }};\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n`;\n\nStyledInputSelectTrigger.displayName = \"StyledInputSelectTrigger\";\n"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export type InputSize = "small" | "regular" | "big" | "biggest";
2
+ export type InputMode = "outlined" | "flat";
2
3
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAChE,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/Input/types.ts"],"sourcesContent":["export type InputSize = \"small\" | \"regular\" | \"big\" | \"biggest\";\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/Input/types.ts"],"sourcesContent":["export type InputSize = \"small\" | \"regular\" | \"big\" | \"biggest\";\nexport type InputMode = \"outlined\" | \"flat\";\n"],"mappings":""}
@@ -1,6 +1,8 @@
1
+ import { InputMode } from "../Input/types";
1
2
  interface StyledTextareaProps {
2
3
  disabled: boolean;
3
4
  $invalid: boolean;
5
+ $mode: InputMode;
4
6
  }
5
7
  export declare const StyledTextarea: import("styled-components").StyledComponent<"textarea", any, StyledTextareaProps, never>;
6
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Styles.ts"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,0FA+C1B,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Styles.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,0FAgE1B,CAAC"}