@salutejs/plasma-new-hope 0.253.0-dev.0 → 0.254.0-canary.1720.13073153224.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 (57) hide show
  1. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  3. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  5. package/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  6. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  7. package/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  8. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  9. package/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  10. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  11. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  12. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  13. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  14. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  15. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  16. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  17. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  18. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  19. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  20. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  21. package/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  22. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  23. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  24. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  25. package/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  26. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  27. package/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  28. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  29. package/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  30. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  31. package/package.json +2 -2
  32. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  33. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  34. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  35. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  36. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  37. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  38. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  39. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  40. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  41. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  42. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  43. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  44. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
  45. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  46. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  47. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  48. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -0
  49. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  50. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  51. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  52. package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -1
  53. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  54. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +2 -0
  55. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  56. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +2 -0
  57. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarBase.js","sources":["../../../../src/components/Calendar/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n useReducer,\n useState,\n KeyboardEvent,\n HTMLAttributes,\n forwardRef,\n useEffect,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { IsOutOfRange, StyledCalendar } from './CalendarBase.styles';\n\nexport type CalendarBaseProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент календаря.\n */\nexport const calendarBaseRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, type));\n\n const { date, calendarState, startYear, size } = state;\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].single },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n size={rest.size}\n firstDate={date}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n {calendarState === CalendarState.Days && (\n <CalendarDays\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onSetSelected={onSelectIndexes}\n onHoverDay={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Months && (\n <CalendarMonths\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Quarters && (\n <CalendarQuarters\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Years && (\n <CalendarYears\n value={externalValue}\n date={date}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarBaseConfig = {\n name: 'CalendarBase',\n tag: 'div',\n layout: calendarBaseRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarBaseRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","single","isValueUpdate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","firstDate","onUpdateCalendarState","CalendarState","Days","CalendarDays","hoveredDay","onChangeDay","onSetSelected","onHoverDay","Months","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","Quarters","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","Years","CalendarYears","hoveredYear","onChangeYear","onHoverYear","calendarBaseConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarBase.js","sources":["../../../../src/components/Calendar/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n useReducer,\n useState,\n KeyboardEvent,\n HTMLAttributes,\n forwardRef,\n useEffect,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { IsOutOfRange, StyledCalendar } from './CalendarBase.styles';\n\nexport type CalendarBaseProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент календаря.\n */\nexport const calendarBaseRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, type));\n\n const { date, calendarState, startYear, size } = state;\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].single },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n\n setPrevValue(value);\n }\n\n if (!value) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: min || new Date() },\n });\n }\n }, [value, prevValue]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n size={rest.size}\n firstDate={date}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n {calendarState === CalendarState.Days && (\n <CalendarDays\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onSetSelected={onSelectIndexes}\n onHoverDay={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Months && (\n <CalendarMonths\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Quarters && (\n <CalendarQuarters\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Years && (\n <CalendarYears\n value={externalValue}\n date={date}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarBaseConfig = {\n name: 'CalendarBase',\n tag: 'div',\n layout: calendarBaseRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarBaseRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","single","isValueUpdate","UPDATE_DATE","Date","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","firstDate","onUpdateCalendarState","CalendarState","Days","CalendarDays","hoveredDay","onChangeDay","onSetSelected","onHoverDay","Months","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","Quarters","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","Years","CalendarYears","hoveredYear","onChangeYear","onHoverYear","calendarBaseConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -191,6 +191,14 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
191
191
  }
192
192
  setPrevValue(value);
193
193
  }
194
+ if (!value) {
195
+ dispatch({
196
+ type: ActionType.UPDATE_DATE,
197
+ payload: {
198
+ value: min || new Date()
199
+ }
200
+ });
201
+ }
194
202
  }, [value, prevValue]);
195
203
  useEffect(function () {
196
204
  setFirstDate(date);
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","Date","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n setPrevValue(value);\n }\n\n if (!value) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: min || new Date() },\n });\n }\n }, [value, prevValue]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","Date","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useRef, useState, useCallback, useEffect, createRef } from 'react';
2
+ import React, { forwardRef, useRef, useState, useCallback, useEffect, useLayoutEffect, createRef } from 'react';
3
3
  import { cx } from '../../../utils/index.js';
4
4
  import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper.js';
5
5
  import { useDatePicker } from '../hooks/useDatePicker.js';
@@ -15,7 +15,7 @@ import { RangeDatePopover } from './RangeDatePopover/RangeDatePopover.js';
15
15
  import { noop } from '../../../utils/noop.js';
16
16
  import { getSortedValues } from '../../Calendar/utils/calendarRangeHelper.js';
17
17
 
