@salutejs/plasma-new-hope 0.239.0-canary.1703.12765518370.0 → 0.240.0-canary.1697.12783039602.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.
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.js +10 -3
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/NumberInput/ui/Input/Input.js +16 -7
- package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/cjs/components/NumberInput/utils/index.js +10 -0
- package/cjs/components/NumberInput/utils/index.js.map +1 -1
- package/cjs/components/Slider/Slider.css +6 -6
- package/cjs/components/Slider/Slider.tokens.js +0 -1
- package/cjs/components/Slider/Slider.tokens.js.map +1 -1
- package/cjs/components/Slider/components/Single/Single.css +6 -6
- package/cjs/components/Slider/components/Single/Single.styles.js +1 -1
- package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -1
- package/cjs/components/Slider/components/Single/Single.styles_1h7n2s2.css +6 -0
- package/cjs/index.css +6 -6
- package/cjs/utils/getPopoverPlacement.js +2 -1
- package/cjs/utils/getPopoverPlacement.js.map +1 -1
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +1 -1
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -1
- package/emotion/cjs/components/NumberInput/NumberInput.js +10 -3
- package/emotion/cjs/components/NumberInput/ui/Input/Input.js +16 -7
- package/emotion/cjs/components/NumberInput/utils/index.js +11 -2
- package/emotion/cjs/components/Slider/Slider.tokens.js +0 -1
- package/emotion/cjs/components/Slider/components/Single/Single.styles.js +6 -6
- package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
- package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/emotion/cjs/examples/plasma_web/components/Slider/Slider.config.js +7 -7
- package/emotion/cjs/utils/getPopoverPlacement.js +2 -1
- package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +1 -1
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +1 -1
- package/emotion/es/components/NumberInput/NumberInput.js +10 -3
- package/emotion/es/components/NumberInput/ui/Input/Input.js +17 -8
- package/emotion/es/components/NumberInput/utils/index.js +10 -1
- package/emotion/es/components/Slider/Slider.tokens.js +0 -1
- package/emotion/es/components/Slider/components/Single/Single.styles.js +6 -6
- package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/emotion/es/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
- package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/emotion/es/examples/plasma_web/components/Slider/Slider.config.js +7 -7
- package/emotion/es/utils/getPopoverPlacement.js +2 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/NumberInput/NumberInput.js +10 -3
- package/es/components/NumberInput/NumberInput.js.map +1 -1
- package/es/components/NumberInput/ui/Input/Input.js +17 -8
- package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/es/components/NumberInput/utils/index.js +10 -1
- package/es/components/NumberInput/utils/index.js.map +1 -1
- package/es/components/Slider/Slider.css +6 -6
- package/es/components/Slider/Slider.tokens.js +0 -1
- package/es/components/Slider/Slider.tokens.js.map +1 -1
- package/es/components/Slider/components/Single/Single.css +6 -6
- package/es/components/Slider/components/Single/Single.styles.js +1 -1
- package/es/components/Slider/components/Single/Single.styles.js.map +1 -1
- package/es/components/Slider/components/Single/Single.styles_1h7n2s2.css +6 -0
- package/es/index.css +6 -6
- package/es/utils/getPopoverPlacement.js +2 -1
- package/es/utils/getPopoverPlacement.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +1 -1
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -1
- package/styled-components/cjs/components/NumberInput/NumberInput.js +10 -3
- package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +16 -7
- package/styled-components/cjs/components/NumberInput/utils/index.js +11 -2
- package/styled-components/cjs/components/Slider/Slider.tokens.js +0 -1
- package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
- package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +3 -3
- package/styled-components/cjs/utils/getPopoverPlacement.js +2 -1
- package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +1 -1
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +1 -1
- package/styled-components/es/components/NumberInput/NumberInput.js +10 -3
- package/styled-components/es/components/NumberInput/ui/Input/Input.js +17 -8
- package/styled-components/es/components/NumberInput/utils/index.js +10 -1
- package/styled-components/es/components/Slider/Slider.tokens.js +0 -1
- package/styled-components/es/components/Slider/components/Single/Single.styles.js +1 -1
- package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
- package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +3 -3
- package/styled-components/es/utils/getPopoverPlacement.js +2 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -2
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -2
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +2 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/types/components/NumberInput/NumberInput.types.d.ts +5 -0
- package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -1
- package/types/components/NumberInput/ui/Input/Input.d.ts +1 -0
- package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -1
- package/types/components/NumberInput/ui/Input/Input.types.d.ts +1 -0
- package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -1
- package/types/components/NumberInput/utils/index.d.ts +1 -0
- package/types/components/NumberInput/utils/index.d.ts.map +1 -1
- package/types/components/Slider/Slider.tokens.d.ts +0 -1
- package/types/components/Slider/Slider.tokens.d.ts.map +1 -1
- package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +1 -1
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +2 -0
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +1 -1
- package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +2 -0
- package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +1 -1
- package/types/utils/getPopoverPlacement.d.ts +3 -2
- package/types/utils/getPopoverPlacement.d.ts.map +1 -1
- package/cjs/components/Slider/components/Single/Single.styles_1a6l9pg.css +0 -6
- package/es/components/Slider/components/Single/Single.styles_1a6l9pg.css +0 -6
@@ -50,7 +50,7 @@ var RangeDatePopover = function RangeDatePopover(_ref) {
|
|
50
50
|
usePortal: usePortal,
|
51
51
|
onToggle: onToggle,
|
52
52
|
offset: offset,
|
53
|
-
placement: getPopoverPlacement.getPlacements(placement),
|
53
|
+
placement: getPopoverPlacement.getPlacements(placement, false),
|
54
54
|
trigger: "click",
|
55
55
|
closeOnOverlayClick: closeOnOverlayClick,
|
56
56
|
isFocusTrapped: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RangeDatePopover.js","sources":["../../../../../src/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.tsx"],"sourcesContent":["import React from 'react';\n\nimport { getPlacements } from '../../../../utils';\nimport { StyledPopover } from '../RangeDate.styles';\n\nimport type { RangeDatePopoverProps } from './RangeDatePopover.types';\nimport { StyledCalendar, StyledCalendarDouble } from './RangeDatePopover.styles';\n\nexport const RangeDatePopover = ({\n rootWrapper: Root,\n target,\n\n isOpen,\n opened,\n isDoubleCalendar,\n\n calendarValue,\n min,\n max,\n includeEdgeDates,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc,\n offset,\n\n type,\n size,\n lang = 'ru',\n\n onChangeValue,\n onChangeStartOfRange,\n\n onToggle,\n}: RangeDatePopoverProps) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n if (isDoubleCalendar) {\n return (\n <StyledPopover\n opened={innerIsOpen}\n frame={frame}\n usePortal={usePortal}\n onToggle={onToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={target}\n preventOverflow={false}\n >\n <Root>\n <StyledCalendarDouble\n size={size}\n value={calendarValue}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n type={type}\n locale={lang}\n includeEdgeDates={includeEdgeDates}\n onChangeValue={onChangeValue}\n onChangeStartOfRange={onChangeStartOfRange}\n />\n </Root>\n </StyledPopover>\n );\n }\n\n return (\n <StyledPopover\n opened={innerIsOpen}\n frame={frame}\n usePortal={usePortal}\n onToggle={onToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={target}\n preventOverflow={false}\n closeOnEsc={closeOnEsc}\n >\n <Root>\n <StyledCalendar\n size={size}\n value={calendarValue}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n type={type}\n locale={lang}\n includeEdgeDates={includeEdgeDates}\n onChangeValue={onChangeValue}\n onChangeStartOfRange={onChangeStartOfRange}\n />\n </Root>\n </StyledPopover>\n );\n};\n"],"names":["RangeDatePopover","_ref","Root","rootWrapper","target","isOpen","opened","isDoubleCalendar","calendarValue","min","max","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","closeOnEsc","offset","type","size","_ref$lang","lang","onChangeValue","onChangeStartOfRange","onToggle","innerIsOpen","Boolean","React","createElement","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","StyledCalendarDouble","value","locale","StyledCalendar"],"mappings":";;;;;;;;;IAQaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAoCA;AAAA,EAAA,IAnCZC,IAAI,GAAAD,IAAA,CAAjBE,WAAW;IACXC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAENC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,MAAM,GAAAL,IAAA,CAANK,MAAM;IACNC,gBAAgB,GAAAN,IAAA,CAAhBM,gBAAgB;IAEhBC,aAAa,GAAAP,IAAA,CAAbO,aAAa;IACbC,GAAG,GAAAR,IAAA,CAAHQ,GAAG;IACHC,GAAG,GAAAT,IAAA,CAAHS,GAAG;IACHC,gBAAgB,GAAAV,IAAA,CAAhBU,gBAAgB;IAChBC,SAAS,GAAAX,IAAA,CAATW,SAAS;IACTC,YAAY,GAAAZ,IAAA,CAAZY,YAAY;IACZC,cAAc,GAAAb,IAAA,CAAda,cAAc;IACdC,iBAAiB,GAAAd,IAAA,CAAjBc,iBAAiB;IACjBC,gBAAgB,GAAAf,IAAA,CAAhBe,gBAAgB;IAChBC,mBAAmB,GAAAhB,IAAA,CAAnBgB,mBAAmB;IACnBC,aAAa,GAAAjB,IAAA,CAAbiB,aAAa;IACbC,gBAAgB,GAAAlB,IAAA,CAAhBkB,gBAAgB;IAAAC,UAAA,GAAAnB,IAAA,CAEhBoB,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,UAAA;IAAAE,cAAA,GAAArB,IAAA,CAClBsB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,cAAA,GAAAvB,IAAA,CACjBwB,SAAS;IAATA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAAA,cAAA;IAAAE,qBAAA,GAAAzB,IAAA,CAC7B0B,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAC1BE,UAAU,GAAA3B,IAAA,CAAV2B,UAAU;IACVC,MAAM,GAAA5B,IAAA,CAAN4B,MAAM;IAENC,IAAI,GAAA7B,IAAA,CAAJ6B,IAAI;IACJC,IAAI,GAAA9B,IAAA,CAAJ8B,IAAI;IAAAC,SAAA,GAAA/B,IAAA,CACJgC,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;IAEXE,aAAa,GAAAjC,IAAA,CAAbiC,aAAa;IACbC,oBAAoB,GAAAlC,IAAA,CAApBkC,oBAAoB;IAEpBC,QAAQ,GAAAnC,IAAA,CAARmC,QAAQ,CAAA;AAER,EAAA,IAAMC,WAAW,GAAGC,OAAO,CAACjC,MAAM,IAAIC,MAAM,CAAC,CAAA;AAE7C,EAAA,IAAIC,gBAAgB,EAAE;AAClB,IAAA,oBACIgC,KAAA,CAAAC,aAAA,CAACC,8BAAa,EAAA;AACVnC,MAAAA,MAAM,EAAE+B,WAAY;AACpBhB,MAAAA,KAAK,EAAEA,KAAM;AACbE,MAAAA,SAAS,EAAEA,SAAU;AACrBa,MAAAA,QAAQ,EAAEA,QAAS;AACnBP,MAAAA,MAAM,EAAEA,MAAO;AACfJ,MAAAA,SAAS,EAAEiB,iCAAa,CAACjB,SAAS,CAAE;
|
1
|
+
{"version":3,"file":"RangeDatePopover.js","sources":["../../../../../src/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.tsx"],"sourcesContent":["import React from 'react';\n\nimport { getPlacements } from '../../../../utils';\nimport { StyledPopover } from '../RangeDate.styles';\n\nimport type { RangeDatePopoverProps } from './RangeDatePopover.types';\nimport { StyledCalendar, StyledCalendarDouble } from './RangeDatePopover.styles';\n\nexport const RangeDatePopover = ({\n rootWrapper: Root,\n target,\n\n isOpen,\n opened,\n isDoubleCalendar,\n\n calendarValue,\n min,\n max,\n includeEdgeDates,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc,\n offset,\n\n type,\n size,\n lang = 'ru',\n\n onChangeValue,\n onChangeStartOfRange,\n\n onToggle,\n}: RangeDatePopoverProps) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n if (isDoubleCalendar) {\n return (\n <StyledPopover\n opened={innerIsOpen}\n frame={frame}\n usePortal={usePortal}\n onToggle={onToggle}\n offset={offset}\n placement={getPlacements(placement, false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={target}\n preventOverflow={false}\n >\n <Root>\n <StyledCalendarDouble\n size={size}\n value={calendarValue}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n type={type}\n locale={lang}\n includeEdgeDates={includeEdgeDates}\n onChangeValue={onChangeValue}\n onChangeStartOfRange={onChangeStartOfRange}\n />\n </Root>\n </StyledPopover>\n );\n }\n\n return (\n <StyledPopover\n opened={innerIsOpen}\n frame={frame}\n usePortal={usePortal}\n onToggle={onToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={target}\n preventOverflow={false}\n closeOnEsc={closeOnEsc}\n >\n <Root>\n <StyledCalendar\n size={size}\n value={calendarValue}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n type={type}\n locale={lang}\n includeEdgeDates={includeEdgeDates}\n onChangeValue={onChangeValue}\n onChangeStartOfRange={onChangeStartOfRange}\n />\n </Root>\n </StyledPopover>\n );\n};\n"],"names":["RangeDatePopover","_ref","Root","rootWrapper","target","isOpen","opened","isDoubleCalendar","calendarValue","min","max","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","closeOnEsc","offset","type","size","_ref$lang","lang","onChangeValue","onChangeStartOfRange","onToggle","innerIsOpen","Boolean","React","createElement","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","StyledCalendarDouble","value","locale","StyledCalendar"],"mappings":"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"}
|
@@ -208,7 +208,7 @@ var datePickerRoot = function datePickerRoot(Root) {
|
|
208
208
|
frame: frame,
|
209
209
|
onToggle: handleToggle,
|
210
210
|
offset: offset,
|
211
|
-
placement: getPopoverPlacement.getPlacements(placement),
|
211
|
+
placement: getPopoverPlacement.getPlacements(placement, false),
|
212
212
|
trigger: "click",
|
213
213
|
closeOnOverlayClick: closeOnOverlayClick,
|
214
214
|
isFocusTrapped: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, SyntheticEvent, useCallback, useEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, getPlacements, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\n\nimport type { DatePickerProps } from './SingleDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledInput, StyledPopover, base } from './SingleDate.styles';\n\nexport const datePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n opened = false,\n\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n placeholder,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n defaultDate = '',\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarValue, setCalendarValue] = useState(formatCalendarValue(defaultDate, format, lang));\n const [inputValue, setInputValue] = useState(formatInputValue({ value: defaultDate, format, lang }));\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const { datePickerErrorClass, datePickerSuccessClass, handleChangeValue, handleCommitDate } = useDatePicker(\n {\n currentValue: inputValue,\n setInputValue,\n setCalendarValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n onChangeValue,\n onCommitDate,\n onChange,\n },\n );\n\n const handleToggle = (opened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event.target === inputRef?.current &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : opened;\n\n if (!isCalendarOpen && inputValue) {\n inputRef?.current?.focus();\n }\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n closeOnEsc,\n });\n\n const DatePickerInput = (\n <StyledInput\n ref={inputRef}\n className={cx(datePickerErrorClass, datePickerSuccessClass)}\n value={inputValue}\n size={size}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleChangeValue}\n onSearch={(date) => handleCommitDate(date, true, false)}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n setCalendarValue(formatCalendarValue(defaultDate, format, lang));\n setInputValue(formatInputValue({ value: defaultDate, format, lang }));\n }, [defaultDate]);\n\n useEffect(() => {\n setCalendarValue(formatCalendarValue(defaultDate, format, lang));\n setInputValue(formatInputValue({ value: defaultDate, format, lang }));\n }, [format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n ref={ref}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\n >\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n <StyledCalendar\n size={size}\n value={calendarValue}\n type={type}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={(date, dateInfo) => handleCommitDate(date, false, true, dateInfo)}\n />\n </Root>\n </StyledPopover>\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n <InputHidden\n type=\"hidden\"\n datatype=\"datepicker-single\"\n name={name}\n value={inputValue}\n ref={innerRef}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerConfig = {\n name: 'DatePicker',\n tag: 'div',\n layout: datePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$defaultDate","defaultDate","valueError","valueSuccess","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","rest","_objectWithoutProperties","_excluded","inputRef","useRef","innerRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","formatCalendarValue","_useState4","calendarValue","setCalendarValue","_useState5","formatInputValue","value","_useState6","inputValue","setInputValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","handleCommitDate","handleToggle","event","isCalendarOpen","target","current","code","keys","Escape","_inputRef$current","focus","_useKeyNavigation","useKeyNavigation","onKeyDown","DatePickerInput","React","createElement","StyledInput","cx","onSearch","date","useEffect","prevOpen","_extends","classes","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","StyledCalendar","isRange","locale","dateInfo","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;IAkBaA,cAAc,GAAG,SAAjBA,cAAcA,CACvBC,IAAmG,EAAA;AAAA,EAAA,oBAEnGC,gBAAU,CACN,UAAAC,IAAA,EAyDIC,GAAG,EACF;AAAA,IAAA,IAxDGC,SAAS,GAAAF,IAAA,CAATE,SAAS;MAAAC,WAAA,GAAAH,IAAA,CACTI,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;MAEdE,KAAK,GAAAL,IAAA,CAALK,KAAK;MAAAC,mBAAA,GAAAN,IAAA,CACLO,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,mBAAA;MACxBE,eAAe,GAAAR,IAAA,CAAfQ,eAAe;MAAAC,aAAA,GAAAT,IAAA,CACfU,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,qBAAA,GAAAX,IAAA,CAChBY,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAC3BE,WAAW,GAAAb,IAAA,CAAXa,WAAW;MACXC,UAAU,GAAAd,IAAA,CAAVc,UAAU;MACVC,WAAW,GAAAf,IAAA,CAAXe,WAAW;MACXC,YAAY,GAAAhB,IAAA,CAAZgB,YAAY;MACZC,UAAU,GAAAjB,IAAA,CAAViB,UAAU;MACVC,SAAS,GAAAlB,IAAA,CAATkB,SAAS;MACTC,IAAI,GAAAnB,IAAA,CAAJmB,IAAI;MACJC,IAAI,GAAApB,IAAA,CAAJoB,IAAI;MAAAC,aAAA,GAAArB,IAAA,CACJsB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAAvB,IAAA,CAChBwB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAChBE,IAAI,GAAAzB,IAAA,CAAJyB,IAAI;MAAAC,gBAAA,GAAA1B,IAAA,CAEJ2B,WAAW;AAAXA,MAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;MAChBE,UAAU,GAAA5B,IAAA,CAAV4B,UAAU;MACVC,YAAY,GAAA7B,IAAA,CAAZ6B,YAAY;MAAAC,WAAA,GAAA9B,IAAA,CACZ+B,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,YAAY,GAAAA,WAAA;MAAAE,SAAA,GAAAhC,IAAA,CACrBiC,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;MACXE,cAAc,GAAAlC,IAAA,CAAdkC,cAAc;MACdC,GAAG,GAAAnC,IAAA,CAAHmC,GAAG;MACHC,GAAG,GAAApC,IAAA,CAAHoC,GAAG;MAAAC,qBAAA,GAAArC,IAAA,CACHsC,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MACxBE,SAAS,GAAAvC,IAAA,CAATuC,SAAS;MACTC,YAAY,GAAAxC,IAAA,CAAZwC,YAAY;MACZC,cAAc,GAAAzC,IAAA,CAAdyC,cAAc;MACdC,iBAAiB,GAAA1C,IAAA,CAAjB0C,iBAAiB;MACjBC,gBAAgB,GAAA3C,IAAA,CAAhB2C,gBAAgB;MAChBC,mBAAmB,GAAA5C,IAAA,CAAnB4C,mBAAmB;MACnBC,aAAa,GAAA7C,IAAA,CAAb6C,aAAa;MACbC,gBAAgB,GAAA9C,IAAA,CAAhB8C,gBAAgB;MAAAC,SAAA,GAAA/C,IAAA,CAChBgD,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MAAAE,UAAA,GAAAjD,IAAA,CAEbkD,KAAK;AAALA,MAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,UAAA;MAAAE,cAAA,GAAAnD,IAAA,CAClBoD,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MAAAE,cAAA,GAAArD,IAAA,CACjBsD,SAAS;MAATA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAAA,cAAA;MAAAE,qBAAA,GAAAvD,IAAA,CAC7BwD,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAAAE,eAAA,GAAAzD,IAAA,CAC1B0D,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MACjBE,MAAM,GAAA3D,IAAA,CAAN2D,MAAM;MAENC,aAAa,GAAA5D,IAAA,CAAb4D,aAAa;MACbC,YAAY,GAAA7D,IAAA,CAAZ6D,YAAY;MACZC,QAAQ,GAAA9D,IAAA,CAAR8D,QAAQ;MACRC,OAAO,GAAA/D,IAAA,CAAP+D,OAAO;MACPC,MAAM,GAAAhE,IAAA,CAANgE,MAAM;MACNC,QAAQ,GAAAjE,IAAA,CAARiE,QAAQ;AAELC,MAAAA,IAAI,GAAAC,iDAAA,CAAAnE,IAAA,EAAAoE,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,QAAQ,GAAGC,YAAM,CAA0B,IAAI,CAAC,CAAA;AACtD,IAAA,IAAMC,QAAQ,GAAGD,YAAM,CAA0B,IAAI,CAAC,CAAA;AACtD,IAAA,IAAAE,SAAA,GAAsCC,cAAQ,CAACrE,MAAM,CAAC;MAAAsE,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAElC,IAAA,IAAAI,UAAA,GAA0CL,cAAQ,CAACM,8BAAmB,CAACpD,WAAW,EAAEI,MAAM,EAAEE,IAAI,CAAC,CAAC;MAAA+C,UAAA,GAAAL,uCAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA3FG,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACtC,IAAA,IAAAG,UAAA,GAAoCV,cAAQ,CAACW,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE1D,WAAW;AAAEI,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC;MAAAqD,UAAA,GAAAX,uCAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAA7FI,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAEhC,IAAMG,mBAAmB,GAAGC,iBAAW,CAAC,YAAA;MAAA,OAAMC,iCAAsB,CAAC5D,MAAM,CAAC,CAAA;KAAE,EAAA,CAACA,MAAM,CAAC,CAAC,CAAA;IAEvF,IAAA6D,cAAA,GAA8FC,2BAAa,CACvG;AACIC,QAAAA,YAAY,EAAEP,UAAU;AACxBC,QAAAA,aAAa,EAAbA,aAAa;AACbN,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBO,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB1D,QAAAA,MAAM,EAANA,MAAM;AACNE,QAAAA,IAAI,EAAJA,IAAI;AACJT,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRY,QAAAA,cAAc,EAAdA,cAAc;AACdN,QAAAA,UAAU,EAAVA,UAAU;AACVC,QAAAA,YAAY,EAAZA,YAAY;AACZJ,QAAAA,IAAI,EAAJA,IAAI;AACJmC,QAAAA,aAAa,EAAbA,aAAa;AACbC,QAAAA,YAAY,EAAZA,YAAY;AACZI,QAAAA,QAAQ,EAARA,QAAAA;AACJ,OACJ,CAAC;MAlBO8B,oBAAoB,GAAAH,cAAA,CAApBG,oBAAoB;MAAEC,sBAAsB,GAAAJ,cAAA,CAAtBI,sBAAsB;MAAEC,iBAAiB,GAAAL,cAAA,CAAjBK,iBAAiB;MAAEC,gBAAgB,GAAAN,cAAA,CAAhBM,gBAAgB,CAAA;IAoBzF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAI/F,MAAe,EAAEgG,KAA6B,EAAK;MACrE,IAAI5E,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAM+E,cAAc,GAChBD,KAAK,CAACE,MAAM,MAAKjC,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAEkC,OAAO,CACjCH,IAAAA,KAAK,CAAqCI,IAAI,KAAKC,0BAAI,CAACC,MAAM,GACzD,IAAI,GACJtG,MAAM,CAAA;AAEhB,MAAA,IAAI,CAACiG,cAAc,IAAId,UAAU,EAAE;AAAA,QAAA,IAAAoB,iBAAA,CAAA;AAC/BtC,QAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAsC,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAARtC,QAAQ,CAAEkC,OAAO,MAAA,IAAA,IAAAI,iBAAA,KAAjBA,KAAAA,CAAAA,IAAAA,iBAAA,CAAmBC,KAAK,EAAE,CAAA;AAC9B,OAAA;AAEA,MAAA,IAAI9C,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAACuC,cAAc,EAAED,KAAK,CAAC,CAAA;AAE/B,QAAA,OAAA;AACJ,OAAA;MAEAvB,cAAc,CAACwB,cAAc,CAAC,CAAA;KACjC,CAAA;IAED,IAAAQ,iBAAA,GAAsBC,sCAAgB,CAAC;AACnCT,QAAAA,cAAc,EAAEzB,WAAW;AAC3Bd,QAAAA,QAAQ,EAAEqC,YAAY;AACtBzC,QAAAA,UAAU,EAAVA,UAAAA;AACJ,OAAC,CAAC;MAJMqD,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;AAMjB,IAAA,IAAMC,eAAe,gBACjBC,KAAA,CAAAC,aAAA,CAACC,6BAAW,EAAA;AACRlH,MAAAA,GAAG,EAAEoE,QAAS;AACdnE,MAAAA,SAAS,EAAEkH,QAAE,CAACrB,oBAAoB,EAAEC,sBAAsB,CAAE;AAC5DX,MAAAA,KAAK,EAAEE,UAAW;AAClBnE,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAS;AACnBX,MAAAA,WAAW,EAAEA,WAAY;AACzBE,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,SAAS,EAAEA,SAAU;AACrB+C,MAAAA,QAAQ,EAAEgC,iBAAkB;MAC5BoB,QAAQ,EAAE,SAAAA,QAAAA,CAACC,IAAI,EAAA;AAAA,QAAA,OAAKpB,gBAAgB,CAACoB,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;OAAC;AACxDvD,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,MAAM,EAAEA,MAAO;AACf+C,MAAAA,SAAS,EAAEA,SAAU;AACrBrG,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCP,MAAAA,KAAK,EAAEA,KAAM;AACbE,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,eAAe,EAAEA,eAAAA;AAAgB,KACpC,CACJ,CAAA;AAED+G,IAAAA,eAAS,CAAC,YAAM;MACZ1C,cAAc,CAAC,UAAC2C,QAAQ,EAAA;AAAA,QAAA,OAAKA,QAAQ,KAAKpH,MAAM,IAAIA,MAAM,CAAA;OAAC,CAAA,CAAA;AAC/D,KAAC,EAAE,CAACA,MAAM,CAAC,CAAC,CAAA;AAEZmH,IAAAA,eAAS,CAAC,YAAM;MACZrC,gBAAgB,CAACH,8BAAmB,CAACpD,WAAW,EAAEI,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;MAChEuD,aAAa,CAACJ,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE1D,WAAW;AAAEI,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;AACzE,KAAC,EAAE,CAACN,WAAW,CAAC,CAAC,CAAA;AAEjB4F,IAAAA,eAAS,CAAC,YAAM;MACZrC,gBAAgB,CAACH,8BAAmB,CAACpD,WAAW,EAAEI,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;MAChEuD,aAAa,CAACJ,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE1D,WAAW;AAAEI,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;AACzE,KAAC,EAAE,CAACF,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;AAElB,IAAA,oBACIgF,KAAA,CAAAC,aAAA,CAACpH,IAAI,EAAA2H,iCAAA,CAAA;AACDtG,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;MACXlB,SAAS,EAAEkH,QAAE,CAACM,yBAAO,CAAC7H,cAAc,EAAEK,SAAS,CAAE;AACjDsB,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCrB,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,EACLiE,IAAI,CAER+C,eAAAA,KAAA,CAAAC,aAAA,CAACS,+BAAa,EAAA;AACVvH,MAAAA,MAAM,EAAEwE,WAAY;AACpBxB,MAAAA,SAAS,EAAEA,SAAU;AACrBF,MAAAA,KAAK,EAAEA,KAAM;AACbY,MAAAA,QAAQ,EAAEqC,YAAa;AACvBxC,MAAAA,MAAM,EAAEA,MAAO;AACfL,MAAAA,SAAS,EAAEsE,iCAAa,CAACtE,SAAS,CAAE;AACpCuE,MAAAA,OAAO,EAAC,OAAO;AACfrE,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCsE,MAAAA,cAAc,EAAE,KAAM;AACtBxB,MAAAA,MAAM,EAAEU,eAAgB;AACxBe,MAAAA,eAAe,EAAE,KAAA;AAAM,KAAA,eAEvBd,KAAA,CAAAC,aAAA,CAACpH,IAAI,EAAA;AACDqB,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;MACXlB,SAAS,EAAEkH,QAAE,CAACM,yBAAO,CAAC7H,cAAc,EAAEK,SAAS,CAAE;AACjDsB,MAAAA,QAAQ,EAAEA,QAAS;MACnBF,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAAA;AAAS,KAAA,eAEhC2F,KAAA,CAAAC,aAAA,CAACc,oCAAc,EAAA;AACX5G,MAAAA,IAAI,EAAEA,IAAK;AACXiE,MAAAA,KAAK,EAAEJ,aAAc;AACrBjC,MAAAA,IAAI,EAAEA,IAAK;AACXT,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCX,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnC2F,MAAAA,OAAO,EAAE,KAAM;AACfC,MAAAA,MAAM,EAAEjG,IAAK;AACb2B,MAAAA,aAAa,EAAE,SAAAA,aAAC0D,CAAAA,IAAI,EAAEa,QAAQ,EAAA;QAAA,OAAKjC,gBAAgB,CAACoB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAEa,QAAQ,CAAC,CAAA;AAAA,OAAA;KACnF,CACC,CACK,CAAC,EACfrH,UAAU,iBAAImG,KAAA,CAAAC,aAAA,CAACkB,4BAAU,EAAEtH,IAAAA,EAAAA,UAAuB,CAAC,eACpDmG,KAAA,CAAAC,aAAA,CAACmB,iCAAW,EAAAZ,iCAAA,CAAA;AACRzE,MAAAA,IAAI,EAAC,QAAQ;AACbsF,MAAAA,QAAQ,EAAC,mBAAmB;AAC5B7G,MAAAA,IAAI,EAAEA,IAAK;AACX4D,MAAAA,KAAK,EAAEE,UAAW;AAClBtF,MAAAA,GAAG,EAAEsE,QAAAA;KACDgE,EAAAA,SAAI,CACX,CACC,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMC,gBAAgB,GAAG;AAC5B/G,EAAAA,IAAI,EAAE,YAAY;AAClBgH,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE7I,cAAc;AACtB8I,EAAAA,IAAI,EAAJA,sBAAI;AACJC,EAAAA,UAAU,EAAE;AACRzH,IAAAA,IAAI,EAAE;AACF0H,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACD1H,IAAAA,IAAI,EAAE;AACFyH,MAAAA,GAAG,EAAEE,WAAAA;KACR;AACDvH,IAAAA,QAAQ,EAAE;AACNqH,MAAAA,GAAG,EAAEG,WAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACD3H,IAAAA,QAAQ,EAAE;AACNuH,MAAAA,GAAG,EAAEK,WAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDE,EAAAA,QAAQ,EAAE;AACN/H,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;;"}
|
1
|
+
{"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, SyntheticEvent, useCallback, useEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, getPlacements, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\n\nimport type { DatePickerProps } from './SingleDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledInput, StyledPopover, base } from './SingleDate.styles';\n\nexport const datePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n opened = false,\n\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n placeholder,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n defaultDate = '',\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarValue, setCalendarValue] = useState(formatCalendarValue(defaultDate, format, lang));\n const [inputValue, setInputValue] = useState(formatInputValue({ value: defaultDate, format, lang }));\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const { datePickerErrorClass, datePickerSuccessClass, handleChangeValue, handleCommitDate } = useDatePicker(\n {\n currentValue: inputValue,\n setInputValue,\n setCalendarValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n onChangeValue,\n onCommitDate,\n onChange,\n },\n );\n\n const handleToggle = (opened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event.target === inputRef?.current &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : opened;\n\n if (!isCalendarOpen && inputValue) {\n inputRef?.current?.focus();\n }\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n closeOnEsc,\n });\n\n const DatePickerInput = (\n <StyledInput\n ref={inputRef}\n className={cx(datePickerErrorClass, datePickerSuccessClass)}\n value={inputValue}\n size={size}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleChangeValue}\n onSearch={(date) => handleCommitDate(date, true, false)}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n setCalendarValue(formatCalendarValue(defaultDate, format, lang));\n setInputValue(formatInputValue({ value: defaultDate, format, lang }));\n }, [defaultDate]);\n\n useEffect(() => {\n setCalendarValue(formatCalendarValue(defaultDate, format, lang));\n setInputValue(formatInputValue({ value: defaultDate, format, lang }));\n }, [format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n ref={ref}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement, false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\n >\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n <StyledCalendar\n size={size}\n value={calendarValue}\n type={type}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={(date, dateInfo) => handleCommitDate(date, false, true, dateInfo)}\n />\n </Root>\n </StyledPopover>\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n <InputHidden\n type=\"hidden\"\n datatype=\"datepicker-single\"\n name={name}\n value={inputValue}\n ref={innerRef}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerConfig = {\n name: 'DatePicker',\n tag: 'div',\n layout: datePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$defaultDate","defaultDate","valueError","valueSuccess","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","rest","_objectWithoutProperties","_excluded","inputRef","useRef","innerRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","formatCalendarValue","_useState4","calendarValue","setCalendarValue","_useState5","formatInputValue","value","_useState6","inputValue","setInputValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","handleCommitDate","handleToggle","event","isCalendarOpen","target","current","code","keys","Escape","_inputRef$current","focus","_useKeyNavigation","useKeyNavigation","onKeyDown","DatePickerInput","React","createElement","StyledInput","cx","onSearch","date","useEffect","prevOpen","_extends","classes","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","StyledCalendar","isRange","locale","dateInfo","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
@@ -13,6 +13,7 @@ var base$2 = require('./variations/_shape/base.js');
|
|
13
13
|
var base$3 = require('./variations/_background-type/base.js');
|
14
14
|
var base$4 = require('./variations/_segmentation/base.js');
|
15
15
|
var base$5 = require('./variations/_disabled/base.js');
|
16
|
+
var index$1 = require('./utils/index.js');
|
16
17
|
var isNumber = require('../../utils/isNumber.js');
|
17
18
|
var ActionButton = require('./ui/ActionButton/ActionButton.js');
|
18
19
|
var IconMinus = require('../_Icon/Icons/IconMinus.js');
|
@@ -20,7 +21,7 @@ var Input = require('./ui/Input/Input.js');
|
|
20
21
|
var IconPlus = require('../_Icon/Icons/IconPlus.js');
|
21
22
|
var getSizeValueFromProp = require('../../utils/getSizeValueFromProp.js');
|
22
23
|
|
23
|
-
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"];
|
24
|
+
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"];
|
24
25
|
var numberInputRoot = function numberInputRoot(Root) {
|
25
26
|
return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
26
27
|
var _ref2;
|
@@ -32,6 +33,8 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
32
33
|
max = _ref.max,
|
33
34
|
_ref$step = _ref.step,
|
34
35
|
step = _ref$step === void 0 ? 1 : _ref$step,
|
36
|
+
_ref$precision = _ref.precision,
|
37
|
+
precision = _ref$precision === void 0 ? 2 : _ref$precision,
|
35
38
|
isLoading = _ref.isLoading,
|
36
39
|
loader = _ref.loader,
|
37
40
|
size = _ref.size,
|
@@ -65,6 +68,7 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
65
68
|
_useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
|
66
69
|
isAnimationRun = _useState6[0],
|
67
70
|
setIsAnimationRun = _useState6[1];
|
71
|
+
console.log('innerValue', innerValue);
|
68
72
|
var innerWidth = width ? getSizeValueFromProp.getSizeValueFromProp(width) : '100%';
|
69
73
|
var actionIconSize = size === 'xs' ? 'xs' : 's';
|
70
74
|
var solidViewClass = segmentation === 'solid' ? NumberInput_tokens.classes.solidView : undefined;
|
@@ -85,7 +89,8 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
85
89
|
if (isLoading || disabled || isAnimationRun) {
|
86
90
|
return;
|
87
91
|
}
|
88
|
-
var
|
92
|
+
var preciseDiff = index$1.getPreciseValue(Number(innerValue) - step, precision);
|
93
|
+
var diffValue = Number(preciseDiff);
|
89
94
|
var resValue = min !== undefined && diffValue <= min ? min : diffValue;
|
90
95
|
setInnerValue(resValue);
|
91
96
|
if (onDecrement) {
|
@@ -99,7 +104,8 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
99
104
|
if (isLoading || disabled || isAnimationRun) {
|
100
105
|
return;
|
101
106
|
}
|
102
|
-
var
|
107
|
+
var preciseDiff = index$1.getPreciseValue(Number(innerValue) + step, precision);
|
108
|
+
var diffValue = Number(preciseDiff);
|
103
109
|
var resValue = max !== undefined && diffValue >= max ? max : diffValue;
|
104
110
|
setInnerValue(resValue);
|
105
111
|
if (onIncrement) {
|
@@ -143,6 +149,7 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
143
149
|
ref: ref,
|
144
150
|
segmentation: segmentation,
|
145
151
|
value: innerValue,
|
152
|
+
precision: precision,
|
146
153
|
min: min,
|
147
154
|
max: max,
|
148
155
|
isManualInput: isManualInput,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef, useEffect, useState } from 'react';\n\nimport type { RootProps } from '../../engines';\nimport { cx, getSizeValueFromProp, isNumber } from '../../utils';\nimport { IconMinus, IconPlus } from '../_Icon';\n\nimport type { NumberInputProps, NumberInputRootProps } from './NumberInput.types';\nimport { ActionButton, NumberInput } from './ui';\nimport { classes, privateTokens } from './NumberInput.tokens';\nimport { base } from './NumberInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as shapeCSS } from './variations/_shape/base';\nimport { base as inputBackgroundTypeCSS } from './variations/_background-type/base';\nimport { base as segmentationCSS } from './variations/_segmentation/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nexport const numberInputRoot = (Root: RootProps<HTMLDivElement, NumberInputRootProps>) =>\n forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n style,\n width,\n value,\n min,\n max,\n step = 1,\n isLoading,\n loader,\n size,\n view,\n clear,\n shape,\n segmentation,\n inputBackgroundType = 'fill',\n disabled,\n textBefore,\n textAfter,\n customIncrementButton,\n incrementIcon,\n customDecrementButton,\n decrementIcon,\n isManualInput,\n onChange,\n onIncrement,\n onDecrement,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState<number | string>(value ?? min ?? 0);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [isAnimationRun, setIsAnimationRun] = useState(false);\n\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n\n const actionIconSize = size === 'xs' ? 'xs' : 's';\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const segmentedViewClass = segmentation === 'segmented' ? classes.segmentedView : undefined;\n const clearViewClass = clear ? classes.clearView : undefined;\n const disabledClass = disabled ? classes.disabled : undefined;\n const loadingClass = isLoading ? classes.loading : undefined;\n const focusedClass = isInputFocused ? classes.focused : undefined;\n\n const isMinValue = (currentValue: number) => min !== undefined && currentValue <= min;\n const isMaxValue = (currentValue: number) => max !== undefined && currentValue >= max;\n\n const decrementButtonDisabled =\n (isMinValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonDecrementDisabled\n : undefined;\n const incrementButtonDisabled =\n (isMaxValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonIncrementDisabled\n : undefined;\n\n const handleDecrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const diffValue = Number(innerValue) - step;\n const resValue = min !== undefined && diffValue <= min ? min : diffValue;\n\n setInnerValue(resValue);\n\n if (onDecrement) {\n onDecrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n const handleIncrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const diffValue = Number(innerValue) + step;\n const resValue = max !== undefined && diffValue >= max ? max : diffValue;\n\n setInnerValue(resValue);\n\n if (onIncrement) {\n onIncrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n useEffect(() => {\n if (value === undefined || !isNumber(value)) {\n return;\n }\n\n setInnerValue((prevValue) => (prevValue !== value ? value : prevValue));\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n clear={clear}\n shape={shape}\n segmentation={segmentation}\n isLoading={isLoading}\n {...(segmentation === 'solid' ? { inputBackgroundType: 'clear' } : { inputBackgroundType })}\n className={cx(\n className,\n solidViewClass,\n segmentedViewClass,\n clearViewClass,\n disabledClass,\n loadingClass,\n focusedClass,\n )}\n style={\n {\n ...style,\n [privateTokens.inputWidth]: innerWidth,\n } as CSSProperties\n }\n >\n {customDecrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonDecrement,\n decrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={decrementIcon || <IconMinus color=\"inherit\" size={actionIconSize} />}\n onClick={handleDecrement}\n />\n )}\n <NumberInput\n ref={ref}\n segmentation={segmentation}\n value={innerValue}\n min={min}\n max={max}\n isManualInput={isManualInput}\n textBefore={textBefore}\n textAfter={textAfter}\n isLoading={isLoading}\n loader={loader}\n disabled={disabled}\n isInputFocused={isInputFocused}\n setIsInputFocused={setIsInputFocused}\n setIsAnimationRun={setIsAnimationRun}\n setInnerValue={setInnerValue}\n onChange={onChange}\n {...rest}\n />\n {customIncrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonIncrement,\n incrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={incrementIcon || <IconPlus color=\"inherit\" size={actionIconSize} />}\n onClick={handleIncrement}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const numberInputConfig = {\n name: 'NumberInput',\n tag: 'div',\n layout: numberInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n shape: {\n css: shapeCSS,\n },\n inputBackgroundType: {\n css: inputBackgroundTypeCSS,\n },\n segmentation: {\n css: segmentationCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'default',\n size: 'l',\n shape: 'cornered',\n segmentation: 'default',\n },\n};\n"],"names":["numberInputRoot","Root","forwardRef","_ref","ref","_ref2","className","style","width","value","min","max","_ref$step","step","isLoading","loader","size","view","clear","shape","segmentation","_ref$inputBackgroundT","inputBackgroundType","disabled","textBefore","textAfter","customIncrementButton","incrementIcon","customDecrementButton","decrementIcon","isManualInput","onChange","onIncrement","onDecrement","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerValue","setInnerValue","_useState3","_useState4","isInputFocused","setIsInputFocused","_useState5","_useState6","isAnimationRun","setIsAnimationRun","innerWidth","getSizeValueFromProp","actionIconSize","solidViewClass","classes","solidView","undefined","segmentedViewClass","segmentedView","clearViewClass","clearView","disabledClass","loadingClass","loading","focusedClass","focused","isMinValue","currentValue","isMaxValue","decrementButtonDisabled","Number","actionButtonDecrementDisabled","incrementButtonDisabled","actionButtonIncrementDisabled","handleDecrement","diffValue","resValue","handleIncrement","useEffect","isNumber","prevValue","React","createElement","_extends","cx","_objectSpread","_defineProperty","privateTokens","inputWidth","ActionButton","actionButtonDecrement","icon","IconMinus","color","onClick","NumberInput","actionButtonIncrement","IconPlus","numberInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","shapeCSS","inputBackgroundTypeCSS","segmentationCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef, useEffect, useState } from 'react';\n\nimport type { RootProps } from '../../engines';\nimport { cx, getSizeValueFromProp, isNumber } from '../../utils';\nimport { IconMinus, IconPlus } from '../_Icon';\n\nimport type { NumberInputProps, NumberInputRootProps } from './NumberInput.types';\nimport { ActionButton, NumberInput } from './ui';\nimport { classes, privateTokens } from './NumberInput.tokens';\nimport { base } from './NumberInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as shapeCSS } from './variations/_shape/base';\nimport { base as inputBackgroundTypeCSS } from './variations/_background-type/base';\nimport { base as segmentationCSS } from './variations/_segmentation/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { getPreciseValue } from './utils';\n\nexport const numberInputRoot = (Root: RootProps<HTMLDivElement, NumberInputRootProps>) =>\n forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n style,\n width,\n value,\n min,\n max,\n step = 1,\n precision = 2,\n isLoading,\n loader,\n size,\n view,\n clear,\n shape,\n segmentation,\n inputBackgroundType = 'fill',\n disabled,\n textBefore,\n textAfter,\n customIncrementButton,\n incrementIcon,\n customDecrementButton,\n decrementIcon,\n isManualInput,\n onChange,\n onIncrement,\n onDecrement,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState<number | string>(value ?? min ?? 0);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [isAnimationRun, setIsAnimationRun] = useState(false);\n\n console.log('innerValue', innerValue);\n\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n\n const actionIconSize = size === 'xs' ? 'xs' : 's';\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const segmentedViewClass = segmentation === 'segmented' ? classes.segmentedView : undefined;\n const clearViewClass = clear ? classes.clearView : undefined;\n const disabledClass = disabled ? classes.disabled : undefined;\n const loadingClass = isLoading ? classes.loading : undefined;\n const focusedClass = isInputFocused ? classes.focused : undefined;\n\n const isMinValue = (currentValue: number) => min !== undefined && currentValue <= min;\n const isMaxValue = (currentValue: number) => max !== undefined && currentValue >= max;\n\n const decrementButtonDisabled =\n (isMinValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonDecrementDisabled\n : undefined;\n const incrementButtonDisabled =\n (isMaxValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonIncrementDisabled\n : undefined;\n\n const handleDecrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const preciseDiff = getPreciseValue(Number(innerValue) - step, precision);\n const diffValue = Number(preciseDiff);\n const resValue = min !== undefined && diffValue <= min ? min : diffValue;\n\n setInnerValue(resValue);\n\n if (onDecrement) {\n onDecrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n const handleIncrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const preciseDiff = getPreciseValue(Number(innerValue) + step, precision);\n const diffValue = Number(preciseDiff);\n const resValue = max !== undefined && diffValue >= max ? max : diffValue;\n\n setInnerValue(resValue);\n\n if (onIncrement) {\n onIncrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n useEffect(() => {\n if (value === undefined || !isNumber(value)) {\n return;\n }\n\n setInnerValue((prevValue) => (prevValue !== value ? value : prevValue));\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n clear={clear}\n shape={shape}\n segmentation={segmentation}\n isLoading={isLoading}\n {...(segmentation === 'solid' ? { inputBackgroundType: 'clear' } : { inputBackgroundType })}\n className={cx(\n className,\n solidViewClass,\n segmentedViewClass,\n clearViewClass,\n disabledClass,\n loadingClass,\n focusedClass,\n )}\n style={\n {\n ...style,\n [privateTokens.inputWidth]: innerWidth,\n } as CSSProperties\n }\n >\n {customDecrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonDecrement,\n decrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={decrementIcon || <IconMinus color=\"inherit\" size={actionIconSize} />}\n onClick={handleDecrement}\n />\n )}\n <NumberInput\n ref={ref}\n segmentation={segmentation}\n value={innerValue}\n precision={precision}\n min={min}\n max={max}\n isManualInput={isManualInput}\n textBefore={textBefore}\n textAfter={textAfter}\n isLoading={isLoading}\n loader={loader}\n disabled={disabled}\n isInputFocused={isInputFocused}\n setIsInputFocused={setIsInputFocused}\n setIsAnimationRun={setIsAnimationRun}\n setInnerValue={setInnerValue}\n onChange={onChange}\n {...rest}\n />\n {customIncrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonIncrement,\n incrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={incrementIcon || <IconPlus color=\"inherit\" size={actionIconSize} />}\n onClick={handleIncrement}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const numberInputConfig = {\n name: 'NumberInput',\n tag: 'div',\n layout: numberInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n shape: {\n css: shapeCSS,\n },\n inputBackgroundType: {\n css: inputBackgroundTypeCSS,\n },\n segmentation: {\n css: segmentationCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'default',\n size: 'l',\n shape: 'cornered',\n segmentation: 'default',\n },\n};\n"],"names":["numberInputRoot","Root","forwardRef","_ref","ref","_ref2","className","style","width","value","min","max","_ref$step","step","_ref$precision","precision","isLoading","loader","size","view","clear","shape","segmentation","_ref$inputBackgroundT","inputBackgroundType","disabled","textBefore","textAfter","customIncrementButton","incrementIcon","customDecrementButton","decrementIcon","isManualInput","onChange","onIncrement","onDecrement","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerValue","setInnerValue","_useState3","_useState4","isInputFocused","setIsInputFocused","_useState5","_useState6","isAnimationRun","setIsAnimationRun","console","log","innerWidth","getSizeValueFromProp","actionIconSize","solidViewClass","classes","solidView","undefined","segmentedViewClass","segmentedView","clearViewClass","clearView","disabledClass","loadingClass","loading","focusedClass","focused","isMinValue","currentValue","isMaxValue","decrementButtonDisabled","Number","actionButtonDecrementDisabled","incrementButtonDisabled","actionButtonIncrementDisabled","handleDecrement","preciseDiff","getPreciseValue","diffValue","resValue","handleIncrement","useEffect","isNumber","prevValue","React","createElement","_extends","cx","_objectSpread","_defineProperty","privateTokens","inputWidth","ActionButton","actionButtonDecrement","icon","IconMinus","color","onClick","NumberInput","actionButtonIncrement","IconPlus","numberInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","shapeCSS","inputBackgroundTypeCSS","segmentationCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
@@ -14,9 +14,10 @@ var useDidMountEffect = require('../../../../hooks/useDidMountEffect.js');
|
|
14
14
|
var isNumber = require('../../../../utils/isNumber.js');
|
15
15
|
|
16
16
|
var _StyledSpinner;
|
17
|
-
var _excluded = ["value", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
|
17
|
+
var _excluded = ["value", "precision", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
|
18
18
|
var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
19
19
|
var value = _ref.value,
|
20
|
+
precision = _ref.precision,
|
20
21
|
min = _ref.min,
|
21
22
|
max = _ref.max,
|
22
23
|
isLoading = _ref.isLoading,
|
@@ -82,11 +83,6 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
82
83
|
setIsAnimationRun(false);
|
83
84
|
return;
|
84
85
|
}
|
85
|
-
if (String(newValue).endsWith('.')) {
|
86
|
-
setValues(null, Number(newValue));
|
87
|
-
setIsAnimationRun(false);
|
88
|
-
return;
|
89
|
-
}
|
90
86
|
var resValue = Number(newValue);
|
91
87
|
if (max !== undefined && resValue > max) {
|
92
88
|
setErrorClass(NumberInput_tokens.classes.errorAnimation);
|
@@ -98,6 +94,16 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
98
94
|
setErrorClass(NumberInput_tokens.classes.errorAnimation);
|
99
95
|
setErrorValue(min);
|
100
96
|
setIsAnimationRun(true);
|
97
|
+
return;
|
98
|
+
}
|
99
|
+
if (String(newValue).endsWith('.')) {
|
100
|
+
setValues(null, Number(newValue));
|
101
|
+
setIsAnimationRun(false);
|
102
|
+
return;
|
103
|
+
}
|
104
|
+
if (precision !== undefined) {
|
105
|
+
var preciseNewValue = Number(index.getPreciseValue(newValue, precision));
|
106
|
+
setValues(null, preciseNewValue);
|
101
107
|
}
|
102
108
|
setIsAnimationRun(false);
|
103
109
|
};
|
@@ -123,15 +129,18 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
123
129
|
}
|
124
130
|
return;
|
125
131
|
}
|
132
|
+
console.log('here');
|
126
133
|
var isValid = index.numberSchema.test(cleanValue);
|
127
134
|
if (!isValid) {
|
135
|
+
console.log('not valid', cleanValue);
|
128
136
|
setValues(event, lastValidValue);
|
129
137
|
return;
|
130
138
|
}
|
139
|
+
console.log('valid!', cleanValue);
|
131
140
|
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)) {
|
132
141
|
wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
|
133
142
|
}
|
134
|
-
setValues(event,
|
143
|
+
setValues(event, cleanValue);
|
135
144
|
};
|
136
145
|
var handleClickInputWrapper = function handleClickInputWrapper() {
|
137
146
|
if (!isManualInput || !inputRef.current) {
|
@@ -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, 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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"}
|
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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"}
|
@@ -5,8 +5,18 @@ 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
|
+
};
|
8
17
|
|
9
18
|
exports.defaultCharacterWidth = defaultCharacterWidth;
|
10
19
|
exports.excludingNumberSchema = excludingNumberSchema;
|
20
|
+
exports.getPreciseValue = getPreciseValue;
|
11
21
|
exports.numberSchema = numberSchema;
|
12
22
|
//# 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"],"names":["defaultCharacterWidth","numberSchema","excludingNumberSchema"],"mappings":";;;;AAAO,IAAMA,qBAAqB,GAAG,MAAK;AACnC,IAAMC,YAAY,GAAG,oBAAmB;AACxC,IAAMC,qBAAqB,GAAG
|
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;;;;;;;"}
|