@salutejs/plasma-new-hope 0.239.0-canary.1699.12748300760.0 → 0.239.0-canary.1702.12749548652.0

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 (77) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.js +62 -21
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  3. package/cjs/components/NumberInput/NumberInput.js +3 -10
  4. package/cjs/components/NumberInput/NumberInput.js.map +1 -1
  5. package/cjs/components/NumberInput/ui/Input/Input.js +7 -16
  6. package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
  7. package/cjs/components/NumberInput/utils/index.js +0 -10
  8. package/cjs/components/NumberInput/utils/index.js.map +1 -1
  9. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +62 -21
  10. package/emotion/cjs/components/NumberInput/NumberInput.js +3 -10
  11. package/emotion/cjs/components/NumberInput/ui/Input/Input.js +7 -16
  12. package/emotion/cjs/components/NumberInput/utils/index.js +2 -11
  13. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +0 -7
  14. package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +0 -1
  15. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +2 -7
  16. package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +0 -1
  17. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +62 -21
  18. package/emotion/es/components/NumberInput/NumberInput.js +3 -10
  19. package/emotion/es/components/NumberInput/ui/Input/Input.js +8 -17
  20. package/emotion/es/components/NumberInput/utils/index.js +1 -10
  21. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +0 -7
  22. package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +0 -1
  23. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +2 -7
  24. package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +0 -1
  25. package/es/components/DatePicker/RangeDate/RangeDate.js +62 -21
  26. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  27. package/es/components/NumberInput/NumberInput.js +3 -10
  28. package/es/components/NumberInput/NumberInput.js.map +1 -1
  29. package/es/components/NumberInput/ui/Input/Input.js +8 -17
  30. package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
  31. package/es/components/NumberInput/utils/index.js +1 -10
  32. package/es/components/NumberInput/utils/index.js.map +1 -1
  33. package/package.json +2 -2
  34. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +62 -21
  35. package/styled-components/cjs/components/NumberInput/NumberInput.js +3 -10
  36. package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +7 -16
  37. package/styled-components/cjs/components/NumberInput/utils/index.js +2 -11
  38. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +0 -7
  39. package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +0 -1
  40. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +2 -7
  41. package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +0 -1
  42. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +62 -21
  43. package/styled-components/es/components/NumberInput/NumberInput.js +3 -10
  44. package/styled-components/es/components/NumberInput/ui/Input/Input.js +8 -17
  45. package/styled-components/es/components/NumberInput/utils/index.js +1 -10
  46. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +0 -7
  47. package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +0 -1
  48. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +2 -7
  49. package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +0 -1
  50. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +10 -8
  51. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  52. package/types/components/DatePicker/RangeDate/RangeDate.styles.d.ts +12 -12
  53. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  54. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  55. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +1 -1
  56. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  57. package/types/components/NumberInput/NumberInput.d.ts.map +1 -1
  58. package/types/components/NumberInput/NumberInput.types.d.ts +0 -5
  59. package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -1
  60. package/types/components/NumberInput/ui/Input/Input.d.ts +0 -1
  61. package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -1
  62. package/types/components/NumberInput/ui/Input/Input.types.d.ts +0 -1
  63. package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -1
  64. package/types/components/NumberInput/utils/index.d.ts +0 -1
  65. package/types/components/NumberInput/utils/index.d.ts.map +1 -1
  66. package/types/components/Range/Range.types.d.ts +5 -5
  67. package/types/components/Range/Range.types.d.ts.map +1 -1
  68. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +5 -4
  69. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  70. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +0 -2
  71. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -1
  72. package/types/examples/plasma_b2c/components/Range/Range.d.ts +12 -12
  73. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +5 -4
  74. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  75. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +0 -2
  76. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -1
  77. package/types/examples/plasma_web/components/Range/Range.d.ts +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../../../src/components/NumberInput/ui/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent, ChangeEvent, FocusEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { classes } from '../../NumberInput.tokens';\nimport { cx, isNumber } from '../../../../utils';\nimport { useDidMountEffect } from '../../../../hooks';\nimport { defaultCharacterWidth, excludingNumberSchema, getPreciseValue, numberSchema } from '../../utils';\nimport { keyCodes } from '../../../../utils/constants';\n\nimport type { InputProps } from './Input.types';\nimport {\n AdditionalText,\n Input,\n InputWrapper,\n DynamicInput,\n InputWidthHelper,\n TextWrapper,\n StyledSpinner,\n Loader,\n} from './Input.styles';\n\nexport const NumberInput = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n value,\n precision,\n min,\n max,\n isLoading,\n loader,\n disabled,\n segmentation,\n textBefore,\n textAfter,\n isManualInput,\n isInputFocused,\n setIsInputFocused,\n setIsAnimationRun,\n setInnerValue,\n onChange,\n onBlur,\n onKeyDown,\n ...rest\n },\n ref,\n ) => {\n const [dynamicWidth, setDynamicWidth] = useState(value ? `${String(value).length}ch` : defaultCharacterWidth);\n const [lastValidValue, setLastValidValue] = useState<number | string>(Number(value));\n const [errorClass, setErrorClass] = useState<string | undefined>(undefined);\n const [errorValue, setErrorValue] = useState<number>();\n\n const inputHelperRef = useRef<HTMLSpanElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const textWrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const manualInputClass = isManualInput ? classes.manualInput : undefined;\n\n const getInputWidth = (firstRender = true) => {\n if (!firstRender && inputHelperRef.current?.clientWidth) {\n return `${inputHelperRef.current?.clientWidth}px`;\n }\n\n if (value) {\n return `${String(value).length}ch`;\n }\n\n return defaultCharacterWidth;\n };\n\n const setValues = (event: ChangeEvent<HTMLInputElement> | null, newValue: number | string) => {\n setLastValidValue(newValue);\n setInnerValue(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n };\n\n const validateValue = (newValue: number | string) => {\n if (!newValue || !isNumber(newValue)) {\n setValues(null, lastValidValue);\n setIsAnimationRun(false);\n return;\n }\n\n const resValue = Number(newValue);\n if (max !== undefined && resValue > max) {\n setErrorClass(classes.errorAnimation);\n setErrorValue(max);\n setIsAnimationRun(true);\n return;\n }\n\n if (min !== undefined && resValue < min) {\n setErrorClass(classes.errorAnimation);\n setErrorValue(min);\n setIsAnimationRun(true);\n return;\n }\n\n if (String(newValue).endsWith('.')) {\n setValues(null, Number(newValue));\n setIsAnimationRun(false);\n return;\n }\n\n if (precision !== undefined) {\n const preciseNewValue = Number(getPreciseValue(newValue, precision));\n setValues(null, preciseNewValue);\n }\n\n setIsAnimationRun(false);\n };\n\n const handleManualInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isManualInput || disabled) {\n return;\n }\n\n setIsAnimationRun(true);\n\n const { value: newValue } = event.target;\n\n if (!newValue) {\n setInnerValue('');\n\n if (onChange) {\n onChange(event, '');\n }\n return;\n }\n\n const cleanValue = newValue.replace(excludingNumberSchema, '');\n if (cleanValue.endsWith('.') || cleanValue === '-') {\n setInnerValue(cleanValue);\n\n if (onChange) {\n onChange(event, cleanValue);\n }\n return;\n }\n\n console.log('here');\n const isValid = numberSchema.test(cleanValue);\n\n if (!isValid) {\n console.log('not valid', cleanValue);\n setValues(event, lastValidValue);\n return;\n }\n console.log('valid!', cleanValue);\n\n if (\n textWrapperRef?.current &&\n wrapperRef?.current &&\n textWrapperRef?.current?.clientWidth > wrapperRef?.current?.clientWidth\n ) {\n wrapperRef.current.scrollLeft =\n textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;\n }\n\n setValues(event, cleanValue);\n };\n\n const handleClickInputWrapper = () => {\n if (!isManualInput || !inputRef.current) {\n return;\n }\n\n if (!isInputFocused) {\n inputRef.current.select();\n }\n\n setIsInputFocused(true);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n validateValue(value);\n setIsInputFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (!isManualInput || disabled) {\n return;\n }\n\n if (event.keyCode === keyCodes.Enter) {\n event.preventDefault();\n\n validateValue(value);\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n }\n };\n\n const handleEndErrorAnimation = (correctValue: number) => {\n setIsAnimationRun(false);\n setIsInputFocused(false);\n\n setErrorClass(undefined);\n setValues(null, correctValue);\n };\n\n useEffect(() => {\n setDynamicWidth(getInputWidth());\n }, []);\n\n useDidMountEffect(() => {\n setDynamicWidth(getInputWidth(false));\n }, [value]);\n\n return (\n <InputWrapper\n ref={wrapperRef}\n className={cx(solidViewClass, errorClass, manualInputClass)}\n isManualInput={Boolean(isManualInput)}\n onClick={handleClickInputWrapper}\n >\n <TextWrapper ref={textWrapperRef}>\n {!isLoading && textBefore && (\n <AdditionalText className={classes.textBefore}>{textBefore}</AdditionalText>\n )}\n {isLoading ? (\n <Loader>{loader || <StyledSpinner />}</Loader>\n ) : (\n <DynamicInput>\n <Input\n ref={inputForkRef}\n dynamicWidth={dynamicWidth}\n value={value}\n isManualInput={Boolean(isManualInput)}\n tabIndex={disabled || !isManualInput ? -1 : 0}\n onChange={handleManualInputChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onAnimationEnd={() => handleEndErrorAnimation(Number(errorValue))}\n {...rest}\n />\n <InputWidthHelper ref={inputHelperRef}>{value}</InputWidthHelper>\n </DynamicInput>\n )}\n {!isLoading && textAfter && (\n <AdditionalText className={classes.textAfter}>{textAfter}</AdditionalText>\n )}\n </TextWrapper>\n </InputWrapper>\n );\n },\n);\n"],"names":["NumberInput","forwardRef","_ref","ref","value","precision","min","max","isLoading","loader","disabled","segmentation","textBefore","textAfter","isManualInput","isInputFocused","setIsInputFocused","setIsAnimationRun","setInnerValue","onChange","onBlur","onKeyDown","rest","_objectWithoutProperties","_excluded","_useState","useState","concat","String","length","defaultCharacterWidth","_useState2","_slicedToArray","dynamicWidth","setDynamicWidth","_useState3","Number","_useState4","lastValidValue","setLastValidValue","_useState5","undefined","_useState6","errorClass","setErrorClass","_useState7","_useState8","errorValue","setErrorValue","inputHelperRef","useRef","wrapperRef","textWrapperRef","inputRef","inputForkRef","useForkRef","solidViewClass","classes","solidView","manualInputClass","manualInput","getInputWidth","_inputHelperRef$curre","firstRender","arguments","current","clientWidth","_inputHelperRef$curre2","setValues","event","newValue","validateValue","isNumber","resValue","errorAnimation","endsWith","preciseNewValue","getPreciseValue","handleManualInputChange","_textWrapperRef$curre","_wrapperRef$current","target","cleanValue","replace","excludingNumberSchema","console","log","isValid","numberSchema","test","scrollLeft","offsetWidth","offsetLeft","handleClickInputWrapper","select","handleBlur","handleKeyDown","keyCode","keyCodes","Enter","preventDefault","handleEndErrorAnimation","correctValue","useEffect","useDidMountEffect","React","createElement","InputWrapper","className","cx","Boolean","onClick","TextWrapper","AdditionalText","Loader","_StyledSpinner","StyledSpinner","DynamicInput","Input","_extends","tabIndex","onAnimationEnd","InputWidthHelper"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../../../../../src/components/NumberInput/ui/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent, ChangeEvent, FocusEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { classes } from '../../NumberInput.tokens';\nimport { cx, isNumber } from '../../../../utils';\nimport { useDidMountEffect } from '../../../../hooks';\nimport { defaultCharacterWidth, excludingNumberSchema, numberSchema } from '../../utils';\nimport { keyCodes } from '../../../../utils/constants';\n\nimport type { InputProps } from './Input.types';\nimport {\n AdditionalText,\n Input,\n InputWrapper,\n DynamicInput,\n InputWidthHelper,\n TextWrapper,\n StyledSpinner,\n Loader,\n} from './Input.styles';\n\nexport const NumberInput = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n value,\n min,\n max,\n isLoading,\n loader,\n disabled,\n segmentation,\n textBefore,\n textAfter,\n isManualInput,\n isInputFocused,\n setIsInputFocused,\n setIsAnimationRun,\n setInnerValue,\n onChange,\n onBlur,\n onKeyDown,\n ...rest\n },\n ref,\n ) => {\n const [dynamicWidth, setDynamicWidth] = useState(value ? `${String(value).length}ch` : defaultCharacterWidth);\n const [lastValidValue, setLastValidValue] = useState(Number(value));\n const [errorClass, setErrorClass] = useState<string | undefined>(undefined);\n const [errorValue, setErrorValue] = useState<number>();\n\n const inputHelperRef = useRef<HTMLSpanElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const textWrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const manualInputClass = isManualInput ? classes.manualInput : undefined;\n\n const getInputWidth = (firstRender = true) => {\n if (!firstRender && inputHelperRef.current?.clientWidth) {\n return `${inputHelperRef.current?.clientWidth}px`;\n }\n\n if (value) {\n return `${String(value).length}ch`;\n }\n\n return defaultCharacterWidth;\n };\n\n const setValues = (event: ChangeEvent<HTMLInputElement> | null, newValue: number) => {\n setLastValidValue(newValue);\n setInnerValue(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n };\n\n const validateValue = (newValue: number | string) => {\n if (!newValue || !isNumber(newValue)) {\n setValues(null, lastValidValue);\n setIsAnimationRun(false);\n return;\n }\n\n if (String(newValue).endsWith('.')) {\n setValues(null, Number(newValue));\n setIsAnimationRun(false);\n return;\n }\n\n const resValue = Number(newValue);\n if (max !== undefined && resValue > max) {\n setErrorClass(classes.errorAnimation);\n setErrorValue(max);\n setIsAnimationRun(true);\n return;\n }\n\n if (min !== undefined && resValue < min) {\n setErrorClass(classes.errorAnimation);\n setErrorValue(min);\n setIsAnimationRun(true);\n }\n\n setIsAnimationRun(false);\n };\n\n const handleManualInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isManualInput || disabled) {\n return;\n }\n\n setIsAnimationRun(true);\n\n const { value: newValue } = event.target;\n\n if (!newValue) {\n setInnerValue('');\n\n if (onChange) {\n onChange(event, '');\n }\n return;\n }\n\n const cleanValue = newValue.replace(excludingNumberSchema, '');\n if (cleanValue.endsWith('.') || cleanValue === '-') {\n setInnerValue(cleanValue);\n\n if (onChange) {\n onChange(event, cleanValue);\n }\n return;\n }\n\n const isValid = numberSchema.test(cleanValue);\n\n if (!isValid) {\n setValues(event, lastValidValue);\n return;\n }\n\n if (\n textWrapperRef?.current &&\n wrapperRef?.current &&\n textWrapperRef?.current?.clientWidth > wrapperRef?.current?.clientWidth\n ) {\n wrapperRef.current.scrollLeft =\n textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;\n }\n\n setValues(event, Number(cleanValue));\n };\n\n const handleClickInputWrapper = () => {\n if (!isManualInput || !inputRef.current) {\n return;\n }\n\n if (!isInputFocused) {\n inputRef.current.select();\n }\n\n setIsInputFocused(true);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n validateValue(value);\n setIsInputFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (!isManualInput || disabled) {\n return;\n }\n\n if (event.keyCode === keyCodes.Enter) {\n event.preventDefault();\n\n validateValue(value);\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n }\n };\n\n const handleEndErrorAnimation = (correctValue: number) => {\n setIsAnimationRun(false);\n setIsInputFocused(false);\n\n setErrorClass(undefined);\n setValues(null, correctValue);\n };\n\n useEffect(() => {\n setDynamicWidth(getInputWidth());\n }, []);\n\n useDidMountEffect(() => {\n setDynamicWidth(getInputWidth(false));\n }, [value]);\n\n return (\n <InputWrapper\n ref={wrapperRef}\n className={cx(solidViewClass, errorClass, manualInputClass)}\n isManualInput={Boolean(isManualInput)}\n onClick={handleClickInputWrapper}\n >\n <TextWrapper ref={textWrapperRef}>\n {!isLoading && textBefore && (\n <AdditionalText className={classes.textBefore}>{textBefore}</AdditionalText>\n )}\n {isLoading ? (\n <Loader>{loader || <StyledSpinner />}</Loader>\n ) : (\n <DynamicInput>\n <Input\n ref={inputForkRef}\n dynamicWidth={dynamicWidth}\n value={value}\n isManualInput={Boolean(isManualInput)}\n tabIndex={disabled || !isManualInput ? -1 : 0}\n onChange={handleManualInputChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onAnimationEnd={() => handleEndErrorAnimation(Number(errorValue))}\n {...rest}\n />\n <InputWidthHelper ref={inputHelperRef}>{value}</InputWidthHelper>\n </DynamicInput>\n )}\n {!isLoading && textAfter && (\n <AdditionalText className={classes.textAfter}>{textAfter}</AdditionalText>\n )}\n </TextWrapper>\n </InputWrapper>\n );\n },\n);\n"],"names":["NumberInput","forwardRef","_ref","ref","value","min","max","isLoading","loader","disabled","segmentation","textBefore","textAfter","isManualInput","isInputFocused","setIsInputFocused","setIsAnimationRun","setInnerValue","onChange","onBlur","onKeyDown","rest","_objectWithoutProperties","_excluded","_useState","useState","concat","String","length","defaultCharacterWidth","_useState2","_slicedToArray","dynamicWidth","setDynamicWidth","_useState3","Number","_useState4","lastValidValue","setLastValidValue","_useState5","undefined","_useState6","errorClass","setErrorClass","_useState7","_useState8","errorValue","setErrorValue","inputHelperRef","useRef","wrapperRef","textWrapperRef","inputRef","inputForkRef","useForkRef","solidViewClass","classes","solidView","manualInputClass","manualInput","getInputWidth","_inputHelperRef$curre","firstRender","arguments","current","clientWidth","_inputHelperRef$curre2","setValues","event","newValue","validateValue","isNumber","endsWith","resValue","errorAnimation","handleManualInputChange","_textWrapperRef$curre","_wrapperRef$current","target","cleanValue","replace","excludingNumberSchema","isValid","numberSchema","test","scrollLeft","offsetWidth","offsetLeft","handleClickInputWrapper","select","handleBlur","handleKeyDown","keyCode","keyCodes","Enter","preventDefault","handleEndErrorAnimation","correctValue","useEffect","useDidMountEffect","React","createElement","InputWrapper","className","cx","Boolean","onClick","TextWrapper","AdditionalText","Loader","_StyledSpinner","StyledSpinner","DynamicInput","Input","_extends","tabIndex","onAnimationEnd","InputWidthHelper"],"mappings":"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"}