18
- 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"];
18
+ var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "value", "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"];
19
19
  var datePickerRangeRoot = function datePickerRangeRoot(Root) {
20
20
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
21
21
  var _rangeRef$current, _rangeRef$current2;
@@ -25,6 +25,7 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
25
25
  isDoubleCalendar = _ref$isDoubleCalendar === void 0 ? false : _ref$isDoubleCalendar,
26
26
  _ref$opened = _ref.opened,
27
27
  opened = _ref$opened === void 0 ? false : _ref$opened,
28
+ externalValue = _ref.value,
28
29
  label = _ref.label,
29
30
  leftHelper = _ref.leftHelper,
30
31
  contentLeft = _ref.contentLeft,
@@ -107,6 +108,10 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
107
108
  var rootRef = useRef(null);
108
109
  var innerRefFirst = useRef(null);
109
110
  var innerRefSecond = useRef(null);
111
+ var _ref2 = externalValue || [],
112
+ _ref3 = _slicedToArray(_ref2, 2),
113
+ startExternalValue = _ref3[0],
114
+ endExternalValue = _ref3[1];
110
115
  var _useState = useState(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
111
116
  _useState2 = _slicedToArray(_useState, 2),
112
117
  firstInputRef = _useState2[0],
@@ -119,24 +124,24 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
119
124
  _useState6 = _slicedToArray(_useState5, 2),
120
125
  isInnerOpen = _useState6[0],
121
126
  setIsInnerOpen = _useState6[1];
122
- var _useState7 = useState(formatCalendarValue(defaultFirstDate, format, lang)),
127
+ var _useState7 = useState(formatCalendarValue(startExternalValue || defaultFirstDate, format, lang)),
123
128
  _useState8 = _slicedToArray(_useState7, 2),
124
129
  calendarFirstValue = _useState8[0],
125
130
  setCalendarFirstValue = _useState8[1];
126
131
  var _useState9 = useState(formatInputValue({
127
- value: defaultFirstDate,
132
+ value: startExternalValue || defaultFirstDate,
128
133
  format: format,
129
134
  lang: lang
130
135
  })),
131
136
  _useState10 = _slicedToArray(_useState9, 2),
132
137
  inputFirstValue = _useState10[0],
133
138
  setInputFirstValue = _useState10[1];
134
- var _useState11 = useState(formatCalendarValue(defaultSecondDate, format, lang)),
139
+ var _useState11 = useState(formatCalendarValue(endExternalValue || defaultSecondDate, format, lang)),
135
140
  _useState12 = _slicedToArray(_useState11, 2),
136
141
  calendarSecondValue = _useState12[0],
137
142
  setCalendarSecondValue = _useState12[1];
138
143
  var _useState13 = useState(formatInputValue({
139
- value: defaultSecondDate,
144
+ value: endExternalValue || defaultSecondDate,
140
145
  format: format,
141
146
  lang: lang
142
147
  })),
@@ -193,7 +198,8 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
193
198
  onCommitDate: onCommitFirstDate
194
199
  }),
195
200
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
196
- handleCommitFirstDate = _useDatePicker.handleCommitDate;
201
+ handleCommitFirstDate = _useDatePicker.handleCommitDate,
202
+ updateExternalFirstDate = _useDatePicker.updateExternalDate;
197
203
  var _useDatePicker2 = useDatePicker({
198
204
  currentValue: inputSecondValue,
199
205
  setInputValue: setSecondInputValue,
@@ -210,7 +216,8 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
210
216
  onCommitDate: onCommitSecondDate
211
217
  }),
212
218
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
213
- handleCommitSecondDate = _useDatePicker2.handleCommitDate;
219
+ handleCommitSecondDate = _useDatePicker2.handleCommitDate,
220
+ updateExternalSecondDate = _useDatePicker2.updateExternalDate;
214
221
  var handleToggle = function handleToggle(currentOpened, event) {
215
222
  var _firstInputRef$curren, _secondInputRef$curre;
216
223
  if (disabled || readOnly) {
@@ -299,10 +306,10 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
299
306
  handleToggle(false);
300
307
  }
301
308
  };
302
- var handleChangeCalendarValue = function handleChangeCalendarValue(_ref2, dateInfo) {
303
- var _ref3 = _slicedToArray(_ref2, 2),
304
- firstDate = _ref3[0],
305
- secondDate = _ref3[1];
309
+ var handleChangeCalendarValue = function handleChangeCalendarValue(_ref4, dateInfo) {
310
+ var _ref5 = _slicedToArray(_ref4, 2),
311
+ firstDate = _ref5[0],
312
+ secondDate = _ref5[1];
306
313
  if (firstDate) {
307
314
  handleCommitFirstDate(firstDate, false, true, dateInfo);
308
315
  }
@@ -378,43 +385,21 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
378
385
  return prevOpen !== opened && opened;
379
386
  });
380
387
  }, [opened]);
381
- useEffect(function () {
382
- setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));
383
- setInputFirstValue(formatInputValue({
384
- value: defaultFirstDate,
385
- format: format,
386
- lang: lang
387
- }));
388
- }, [defaultFirstDate]);
389
- useEffect(function () {
390
- setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));
391
- setInputSecondValue(formatInputValue({
392
- value: defaultSecondDate,
393
- format: format,
394
- lang: lang
395
- }));
396
- }, [defaultSecondDate]);
397
- useEffect(function () {
398
- setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));
399
- setInputFirstValue(formatInputValue({
400
- value: defaultFirstDate,
401
- format: format,
402
- lang: lang
403
- }));
404
- setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));
405
- setInputSecondValue(formatInputValue({
406
- value: defaultSecondDate,
407
- format: format,
408
- lang: lang
409
- }));
410
- }, [format, lang]);
411
388
  useEffect(function () {
412
389
  if (calendarFirstValue && calendarSecondValue) {
413
390
  setFullDateEntered(true);
414
391
  }
415
392
  }, [calendarFirstValue, calendarSecondValue]);
416
- var RootWrapper = useCallback(function (_ref4) {
417
- var children = _ref4.children;
393
+ useLayoutEffect(function () {
394
+ var externalDate = startExternalValue || defaultFirstDate;
395
+ updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);
396
+ }, [startExternalValue, defaultFirstDate, format, lang]);
397
+ useLayoutEffect(function () {
398
+ var externalDate = endExternalValue || defaultSecondDate;
399
+ updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);
400
+ }, [endExternalValue, defaultSecondDate, format, lang]);
401
+ var RootWrapper = useCallback(function (_ref6) {
402
+ var children = _ref6.children;
418
403
  return /*#__PURE__*/React.createElement(Root, {
419
404
  view: view,
420
405
  size: size,