@salutejs/plasma-new-hope 0.253.0-canary.1736.13068364841.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 (189) hide show
  1. package/cjs/components/Accordion/Accordion.tokens.js +0 -2
  2. package/cjs/components/Accordion/Accordion.tokens.js.map +1 -1
  3. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.css +11 -11
  4. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +1 -2
  5. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  6. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +19 -19
  7. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  8. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles_56cr5h.css +11 -0
  9. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  10. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  11. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  12. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  13. package/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  14. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  15. package/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  16. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  17. package/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  18. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  19. package/cjs/components/Toast/Toast.css +7 -7
  20. package/cjs/components/Toast/Toast.js +5 -2
  21. package/cjs/components/Toast/Toast.js.map +1 -1
  22. package/cjs/components/Toast/Toast.styles.js +11 -2
  23. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  24. package/cjs/components/Toast/{Toast.styles_1nei944.css → Toast.styles_1kasmzh.css} +2 -2
  25. package/cjs/components/Toast/Toast.tokens.js +2 -1
  26. package/cjs/components/Toast/Toast.tokens.js.map +1 -1
  27. package/cjs/components/Toast/ToastController.css +6 -6
  28. package/cjs/components/Toast/ToastProvider/ToastProvider.js +6 -1
  29. package/cjs/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
  30. package/cjs/components/Toast/utils.js +2 -0
  31. package/cjs/components/Toast/utils.js.map +1 -1
  32. package/cjs/components/Toast/variations/_pilled/base.js +1 -1
  33. package/cjs/components/Toast/variations/_pilled/base.js.map +1 -1
  34. package/cjs/components/Toast/variations/_pilled/base_13i59v3.css +1 -0
  35. package/cjs/index.css +18 -18
  36. package/emotion/cjs/components/Accordion/Accordion.tokens.js +0 -2
  37. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +1 -2
  38. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +24 -24
  39. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  40. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  41. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  42. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  43. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  44. package/emotion/cjs/components/Toast/Toast.js +5 -2
  45. package/emotion/cjs/components/Toast/Toast.styles.js +9 -6
  46. package/emotion/cjs/components/Toast/Toast.template-doc.mdx +22 -5
  47. package/emotion/cjs/components/Toast/Toast.tokens.js +2 -1
  48. package/emotion/cjs/components/Toast/ToastProvider/ToastProvider.js +6 -1
  49. package/emotion/cjs/components/Toast/utils.js +2 -1
  50. package/emotion/cjs/components/Toast/variations/_pilled/base.js +1 -1
  51. package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +17 -7
  52. package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
  53. package/emotion/cjs/examples/plasma_web/components/Toast/Toast.config.js +17 -7
  54. package/emotion/cjs/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
  55. package/emotion/es/components/Accordion/Accordion.tokens.js +0 -2
  56. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +1 -2
  57. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +24 -24
  58. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  59. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  60. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  61. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  62. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  63. package/emotion/es/components/Toast/Toast.js +5 -2
  64. package/emotion/es/components/Toast/Toast.styles.js +9 -6
  65. package/emotion/es/components/Toast/Toast.template-doc.mdx +22 -5
  66. package/emotion/es/components/Toast/Toast.tokens.js +2 -1
  67. package/emotion/es/components/Toast/ToastProvider/ToastProvider.js +7 -2
  68. package/emotion/es/components/Toast/utils.js +1 -0
  69. package/emotion/es/components/Toast/variations/_pilled/base.js +1 -1
  70. package/emotion/es/examples/plasma_b2c/components/Toast/Toast.config.js +17 -7
  71. package/emotion/es/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
  72. package/emotion/es/examples/plasma_web/components/Toast/Toast.config.js +17 -7
  73. package/emotion/es/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
  74. package/es/components/Accordion/Accordion.tokens.js +0 -2
  75. package/es/components/Accordion/Accordion.tokens.js.map +1 -1
  76. package/es/components/Accordion/ui/AccordionItem/AccordionItem.css +11 -11
  77. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +1 -2
  78. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  79. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +19 -19
  80. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  81. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles_56cr5h.css +11 -0
  82. package/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  83. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  84. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  85. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  86. package/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  87. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  88. package/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  89. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  90. package/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  91. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  92. package/es/components/Toast/Toast.css +7 -7
  93. package/es/components/Toast/Toast.js +5 -2
  94. package/es/components/Toast/Toast.js.map +1 -1
  95. package/es/components/Toast/Toast.styles.js +11 -2
  96. package/es/components/Toast/Toast.styles.js.map +1 -1
  97. package/es/components/Toast/{Toast.styles_1nei944.css → Toast.styles_1kasmzh.css} +2 -2
  98. package/es/components/Toast/Toast.tokens.js +2 -1
  99. package/es/components/Toast/Toast.tokens.js.map +1 -1
  100. package/es/components/Toast/ToastController.css +6 -6
  101. package/es/components/Toast/ToastProvider/ToastProvider.js +7 -2
  102. package/es/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
  103. package/es/components/Toast/utils.js +2 -1
  104. package/es/components/Toast/utils.js.map +1 -1
  105. package/es/components/Toast/variations/_pilled/base.js +1 -1
  106. package/es/components/Toast/variations/_pilled/base.js.map +1 -1
  107. package/es/components/Toast/variations/_pilled/base_13i59v3.css +1 -0
  108. package/es/index.css +18 -18
  109. package/package.json +2 -2
  110. package/styled-components/cjs/components/Accordion/Accordion.tokens.js +0 -2
  111. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +1 -2
  112. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +14 -14
  113. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  114. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  115. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  116. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  117. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  118. package/styled-components/cjs/components/Toast/Toast.js +5 -2
  119. package/styled-components/cjs/components/Toast/Toast.styles.js +5 -2
  120. package/styled-components/cjs/components/Toast/Toast.template-doc.mdx +22 -5
  121. package/styled-components/cjs/components/Toast/Toast.tokens.js +2 -1
  122. package/styled-components/cjs/components/Toast/ToastProvider/ToastProvider.js +6 -1
  123. package/styled-components/cjs/components/Toast/utils.js +2 -1
  124. package/styled-components/cjs/components/Toast/variations/_pilled/base.js +1 -1
  125. package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +12 -2
  126. package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
  127. package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.config.js +12 -2
  128. package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
  129. package/styled-components/es/components/Accordion/Accordion.tokens.js +0 -2
  130. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +1 -2
  131. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +14 -14
  132. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  133. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  134. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  135. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  136. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  137. package/styled-components/es/components/Toast/Toast.js +5 -2
  138. package/styled-components/es/components/Toast/Toast.styles.js +5 -2
  139. package/styled-components/es/components/Toast/Toast.template-doc.mdx +22 -5
  140. package/styled-components/es/components/Toast/Toast.tokens.js +2 -1
  141. package/styled-components/es/components/Toast/ToastProvider/ToastProvider.js +7 -2
  142. package/styled-components/es/components/Toast/utils.js +1 -0
  143. package/styled-components/es/components/Toast/variations/_pilled/base.js +1 -1
  144. package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.config.js +12 -2
  145. package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
  146. package/styled-components/es/examples/plasma_web/components/Toast/Toast.config.js +12 -2
  147. package/styled-components/es/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
  148. package/types/components/Accordion/Accordion.tokens.d.ts +0 -2
  149. package/types/components/Accordion/Accordion.tokens.d.ts.map +1 -1
  150. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
  151. package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts +1 -1
  152. package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
  153. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  154. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  155. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
  156. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  157. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  158. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  159. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -0
  160. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  161. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  162. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  163. package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -1
  164. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  165. package/types/components/Toast/Toast.styles.d.ts +3 -1
  166. package/types/components/Toast/Toast.styles.d.ts.map +1 -1
  167. package/types/components/Toast/Toast.tokens.d.ts +2 -1
  168. package/types/components/Toast/Toast.tokens.d.ts.map +1 -1
  169. package/types/components/Toast/Toast.types.d.ts +8 -0
  170. package/types/components/Toast/Toast.types.d.ts.map +1 -1
  171. package/types/components/Toast/ToastProvider/ToastProvider.d.ts.map +1 -1
  172. package/types/components/Toast/utils.d.ts +1 -0
  173. package/types/components/Toast/utils.d.ts.map +1 -1
  174. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +2 -0
  175. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  176. package/types/examples/plasma_b2c/components/Toast/Toast.config.d.ts +10 -0
  177. package/types/examples/plasma_b2c/components/Toast/Toast.config.d.ts.map +1 -1
  178. package/types/examples/plasma_b2c/components/Toast/Toast.d.ts +2 -0
  179. package/types/examples/plasma_b2c/components/Toast/Toast.d.ts.map +1 -1
  180. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +2 -0
  181. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  182. package/types/examples/plasma_web/components/Toast/Toast.config.d.ts +10 -0
  183. package/types/examples/plasma_web/components/Toast/Toast.config.d.ts.map +1 -1
  184. package/types/examples/plasma_web/components/Toast/Toast.d.ts +2 -0
  185. package/types/examples/plasma_web/components/Toast/Toast.d.ts.map +1 -1
  186. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles_5g1zce.css +0 -11
  187. package/cjs/components/Toast/variations/_pilled/base_199qghc.css +0 -1
  188. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles_5g1zce.css +0 -11
  189. package/es/components/Toast/variations/_pilled/base_199qghc.css +0 -1
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useRef, useState } from 'react';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n PropsWithChildren,\n FC,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo } from '../../Calendar/Calendar.types';\n\nimport type { DatePickerRangeProps } from './RangeDate.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, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n\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 closeAfterDateSelect = true,\n offset,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(\n formatCalendarValue(defaultFirstDate, format, lang),\n );\n const [inputFirstValue, setInputFirstValue] = useState(\n formatInputValue({ value: defaultFirstDate, format, lang }),\n );\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(defaultSecondDate, format, lang),\n );\n const [inputSecondValue, setInputSecondValue] = useState(\n formatInputValue({ value: defaultSecondDate, format, lang }),\n );\n\n const [fullDateEntered, setFullDateEntered] = useState(Boolean(calendarFirstValue && calendarSecondValue));\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const setFirstInputValue = (value: React.SetStateAction<string>) => {\n setInputFirstValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${value} - ${inputSecondValue}`,\n name,\n },\n });\n }\n };\n\n const setSecondInputValue = (value: React.SetStateAction<string>) => {\n setInputSecondValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${inputFirstValue} - ${value}`,\n name,\n },\n });\n }\n };\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setFirstInputValue,\n setCalendarValue: setCalendarFirstValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n name,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setSecondInputValue,\n setCalendarValue: setCalendarSecondValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue || !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue) {\n outerHandler?.(event);\n return;\n }\n\n const { value: firstDate, isSuccess: firstIsSuccess } = getDateFromFormat(\n inputFirstValue,\n format,\n lang,\n );\n\n const { value: secondDate, isSuccess: secondIsSuccess } = getDateFromFormat(\n inputSecondValue,\n format,\n lang,\n );\n\n if (!firstIsSuccess || !secondIsSuccess) {\n outerHandler?.(event);\n return;\n }\n\n const [startValue, endValue] = getSortedValues([new Date(firstDate), new Date(secondDate)]);\n\n setFirstInputValue(formatInputValue({ value: startValue, format, lang }));\n setSecondInputValue(formatInputValue({ value: endValue, format, lang }));\n\n setCalendarFirstValue(formatCalendarValue(startValue, format, lang));\n setCalendarSecondValue(formatCalendarValue(endValue, format, lang));\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n closeOnEsc,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleCommitFirstDate(chosenDate, false, true, dateInfo);\n handleCommitSecondDate('');\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleCommitFirstDate(first, false, true, dateInfo);\n handleCommitSecondDate(second, false, true, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [Date, Date?], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n }\n\n if (secondDate) {\n handleCommitSecondDate(secondDate, false, true, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));\n setInputFirstValue(formatInputValue({ value: defaultFirstDate, format, lang }));\n }, [defaultFirstDate]);\n\n useEffect(() => {\n setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));\n setInputSecondValue(formatInputValue({ value: defaultSecondDate, format, lang }));\n }, [defaultSecondDate]);\n\n useEffect(() => {\n setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));\n setInputFirstValue(formatInputValue({ value: defaultFirstDate, format, lang }));\n\n setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));\n setInputSecondValue(formatInputValue({ value: defaultSecondDate, format, lang }));\n }, [format, lang]);\n\n useEffect(() => {\n if (calendarFirstValue && calendarSecondValue) {\n setFullDateEntered(true);\n }\n }, [calendarFirstValue, calendarSecondValue]);\n\n const RootWrapper = useCallback<FC<PropsWithChildren>>(\n ({ children }) => (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {children}\n </Root>\n ),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\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 frame={frame}\n usePortal={usePortal}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n />\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\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":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_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","_ref$closeAfterDateSe","closeAfterDateSelect","offset","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","value","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","_useState15","Boolean","_useState16","fullDateEntered","setFullDateEntered","_useState17","_useState18","secondTextFieldClicked","setSecondTextFieldClicked","setFirstInputValue","target","concat","setSecondInputValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","_getDateFromFormat","getDateFromFormat","firstDate","firstIsSuccess","isSuccess","_getDateFromFormat2","secondDate","secondIsSuccess","_getSortedValues","getSortedValues","Date","_getSortedValues2","startValue","endValue","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","dateInfo","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref2","_ref3","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","RootWrapper","_ref4","children","cx","classes","datePickerRoot","_extends","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n PropsWithChildren,\n FC,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo } from '../../Calendar/Calendar.types';\n\nimport type { DatePickerRangeProps } from './RangeDate.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, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n value: externalValue,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n\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 closeAfterDateSelect = true,\n offset,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [startExternalValue, endExternalValue] = externalValue || [];\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(\n formatCalendarValue(startExternalValue || defaultFirstDate, format, lang),\n );\n const [inputFirstValue, setInputFirstValue] = useState(\n formatInputValue({ value: startExternalValue || defaultFirstDate, format, lang }),\n );\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(endExternalValue || defaultSecondDate, format, lang),\n );\n const [inputSecondValue, setInputSecondValue] = useState(\n formatInputValue({ value: endExternalValue || defaultSecondDate, format, lang }),\n );\n\n const [fullDateEntered, setFullDateEntered] = useState(Boolean(calendarFirstValue && calendarSecondValue));\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const setFirstInputValue = (value: React.SetStateAction<string>) => {\n setInputFirstValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${value} - ${inputSecondValue}`,\n name,\n },\n });\n }\n };\n\n const setSecondInputValue = (value: React.SetStateAction<string>) => {\n setInputSecondValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${inputFirstValue} - ${value}`,\n name,\n },\n });\n }\n };\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n updateExternalDate: updateExternalFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setFirstInputValue,\n setCalendarValue: setCalendarFirstValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n name,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n updateExternalDate: updateExternalSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setSecondInputValue,\n setCalendarValue: setCalendarSecondValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue || !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue) {\n outerHandler?.(event);\n return;\n }\n\n const { value: firstDate, isSuccess: firstIsSuccess } = getDateFromFormat(\n inputFirstValue,\n format,\n lang,\n );\n\n const { value: secondDate, isSuccess: secondIsSuccess } = getDateFromFormat(\n inputSecondValue,\n format,\n lang,\n );\n\n if (!firstIsSuccess || !secondIsSuccess) {\n outerHandler?.(event);\n return;\n }\n\n const [startValue, endValue] = getSortedValues([new Date(firstDate), new Date(secondDate)]);\n\n setFirstInputValue(formatInputValue({ value: startValue, format, lang }));\n setSecondInputValue(formatInputValue({ value: endValue, format, lang }));\n\n setCalendarFirstValue(formatCalendarValue(startValue, format, lang));\n setCalendarSecondValue(formatCalendarValue(endValue, format, lang));\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n closeOnEsc,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleCommitFirstDate(chosenDate, false, true, dateInfo);\n handleCommitSecondDate('');\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleCommitFirstDate(first, false, true, dateInfo);\n handleCommitSecondDate(second, false, true, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [Date, Date?], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n }\n\n if (secondDate) {\n handleCommitSecondDate(secondDate, false, true, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n if (calendarFirstValue && calendarSecondValue) {\n setFullDateEntered(true);\n }\n }, [calendarFirstValue, calendarSecondValue]);\n\n useLayoutEffect(() => {\n const externalDate = startExternalValue || defaultFirstDate;\n updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);\n }, [startExternalValue, defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n const externalDate = endExternalValue || defaultSecondDate;\n updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);\n }, [endExternalValue, defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<FC<PropsWithChildren>>(\n ({ children }) => (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {children}\n </Root>\n ),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\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 frame={frame}\n usePortal={usePortal}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n />\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\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":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","externalValue","value","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_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","_ref$closeAfterDateSe","closeAfterDateSelect","offset","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_ref2","_ref3","_slicedToArray","startExternalValue","endExternalValue","_useState","useState","current","firstTextField","_useState2","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","_useState15","Boolean","_useState16","fullDateEntered","setFullDateEntered","_useState17","_useState18","secondTextFieldClicked","setSecondTextFieldClicked","setFirstInputValue","target","concat","setSecondInputValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","updateExternalFirstDate","updateExternalDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","updateExternalSecondDate","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","_getDateFromFormat","getDateFromFormat","firstDate","firstIsSuccess","isSuccess","_getDateFromFormat2","secondDate","secondIsSuccess","_getSortedValues","getSortedValues","Date","_getSortedValues2","startValue","endValue","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","dateInfo","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref4","_ref5","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","externalDate","RootWrapper","_ref6","children","cx","classes","datePickerRoot","_extends","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}