@@ -5,18 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var defaultCharacterWidth = '1ch';
6
6
  var numberSchema = /^(-)?\d+(\.\d+)?$/;
7
7
  var excludingNumberSchema = /[^-.\d]/g;
8
- var getPreciseValue = function getPreciseValue(value, precision) {
9
- var innerValue = String(value);
10
- if (precision !== undefined) {
11
- var factor = Math.pow(10, precision);
12
- var preparedValue = Number(innerValue) < 0 ? Number(innerValue) - Number.EPSILON : Number(innerValue) + Number.EPSILON;
13
- return String(Math.round(preparedValue * factor) / factor);
14
- }
15
- return innerValue;
16
- };
17
8
 
18
9
  exports.defaultCharacterWidth = defaultCharacterWidth;
19
10
  exports.excludingNumberSchema = excludingNumberSchema;
20
- exports.getPreciseValue = getPreciseValue;
21
11
  exports.numberSchema = numberSchema;
22
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/NumberInput/utils/index.ts"],"sourcesContent":["export const defaultCharacterWidth = '1ch';\nexport const numberSchema = /^(-)?\\d+(\\.\\d+)?$/;\nexport const excludingNumberSchema = /[^-.\\d]/g;\n\nexport const getPreciseValue = (value: number | string, precision?: number) => {\n const innerValue = String(value);\n\n if (precision !== undefined) {\n const factor = 10 ** precision;\n const preparedValue =\n Number(innerValue) < 0 ? Number(innerValue) - Number.EPSILON : Number(innerValue) + Number.EPSILON;\n\n return String(Math.round(preparedValue * factor) / factor);\n }\n\n return innerValue;\n};\n"],"names":["defaultCharacterWidth","numberSchema","excludingNumberSchema","getPreciseValue","value","precision","innerValue","String","undefined","factor","Math","pow","preparedValue","Number","EPSILON","round"],"mappings":";;;;AAAO,IAAMA,qBAAqB,GAAG,MAAK;AACnC,IAAMC,YAAY,GAAG,oBAAmB;AACxC,IAAMC,qBAAqB,GAAG,WAAU;AAExC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAsB,EAAEC,SAAkB,EAAK;AAC3E,EAAA,IAAMC,UAAU,GAAGC,MAAM,CAACH,KAAK,CAAC,CAAA;EAEhC,IAAIC,SAAS,KAAKG,SAAS,EAAE;IACzB,IAAMC,MAAM,GAAAC,IAAA,CAAAC,GAAA,CAAG,EAAE,EAAIN,SAAS,CAAA,CAAA;IAC9B,IAAMO,aAAa,GACfC,MAAM,CAACP,UAAU,CAAC,GAAG,CAAC,GAAGO,MAAM,CAACP,UAAU,CAAC,GAAGO,MAAM,CAACC,OAAO,GAAGD,MAAM,CAACP,UAAU,CAAC,GAAGO,MAAM,CAACC,OAAO,CAAA;AAEtG,IAAA,OAAOP,MAAM,CAACG,IAAI,CAACK,KAAK,CAACH,aAAa,GAAGH,MAAM,CAAC,GAAGA,MAAM,CAAC,CAAA;AAC9D,GAAA;AAEA,EAAA,OAAOH,UAAU,CAAA;AACrB;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/NumberInput/utils/index.ts"],"sourcesContent":["export const defaultCharacterWidth = '1ch';\nexport const numberSchema = /^(-)?\\d+(\\.\\d+)?$/;\nexport const excludingNumberSchema = /[^-.\\d]/g;\n"],"names":["defaultCharacterWidth","numberSchema","excludingNumberSchema"],"mappings":";;;;AAAO,IAAMA,qBAAqB,GAAG,MAAK;AACnC,IAAMC,YAAY,GAAG,oBAAmB;AACxC,IAAMC,qBAAqB,GAAG;;;;;;"}
@@ -19,7 +19,7 @@ var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
19
19
  var _base4 = /*#__PURE__*/require("./variations/_readonly/base");
