@activecollab/components 2.0.19 → 2.0.21
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.
- package/dist/cjs/components/EditableCurrency/EditableCurrency.js +2 -4
- package/dist/cjs/components/EditableCurrency/EditableCurrency.js.map +1 -1
- package/dist/cjs/components/Input/InputCurrency.js +26 -2
- package/dist/cjs/components/Input/InputCurrency.js.map +1 -1
- package/dist/cjs/components/Input/InputPassword.js +218 -0
- package/dist/cjs/components/Input/InputPassword.js.map +1 -0
- package/dist/cjs/components/Input/Styles.js +25 -1
- package/dist/cjs/components/Input/Styles.js.map +1 -1
- package/dist/cjs/hooks/useInputNumber.js +8 -0
- package/dist/cjs/hooks/useInputNumber.js.map +1 -1
- package/dist/cjs/utils/validation.js +3 -9
- package/dist/cjs/utils/validation.js.map +1 -1
- package/dist/esm/components/EditableCurrency/EditableCurrency.d.ts +1 -1
- package/dist/esm/components/EditableCurrency/EditableCurrency.d.ts.map +1 -1
- package/dist/esm/components/EditableCurrency/EditableCurrency.js +1 -3
- package/dist/esm/components/EditableCurrency/EditableCurrency.js.map +1 -1
- package/dist/esm/components/Input/InputCurrency.d.ts +5 -2
- package/dist/esm/components/Input/InputCurrency.d.ts.map +1 -1
- package/dist/esm/components/Input/InputCurrency.js +22 -0
- package/dist/esm/components/Input/InputCurrency.js.map +1 -1
- package/dist/esm/components/Input/InputPassword.d.ts +30 -0
- package/dist/esm/components/Input/InputPassword.d.ts.map +1 -0
- package/dist/esm/components/Input/InputPassword.js +185 -0
- package/dist/esm/components/Input/InputPassword.js.map +1 -0
- package/dist/esm/components/Input/Styles.d.ts +5 -0
- package/dist/esm/components/Input/Styles.d.ts.map +1 -1
- package/dist/esm/components/Input/Styles.js +27 -1
- package/dist/esm/components/Input/Styles.js.map +1 -1
- package/dist/esm/hooks/useInputNumber.d.ts.map +1 -1
- package/dist/esm/hooks/useInputNumber.js +8 -0
- package/dist/esm/hooks/useInputNumber.js.map +1 -1
- package/dist/esm/utils/validation.d.ts.map +1 -1
- package/dist/esm/utils/validation.js +3 -9
- package/dist/esm/utils/validation.js.map +1 -1
- package/dist/index.js +155 -113
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- 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","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","_ref$step","step","limit","_ref$validation","validation","validateNumberInput","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","_useState7","_useState8","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","updateValue","type","String","decimalPart","increasedValue","nonDecimalPart","replaceAll","includes","indexOf","parseFloat","toFixed","joinedValue","numberWithSeparator","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","newValue","substring","Boolean","handleChange","inputValue","numericInput","replace","_","num","unit","currencyMultiplier","toLowerCase","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useMemo,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport {\n currencyMultiplier,\n formatNumber,\n numberWithSeparator,\n} from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n onSave?: (e: Event) => void;\n value?: string | number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value,\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n limit,\n validation = validateNumberInput,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [prevValue, setPrevValue] = useState(() =>\n disableAbbreviation\n ? value\n : formatNumber(value as string, thousandSeparator)\n );\n const [unformattedValue, setUnformattedValue] = useState(() => value);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = disableAbbreviation\n ? currentValue\n : formatNumber(currentValue as string, thousandSeparator);\n setPrevValue(_value);\n setUnformattedValue(currentValue);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n allowEmptyValue,\n disableAbbreviation,\n onCancel,\n onSave,\n prevValue,\n thousandSeparator,\n currentValue,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const value = String(unformattedValue);\n\n let decimalPart = \"\";\n let increasedValue = 0;\n let nonDecimalPart = value.replaceAll(thousandSeparator, \"\");\n\n if (!value) {\n return;\n }\n\n if (value.includes(decimalSeparator)) {\n nonDecimalPart = value\n .slice(0, value.indexOf(decimalSeparator))\n .replaceAll(thousandSeparator, \"\");\n }\n\n if (value.includes(decimalSeparator)) {\n decimalPart = value.slice(value.indexOf(decimalSeparator));\n }\n\n if (type === \"increment\") {\n increasedValue = parseFloat(nonDecimalPart) + step;\n } else {\n increasedValue = parseFloat(nonDecimalPart) - step;\n }\n\n if (value.includes(decimalSeparator)) {\n increasedValue = parseFloat(increasedValue.toFixed(decimalLength));\n }\n\n const joinedValue = numberWithSeparator(\n increasedValue,\n thousandSeparator,\n value.includes(thousandSeparator)\n );\n\n setUnformattedValue(\n decimalPart ? joinedValue + decimalPart : joinedValue\n );\n setCurrentValue(decimalPart ? joinedValue + decimalPart : joinedValue);\n },\n [decimalLength, decimalSeparator, step, thousandSeparator, unformattedValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n unformattedValue,\n };\n }, [\n currentValue,\n handleBlur,\n handleKeyDown,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleFocus,\n focused,\n unformattedValue,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useInputNumber.js","names":["_react","require","_utils","_currencyUtils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputNumber","exports","_ref","inputRef","_ref$decimalSeparator","decimalSeparator","_ref$thousandSeparato","thousandSeparator","disableAbbreviation","disableMacros","decimalLength","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","_ref$step","step","limit","_ref$validation","validation","validateNumberInput","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","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 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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"}
|
|
@@ -15,21 +15,15 @@ var validateTimeInput = exports.validateTimeInput = function validateTimeInput(v
|
|
|
15
15
|
return /^(([1-9][0-9]*|0)?(([:,.][0-5][0-9]?)|([:,.][0-5]?)|(\.[0-9]{1,2})|(,[0-9]{1,2}))?)$/.test(value);
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
var validateNumberInput = exports.validateNumberInput = function validateNumberInput(value, disableMacros, decimalSeparator, decimalLength
|
|
18
|
+
var validateNumberInput = exports.validateNumberInput = function validateNumberInput(value, disableMacros, decimalSeparator, decimalLength) {
|
|
19
|
+
var limit = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 12;
|
|
19
20
|
if (value.startsWith("00")) {
|
|
20
21
|
return false;
|
|
21
22
|
}
|
|
22
23
|
var numericInput = disableMacros ? value : value.replace(/([0-9.]+)([kmbtKMBT])/, function (_, num, unit) {
|
|
23
24
|
return (parseFloat(num) * _currencyUtils.currencyMultiplier[unit.toLowerCase()]).toString();
|
|
24
25
|
});
|
|
25
|
-
|
|
26
|
-
var decimalIndex = numericInput.indexOf(decimalSeparator);
|
|
27
|
-
var integerPart = decimalIndex !== -1 ? numericInput.substring(0, decimalIndex) : numericInput;
|
|
28
|
-
if (integerPart.length > limit) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
var regexString = `^(-?\\d{0,9}(?:\\${decimalSeparator}\\d{0,${decimalLength}})?)?$`;
|
|
26
|
+
var regexString = `^(-?\\d{0,${limit}}(?:\\${decimalSeparator}\\d{0,${decimalLength}})?)?$`;
|
|
33
27
|
return new RegExp(regexString).test(numericInput);
|
|
34
28
|
};
|
|
35
29
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","names":["_currencyUtils","require","validateStopwatchTime","exports","value","test","validateTimeInput","withLeadingZero","validateNumberInput","disableMacros","decimalSeparator","decimalLength","limit","startsWith","numericInput","replace","_","num","unit","parseFloat","currencyMultiplier","toLowerCase","toString","
|
|
1
|
+
{"version":3,"file":"validation.js","names":["_currencyUtils","require","validateStopwatchTime","exports","value","test","validateTimeInput","withLeadingZero","validateNumberInput","disableMacros","decimalSeparator","decimalLength","limit","arguments","length","undefined","startsWith","numericInput","replace","_","num","unit","parseFloat","currencyMultiplier","toLowerCase","toString","regexString","RegExp"],"sources":["../../../src/utils/validation.ts"],"sourcesContent":["import { currencyMultiplier } from \"./currencyUtils\";\n\nexport const validateStopwatchTime = (value: string) => {\n return /^([0-9]{0,2})?(((:([0-5][0-9])?)|(:[0-5]?))|(\\.[0-9]{0,2})|(,[0-9]{0,2}))?$/g.test(\n value\n );\n};\n\nexport const validateTimeInput = (value: string, withLeadingZero: boolean) => {\n if (withLeadingZero) {\n return /^(([0-9][0-9]?|[1-9][0-9]{2,8})?(([:,.][0-5][0-9]?)|([:,.][0-5]?)|(\\.[0-9]{1,2})|(,[0-9]{1,2}))?)$/.test(\n value\n );\n } else {\n return /^(([1-9][0-9]*|0)?(([:,.][0-5][0-9]?)|([:,.][0-5]?)|(\\.[0-9]{1,2})|(,[0-9]{1,2}))?)$/.test(\n value\n );\n }\n};\n\nexport const validateNumberInput = (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit = 12\n) => {\n if (value.startsWith(\"00\")) {\n return false;\n }\n\n const numericInput = disableMacros\n ? value\n : value.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n\n const regexString = `^(-?\\\\d{0,${limit}}(?:\\\\${decimalSeparator}\\\\d{0,${decimalLength}})?)?$`;\n\n return new RegExp(regexString).test(numericInput);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEO,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAIE,KAAa,EAAK;EACtD,OAAO,8EAA8E,CAACC,IAAI,CACxFD,KACF,CAAC;AACH,CAAC;AAEM,IAAME,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,GAAG,SAApBA,iBAAiBA,CAAIF,KAAa,EAAEG,eAAwB,EAAK;EAC5E,IAAIA,eAAe,EAAE;IACnB,OAAO,oGAAoG,CAACF,IAAI,CAC9GD,KACF,CAAC;EACH,CAAC,MAAM;IACL,OAAO,sFAAsF,CAACC,IAAI,CAChGD,KACF,CAAC;EACH;AACF,CAAC;AAEM,IAAMI,mBAAmB,GAAAL,OAAA,CAAAK,mBAAA,GAAG,SAAtBA,mBAAmBA,CAC9BJ,KAAa,EACbK,aAAsB,EACtBC,gBAAwB,EACxBC,aAAqB,EAElB;EAAA,IADHC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAEV,IAAIT,KAAK,CAACY,UAAU,CAAC,IAAI,CAAC,EAAE;IAC1B,OAAO,KAAK;EACd;EAEA,IAAMC,YAAY,GAAGR,aAAa,GAC9BL,KAAK,GACLA,KAAK,CAACc,OAAO,CAAC,uBAAuB,EAAE,UAACC,CAAC,EAAEC,GAAG,EAAEC,IAAI,EAAK;IACvD,OAAO,CACLC,UAAU,CAACF,GAAG,CAAC,GAAGG,iCAAkB,CAACF,IAAI,CAACG,WAAW,CAAC,CAAC,CAAC,EACxDC,QAAQ,CAAC,CAAC;EACd,CAAC,CAAC;EAEN,IAAMC,WAAW,GAAI,aAAYd,KAAM,SAAQF,gBAAiB,SAAQC,aAAc,QAAO;EAE7F,OAAO,IAAIgB,MAAM,CAACD,WAAW,CAAC,CAACrB,IAAI,CAACY,YAAY,CAAC;AACnD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { IInputNumber } from "../../hooks";
|
|
3
3
|
import { EditableContentInterface } from "../EditableContent";
|
|
4
|
-
export interface EditableCurrencyProps extends EditableContentInterface, IInputNumber {
|
|
4
|
+
export interface EditableCurrencyProps extends EditableContentInterface, Omit<IInputNumber, "limit"> {
|
|
5
5
|
className?: string;
|
|
6
6
|
}
|
|
7
7
|
export declare const EditableCurrency: React.ForwardRefExoticComponent<EditableCurrencyProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAmB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,MAAM,WAAW,qBACf,SAAQ,wBAAwB,EAC9B,YAAY;
|
|
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"}
|
|
@@ -28,7 +28,6 @@ const EditableCurrency = exports.EditableCurrency = /*#__PURE__*/_react.default.
|
|
|
28
28
|
onEnterKeyPress: externalEnterKeyPress,
|
|
29
29
|
onClick: externalOnClick,
|
|
30
30
|
onChange: externalOnChange,
|
|
31
|
-
limit,
|
|
32
31
|
...rest
|
|
33
32
|
} = _ref;
|
|
34
33
|
const inputRef = (0, _react.useRef)(null);
|
|
@@ -48,8 +47,7 @@ const EditableCurrency = exports.EditableCurrency = /*#__PURE__*/_react.default.
|
|
|
48
47
|
onCancel,
|
|
49
48
|
onChange: externalOnChange,
|
|
50
49
|
onEnterKeyPress: externalEnterKeyPress,
|
|
51
|
-
onClick: externalOnClick
|
|
52
|
-
limit
|
|
50
|
+
onClick: externalOnClick
|
|
53
51
|
}, inputRef);
|
|
54
52
|
const {
|
|
55
53
|
value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableCurrency.js","names":["_react","_interopRequireWildcard","require","_hooks","_utils","_EditableContent","_Tooltip","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","EditableCurrency","exports","React","forwardRef","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","step","thousandSeparator","value","defaultValue","onSave","onCancel","className","allowEmptyValue","onEnterKeyPress","externalEnterKeyPress","onClick","externalOnClick","onChange","externalOnChange","
|
|
1
|
+
{"version":3,"file":"EditableCurrency.js","names":["_react","_interopRequireWildcard","require","_hooks","_utils","_EditableContent","_Tooltip","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","EditableCurrency","exports","React","forwardRef","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","step","thousandSeparator","value","defaultValue","onSave","onCancel","className","allowEmptyValue","onEnterKeyPress","externalEnterKeyPress","onClick","externalOnClick","onChange","externalOnChange","rest","inputRef","useRef","handleRef","useForkRef","inputProps","useInputNumber","onBlur","onKeyDown","onDoubleClick","onFocus","focused","unformattedValue","formattedValue","useMemo","numberWithSeparator","createElement","Tooltip","title","disable","EditableContent","displayName"],"sources":["../../../../src/components/EditableCurrency/EditableCurrency.tsx"],"sourcesContent":["import React, { useMemo, useRef } from \"react\";\n\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { numberWithSeparator, useForkRef } from \"../../utils\";\nimport { EditableContent, EditableContentInterface } from \"../EditableContent\";\nimport { Tooltip } from \"../Tooltip\";\n\nexport interface EditableCurrencyProps\n extends EditableContentInterface,\n 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":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import
|
|
3
|
-
export
|
|
2
|
+
import { InputNumberProps } from "./InputNumber";
|
|
3
|
+
export interface IInputCurrency extends Omit<InputNumberProps, "align" | "startAdornment" | "endAdornment" | "limit"> {
|
|
4
|
+
currency: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const InputCurrency: React.ForwardRefExoticComponent<IInputCurrency & React.RefAttributes<HTMLInputElement>>;
|
|
4
7
|
//# sourceMappingURL=InputCurrency.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"InputCurrency.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputCurrency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG9D,MAAM,WAAW,cACf,SAAQ,IAAI,CACV,gBAAgB,EAChB,OAAO,GAAG,gBAAgB,GAAG,cAAc,GAAG,OAAO,CACtD;IACD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,yFAgCzB,CAAC"}
|
|
@@ -7,14 +7,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.InputCurrency = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _InputAdornment = require("./InputAdornment");
|
|
10
11
|
var _InputNumber = require("./InputNumber");
|
|
12
|
+
var _Typography = require("../Typography/Typography");
|
|
11
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
15
|
const InputCurrency = exports.InputCurrency = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
14
16
|
let {
|
|
17
|
+
currency,
|
|
18
|
+
size,
|
|
15
19
|
...rest
|
|
16
20
|
} = _ref;
|
|
21
|
+
const variant = (0, _react.useMemo)(() => {
|
|
22
|
+
if (size === "biggest") {
|
|
23
|
+
return "Header 2";
|
|
24
|
+
}
|
|
25
|
+
if (size === "big") {
|
|
26
|
+
return "Body 1";
|
|
27
|
+
}
|
|
28
|
+
return "Body 2";
|
|
29
|
+
}, [size]);
|
|
30
|
+
const weight = (0, _react.useMemo)(() => {
|
|
31
|
+
return size === "biggest" ? "bold" : "regular";
|
|
32
|
+
}, [size]);
|
|
17
33
|
return /*#__PURE__*/_react.default.createElement(_InputNumber.InputNumber, (0, _extends2.default)({
|
|
34
|
+
size: size,
|
|
35
|
+
align: "right",
|
|
36
|
+
startAdornment: /*#__PURE__*/_react.default.createElement(_InputAdornment.InputAdornment, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
37
|
+
variant: variant,
|
|
38
|
+
weight: weight
|
|
39
|
+
}, currency)),
|
|
18
40
|
ref: ref
|
|
19
41
|
}, rest));
|
|
20
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputCurrency.js","names":["_react","_interopRequireWildcard","require","_InputNumber","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","InputCurrency","exports","forwardRef","_ref","ref","rest","createElement","InputNumber","_extends2","displayName"],"sources":["../../../../src/components/Input/InputCurrency.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { InputNumber } from \"./InputNumber\";\nimport
|
|
1
|
+
{"version":3,"file":"InputCurrency.js","names":["_react","_interopRequireWildcard","require","_InputAdornment","_InputNumber","_Typography","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","InputCurrency","exports","forwardRef","_ref","ref","currency","size","rest","variant","useMemo","weight","createElement","InputNumber","_extends2","align","startAdornment","InputAdornment","Typography","displayName"],"sources":["../../../../src/components/Input/InputCurrency.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\n\nimport { InputAdornment } from \"./InputAdornment\";\nimport { InputNumber, InputNumberProps } from \"./InputNumber\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport interface IInputCurrency\n extends Omit<\n InputNumberProps,\n \"align\" | \"startAdornment\" | \"endAdornment\" | \"limit\"\n > {\n currency: string;\n}\n\nexport const InputCurrency = forwardRef<HTMLInputElement, IInputCurrency>(\n ({ currency, size, ...rest }, ref) => {\n const variant = useMemo(() => {\n if (size === \"biggest\") {\n return \"Header 2\";\n }\n if (size === \"big\") {\n return \"Body 1\";\n }\n return \"Body 2\";\n }, [size]);\n\n const weight = useMemo(() => {\n return size === \"biggest\" ? \"bold\" : \"regular\";\n }, [size]);\n\n return (\n <InputNumber\n size={size}\n align=\"right\"\n startAdornment={\n <InputAdornment>\n <Typography variant={variant} weight={weight}>\n {currency}\n </Typography>\n </InputAdornment>\n }\n ref={ref}\n {...rest}\n />\n );\n }\n);\n\nInputCurrency.displayName = \"InputCurrency\";\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAsD,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAU/C,MAAMY,aAAa,GAAAC,OAAA,CAAAD,aAAA,gBAAG,IAAAE,iBAAU,EACrC,CAAAC,IAAA,EAA8BC,GAAG,KAAK;EAAA,IAArC;IAAEC,QAAQ;IAAEC,IAAI;IAAE,GAAGC;EAAK,CAAC,GAAAJ,IAAA;EAC1B,MAAMK,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,IAAIH,IAAI,KAAK,SAAS,EAAE;MACtB,OAAO,UAAU;IACnB;IACA,IAAIA,IAAI,KAAK,KAAK,EAAE;MAClB,OAAO,QAAQ;IACjB;IACA,OAAO,QAAQ;EACjB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMI,MAAM,GAAG,IAAAD,cAAO,EAAC,MAAM;IAC3B,OAAOH,IAAI,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS;EAChD,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBACEjC,MAAA,CAAAY,OAAA,CAAA0B,aAAA,CAAClC,YAAA,CAAAmC,WAAW,MAAAC,SAAA,CAAA5B,OAAA;IACVqB,IAAI,EAAEA,IAAK;IACXQ,KAAK,EAAC,OAAO;IACbC,cAAc,eACZ1C,MAAA,CAAAY,OAAA,CAAA0B,aAAA,CAACnC,eAAA,CAAAwC,cAAc,qBACb3C,MAAA,CAAAY,OAAA,CAAA0B,aAAA,CAACjC,WAAA,CAAAuC,UAAU;MAACT,OAAO,EAAEA,OAAQ;MAACE,MAAM,EAAEA;IAAO,GAC1CL,QACS,CACE,CACjB;IACDD,GAAG,EAAEA;EAAI,GACLG,IAAI,CACT,CAAC;AAEN,CACF,CAAC;AAEDP,aAAa,CAACkB,WAAW,GAAG,eAAe"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { InputProps } from "./Input";
|
|
3
|
+
export interface InputPasswordProps extends Omit<InputProps, "type" | "size"> {
|
|
4
|
+
/** Input size */
|
|
5
|
+
size?: "regular" | "big" | "biggest";
|
|
6
|
+
/** Renders with shown text */
|
|
7
|
+
show?: boolean;
|
|
8
|
+
/** Removes show/hide control */
|
|
9
|
+
hideControl?: boolean;
|
|
10
|
+
/** Removes strenght indicator */
|
|
11
|
+
hideIndicator?: boolean;
|
|
12
|
+
/** Show tooltip text */
|
|
13
|
+
showTooltipText?: string;
|
|
14
|
+
/** Hide tooltip text */
|
|
15
|
+
hideTooltipText?: string;
|
|
16
|
+
/** Too short strength indicator text */
|
|
17
|
+
tooShortText?: string;
|
|
18
|
+
/** Weak strength indicator text */
|
|
19
|
+
weakText?: string;
|
|
20
|
+
/** Okay strength indicator text */
|
|
21
|
+
okayText?: string;
|
|
22
|
+
/** Good strength indicator text */
|
|
23
|
+
goodText?: string;
|
|
24
|
+
/** Strong strength indicator text */
|
|
25
|
+
strongText?: string;
|
|
26
|
+
/** Error message tooltip text */
|
|
27
|
+
errorMessage?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const InputPassword: React.ForwardRefExoticComponent<InputPasswordProps & React.RefAttributes<HTMLInputElement>>;
|
|
30
|
+
//# sourceMappingURL=InputPassword.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputPassword.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputPassword.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAKf,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAwB5C,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3E,iBAAiB;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iCAAiC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgFD,eAAO,MAAM,aAAa,6FAoIzB,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.InputPassword = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
var _Input = require("./Input");
|
|
12
|
+
var _Styles = require("./Styles");
|
|
13
|
+
var _utils = require("../../utils");
|
|
14
|
+
var _IconButton = require("../IconButton");
|
|
15
|
+
var _Icons = require("../Icons");
|
|
16
|
+
var _Tooltip = require("../Tooltip");
|
|
17
|
+
var _Typography = require("../Typography");
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
+
const transform = {
|
|
21
|
+
biggest: "big",
|
|
22
|
+
regular: "small",
|
|
23
|
+
big: "medium"
|
|
24
|
+
};
|
|
25
|
+
const StypedEyeIconSmall = (0, _styledComponents.default)(_Icons.EyeSmallIcon).withConfig({
|
|
26
|
+
displayName: "InputPassword__StypedEyeIconSmall",
|
|
27
|
+
componentId: "sc-v930fj-0"
|
|
28
|
+
})(["", ""], {
|
|
29
|
+
"cursor": "pointer"
|
|
30
|
+
});
|
|
31
|
+
const StypedEyeOffIconSmall = (0, _styledComponents.default)(_Icons.EyeOffSmallIcon).withConfig({
|
|
32
|
+
displayName: "InputPassword__StypedEyeOffIconSmall",
|
|
33
|
+
componentId: "sc-v930fj-1"
|
|
34
|
+
})(["", ""], {
|
|
35
|
+
"cursor": "pointer"
|
|
36
|
+
});
|
|
37
|
+
const StypedEyeIcon = (0, _styledComponents.default)(_Icons.EyeIcon).withConfig({
|
|
38
|
+
displayName: "InputPassword__StypedEyeIcon",
|
|
39
|
+
componentId: "sc-v930fj-2"
|
|
40
|
+
})(["", ""], {
|
|
41
|
+
"cursor": "pointer"
|
|
42
|
+
});
|
|
43
|
+
const StypedEyeOffIcon = (0, _styledComponents.default)(_Icons.EyeOffIcon).withConfig({
|
|
44
|
+
displayName: "InputPassword__StypedEyeOffIcon",
|
|
45
|
+
componentId: "sc-v930fj-3"
|
|
46
|
+
})(["", ""], {
|
|
47
|
+
"cursor": "pointer"
|
|
48
|
+
});
|
|
49
|
+
const StyledInfoIcon = (0, _styledComponents.default)(_Icons.InfoIcon).withConfig({
|
|
50
|
+
displayName: "InputPassword__StyledInfoIcon",
|
|
51
|
+
componentId: "sc-v930fj-4"
|
|
52
|
+
})(["", ""], {
|
|
53
|
+
"marginRight": "0.25rem",
|
|
54
|
+
"cursor": "help",
|
|
55
|
+
"fill": "var(--red-alert)"
|
|
56
|
+
});
|
|
57
|
+
const StyledInfoSmallIcon = (0, _styledComponents.default)(_Icons.InfoSmallIcon).withConfig({
|
|
58
|
+
displayName: "InputPassword__StyledInfoSmallIcon",
|
|
59
|
+
componentId: "sc-v930fj-5"
|
|
60
|
+
})(["", ""], {
|
|
61
|
+
"marginRight": "0.25rem",
|
|
62
|
+
"cursor": "pointer",
|
|
63
|
+
"fill": "var(--red-alert)"
|
|
64
|
+
});
|
|
65
|
+
const InputPasswordAdornment = _ref => {
|
|
66
|
+
let {
|
|
67
|
+
invalid,
|
|
68
|
+
errorMessage,
|
|
69
|
+
size,
|
|
70
|
+
hideControl,
|
|
71
|
+
showText,
|
|
72
|
+
hideTooltipText,
|
|
73
|
+
showTooltipText,
|
|
74
|
+
disabled,
|
|
75
|
+
toggleShow
|
|
76
|
+
} = _ref;
|
|
77
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, invalid && errorMessage && /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
78
|
+
title: errorMessage
|
|
79
|
+
}, size === "regular" ? /*#__PURE__*/_react.default.createElement(StyledInfoSmallIcon, null) : /*#__PURE__*/_react.default.createElement(StyledInfoIcon, null)), !hideControl && /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
80
|
+
title: showText ? hideTooltipText : showTooltipText
|
|
81
|
+
}, /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
82
|
+
variant: "text gray",
|
|
83
|
+
type: "button",
|
|
84
|
+
size: transform[size],
|
|
85
|
+
disabled: disabled,
|
|
86
|
+
onClick: toggleShow
|
|
87
|
+
}, showText ? size === "regular" ? /*#__PURE__*/_react.default.createElement(StypedEyeOffIconSmall, null) : /*#__PURE__*/_react.default.createElement(StypedEyeOffIcon, null) : size === "regular" ? /*#__PURE__*/_react.default.createElement(StypedEyeIconSmall, null) : /*#__PURE__*/_react.default.createElement(StypedEyeIcon, null))));
|
|
88
|
+
};
|
|
89
|
+
const InputPassword = exports.InputPassword = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
90
|
+
let {
|
|
91
|
+
size = "regular",
|
|
92
|
+
disabled,
|
|
93
|
+
show = false,
|
|
94
|
+
hideControl,
|
|
95
|
+
hideIndicator,
|
|
96
|
+
showTooltipText = "Show",
|
|
97
|
+
hideTooltipText = "Hide",
|
|
98
|
+
value: defaultValue,
|
|
99
|
+
tooShortText = "Too short",
|
|
100
|
+
weakText = "Weak",
|
|
101
|
+
okayText = "Okay",
|
|
102
|
+
goodText = "Good",
|
|
103
|
+
strongText = "Strong",
|
|
104
|
+
errorMessage,
|
|
105
|
+
invalid,
|
|
106
|
+
onChange,
|
|
107
|
+
...rest
|
|
108
|
+
} = _ref2;
|
|
109
|
+
const inputRef = (0, _react.useRef)(null);
|
|
110
|
+
const handleRef = (0, _utils.useForkRef)(ref, inputRef);
|
|
111
|
+
const [showText, setShowText] = (0, _react.useState)(show);
|
|
112
|
+
const [strength, setStrength] = (0, _react.useState)(0);
|
|
113
|
+
const [strengthText, setStrengthText] = (0, _react.useState)(tooShortText);
|
|
114
|
+
const [value, setValue] = (0, _react.useState)(() => defaultValue);
|
|
115
|
+
const calculateStrength = (0, _react.useCallback)(passwordString => {
|
|
116
|
+
let score = 0;
|
|
117
|
+
if (passwordString.length < 4) {
|
|
118
|
+
score = 0;
|
|
119
|
+
setStrengthText(tooShortText);
|
|
120
|
+
} else if (passwordString.length === 4) {
|
|
121
|
+
score = 1;
|
|
122
|
+
setStrengthText(weakText);
|
|
123
|
+
} else if (passwordString.length >= 5 && passwordString.length < 10) {
|
|
124
|
+
score = 2;
|
|
125
|
+
setStrengthText(okayText);
|
|
126
|
+
if (/[A-Z!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(passwordString) && passwordString.length >= 5 && passwordString.length < 10) {
|
|
127
|
+
score = 3;
|
|
128
|
+
setStrengthText(goodText);
|
|
129
|
+
}
|
|
130
|
+
} else if (passwordString.length >= 10) {
|
|
131
|
+
score = 4;
|
|
132
|
+
setStrengthText(strongText);
|
|
133
|
+
}
|
|
134
|
+
setStrength(score);
|
|
135
|
+
}, [goodText, okayText, strongText, tooShortText, weakText]);
|
|
136
|
+
const handleChange = (0, _react.useCallback)(e => {
|
|
137
|
+
setValue(e.target.value);
|
|
138
|
+
calculateStrength(e.target.value);
|
|
139
|
+
typeof onChange === "function" && onChange(e.target.value);
|
|
140
|
+
}, [calculateStrength, onChange]);
|
|
141
|
+
const toggleShow = (0, _react.useCallback)(() => {
|
|
142
|
+
inputRef.current?.focus();
|
|
143
|
+
setShowText(prevState => !prevState);
|
|
144
|
+
}, []);
|
|
145
|
+
(0, _react.useEffect)(() => {
|
|
146
|
+
setShowText(show);
|
|
147
|
+
}, [show]);
|
|
148
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
149
|
+
style: {
|
|
150
|
+
width: "fit-content",
|
|
151
|
+
display: "flex",
|
|
152
|
+
flexDirection: "column"
|
|
153
|
+
}
|
|
154
|
+
}, /*#__PURE__*/_react.default.createElement(_Input.Input, (0, _extends2.default)({}, rest, {
|
|
155
|
+
ref: handleRef,
|
|
156
|
+
size: size,
|
|
157
|
+
value: value,
|
|
158
|
+
disabled: disabled,
|
|
159
|
+
type: showText ? "text" : "password",
|
|
160
|
+
onChange: handleChange,
|
|
161
|
+
invalid: invalid,
|
|
162
|
+
"data-testid": "InputPassword",
|
|
163
|
+
endAdornment: /*#__PURE__*/_react.default.createElement(InputPasswordAdornment, {
|
|
164
|
+
invalid: invalid,
|
|
165
|
+
errorMessage: errorMessage,
|
|
166
|
+
size: size,
|
|
167
|
+
hideControl: hideControl,
|
|
168
|
+
showText: showText,
|
|
169
|
+
hideTooltipText: hideTooltipText,
|
|
170
|
+
showTooltipText: showTooltipText,
|
|
171
|
+
disabled: disabled,
|
|
172
|
+
toggleShow: toggleShow
|
|
173
|
+
})
|
|
174
|
+
})), !hideIndicator && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Styles.StyledPasswordIndicatorWrapper, null, [...Array(4)].map((_, index) => /*#__PURE__*/_react.default.createElement(_Styles.StyledPasswordIndicator, {
|
|
175
|
+
key: index,
|
|
176
|
+
$strength: strength,
|
|
177
|
+
$index: index,
|
|
178
|
+
"data-testid": strength >= index + 1 ? "active" : ""
|
|
179
|
+
}))), /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
|
|
180
|
+
align: "right",
|
|
181
|
+
color: "tertiary"
|
|
182
|
+
}, strengthText)));
|
|
183
|
+
});
|
|
184
|
+
InputPassword.displayName = "InputPassword";
|
|
185
|
+
//# sourceMappingURL=InputPassword.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputPassword.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_Input","_Styles","_utils","_IconButton","_Icons","_Tooltip","_Typography","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","transform","biggest","regular","big","StypedEyeIconSmall","styled","EyeSmallIcon","withConfig","displayName","componentId","StypedEyeOffIconSmall","EyeOffSmallIcon","StypedEyeIcon","EyeIcon","StypedEyeOffIcon","EyeOffIcon","StyledInfoIcon","InfoIcon","StyledInfoSmallIcon","InfoSmallIcon","InputPasswordAdornment","_ref","invalid","errorMessage","size","hideControl","showText","hideTooltipText","showTooltipText","disabled","toggleShow","createElement","Fragment","Tooltip","title","IconButton","variant","type","onClick","InputPassword","exports","forwardRef","_ref2","ref","show","hideIndicator","value","defaultValue","tooShortText","weakText","okayText","goodText","strongText","onChange","rest","inputRef","useRef","handleRef","useForkRef","setShowText","useState","strength","setStrength","strengthText","setStrengthText","setValue","calculateStrength","useCallback","passwordString","score","length","test","handleChange","target","current","focus","prevState","useEffect","style","width","display","flexDirection","Input","_extends2","endAdornment","StyledPasswordIndicatorWrapper","Array","map","_","index","StyledPasswordIndicator","key","$strength","$index","Caption1","align","color"],"sources":["../../../../src/components/Input/InputPassword.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport styled from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Input, InputProps } from \"./Input\";\nimport {\n StyledPasswordIndicator,\n StyledPasswordIndicatorWrapper,\n} from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\nimport { IconButton } from \"../IconButton\";\nimport {\n EyeIcon,\n EyeOffIcon,\n EyeOffSmallIcon,\n EyeSmallIcon,\n InfoIcon,\n InfoSmallIcon,\n} from \"../Icons\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Caption1 } from \"../Typography\";\n\nconst transform = {\n biggest: \"big\",\n regular: \"small\",\n big: \"medium\",\n} as const;\n\nexport interface InputPasswordProps extends Omit<InputProps, \"type\" | \"size\"> {\n /** Input size */\n size?: \"regular\" | \"big\" | \"biggest\";\n /** Renders with shown text */\n show?: boolean;\n /** Removes show/hide control */\n hideControl?: boolean;\n /** Removes strenght indicator */\n hideIndicator?: boolean;\n /** Show tooltip text */\n showTooltipText?: string;\n /** Hide tooltip text */\n hideTooltipText?: string;\n /** Too short strength indicator text */\n tooShortText?: string;\n /** Weak strength indicator text */\n weakText?: string;\n /** Okay strength indicator text */\n okayText?: string;\n /** Good strength indicator text */\n goodText?: string;\n /** Strong strength indicator text */\n strongText?: string;\n /** Error message tooltip text */\n errorMessage?: string;\n}\n\nconst StypedEyeIconSmall = styled(EyeSmallIcon)`\n ${tw`tw-cursor-pointer`}\n`;\n\nconst StypedEyeOffIconSmall = styled(EyeOffSmallIcon)`\n ${tw`tw-cursor-pointer`}\n`;\n\nconst StypedEyeIcon = styled(EyeIcon)`\n ${tw`tw-cursor-pointer`}\n`;\n\nconst StypedEyeOffIcon = styled(EyeOffIcon)`\n ${tw`tw-cursor-pointer`}\n`;\nconst StyledInfoIcon = styled(InfoIcon)`\n ${tw`tw-cursor-help tw-fill-alert tw-mr-1`}\n`;\n\nconst StyledInfoSmallIcon = styled(InfoSmallIcon)`\n ${tw`tw-cursor-pointer tw-fill-alert tw-mr-1`}\n`;\n\ninterface InputPasswordAdornmentProps {\n invalid?: boolean;\n errorMessage?: string;\n size: \"regular\" | \"big\" | \"biggest\";\n hideControl?: boolean;\n showText: boolean;\n hideTooltipText: string;\n showTooltipText: string;\n disabled?: boolean;\n toggleShow?: () => void;\n}\n\nconst InputPasswordAdornment = ({\n invalid,\n errorMessage,\n size,\n hideControl,\n showText,\n hideTooltipText,\n showTooltipText,\n disabled,\n toggleShow,\n}: InputPasswordAdornmentProps) => (\n <>\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? <StyledInfoSmallIcon /> : <StyledInfoIcon />}\n </Tooltip>\n )}\n {!hideControl && (\n <Tooltip title={showText ? hideTooltipText : showTooltipText}>\n <IconButton\n variant=\"text gray\"\n type=\"button\"\n size={transform[size] as \"big\" | \"small\" | \"medium\"}\n disabled={disabled}\n onClick={toggleShow}\n >\n {showText ? (\n size === \"regular\" ? (\n <StypedEyeOffIconSmall />\n ) : (\n <StypedEyeOffIcon />\n )\n ) : size === \"regular\" ? (\n <StypedEyeIconSmall />\n ) : (\n <StypedEyeIcon />\n )}\n </IconButton>\n </Tooltip>\n )}\n </>\n);\n\nexport const InputPassword = forwardRef<HTMLInputElement, InputPasswordProps>(\n (\n {\n size = \"regular\",\n disabled,\n show = false,\n hideControl,\n hideIndicator,\n showTooltipText = \"Show\",\n hideTooltipText = \"Hide\",\n value: defaultValue,\n tooShortText = \"Too short\",\n weakText = \"Weak\",\n okayText = \"Okay\",\n goodText = \"Good\",\n strongText = \"Strong\",\n errorMessage,\n invalid,\n onChange,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const [showText, setShowText] = useState(show);\n const [strength, setStrength] = useState(0);\n const [strengthText, setStrengthText] = useState(tooShortText);\n const [value, setValue] = useState(() => defaultValue as string);\n\n const calculateStrength = useCallback(\n (passwordString: string) => {\n let score = 0;\n\n if (passwordString.length < 4) {\n score = 0;\n setStrengthText(tooShortText);\n } else if (passwordString.length === 4) {\n score = 1;\n setStrengthText(weakText);\n } else if (passwordString.length >= 5 && passwordString.length < 10) {\n score = 2;\n setStrengthText(okayText);\n if (\n /[A-Z!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?]/.test(passwordString) &&\n passwordString.length >= 5 &&\n passwordString.length < 10\n ) {\n score = 3;\n setStrengthText(goodText);\n }\n } else if (passwordString.length >= 10) {\n score = 4;\n setStrengthText(strongText);\n }\n\n setStrength(score);\n },\n [goodText, okayText, strongText, tooShortText, weakText]\n );\n\n const handleChange = useCallback(\n (e) => {\n setValue(e.target.value);\n calculateStrength(e.target.value);\n typeof onChange === \"function\" && onChange(e.target.value);\n },\n [calculateStrength, onChange]\n );\n\n const toggleShow = useCallback(() => {\n inputRef.current?.focus();\n setShowText((prevState) => !prevState);\n }, []);\n\n useEffect(() => {\n setShowText(show);\n }, [show]);\n\n return (\n <div\n style={{\n width: \"fit-content\",\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n <Input\n {...rest}\n ref={handleRef}\n size={size}\n value={value}\n disabled={disabled}\n type={showText ? \"text\" : \"password\"}\n onChange={handleChange}\n invalid={invalid}\n data-testid=\"InputPassword\"\n endAdornment={\n <InputPasswordAdornment\n invalid={invalid}\n errorMessage={errorMessage}\n size={size}\n hideControl={hideControl}\n showText={showText}\n hideTooltipText={hideTooltipText}\n showTooltipText={showTooltipText}\n disabled={disabled}\n toggleShow={toggleShow}\n />\n }\n />\n {!hideIndicator && (\n <>\n <StyledPasswordIndicatorWrapper>\n {[...Array(4)].map((_, index) => (\n <StyledPasswordIndicator\n key={index}\n $strength={strength}\n $index={index}\n data-testid={strength >= index + 1 ? \"active\" : \"\"}\n />\n ))}\n </StyledPasswordIndicatorWrapper>\n <Caption1 align=\"right\" color=\"tertiary\">\n {strengthText}\n </Caption1>\n </>\n )}\n </div>\n );\n }\n);\n\nInputPassword.displayName = \"InputPassword\";\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAIA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAQA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AAAyC,SAAAU,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEzC,MAAMY,SAAS,GAAG;EAChBC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,OAAO;EAChBC,GAAG,EAAE;AACP,CAAU;AA6BV,MAAMC,kBAAkB,GAAG,IAAAC,yBAAM,EAACC,mBAAY,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aACzC;EAAA;AAAkB,CAAC,CACxB;AAED,MAAMC,qBAAqB,GAAG,IAAAL,yBAAM,EAACM,sBAAe,CAAC,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAC/C;EAAA;AAAkB,CAAC,CACxB;AAED,MAAMG,aAAa,GAAG,IAAAP,yBAAM,EAACQ,cAAO,CAAC,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAC/B;EAAA;AAAkB,CAAC,CACxB;AAED,MAAMK,gBAAgB,GAAG,IAAAT,yBAAM,EAACU,iBAAU,CAAC,CAAAR,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aACrC;EAAA;AAAkB,CAAC,CACxB;AACD,MAAMO,cAAc,GAAG,IAAAX,yBAAM,EAACY,eAAQ,CAAC,CAAAV,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aACjC;EAAA;EAAA;EAAA;AAAqC,CAAC,CAC3C;AAED,MAAMS,mBAAmB,GAAG,IAAAb,yBAAM,EAACc,oBAAa,CAAC,CAAAZ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAC3C;EAAA;EAAA;EAAA;AAAwC,CAAC,CAC9C;AAcD,MAAMW,sBAAsB,GAAGC,IAAA;EAAA,IAAC;IAC9BC,OAAO;IACPC,YAAY;IACZC,IAAI;IACJC,WAAW;IACXC,QAAQ;IACRC,eAAe;IACfC,eAAe;IACfC,QAAQ;IACRC;EAC2B,CAAC,GAAAT,IAAA;EAAA,oBAC5BtD,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAAAhE,MAAA,CAAAkB,OAAA,CAAA+C,QAAA,QACGV,OAAO,IAAIC,YAAY,iBACtBxD,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACtD,QAAA,CAAAwD,OAAO;IAACC,KAAK,EAAEX;EAAa,GAC1BC,IAAI,KAAK,SAAS,gBAAGzD,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACb,mBAAmB,MAAE,CAAC,gBAAGnD,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACf,cAAc,MAAE,CAC1D,CACV,EACA,CAACS,WAAW,iBACX1D,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACtD,QAAA,CAAAwD,OAAO;IAACC,KAAK,EAAER,QAAQ,GAAGC,eAAe,GAAGC;EAAgB,gBAC3D7D,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACxD,WAAA,CAAA4D,UAAU;IACTC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,QAAQ;IACbb,IAAI,EAAExB,SAAS,CAACwB,IAAI,CAAgC;IACpDK,QAAQ,EAAEA,QAAS;IACnBS,OAAO,EAAER;EAAW,GAEnBJ,QAAQ,GACPF,IAAI,KAAK,SAAS,gBAChBzD,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACrB,qBAAqB,MAAE,CAAC,gBAEzB3C,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACjB,gBAAgB,MAAE,CACpB,GACCU,IAAI,KAAK,SAAS,gBACpBzD,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAAC3B,kBAAkB,MAAE,CAAC,gBAEtBrC,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACnB,aAAa,MAAE,CAER,CACL,CAEX,CAAC;AAAA,CACJ;AAEM,MAAM2B,aAAa,GAAAC,OAAA,CAAAD,aAAA,gBAAG,IAAAE,iBAAU,EACrC,CAAAC,KAAA,EAoBEC,GAAG,KACA;EAAA,IApBH;IACEnB,IAAI,GAAG,SAAS;IAChBK,QAAQ;IACRe,IAAI,GAAG,KAAK;IACZnB,WAAW;IACXoB,aAAa;IACbjB,eAAe,GAAG,MAAM;IACxBD,eAAe,GAAG,MAAM;IACxBmB,KAAK,EAAEC,YAAY;IACnBC,YAAY,GAAG,WAAW;IAC1BC,QAAQ,GAAG,MAAM;IACjBC,QAAQ,GAAG,MAAM;IACjBC,QAAQ,GAAG,MAAM;IACjBC,UAAU,GAAG,QAAQ;IACrB7B,YAAY;IACZD,OAAO;IACP+B,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAZ,KAAA;EAGD,MAAMa,QAAQ,GAAG,IAAAC,aAAM,EAA0B,IAAI,CAAC;EACtD,MAAMC,SAAS,GAAG,IAAAC,iBAAU,EAACf,GAAG,EAAEY,QAAQ,CAAC;EAE3C,MAAM,CAAC7B,QAAQ,EAAEiC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAChB,IAAI,CAAC;EAC9C,MAAM,CAACiB,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC,CAAC;EAC3C,MAAM,CAACG,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAJ,eAAQ,EAACZ,YAAY,CAAC;EAC9D,MAAM,CAACF,KAAK,EAAEmB,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAAC,MAAMb,YAAsB,CAAC;EAEhE,MAAMmB,iBAAiB,GAAG,IAAAC,kBAAW,EAClCC,cAAsB,IAAK;IAC1B,IAAIC,KAAK,GAAG,CAAC;IAEb,IAAID,cAAc,CAACE,MAAM,GAAG,CAAC,EAAE;MAC7BD,KAAK,GAAG,CAAC;MACTL,eAAe,CAAChB,YAAY,CAAC;IAC/B,CAAC,MAAM,IAAIoB,cAAc,CAACE,MAAM,KAAK,CAAC,EAAE;MACtCD,KAAK,GAAG,CAAC;MACTL,eAAe,CAACf,QAAQ,CAAC;IAC3B,CAAC,MAAM,IAAImB,cAAc,CAACE,MAAM,IAAI,CAAC,IAAIF,cAAc,CAACE,MAAM,GAAG,EAAE,EAAE;MACnED,KAAK,GAAG,CAAC;MACTL,eAAe,CAACd,QAAQ,CAAC;MACzB,IACE,wCAAwC,CAACqB,IAAI,CAACH,cAAc,CAAC,IAC7DA,cAAc,CAACE,MAAM,IAAI,CAAC,IAC1BF,cAAc,CAACE,MAAM,GAAG,EAAE,EAC1B;QACAD,KAAK,GAAG,CAAC;QACTL,eAAe,CAACb,QAAQ,CAAC;MAC3B;IACF,CAAC,MAAM,IAAIiB,cAAc,CAACE,MAAM,IAAI,EAAE,EAAE;MACtCD,KAAK,GAAG,CAAC;MACTL,eAAe,CAACZ,UAAU,CAAC;IAC7B;IAEAU,WAAW,CAACO,KAAK,CAAC;EACpB,CAAC,EACD,CAAClB,QAAQ,EAAED,QAAQ,EAAEE,UAAU,EAAEJ,YAAY,EAAEC,QAAQ,CACzD,CAAC;EAED,MAAMuB,YAAY,GAAG,IAAAL,kBAAW,EAC7BvF,CAAC,IAAK;IACLqF,QAAQ,CAACrF,CAAC,CAAC6F,MAAM,CAAC3B,KAAK,CAAC;IACxBoB,iBAAiB,CAACtF,CAAC,CAAC6F,MAAM,CAAC3B,KAAK,CAAC;IACjC,OAAOO,QAAQ,KAAK,UAAU,IAAIA,QAAQ,CAACzE,CAAC,CAAC6F,MAAM,CAAC3B,KAAK,CAAC;EAC5D,CAAC,EACD,CAACoB,iBAAiB,EAAEb,QAAQ,CAC9B,CAAC;EAED,MAAMvB,UAAU,GAAG,IAAAqC,kBAAW,EAAC,MAAM;IACnCZ,QAAQ,CAACmB,OAAO,EAAEC,KAAK,CAAC,CAAC;IACzBhB,WAAW,CAAEiB,SAAS,IAAK,CAACA,SAAS,CAAC;EACxC,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAC,gBAAS,EAAC,MAAM;IACdlB,WAAW,CAACf,IAAI,CAAC;EACnB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBACE7E,MAAA,CAAAkB,OAAA,CAAA8C,aAAA;IACE+C,KAAK,EAAE;MACLC,KAAK,EAAE,aAAa;MACpBC,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE;IACjB;EAAE,gBAEFlH,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAAC3D,MAAA,CAAA8G,KAAK,MAAAC,SAAA,CAAAlG,OAAA,MACAqE,IAAI;IACRX,GAAG,EAAEc,SAAU;IACfjC,IAAI,EAAEA,IAAK;IACXsB,KAAK,EAAEA,KAAM;IACbjB,QAAQ,EAAEA,QAAS;IACnBQ,IAAI,EAAEX,QAAQ,GAAG,MAAM,GAAG,UAAW;IACrC2B,QAAQ,EAAEmB,YAAa;IACvBlD,OAAO,EAAEA,OAAQ;IACjB,eAAY,eAAe;IAC3B8D,YAAY,eACVrH,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACX,sBAAsB;MACrBE,OAAO,EAAEA,OAAQ;MACjBC,YAAY,EAAEA,YAAa;MAC3BC,IAAI,EAAEA,IAAK;MACXC,WAAW,EAAEA,WAAY;MACzBC,QAAQ,EAAEA,QAAS;MACnBC,eAAe,EAAEA,eAAgB;MACjCC,eAAe,EAAEA,eAAgB;MACjCC,QAAQ,EAAEA,QAAS;MACnBC,UAAU,EAAEA;IAAW,CACxB;EACF,EACF,CAAC,EACD,CAACe,aAAa,iBACb9E,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAAAhE,MAAA,CAAAkB,OAAA,CAAA+C,QAAA,qBACEjE,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAAC1D,OAAA,CAAAgH,8BAA8B,QAC5B,CAAC,GAAGC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBAC1B1H,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAAC1D,OAAA,CAAAqH,uBAAuB;IACtBC,GAAG,EAAEF,KAAM;IACXG,SAAS,EAAE/B,QAAS;IACpBgC,MAAM,EAAEJ,KAAM;IACd,eAAa5B,QAAQ,IAAI4B,KAAK,GAAG,CAAC,GAAG,QAAQ,GAAG;EAAG,CACpD,CACF,CAC6B,CAAC,eACjC1H,MAAA,CAAAkB,OAAA,CAAA8C,aAAA,CAACrD,WAAA,CAAAoH,QAAQ;IAACC,KAAK,EAAC,OAAO;IAACC,KAAK,EAAC;EAAU,GACrCjC,YACO,CACV,CAED,CAAC;AAEV,CACF,CAAC;AAEDxB,aAAa,CAAC/B,WAAW,GAAG,eAAe"}
|
|
@@ -11,5 +11,10 @@ interface StyledInputProps extends Pick<InputProps, "align"> {
|
|
|
11
11
|
$loading?: boolean;
|
|
12
12
|
}
|
|
13
13
|
export declare const StyledInput: import("styled-components").StyledComponent<"input", any, StyledInputProps, never>;
|
|
14
|
+
export declare const StyledPasswordIndicatorWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
15
|
+
export declare const StyledPasswordIndicator: import("styled-components").StyledComponent<"div", any, {
|
|
16
|
+
$strength: number;
|
|
17
|
+
$index: number;
|
|
18
|
+
}, never>;
|
|
14
19
|
export {};
|
|
15
20
|
//# sourceMappingURL=Styles.d.ts.map
|
|
@@ -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"}
|
|
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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.StyledInputWrapper = exports.StyledInput = void 0;
|
|
6
|
+
exports.StyledPasswordIndicatorWrapper = exports.StyledPasswordIndicator = exports.StyledInputWrapper = exports.StyledInput = void 0;
|
|
7
7
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
8
8
|
var _BoxSizingStyle = require("../BoxSizingStyle");
|
|
9
9
|
var _FontStyle = require("../FontStyle");
|
|
@@ -19,4 +19,30 @@ const StyledInput = exports.StyledInput = _styledComponents.default.input.withCo
|
|
|
19
19
|
componentId: "sc-ce8kcp-1"
|
|
20
20
|
})(["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" && (0, _styledComponents.css)(["font-size:1rem;"]), props => props.$size === "biggest" && (0, _styledComponents.css)(["font-size:1.25rem;font-weight:700;"]), props => props.disabled && (0, _styledComponents.css)(["cursor:default;"]), props => props.$loading && (0, _styledComponents.css)(["cursor:progress;"]), props => props.align && (0, _styledComponents.css)(["text-align:", ";"], props.align));
|
|
21
21
|
StyledInput.displayName = "StyledInput";
|
|
22
|
+
const StyledPasswordIndicatorWrapper = exports.StyledPasswordIndicatorWrapper = _styledComponents.default.div.withConfig({
|
|
23
|
+
displayName: "Styles__StyledPasswordIndicatorWrapper",
|
|
24
|
+
componentId: "sc-ce8kcp-2"
|
|
25
|
+
})(["display:flex;gap:2px;margin-top:6px;margin-bottom:4px;"]);
|
|
26
|
+
StyledPasswordIndicatorWrapper.displayName = "StyledPasswordIndicatorWrapper";
|
|
27
|
+
const StyledPasswordIndicator = exports.StyledPasswordIndicator = _styledComponents.default.div.withConfig({
|
|
28
|
+
displayName: "Styles__StyledPasswordIndicator",
|
|
29
|
+
componentId: "sc-ce8kcp-3"
|
|
30
|
+
})(["width:100%;height:4px;border-radius:6px;background-color:", ";"], props => {
|
|
31
|
+
const {
|
|
32
|
+
$strength,
|
|
33
|
+
$index
|
|
34
|
+
} = props;
|
|
35
|
+
if ($strength === 0) {
|
|
36
|
+
return "var(--color-theme-300)";
|
|
37
|
+
} else if ($strength === 1) {
|
|
38
|
+
return $index === 0 ? "var(--red-alert)" : "var(--color-theme-300)";
|
|
39
|
+
} else if ($strength === 2) {
|
|
40
|
+
return $index < 2 ? "var(--color-orange)" : "var(--color-theme-300)";
|
|
41
|
+
} else if ($strength === 3) {
|
|
42
|
+
return $index < 3 ? "var(--color-blue-sky)" : "var(--color-theme-300)";
|
|
43
|
+
} else {
|
|
44
|
+
return "var(--color-sucess-green)";
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
StyledPasswordIndicator.displayName = "StyledPasswordIndicator";
|
|
22
48
|
//# sourceMappingURL=Styles.js.map
|