20
20
  var _RangeDate = /*#__PURE__*/require("./RangeDate.styles");
21
21
  var _RangeDatePopover = /*#__PURE__*/require("./RangeDatePopover/RangeDatePopover");
22
- var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
22
+ var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
23
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
24
  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 && {}.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; }
25
25
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -104,6 +104,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
104
104
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
105
105
  _ref$closeOnEsc = _ref.closeOnEsc,
106
106
  closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
107
+ _ref$closeAfterDateSe = _ref.closeAfterDateSelect,
108
+ closeAfterDateSelect = _ref$closeAfterDateSe === void 0 ? true : _ref$closeAfterDateSe,
107
109
  offset = _ref.offset,
108
110
  onToggle = _ref.onToggle,
109
111
  onChange = _ref.onChange,
@@ -156,6 +158,14 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
156
158
  _useState14 = _slicedToArray(_useState13, 2),
157
159
  inputSecondValue = _useState14[0],
158
160
  setInputSecondValue = _useState14[1];
161
+ var _useState15 = (0, _react.useState)(Boolean(calendarFirstValue) && Boolean(calendarSecondValue)),
162
+ _useState16 = _slicedToArray(_useState15, 2),
163
+ fullDateEntered = _useState16[0],
164
+ setFullDateEntered = _useState16[1];
165
+ var _useState17 = (0, _react.useState)(false),
166
+ _useState18 = _slicedToArray(_useState17, 2),
167
+ secondTextFieldClicked = _useState18[0],
168
+ setSecondTextFieldClicked = _useState18[1];
159
169
  var setFirstInputValue = function setFirstInputValue(value) {
160
170
  setInputFirstValue(value);
161
171
  if (onChange) {
@@ -216,12 +226,12 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
216
226
  }),
217
227
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
218
228
  handleCommitSecondDate = _useDatePicker2.handleCommitDate;
219
- var handleToggle = function handleToggle(opened, event) {
229
+ var handleToggle = function handleToggle(currentOpened, event) {
220
230
  var _firstInputRef$curren, _secondInputRef$curre;
221
231
  if (disabled || readOnly) {
222
232
  return;
223
233
  }
224
- var isCalendarOpen = (firstInputRef !== null && firstInputRef !== void 0 && (_firstInputRef$curren = firstInputRef.current) !== null && _firstInputRef$curren !== void 0 && _firstInputRef$curren.contains(event.target || null) || secondInputRef !== null && secondInputRef !== void 0 && (_secondInputRef$curre = secondInputRef.current) !== null && _secondInputRef$curre !== void 0 && _secondInputRef$curre.contains(event.target || null)) && event.code !== _useKeyboardNavigation.keys.Escape ? true : opened;
234
+ var isCalendarOpen = (firstInputRef !== null && firstInputRef !== void 0 && (_firstInputRef$curren = firstInputRef.current) !== null && _firstInputRef$curren !== void 0 && _firstInputRef$curren.contains((event === null || event === void 0 ? void 0 : event.target) || null) || secondInputRef !== null && secondInputRef !== void 0 && (_secondInputRef$curre = secondInputRef.current) !== null && _secondInputRef$curre !== void 0 && _secondInputRef$curre.contains((event === null || event === void 0 ? void 0 : event.target) || null)) && (event === null || event === void 0 ? void 0 : event.code) !== _useKeyboardNavigation.keys.Escape ? true : currentOpened;
225
235
  if (!isCalendarOpen) {
226
236
  if (calendarFirstValue && !calendarSecondValue) {
227
237
  var _secondInputRef$curre2;
@@ -232,11 +242,22 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
232
242
  firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
233
243
  }
234
244
  }
245
+ if (!isCalendarOpen) {
246
+ setSecondTextFieldClicked(false);
247
+ }
235
248
  if (onToggle) {
236
249
  return onToggle(isCalendarOpen, event);
237
250
  }
238
251
  setIsInnerOpen(isCalendarOpen);
239
252
  };
253
+ var handleFocusFirstTextField = function handleFocusFirstTextField(event) {
254
+ onFocusFirstTextfield === null || onFocusFirstTextfield === void 0 || onFocusFirstTextfield(event);
255
+ setSecondTextFieldClicked(false);
256
+ };
257
+ var handleFocusSecondTextField = function handleFocusSecondTextField(event) {
258
+ onFocusSecondTextfield === null || onFocusSecondTextfield === void 0 || onFocusSecondTextfield(event);
259
+ setSecondTextFieldClicked(true);
260
+ };
240
261
  var handleBlur = function handleBlur(event, outerHandler) {
241
262
  if (!inputFirstValue || !inputSecondValue) {
242
263
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
@@ -276,6 +297,33 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
276
297
  closeOnEsc: closeOnEsc
277
298
  }),
278
299
  onKeyDown = _useKeyNavigation.onKeyDown;
300
+ var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
301
+ if (fullDateEntered) {
302
+ var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
303
+ var _getSortedValues3 = (0, _utils2.getSortedValues)([prevValue, chosenDate]),
304
+ _getSortedValues4 = _slicedToArray(_getSortedValues3, 2),
305
+ first = _getSortedValues4[0],
306
+ second = _getSortedValues4[1];
307
+ handleCommitFirstDate(first, false, true, dateInfo);
308
+ handleCommitSecondDate(second, false, true, dateInfo);
309
+ if (!firstValueError && !secondValueError && closeAfterDateSelect) {
310
+ handleToggle(false);
311
+ }
312
+ return;
313
+ }
314
+ handleCommitFirstDate(chosenDate, false, true, dateInfo);
315
+ handleCommitSecondDate('');
316
+ };
317
+ var handleChangeCalendarValue = function handleChangeCalendarValue(_ref2, dateInfo) {
318
+ var _ref3 = _slicedToArray(_ref2, 2),
319
+ firstDate = _ref3[0],
320
+ secondDate = _ref3[1];
321
+ firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);
322
+ secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);
323
+ if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
324
+ handleToggle(false);
325
+ }
326
+ };
279
327
  var RangeComponent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_RangeDate.StyledRange, {
280
328
  ref: rangeRef,
281
329
  autoComplete: autoComplete,
@@ -321,8 +369,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
321
369
  rangeRef === null || rangeRef === void 0 || (_rangeRef$current4 = rangeRef.current) === null || _rangeRef$current4 === void 0 || (_rangeRef$current4 = _rangeRef$current4.firstTextField()) === null || _rangeRef$current4 === void 0 || (_rangeRef$current4 = _rangeRef$current4.current) === null || _rangeRef$current4 === void 0 || _rangeRef$current4.focus();
322
370
  }
323
371
  },
324
- onFocusFirstTextfield: onFocusFirstTextfield,
325
- onFocusSecondTextfield: onFocusSecondTextfield,
372
+ onFocusFirstTextfield: handleFocusFirstTextField,
373
+ onFocusSecondTextfield: handleFocusSecondTextField,
326
374
  onBlurFirstTextfield: function onBlurFirstTextfield(event) {
327
375
  return handleBlur(event, _onBlurFirstTextfield);
328
376
  },
@@ -371,8 +419,13 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
371
419
  lang: lang
372
420
  }));
373
421
  }, [format, lang]);
374
- var RootWrapper = (0, _react.useCallback)(function (_ref2) {
375
- var children = _ref2.children;
422
+ (0, _react.useEffect)(function () {
423
+ if (Boolean(calendarFirstValue) && Boolean(calendarSecondValue)) {
424
+ setFullDateEntered(true);
425
+ }
426
+ }, [calendarFirstValue, calendarSecondValue]);
427
+ var RootWrapper = (0, _react.useCallback)(function (_ref4) {
428
+ var children = _ref4.children;
376
429
  return /*#__PURE__*/_react["default"].createElement(Root, {
377
430
  view: view,
378
431
  size: size,
@@ -414,20 +467,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
414
467
  lang: lang,
415
468
  isDoubleCalendar: isDoubleCalendar,
416
469
  rootWrapper: RootWrapper,
417
- onChangeStartOfRange: function onChangeStartOfRange(firstDate, dateInfo) {
418
- handleCommitFirstDate(firstDate, false, true, dateInfo);
419
- handleCommitSecondDate('');
420
- },
421
- onChangeValue: function onChangeValue(_ref3, dateInfo) {
422
- var _ref4 = _slicedToArray(_ref3, 2),
423
- firstDate = _ref4[0],
424
- secondDate = _ref4[1];
425
- firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);
426
- secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);
427
- if (firstDate && secondDate && !firstValueError && !secondValueError) {
428
- setIsInnerOpen(false);
429
- }
430
- }
470
+ onChangeStartOfRange: handleChangeStartOfRange,
471
+ onChangeValue: handleChangeCalendarValue
431
472
  }), leftHelper && /*#__PURE__*/_react["default"].createElement(_RangeDate.LeftHelper, null, leftHelper), /*#__PURE__*/_react["default"].createElement(_DatePickerBase.InputHidden, _extends({
432
473
  name: name,
433
474
  type: "hidden",
@@ -17,8 +17,7 @@ var _base3 = /*#__PURE__*/require("./variations/_shape/base");
17
17
  var _base4 = /*#__PURE__*/require("./variations/_background-type/base");
18
18
  var _base5 = /*#__PURE__*/require("./variations/_segmentation/base");
19
19
  var _base6 = /*#__PURE__*/require("./variations/_disabled/base");
20
- var _utils2 = /*#__PURE__*/require("./utils");
21
- var _excluded = ["className", "style", "width", "value", "min", "max", "step", "precision", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
20
+ var _excluded = ["className", "style", "width", "value", "min", "max", "step", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
22
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
22
  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 && {}.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; }
24
23
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -46,8 +45,6 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
46
45
  max = _ref.max,
47
46
  _ref$step = _ref.step,
48
47
  step = _ref$step === void 0 ? 1 : _ref$step,
49
- _ref$precision = _ref.precision,
50
- precision = _ref$precision === void 0 ? 2 : _ref$precision,
51
48
  isLoading = _ref.isLoading,
52
49
  loader = _ref.loader,
53
50
  size = _ref.size,
@@ -81,7 +78,6 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
81
78
  _useState6 = _slicedToArray(_useState5, 2),
82
79
  isAnimationRun = _useState6[0],
83
80
  setIsAnimationRun = _useState6[1];
84
- console.log('innerValue', innerValue);
85
81
  var innerWidth = width ? (0, _utils.getSizeValueFromProp)(width) : '100%';
86
82
  var actionIconSize = size === 'xs' ? 'xs' : 's';
87
83
  var solidViewClass = segmentation === 'solid' ? _NumberInput.classes.solidView : undefined;
@@ -102,8 +98,7 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
102
98
  if (isLoading || disabled || isAnimationRun) {
103
99
  return;
104
100
  }
105
- var preciseDiff = (0, _utils2.getPreciseValue)(Number(innerValue) - step, precision);
106
- var diffValue = Number(preciseDiff);
101
+ var diffValue = Number(innerValue) - step;
107
102
  var resValue = min !== undefined && diffValue <= min ? min : diffValue;
108
103
  setInnerValue(resValue);
109
104
  if (onDecrement) {
@@ -117,8 +112,7 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
117
112
  if (isLoading || disabled || isAnimationRun) {
118
113
  return;
119
114
  }
120
- var preciseDiff = (0, _utils2.getPreciseValue)(Number(innerValue) + step, precision);
121
- var diffValue = Number(preciseDiff);
115
+ var diffValue = Number(innerValue) + step;
122
116
  var resValue = max !== undefined && diffValue >= max ? max : diffValue;
123
117
  setInnerValue(resValue);
124
118
  if (onIncrement) {
@@ -162,7 +156,6 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
162
156
  ref: ref,
163
157
  segmentation: segmentation,
164
158
  value: innerValue,
165
- precision: precision,
166
159
  min: min,
167
160
  max: max,
168
161
  isManualInput: isManualInput,
@@ -14,7 +14,7 @@ var _utils2 = /*#__PURE__*/require("../../utils");
14
14
  var _constants = /*#__PURE__*/require("../../../../utils/constants");
15
15
  var _Input = /*#__PURE__*/require("./Input.styles");
16
16
  var _StyledSpinner;
17
- var _excluded = ["value", "precision", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
17
+ var _excluded = ["value", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
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 && {}.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
20
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -28,7 +28,6 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
28
28
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29
29
  var NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
30
30
  var value = _ref.value,
31
- precision = _ref.precision,
32
31
  min = _ref.min,
33
32
  max = _ref.max,
34
33
  isLoading = _ref.isLoading,
@@ -94,6 +93,11 @@ var NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)(func
94
93
  setIsAnimationRun(false);
95
94
  return;
96
95
  }
96
+ if (String(newValue).endsWith('.')) {
97
+ setValues(null, Number(newValue));
98
+ setIsAnimationRun(false);
99
+ return;
100
+ }
97
101
  var resValue = Number(newValue);
98
102
  if (max !== undefined && resValue > max) {
99
103
  setErrorClass(_NumberInput.classes.errorAnimation);
@@ -105,16 +109,6 @@ var NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)(func
105
109
  setErrorClass(_NumberInput.classes.errorAnimation);
106
110
  setErrorValue(min);
107
111
  setIsAnimationRun(true);
108
- return;
109
- }
110
- if (String(newValue).endsWith('.')) {
111
- setValues(null, Number(newValue));
112
- setIsAnimationRun(false);
113
- return;
114
- }
115
- if (precision !== undefined) {
116
- var preciseNewValue = Number((0, _utils2.getPreciseValue)(newValue, precision));
117
- setValues(null, preciseNewValue);
118
112
  }
119
113
  setIsAnimationRun(false);
120
114
  };
@@ -140,18 +134,15 @@ var NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)(func
140
134
  }
141
135
  return;
142
136
  }
143
- console.log('here');
144
137
  var isValid = _utils2.numberSchema.test(cleanValue);
145
138
  if (!isValid) {
146
- console.log('not valid', cleanValue);
147
139
  setValues(event, lastValidValue);
148
140
  return;
149
141
  }
150
- console.log('valid!', cleanValue);
151
142
  if (textWrapperRef !== null && textWrapperRef !== void 0 && textWrapperRef.current && wrapperRef !== null && wrapperRef !== void 0 && wrapperRef.current && (textWrapperRef === null || textWrapperRef === void 0 || (_textWrapperRef$curre = textWrapperRef.current) === null || _textWrapperRef$curre === void 0 ? void 0 : _textWrapperRef$curre.clientWidth) > (wrapperRef === null || wrapperRef === void 0 || (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.clientWidth)) {
152
143
  wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
153
144
  }
154
- setValues(event, cleanValue);
145
+ setValues(event, Number(cleanValue));
155
146
  };
156
147
  var handleClickInputWrapper = function handleClickInputWrapper() {
157
148
  if (!isManualInput || !inputRef.current) {
@@ -3,16 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.numberSchema = exports.getPreciseValue = exports.excludingNumberSchema = exports.defaultCharacterWidth = void 0;
6
+ exports.numberSchema = exports.excludingNumberSchema = exports.defaultCharacterWidth = void 0;
7
7
  var defaultCharacterWidth = exports.defaultCharacterWidth = '1ch';
8
8
  var numberSchema = exports.numberSchema = /^(-)?\d+(\.\d+)?$/;
9
- var excludingNumberSchema = exports.excludingNumberSchema = /[^-.\d]/g;
10
- var getPreciseValue = exports.getPreciseValue = function getPreciseValue(value, precision) {
11
- var innerValue = String(value);
12
- if (precision !== undefined) {
13
- var factor = Math.pow(10, precision);
14
- var preparedValue = Number(innerValue) < 0 ? Number(innerValue) - Number.EPSILON : Number(innerValue) + Number.EPSILON;
15
- return String(Math.round(preparedValue * factor) / factor);
16
- }
17
- return innerValue;
18
- };
9
+ var excludingNumberSchema = exports.excludingNumberSchema = /[^-.\d]/g;
@@ -192,7 +192,6 @@ const StoryRange = ({
192
192
  const rangeRef = useRef<RangeInputRefs>(null);
193
193
 
194
194
  const [isOpen, setIsOpen] = useState(false);
195
- const [firstDate, setFirstDate] = useState<string | Date>('');
196
195
 
197
196
  const iconSize = size === 'xs' ? 'xs' : 's';
198
197
  const showDividerIcon = dividerVariant === 'icon';
@@ -239,12 +238,6 @@ const StoryRange = ({
239
238
  onChangeSecondValue={(e, currentValue) => {
240
239
  onChangeSecondValue(e, currentValue);
241
240
  }}
242
- onCommitFirstDate={(currentValue) => {
243
- setFirstDate(currentValue);
244
- }}
245
- onCommitSecondDate={(currentValue) => {
246
- firstDate && currentValue && setIsOpen(false);
247
- }}
248
241
  lang={lang}
249
242
  {...dividerIconProps}
250
243
  {...rest}
@@ -96,7 +96,6 @@ export const Default: StoryObj<StoryPropsDefault> = {
96
96
  segmentation: 'default',
97
97
  min: 0,
98
98
  max: 9,
99
- precision: 2,
100
99
  step: 1,
101
100
  width: 188,
102
101
  isManualInput: false,
@@ -186,12 +186,12 @@ const StoryRange = ({
186
186
  secondValueError,
187
187
  secondValueSuccess,
188
188
  size,
189
+ lang,
189
190
  ...rest
190
191
  }: StoryPropsRange) => {
191
192
  const rangeRef = useRef<RangeInputRefs>(null);
192
193
 
193
194
  const [isOpen, setIsOpen] = useState(false);
194
- const [firstDate, setFirstDate] = useState<string | Date>('');
195
195
 
196
196
  const iconSize = size === 'xs' ? 'xs' : 's';
197
197
  const showDividerIcon = dividerVariant === 'icon';
@@ -238,12 +238,7 @@ const StoryRange = ({
238
238
  onChangeSecondValue={(e, currentValue) => {
239
239
  onChangeSecondValue(e, currentValue);
240
240
  }}
241
- onCommitFirstDate={(currentValue) => {
242
- setFirstDate(currentValue);
243
- }}
244
- onCommitSecondDate={(currentValue) => {
245
- firstDate && currentValue && setIsOpen(false);
246
- }}
241
+ lang={lang}
247
242
  {...dividerIconProps}
248
243
  {...rest}
249
244
  />
@@ -96,7 +96,6 @@ export const Default: StoryObj<StoryPropsDefault> = {
96
96
  segmentation: 'default',
97
97
  min: 0,
98
98
  max: 9,
99
- precision: 2,
100
99
  step: 1,
101
100
  width: 188,
102
101
  isManualInput: false,