@salutejs/plasma-new-hope 0.149.0-dev.0 → 0.150.0-canary.1428.10987052735.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +4 -0
  2. package/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  5. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  6. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  7. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  8. package/cjs/components/Calendar/hooks/useMonths.js +6 -4
  9. package/cjs/components/Calendar/hooks/useMonths.js.map +1 -1
  10. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  11. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  12. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  13. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  14. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  15. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  16. package/cjs/components/Calendar/utils/calendarGridHelper.js +1 -1
  17. package/cjs/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  18. package/cjs/components/Calendar/utils/constants.js +64 -3
  19. package/cjs/components/Calendar/utils/constants.js.map +1 -1
  20. package/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -0
  21. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  22. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  23. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  24. package/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -0
  25. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  26. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  27. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  28. package/emotion/cjs/components/Calendar/hooks/useMonths.js +6 -4
  29. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  30. package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  31. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  32. package/emotion/cjs/components/Calendar/utils/calendarGridHelper.js +1 -1
  33. package/emotion/cjs/components/Calendar/utils/constants.js +68 -4
  34. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -0
  35. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  36. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -0
  37. package/emotion/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +14 -2
  38. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  39. package/emotion/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +14 -2
  40. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  41. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  42. package/emotion/es/components/Calendar/hooks/useMonths.js +6 -4
  43. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  44. package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  45. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  46. package/emotion/es/components/Calendar/utils/calendarGridHelper.js +2 -2
  47. package/emotion/es/components/Calendar/utils/constants.js +67 -3
  48. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +1 -0
  49. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  50. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +1 -0
  51. package/emotion/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +14 -2
  52. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  53. package/emotion/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +14 -2
  54. package/es/_virtual/_rollupPluginBabelHelpers.js +4 -1
  55. package/es/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  56. package/es/components/Calendar/Calendar.types.js.map +1 -1
  57. package/es/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  58. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  59. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  60. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  61. package/es/components/Calendar/hooks/useMonths.js +6 -4
  62. package/es/components/Calendar/hooks/useMonths.js.map +1 -1
  63. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  64. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  65. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  66. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  67. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  68. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  69. package/es/components/Calendar/utils/calendarGridHelper.js +2 -2
  70. package/es/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  71. package/es/components/Calendar/utils/constants.js +64 -4
  72. package/es/components/Calendar/utils/constants.js.map +1 -1
  73. package/es/components/DatePicker/RangeDate/RangeDate.js +1 -0
  74. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  75. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  76. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  77. package/es/components/DatePicker/SingleDate/SingleDate.js +1 -0
  78. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  79. package/package.json +2 -2
  80. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  81. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  82. package/styled-components/cjs/components/Calendar/hooks/useMonths.js +6 -4
  83. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  84. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  85. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  86. package/styled-components/cjs/components/Calendar/utils/calendarGridHelper.js +1 -1
  87. package/styled-components/cjs/components/Calendar/utils/constants.js +68 -4
  88. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -0
  89. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  90. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -0
  91. package/styled-components/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +14 -2
  92. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  93. package/styled-components/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +14 -2
  94. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  95. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  96. package/styled-components/es/components/Calendar/hooks/useMonths.js +6 -4
  97. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  98. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  99. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  100. package/styled-components/es/components/Calendar/utils/calendarGridHelper.js +2 -2
  101. package/styled-components/es/components/Calendar/utils/constants.js +67 -3
  102. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +1 -0
  103. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  104. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +1 -0
  105. package/styled-components/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +14 -2
  106. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  107. package/styled-components/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +14 -2
  108. package/types/components/Calendar/Calendar.types.d.ts +5 -0
  109. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  110. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  111. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  112. package/types/components/Calendar/hooks/types.d.ts +2 -1
  113. package/types/components/Calendar/hooks/types.d.ts.map +1 -1
  114. package/types/components/Calendar/hooks/useMonths.d.ts +1 -1
  115. package/types/components/Calendar/hooks/useMonths.d.ts.map +1 -1
  116. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  117. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts +2 -1
  118. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts.map +1 -1
  119. package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  120. package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.types.d.ts +2 -1
  121. package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.types.d.ts.map +1 -1
  122. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  123. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.types.d.ts +2 -1
  124. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.types.d.ts.map +1 -1
  125. package/types/components/Calendar/utils/calendarGridHelper.d.ts.map +1 -1
  126. package/types/components/Calendar/utils/constants.d.ts +8 -5
  127. package/types/components/Calendar/utils/constants.d.ts.map +1 -1
  128. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  129. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  130. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  131. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n} from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\nimport { DateItem } from '../../Calendar.types';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint, StyledFlex } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n}) => {\n const [days, selected] = useDays({ date: currentDate, value, eventList, disabledList, min, max, includeEdgeDates });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const dayItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarDayFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarDayFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarDayFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarDayFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarDayFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarDayFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarDaySelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarDayItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarDayItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarDayItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const getRefs = (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n };\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n <StyledCalendarDaysHint id=\"withShift\">\n Для навигации только по доступным датам удерживайте клавишу Shift.\n </StyledCalendarDaysHint>\n <StyledFlex role=\"row\">\n {SHORT_DAY_NAMES.map((name) => (\n <DateStructureItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[name]}\n key={name}\n dayOfWeek\n day={name}\n style={dayItemTokens}\n >\n {name}\n </DateStructureItem>\n ))}\n </StyledFlex>\n {days.map((day: DateItem[], i) => (\n <StyledFlex role=\"row\" key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, Boolean(isDayInCurrentMonth), i, j)}\n style={dayItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n key={`StyledDay-${i}-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n >\n {date.day}\n </DateStructureItem>\n ),\n )}\n </StyledFlex>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","dayItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarDayFontFamily","dateStructureFontSize","calendarDayFontSize","dateStructureFontWeight","calendarDayFontWeight","dateStructureFontLineHeight","calendarDayFontLineHeight","dateStructureFontLetterSpacing","calendarDayFontLetterSpacing","dateStructureFontStyle","calendarDayFontStyle","dateStructureSelectedFontWeight","calendarDaySelectedFontWeight","dateStructureWidth","calendarDayItemWidth","dateStructureHeight","calendarDayItemHeight","dateStructureBorderRadius","calendarDayItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","_StyledCalendarDaysHi","StyledCalendarDaysHint","id","StyledFlex","SHORT_DAY_NAMES","map","name","DateStructureItem","FULL_DAY_NAMES","key","dayOfWeek","style","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledDates","ref","Boolean","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n} from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\nimport { DateItem } from '../../Calendar.types';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint, StyledFlex } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n locale = 'ru',\n}) => {\n const [days, selected] = useDays({ date: currentDate, value, eventList, disabledList, min, max, includeEdgeDates });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const dayItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarDayFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarDayFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarDayFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarDayFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarDayFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarDayFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarDaySelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarDayItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarDayItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarDayItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const getRefs = (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n };\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n <StyledCalendarDaysHint id=\"withShift\">\n Для навигации только по доступным датам удерживайте клавишу Shift.\n </StyledCalendarDaysHint>\n <StyledFlex role=\"row\">\n {SHORT_DAY_NAMES[locale].map((name) => (\n <DateStructureItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[name]}\n key={name}\n dayOfWeek\n day={name}\n style={dayItemTokens}\n >\n {name}\n </DateStructureItem>\n ))}\n </StyledFlex>\n {days.map((day: DateItem[], i) => (\n <StyledFlex role=\"row\" key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, Boolean(isDayInCurrentMonth), i, j)}\n style={dayItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n key={`StyledDay-${i}-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n >\n {date.day}\n </DateStructureItem>\n ),\n )}\n </StyledFlex>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_ref$locale","locale","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","dayItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarDayFontFamily","dateStructureFontSize","calendarDayFontSize","dateStructureFontWeight","calendarDayFontWeight","dateStructureFontLineHeight","calendarDayFontLineHeight","dateStructureFontLetterSpacing","calendarDayFontLetterSpacing","dateStructureFontStyle","calendarDayFontStyle","dateStructureSelectedFontWeight","calendarDaySelectedFontWeight","dateStructureWidth","calendarDayItemWidth","dateStructureHeight","calendarDayItemHeight","dateStructureBorderRadius","calendarDayItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","_StyledCalendarDaysHi","StyledCalendarDaysHint","id","StyledFlex","SHORT_DAY_NAMES","map","name","DateStructureItem","FULL_DAY_NAMES","key","dayOfWeek","style","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledDates","ref","Boolean","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths"],"mappings":"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"}
@@ -28,7 +28,8 @@ var CalendarHeader = function CalendarHeader(_ref) {
28
28
  isDouble = _ref.isDouble,
29
29
  onPrev = _ref.onPrev,
30
30
  onNext = _ref.onNext,
31
- onUpdateCalendarState = _ref.onUpdateCalendarState;
31
+ onUpdateCalendarState = _ref.onUpdateCalendarState,
32
+ locale = _ref.locale;
32
33
  var handleCalendarState = React.useCallback(function () {
33
34
  var newSize = isDouble ? reducer.sizeMap.Months["double"] : reducer.sizeMap.Months.single;
34
35
  if (type === types.CalendarState.Days) {
@@ -43,7 +44,7 @@ var CalendarHeader = function CalendarHeader(_ref) {
43
44
  return '';
44
45
  }
45
46
  if (type === types.CalendarState.Days) {
46
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CalendarHeader_styles.StyledHeaderDate, null, constants.MONTH_NAMES[date.monthIndex]), /*#__PURE__*/React.createElement(CalendarHeader_styles.StyledHeaderDate, null, date.year, /*#__PURE__*/React.createElement(IconDisclosureDownFill.IconDisclosureDownFill, {
47
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CalendarHeader_styles.StyledHeaderDate, null, constants.MONTH_NAMES[locale][date.monthIndex]), /*#__PURE__*/React.createElement(CalendarHeader_styles.StyledHeaderDate, null, date.year, /*#__PURE__*/React.createElement(IconDisclosureDownFill.IconDisclosureDownFill, {
47
48
  color: "inherit",
48
49
  size: size === 'xs' ? 'xs' : 's'
49
50
  })));
@@ -62,7 +63,7 @@ var CalendarHeader = function CalendarHeader(_ref) {
62
63
  }));
63
64
  }
64
65
  return '';
65
- }, [type, startYear, size]);
66
+ }, [type, startYear, size, locale]);
66
67
  var currentCalendarType = calendarGridHelper.getCalendarType(type);
67
68
  var PreviousButton = React.useMemo(function () {
68
69
  return /*#__PURE__*/React.createElement(CalendarHeader_styles.StyledArrow, {
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHeader.js","sources":["../../../../../src/components/Calendar/ui/CalendarHeader/CalendarHeader.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\n\nimport { IconDisclosureDownFill, IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { CalendarState } from '../../store/types';\nimport { getCalendarType, MONTH_NAMES, YEAR_RENDER_COUNT } from '../../utils';\nimport type { DateObject } from '../../Calendar.types';\nimport { classes } from '../../Calendar.tokens';\nimport { sizeMap } from '../../store/reducer';\n\nimport type { CalendarHeaderProps } from './CalendarHeader.types';\nimport {\n StyledArrow,\n StyledArrows,\n StyledCalendarHeader,\n StyledDoubleHeaderWrapper,\n StyledHeader,\n StyledHeaderDate,\n StyledHeaderDouble,\n StyledNavigation,\n} from './CalendarHeader.styles';\n\n/**\n * Компонент шапки календаря.\n */\nexport const CalendarHeader: React.FC<CalendarHeaderProps> = ({\n type = 'Days',\n startYear = 0,\n size,\n firstDate,\n secondDate,\n isDouble,\n onPrev,\n onNext,\n onUpdateCalendarState,\n}) => {\n const handleCalendarState = useCallback(() => {\n const newSize: [number, number] = isDouble ? sizeMap.Months.double : sizeMap.Months.single;\n\n if (type === CalendarState.Days) {\n onUpdateCalendarState?.(CalendarState.Months, newSize);\n }\n\n if (type === CalendarState.Months || type === CalendarState.Quarters) {\n onUpdateCalendarState?.(CalendarState.Years, newSize);\n }\n }, [type, onUpdateCalendarState]);\n\n const getHeaderContent = useCallback(\n (date?: DateObject, secondPart?: boolean) => {\n if (!date) {\n return '';\n }\n\n if (type === CalendarState.Days) {\n return (\n <>\n <StyledHeaderDate>{MONTH_NAMES[date.monthIndex]}</StyledHeaderDate>\n <StyledHeaderDate>\n {date.year}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n </>\n );\n }\n\n if (type === CalendarState.Months || type === CalendarState.Quarters) {\n return (\n <StyledHeaderDate>\n {date.year}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n );\n }\n\n if (type === CalendarState.Years) {\n const yearValue = secondPart ? startYear + 12 : startYear;\n\n return (\n <StyledHeaderDate>\n {yearValue}—{yearValue + YEAR_RENDER_COUNT - 1}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n );\n }\n\n return '';\n },\n [type, startYear, size],\n );\n\n const currentCalendarType = getCalendarType(type);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow aria-label={`Предыдущий ${currentCalendarType}`} onClick={() => onPrev()}>\n <IconDisclosureLeft color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledArrow>\n ),\n [currentCalendarType, size, onPrev],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow aria-label={`Следующий ${currentCalendarType}`} onClick={() => onNext()}>\n <IconDisclosureRight color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledArrow>\n ),\n [currentCalendarType, size, onNext],\n );\n\n return (\n <StyledCalendarHeader>\n {isDouble ? (\n <StyledNavigation>\n <StyledDoubleHeaderWrapper>\n {PreviousButton}\n <StyledHeaderDouble onClick={handleCalendarState} aria-live=\"polite\">\n {getHeaderContent(firstDate)}\n </StyledHeaderDouble>\n </StyledDoubleHeaderWrapper>\n <StyledDoubleHeaderWrapper className={classes.doubleHeaderLastDateWrapper}>\n <StyledHeaderDouble onClick={handleCalendarState} aria-live=\"polite\">\n {getHeaderContent(secondDate, true)}\n </StyledHeaderDouble>\n {NextButton}\n </StyledDoubleHeaderWrapper>\n </StyledNavigation>\n ) : (\n <>\n <StyledHeader\n type=\"button\"\n aria-live=\"polite\"\n id=\"id-grid-label\"\n onClick={handleCalendarState}\n tabIndex={0}\n >\n {getHeaderContent(firstDate)}\n </StyledHeader>\n <StyledArrows>\n {PreviousButton}\n {NextButton}\n </StyledArrows>\n </>\n )}\n </StyledCalendarHeader>\n );\n};\n"],"names":["CalendarHeader","_ref","_ref$type","type","_ref$startYear","startYear","size","firstDate","secondDate","isDouble","onPrev","onNext","onUpdateCalendarState","handleCalendarState","useCallback","newSize","sizeMap","Months","single","CalendarState","Days","Quarters","Years","getHeaderContent","date","secondPart","React","createElement","Fragment","StyledHeaderDate","MONTH_NAMES","monthIndex","year","IconDisclosureDownFill","color","yearValue","YEAR_RENDER_COUNT","currentCalendarType","getCalendarType","PreviousButton","useMemo","StyledArrow","concat","onClick","IconDisclosureLeft","NextButton","IconDisclosureRight","StyledCalendarHeader","StyledNavigation","StyledDoubleHeaderWrapper","StyledHeaderDouble","className","classes","doubleHeaderLastDateWrapper","StyledHeader","id","tabIndex","StyledArrows"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarHeader.js","sources":["../../../../../src/components/Calendar/ui/CalendarHeader/CalendarHeader.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\n\nimport { IconDisclosureDownFill, IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { CalendarState } from '../../store/types';\nimport { getCalendarType, MONTH_NAMES, YEAR_RENDER_COUNT } from '../../utils';\nimport type { DateObject } from '../../Calendar.types';\nimport { classes } from '../../Calendar.tokens';\nimport { sizeMap } from '../../store/reducer';\n\nimport type { CalendarHeaderProps } from './CalendarHeader.types';\nimport {\n StyledArrow,\n StyledArrows,\n StyledCalendarHeader,\n StyledDoubleHeaderWrapper,\n StyledHeader,\n StyledHeaderDate,\n StyledHeaderDouble,\n StyledNavigation,\n} from './CalendarHeader.styles';\n\n/**\n * Компонент шапки календаря.\n */\nexport const CalendarHeader: React.FC<CalendarHeaderProps> = ({\n type = 'Days',\n startYear = 0,\n size,\n firstDate,\n secondDate,\n isDouble,\n onPrev,\n onNext,\n onUpdateCalendarState,\n locale,\n}) => {\n const handleCalendarState = useCallback(() => {\n const newSize: [number, number] = isDouble ? sizeMap.Months.double : sizeMap.Months.single;\n\n if (type === CalendarState.Days) {\n onUpdateCalendarState?.(CalendarState.Months, newSize);\n }\n\n if (type === CalendarState.Months || type === CalendarState.Quarters) {\n onUpdateCalendarState?.(CalendarState.Years, newSize);\n }\n }, [type, onUpdateCalendarState]);\n\n const getHeaderContent = useCallback(\n (date?: DateObject, secondPart?: boolean) => {\n if (!date) {\n return '';\n }\n\n if (type === CalendarState.Days) {\n return (\n <>\n <StyledHeaderDate>{MONTH_NAMES[locale][date.monthIndex]}</StyledHeaderDate>\n <StyledHeaderDate>\n {date.year}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n </>\n );\n }\n\n if (type === CalendarState.Months || type === CalendarState.Quarters) {\n return (\n <StyledHeaderDate>\n {date.year}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n );\n }\n\n if (type === CalendarState.Years) {\n const yearValue = secondPart ? startYear + 12 : startYear;\n\n return (\n <StyledHeaderDate>\n {yearValue}—{yearValue + YEAR_RENDER_COUNT - 1}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n );\n }\n\n return '';\n },\n [type, startYear, size, locale],\n );\n\n const currentCalendarType = getCalendarType(type);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow aria-label={`Предыдущий ${currentCalendarType}`} onClick={() => onPrev()}>\n <IconDisclosureLeft color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledArrow>\n ),\n [currentCalendarType, size, onPrev],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow aria-label={`Следующий ${currentCalendarType}`} onClick={() => onNext()}>\n <IconDisclosureRight color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledArrow>\n ),\n [currentCalendarType, size, onNext],\n );\n\n return (\n <StyledCalendarHeader>\n {isDouble ? (\n <StyledNavigation>\n <StyledDoubleHeaderWrapper>\n {PreviousButton}\n <StyledHeaderDouble onClick={handleCalendarState} aria-live=\"polite\">\n {getHeaderContent(firstDate)}\n </StyledHeaderDouble>\n </StyledDoubleHeaderWrapper>\n <StyledDoubleHeaderWrapper className={classes.doubleHeaderLastDateWrapper}>\n <StyledHeaderDouble onClick={handleCalendarState} aria-live=\"polite\">\n {getHeaderContent(secondDate, true)}\n </StyledHeaderDouble>\n {NextButton}\n </StyledDoubleHeaderWrapper>\n </StyledNavigation>\n ) : (\n <>\n <StyledHeader\n type=\"button\"\n aria-live=\"polite\"\n id=\"id-grid-label\"\n onClick={handleCalendarState}\n tabIndex={0}\n >\n {getHeaderContent(firstDate)}\n </StyledHeader>\n <StyledArrows>\n {PreviousButton}\n {NextButton}\n </StyledArrows>\n </>\n )}\n </StyledCalendarHeader>\n );\n};\n"],"names":["CalendarHeader","_ref","_ref$type","type","_ref$startYear","startYear","size","firstDate","secondDate","isDouble","onPrev","onNext","onUpdateCalendarState","locale","handleCalendarState","useCallback","newSize","sizeMap","Months","single","CalendarState","Days","Quarters","Years","getHeaderContent","date","secondPart","React","createElement","Fragment","StyledHeaderDate","MONTH_NAMES","monthIndex","year","IconDisclosureDownFill","color","yearValue","YEAR_RENDER_COUNT","currentCalendarType","getCalendarType","PreviousButton","useMemo","StyledArrow","concat","onClick","IconDisclosureLeft","NextButton","IconDisclosureRight","StyledCalendarHeader","StyledNavigation","StyledDoubleHeaderWrapper","StyledHeaderDouble","className","classes","doubleHeaderLastDateWrapper","StyledHeader","id","tabIndex","StyledArrows"],"mappings":"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"}
@@ -30,14 +30,16 @@ var CalendarMonths = function CalendarMonths(_ref) {
30
30
  onChangeMonth = _ref.onChangeMonth,
31
31
  onHoverMonth = _ref.onHoverMonth,
32
32
  onSetSelected = _ref.onSetSelected,
33
- onKeyDown = _ref.onKeyDown;
33
+ onKeyDown = _ref.onKeyDown,
34
+ locale = _ref.locale;
34
35
  var _useMonths = useMonths.useMonths({
35
36
  date: currentDate,
36
37
  value: value,
37
38
  eventList: eventList,
38
39
  disabledList: disabledList,
39
40
  min: min,
40
- max: max
41
+ max: max,
42
+ locale: locale
41
43
  }),
42
44
  _useMonths2 = _rollupPluginBabelHelpers.slicedToArray(_useMonths, 2),
43
45
  months = _useMonths2[0],
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarMonths.js","sources":["../../../../../src/components/Calendar/ui/CalendarMonths/CalendarMonths.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useMonths } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_MONTH_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarMonthsProps } from './CalendarMonths.types';\nimport { StyledCalendarMonths, StyledFlex } from './CalendarMonths.styles';\n\n/**\n * Компонент месяцев в календаре.\n */\nexport const CalendarMonths: React.FC<CalendarMonthsProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredMonth,\n onChangeMonth,\n onHoverMonth,\n onSetSelected,\n onKeyDown,\n}) => {\n const [months, selected] = useMonths({ date: currentDate, value, eventList, disabledList, min, max });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_MONTH_STEP : 0;\n\n const monthItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarMonthFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarMonthFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarMonthFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarMonthFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarMonthFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarMonthFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarMonthSelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarMonthItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarMonthItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarMonthItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeMonth = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeMonth(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverMonth?.(undefined);\n }\n },\n [getSelectedDate, onChangeMonth, offset, value, onHoverMonth],\n );\n\n const handleOnHoverMonth = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverMonth?.(selectedDate);\n },\n [getSelectedDate, onHoverMonth, value],\n );\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarMonths role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n {months.map((month, i) => (\n <StyledFlex role=\"row\" key={i}>\n {month.map(\n (\n {\n monthName,\n monthIndex,\n isSelected,\n isCurrent,\n monthFullName,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={monthItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredMonth)}\n inRange={getInRange(value, date, hoveredMonth, inRange)}\n sideInRange={getSideInRange(value, date, hoveredMonth, isSelected)}\n onClick={disabled ? undefined : handleOnChangeMonth(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverMonth}\n key={`StyledMonth-${i}-${j}`}\n role=\"gridcell\"\n aria-label={monthFullName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {monthName}\n </DateStructureItem>\n );\n },\n )}\n </StyledFlex>\n ))}\n </StyledCalendarMonths>\n );\n};\n"],"names":["CalendarMonths","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredMonth","onChangeMonth","onHoverMonth","onSetSelected","onKeyDown","_useMonths","useMonths","_useMonths2","_slicedToArray","months","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_MONTH_STEP","monthItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarMonthFontFamily","dateStructureFontSize","calendarMonthFontSize","dateStructureFontWeight","calendarMonthFontWeight","dateStructureFontLineHeight","calendarMonthFontLineHeight","dateStructureFontLetterSpacing","calendarMonthFontLetterSpacing","dateStructureFontStyle","calendarMonthFontStyle","dateStructureSelectedFontWeight","calendarMonthSelectedFontWeight","dateStructureWidth","calendarMonthItemWidth","dateStructureHeight","calendarMonthItemHeight","dateStructureBorderRadius","calendarMonthItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeMonth","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverMonth","isSelectedDone","Array","isArray","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarMonths","role","map","month","StyledFlex","key","_ref2","monthName","isSelected","isCurrent","monthFullName","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarMonths.js","sources":["../../../../../src/components/Calendar/ui/CalendarMonths/CalendarMonths.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useMonths } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_MONTH_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarMonthsProps } from './CalendarMonths.types';\nimport { StyledCalendarMonths, StyledFlex } from './CalendarMonths.styles';\n\n/**\n * Компонент месяцев в календаре.\n */\nexport const CalendarMonths: React.FC<CalendarMonthsProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredMonth,\n onChangeMonth,\n onHoverMonth,\n onSetSelected,\n onKeyDown,\n locale,\n}) => {\n const [months, selected] = useMonths({ date: currentDate, value, eventList, disabledList, min, max, locale });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_MONTH_STEP : 0;\n\n const monthItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarMonthFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarMonthFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarMonthFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarMonthFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarMonthFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarMonthFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarMonthSelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarMonthItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarMonthItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarMonthItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeMonth = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeMonth(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverMonth?.(undefined);\n }\n },\n [getSelectedDate, onChangeMonth, offset, value, onHoverMonth],\n );\n\n const handleOnHoverMonth = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverMonth?.(selectedDate);\n },\n [getSelectedDate, onHoverMonth, value],\n );\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarMonths role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n {months.map((month, i) => (\n <StyledFlex role=\"row\" key={i}>\n {month.map(\n (\n {\n monthName,\n monthIndex,\n isSelected,\n isCurrent,\n monthFullName,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={monthItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredMonth)}\n inRange={getInRange(value, date, hoveredMonth, inRange)}\n sideInRange={getSideInRange(value, date, hoveredMonth, isSelected)}\n onClick={disabled ? undefined : handleOnChangeMonth(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverMonth}\n key={`StyledMonth-${i}-${j}`}\n role=\"gridcell\"\n aria-label={monthFullName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {monthName}\n </DateStructureItem>\n );\n },\n )}\n </StyledFlex>\n ))}\n </StyledCalendarMonths>\n );\n};\n"],"names":["CalendarMonths","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredMonth","onChangeMonth","onHoverMonth","onSetSelected","onKeyDown","locale","_useMonths","useMonths","_useMonths2","_slicedToArray","months","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_MONTH_STEP","monthItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarMonthFontFamily","dateStructureFontSize","calendarMonthFontSize","dateStructureFontWeight","calendarMonthFontWeight","dateStructureFontLineHeight","calendarMonthFontLineHeight","dateStructureFontLetterSpacing","calendarMonthFontLetterSpacing","dateStructureFontStyle","calendarMonthFontStyle","dateStructureSelectedFontWeight","calendarMonthSelectedFontWeight","dateStructureWidth","calendarMonthItemWidth","dateStructureHeight","calendarMonthItemHeight","dateStructureBorderRadius","calendarMonthItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeMonth","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverMonth","isSelectedDone","Array","isArray","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarMonths","role","map","month","StyledFlex","key","_ref2","monthName","isSelected","isCurrent","monthFullName","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":";;;;;;;;;;;;;;AAUA;AACA;AACA;IACaA,cAA6C,GAAG,SAAhDA,cAA6CA,CAAAC,IAAA,EAiBpD;AAAA,EAAA,IAhBIC,WAAW,GAAAD,IAAA,CAAjBE,IAAI;IACJC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACbC,SAAS,GAAAL,IAAA,CAATK,SAAS;IACTC,YAAY,GAAAN,IAAA,CAAZM,YAAY;IACZC,GAAG,GAAAP,IAAA,CAAHO,GAAG;IACHC,GAAG,GAAAR,IAAA,CAAHQ,GAAG;IACHC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTC,QAAQ,GAAAV,IAAA,CAARU,QAAQ;IACRC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,YAAY,GAAAZ,IAAA,CAAZY,YAAY;IACZC,aAAa,GAAAb,IAAA,CAAba,aAAa;IACbC,YAAY,GAAAd,IAAA,CAAZc,YAAY;IACZC,aAAa,GAAAf,IAAA,CAAbe,aAAa;IACbC,SAAS,GAAAhB,IAAA,CAATgB,SAAS;IACTC,MAAM,GAAAjB,IAAA,CAANiB,MAAM,CAAA;EAEN,IAAAC,UAAA,GAA2BC,mBAAS,CAAC;AAAEjB,MAAAA,IAAI,EAAED,WAAW;AAAEE,MAAAA,KAAK,EAALA,KAAK;AAAEE,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,GAAG,EAAHA,GAAG;AAAEC,MAAAA,GAAG,EAAHA,GAAG;AAAES,MAAAA,MAAM,EAANA,MAAAA;AAAO,KAAC,CAAC;IAAAG,WAAA,GAAAC,uCAAA,CAAAH,UAAA,EAAA,CAAA,CAAA;AAAtGI,IAAAA,MAAM,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,QAAQ,GAAAH,WAAA,CAAA,CAAA,CAAA,CAAA;AACvB,EAAA,IAAMI,WAAW,GAAGC,YAAM,CAACF,QAAQ,CAAC,CAAA;AACpC,EAAA,IAAMG,gBAAgB,GAAGD,YAAM,CAACV,aAAa,CAAC,CAAA;AAE9C,EAAA,IAAMY,MAAM,GAAGhB,QAAQ,GAAGiB,wBAAc,GAAG,CAAC,CAAA;AAE5C,EAAA,IAAMC,eAAe,GAAAC,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAA,EAAA,EAAA,EAAA,CAAAC,MAAA,CACbC,2BAAW,CAACC,uBAAuB,CAAAF,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,sBAAM,CAACC,uBAAuB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAJ,MAAA,CAC7EC,2BAAW,CAACI,qBAAqB,CAAA,EAAA,MAAA,CAAAL,MAAA,CAAYG,sBAAM,CAACG,qBAAqB,EAAAN,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACzEC,2BAAW,CAACM,uBAAuB,CAAA,EAAA,MAAA,CAAAP,MAAA,CAAYG,sBAAM,CAACK,uBAAuB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAR,MAAA,CAC7EC,2BAAW,CAACQ,2BAA2B,CAAAT,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,sBAAM,CAACO,2BAA2B,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAV,MAAA,CACrFC,2BAAW,CAACU,8BAA8B,CAAA,EAAA,MAAA,CAAAX,MAAA,CAAYG,sBAAM,CAACS,8BAA8B,EAAAZ,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CAC3FC,2BAAW,CAACY,sBAAsB,CAAA,EAAA,MAAA,CAAAb,MAAA,CAAYG,sBAAM,CAACW,sBAAsB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAd,MAAA,CAC3EC,2BAAW,CAACc,+BAA+B,CAAAf,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,sBAAM,CAACa,+BAA+B,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAhB,MAAA,CAC7FC,2BAAW,CAACgB,kBAAkB,CAAA,EAAA,MAAA,CAAAjB,MAAA,CAAYG,sBAAM,CAACe,sBAAsB,EAAAlB,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACvEC,2BAAW,CAACkB,mBAAmB,CAAA,EAAA,MAAA,CAAAnB,MAAA,CAAYG,sBAAM,CAACiB,uBAAuB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAApB,MAAA,CACzEC,2BAAW,CAACoB,yBAAyB,UAAArB,MAAA,CAAYG,sBAAM,CAACmB,6BAA6B,EAC5F,GAAA,CAAA,CAAA,CAAA;AAED,EAAA,IAAMC,eAAe,GAAGC,iBAAW,CAC/B,UAACC,KAAuC,EAAK;AACzC,IAAA,IAAAC,qBAAA,GAAkCD,KAAK,CAACE,aAAa,CAACC,OAAO;MAArDC,GAAG,GAAAH,qBAAA,CAAHG,GAAG;MAAEC,UAAU,GAAAJ,qBAAA,CAAVI,UAAU;MAAEC,IAAI,GAAAL,qBAAA,CAAJK,IAAI,CAAA;AAE7B,IAAA,IAAMC,YAAY,GAAG;AACjBH,MAAAA,GAAG,EAAEI,MAAM,CAACJ,GAAG,CAAC;AAChBC,MAAAA,UAAU,EAAEG,MAAM,CAACH,UAAU,CAAC;MAC9BC,IAAI,EAAEE,MAAM,CAACF,IAAI,CAAA;KACpB,CAAA;IAED,IAAI,CAACG,gCAAa,CAACF,YAAY,EAAE5D,KAAK,EAAEG,YAAY,CAAC,EAAE;AACnD,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,OAAOyD,YAAY,CAAA;AACvB,GAAC,EACD,CAACzD,YAAY,EAAEH,KAAK,CACxB,CAAC,CAAA;AAED,EAAA,IAAM+D,mBAAmB,GAAGX,iBAAW,CACnC,UAACY,CAAS,EAAEC,CAAS,EAAA;IAAA,OAAK,UAACZ,KAAuC,EAAK;AACnE;AACZ;AACA;AACA;AACA;AACYA,MAAAA,KAAK,CAACa,WAAW,CAACC,wBAAwB,EAAE,CAAA;AAE5C,MAAA,IAAMP,YAAY,GAAGT,eAAe,CAACE,KAAK,CAAC,CAAA;MAE3C,IAAI,CAACO,YAAY,EAAE;AACf,QAAA,OAAA;AACJ,OAAA;MAEAlD,aAAa,CAACkD,YAAY,EAAE,CAACI,CAAC,GAAGxC,MAAM,EAAEyC,CAAC,CAAC,CAAC,CAAA;AAE5C,MAAA,IAAIG,mCAAe,CAACpE,KAAK,CAAC,EAAE;AACxBW,QAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAG0D,SAAS,CAAC,CAAA;AAC7B,OAAA;KACH,CAAA;GACD,EAAA,CAAClB,eAAe,EAAEzC,aAAa,EAAEc,MAAM,EAAExB,KAAK,EAAEW,YAAY,CAChE,CAAC,CAAA;AAED,EAAA,IAAM2D,kBAAkB,GAAGlB,iBAAW,CAClC,UAACC,KAAuC,EAAK;AACzC,IAAA,IAAMO,YAAY,GAAGT,eAAe,CAACE,KAAK,CAAC,CAAA;AAC3C,IAAA,IAAMkB,cAAc,GAAGC,KAAK,CAACC,OAAO,CAACzE,KAAK,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,CAAA;AAEnE,IAAA,IAAI,CAAC4D,YAAY,IAAI,CAACY,KAAK,CAACC,OAAO,CAACzE,KAAK,CAAC,IAAIuE,cAAc,EAAE;AAC1D,MAAA,OAAA;AACJ,KAAA;AAEA5D,IAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAGiD,YAAY,CAAC,CAAA;GAC/B,EACD,CAACT,eAAe,EAAExC,YAAY,EAAEX,KAAK,CACzC,CAAC,CAAA;EAED,IAAM0E,OAAO,GAAGtB,iBAAW,CACvB,UAACuB,OAAuB,EAAEX,CAAS,EAAEC,CAAS,EAAK;IAC/C3D,SAAS,CAACsE,OAAO,CAACZ,CAAC,GAAGxC,MAAM,CAAC,CAACyC,CAAC,CAAC,GAAGU,OAAO,CAAA;AAC9C,GAAC,EACD,CAACnD,MAAM,EAAElB,SAAS,CACtB,CAAC,CAAA;AAEDuE,EAAAA,eAAS,CAAC,YAAM;IACZ,IAAIxD,WAAW,CAACuD,OAAO,EAAE;AAAA,MAAA,IAAAE,qBAAA,CAAA;AACrB,MAAA,CAAAA,qBAAA,GAAAvD,gBAAgB,CAACqD,OAAO,cAAAE,qBAAA,KAAA,KAAA,CAAA,IAAxBA,qBAAA,CAAAC,IAAA,CAAAxD,gBAAgB,EAAWF,WAAW,CAACuD,OAAO,CAAC,CAAA;AACnD,KAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBACII,KAAA,CAAAC,aAAA,CAACC,0CAAoB,EAAA;AAACC,IAAAA,IAAI,EAAC,MAAM;AAAC,IAAA,iBAAA,EAAgB,eAAe;AAACtE,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAClFM,MAAM,CAACiE,GAAG,CAAC,UAACC,KAAK,EAAErB,CAAC,EAAA;AAAA,IAAA,oBACjBgB,KAAA,CAAAC,aAAA,CAACK,gCAAU,EAAA;AAACH,MAAAA,IAAI,EAAC,KAAK;AAACI,MAAAA,GAAG,EAAEvB,CAAAA;KACvBqB,EAAAA,KAAK,CAACD,GAAG,CACN,UAAAI,KAAA,EAeIvB,CAAC,EACA;AAAA,MAAA,IAdGwB,SAAS,GAAAD,KAAA,CAATC,SAAS;QACT/B,UAAU,GAAA8B,KAAA,CAAV9B,UAAU;QACVgC,UAAU,GAAAF,KAAA,CAAVE,UAAU;QACVC,SAAS,GAAAH,KAAA,CAATG,SAAS;QACTC,aAAa,GAAAJ,KAAA,CAAbI,aAAa;QACb7F,IAAI,GAAAyF,KAAA,CAAJzF,IAAI;QACJ8F,MAAM,GAAAL,KAAA,CAANK,MAAM;QACNC,kBAAkB,GAAAN,KAAA,CAAlBM,kBAAkB;QAClBC,OAAO,GAAAP,KAAA,CAAPO,OAAO;QACPC,QAAQ,GAAAR,KAAA,CAARQ,QAAQ;QACRC,gBAAgB,GAAAT,KAAA,CAAhBS,gBAAgB;QAChBC,aAAa,GAAAV,KAAA,CAAbU,aAAa,CAAA;AAIjB,MAAA,oBACIlB,KAAA,CAAAC,aAAA,CAACkB,mCAAiB,EAAA;QACdC,GAAG,EAAE,SAAAA,GAAAA,CAACzB,OAAuB,EAAA;AAAA,UAAA,OAAKD,OAAO,CAACC,OAAO,EAAEX,CAAC,EAAEC,CAAC,CAAC,CAAA;SAAC;AACzDoC,QAAAA,KAAK,EAAE3E,eAAgB;AACvBxB,QAAAA,SAAS,EAAE2F,MAAO;AAClBG,QAAAA,QAAQ,EAAEA,QAAS;QACnBvC,GAAG,EAAE1D,IAAI,CAAC0D,GAAI;QACdE,IAAI,EAAE5D,IAAI,CAAC4D,IAAK;AAChBD,QAAAA,UAAU,EAAEA,UAAW;QACvB4C,SAAS,EACLtC,CAAC,GAAGxC,MAAM,MAAKvB,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG,CAAC,CAAC,KACjCgE,CAAC,MAAKhE,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG,CAAC,CAAC,CACxB,IAAA,CAAC6F,kBACJ;AACDJ,QAAAA,UAAU,EAAEA,UAAW;AACvBC,QAAAA,SAAS,EAAEA,SAAU;AACrBpF,QAAAA,QAAQ,EAAEA,QAAS;AACnBgG,QAAAA,SAAS,EAAEC,6BAAS,CAACzG,IAAI,EAAEU,YAAY,CAAE;QACzCsF,OAAO,EAAEU,8BAAU,CAACzG,KAAK,EAAED,IAAI,EAAEU,YAAY,EAAEsF,OAAO,CAAE;QACxDW,WAAW,EAAEC,kCAAc,CAAC3G,KAAK,EAAED,IAAI,EAAEU,YAAY,EAAEiF,UAAU,CAAE;QACnEkB,OAAO,EAAEZ,QAAQ,GAAG3B,SAAS,GAAGN,mBAAmB,CAACC,CAAC,EAAEC,CAAC,CAAE;AAC1D4C,QAAAA,WAAW,EAAEb,QAAQ,GAAG3B,SAAS,GAAGC,kBAAmB;QACvDiB,GAAG,EAAA,cAAA,CAAA3D,MAAA,CAAiBoC,CAAC,OAAApC,MAAA,CAAIqC,CAAC,CAAG;AAC7BkB,QAAAA,IAAI,EAAC,UAAU;AACf,QAAA,YAAA,EAAYS,aAAc;AAC1BK,QAAAA,gBAAgB,EAAEA,gBAAiB;AACnCa,QAAAA,cAAc,EAAEZ,aAAc;QAC9Ba,mBAAmB,EAAA,IAAA;AAAA,OAAA,EAElBtB,SACc,CAAC,CAAA;AAE5B,KACJ,CACQ,CAAC,CAAA;AAAA,GAChB,CACiB,CAAC,CAAA;AAE/B;;;;"}
@@ -16,7 +16,7 @@ var getStartYear = function getStartYear(year) {
16
16
  return Math.floor(year / constants.YEAR_RENDER_COUNT) * constants.YEAR_RENDER_COUNT;
17
17
  };
18
18
  var getNextDate = function getNextDate(currentYear, currentMonth) {
19
- return currentMonth + 1 === constants.MONTH_NAMES.length ? [currentYear + 1, 0] : [currentYear, currentMonth + 1];
19
+ return currentMonth + 1 === constants.MONTHS.length ? [currentYear + 1, 0] : [currentYear, currentMonth + 1];
20
20
  };
21
21
  var getPrevDate = function getPrevDate(currentYear, currentMonth) {
22
22
  return currentMonth - 1 < 0 ? [currentYear - 1, 11] : [currentYear, currentMonth - 1];
@@ -1 +1 @@
1
- {"version":3,"file":"calendarGridHelper.js","sources":["../../../../src/components/Calendar/utils/calendarGridHelper.ts"],"sourcesContent":["import type { CalendarValueType, DateObject, DisabledDay, EventDay, ItemProps } from '../Calendar.types';\nimport type { CalendarStateType } from '../store/types';\n\nimport { isSelectProcess } from './calendarRangeHelper';\nimport { MONTH_NAMES, YEAR_RENDER_COUNT } from './constants';\n\nexport const getDaysInMonth = (monthIndex: number, year: number) => new Date(year, monthIndex + 1, 0).getDate();\n\nexport const getOffsetDayInWeek = (monthIndex: number, year: number) => (new Date(year, monthIndex).getDay() || 7) - 1;\n\nexport const getStartYear = (year: number) => Math.floor(year / YEAR_RENDER_COUNT) * YEAR_RENDER_COUNT;\n\nexport const getNextDate = (currentYear: number, currentMonth: number) =>\n currentMonth + 1 === MONTH_NAMES.length ? [currentYear + 1, 0] : [currentYear, currentMonth + 1];\n\nexport const getPrevDate = (currentYear: number, currentMonth: number) =>\n currentMonth - 1 < 0 ? [currentYear - 1, 11] : [currentYear, currentMonth - 1];\n\nexport const getDateFromValue = (date: Date | undefined): DateObject => {\n const state = date || new Date();\n\n return {\n day: date !== undefined ? state.getDate() : 0,\n monthIndex: state.getMonth(),\n year: state.getFullYear(),\n };\n};\n\nexport const getDateFromNow = (): DateObject => {\n const nowDate = new Date();\n\n return {\n day: nowDate.getDate(),\n monthIndex: nowDate.getMonth(),\n year: nowDate.getFullYear(),\n };\n};\n\nexport const IsCurrentDay = (date: DateObject, currentDay: number) => {\n const { day, monthIndex: currentMonthIndex, year: currentYear } = getDateFromNow();\n return day === currentDay && date.monthIndex === currentMonthIndex && date.year === currentYear;\n};\n\nexport const isSelectedDay = (date: DateObject, currentDay: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { day, monthIndex, year } = getDateFromValue(value);\n return day === currentDay && date.monthIndex === monthIndex && date.year === year;\n};\n\nexport const isCurrentMonth = (date: DateObject, monthIndex: number) => {\n const { monthIndex: currentMonthIndex, year: currentYear } = getDateFromNow();\n return monthIndex === currentMonthIndex && date.year === currentYear;\n};\n\nexport const isSelectedMonth = (date: DateObject, currentMonth: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { monthIndex, year } = getDateFromValue(value);\n return currentMonth === monthIndex && date.year === year;\n};\n\nexport const isCurrentYear = (year: number) => {\n const { year: currentYear } = getDateFromNow();\n return year === currentYear;\n};\n\nexport const isSelectedYear = (yearValue: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { year } = getDateFromValue(value);\n return yearValue === year;\n};\n\n/**\n * Метод для получения набора неповторяющихся дат.\n */\nexport const getPropsMap = <T extends EventDay | DisabledDay>(props: T[]) =>\n props.reduce((acc, prop) => {\n const { year, monthIndex, day } = getDateFromValue(prop.date);\n\n const key = `${year}-${monthIndex}-${day}`;\n\n const propList = acc.get(key) || [];\n propList.push(prop);\n\n return acc.set(key, propList);\n }, new Map<string, T[]>());\n\n/**\n * Метод проверяет, можно ли выбрать день.\n */\nexport const canSelectDate = (\n { year, monthIndex, day }: DateObject,\n value: CalendarValueType,\n disabledList?: DisabledDay[],\n) => {\n if (!isSelectProcess(value)) {\n return true;\n }\n\n const hoverDate = new Date(year, monthIndex, day);\n const [startDate] = value;\n\n if (!disabledList?.length) {\n return true;\n }\n\n const offDisabledRange = disabledList.some(\n ({ date }) => (startDate < date && date < hoverDate) || (startDate > date && date > hoverDate),\n );\n\n return !offDisabledRange;\n};\n\n/**\n * Метод для получения двумерного массива и возвращения выбранного элемента.\n */\nexport const getMatrix = <T extends ItemProps>(items: T[], rowSize = 7): readonly [T[][], number[] | undefined] => {\n const newItems = [...items];\n\n let selected: [number, number] | undefined;\n\n const result = newItems.reduce((acc: T[][], item, index) => {\n if (index % rowSize === 0) {\n acc.push([]);\n }\n\n acc[acc.length - 1].push(item);\n\n if (item.isSelected) {\n selected = [acc.length - 1, index % rowSize];\n }\n\n return acc;\n }, []);\n\n return [result, selected] as const;\n};\n\nexport const getCalendarType = (type: CalendarStateType) => {\n switch (type) {\n case 'Months':\n case 'Quarters':\n return 'год';\n case 'Years':\n return 'период';\n default:\n return 'месяц';\n }\n};\n"],"names":["getDaysInMonth","monthIndex","year","Date","getDate","getOffsetDayInWeek","getDay","getStartYear","Math","floor","YEAR_RENDER_COUNT","getNextDate","currentYear","currentMonth","MONTH_NAMES","length","getPrevDate","getDateFromValue","date","state","day","undefined","getMonth","getFullYear","getDateFromNow","nowDate","IsCurrentDay","currentDay","_getDateFromNow","currentMonthIndex","isSelectedDay","value","_getDateFromValue","isCurrentMonth","_getDateFromNow2","isSelectedMonth","_getDateFromValue2","isCurrentYear","_getDateFromNow3","isSelectedYear","yearValue","_getDateFromValue3","getPropsMap","props","reduce","acc","prop","_getDateFromValue4","key","concat","propList","get","push","set","Map","canSelectDate","_ref","disabledList","isSelectProcess","hoverDate","_value","_slicedToArray","startDate","offDisabledRange","some","_ref2","getMatrix","items","rowSize","arguments","newItems","_toConsumableArray","selected","result","item","index","isSelected","getCalendarType","type"],"mappings":"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"}
1
+ {"version":3,"file":"calendarGridHelper.js","sources":["../../../../src/components/Calendar/utils/calendarGridHelper.ts"],"sourcesContent":["import type { CalendarValueType, DateObject, DisabledDay, EventDay, ItemProps } from '../Calendar.types';\nimport type { CalendarStateType } from '../store/types';\n\nimport { isSelectProcess } from './calendarRangeHelper';\nimport { MONTHS, YEAR_RENDER_COUNT } from './constants';\n\nexport const getDaysInMonth = (monthIndex: number, year: number) => new Date(year, monthIndex + 1, 0).getDate();\n\nexport const getOffsetDayInWeek = (monthIndex: number, year: number) => (new Date(year, monthIndex).getDay() || 7) - 1;\n\nexport const getStartYear = (year: number) => Math.floor(year / YEAR_RENDER_COUNT) * YEAR_RENDER_COUNT;\n\nexport const getNextDate = (currentYear: number, currentMonth: number) =>\n currentMonth + 1 === MONTHS.length ? [currentYear + 1, 0] : [currentYear, currentMonth + 1];\n\nexport const getPrevDate = (currentYear: number, currentMonth: number) =>\n currentMonth - 1 < 0 ? [currentYear - 1, 11] : [currentYear, currentMonth - 1];\n\nexport const getDateFromValue = (date: Date | undefined): DateObject => {\n const state = date || new Date();\n\n return {\n day: date !== undefined ? state.getDate() : 0,\n monthIndex: state.getMonth(),\n year: state.getFullYear(),\n };\n};\n\nexport const getDateFromNow = (): DateObject => {\n const nowDate = new Date();\n\n return {\n day: nowDate.getDate(),\n monthIndex: nowDate.getMonth(),\n year: nowDate.getFullYear(),\n };\n};\n\nexport const IsCurrentDay = (date: DateObject, currentDay: number) => {\n const { day, monthIndex: currentMonthIndex, year: currentYear } = getDateFromNow();\n return day === currentDay && date.monthIndex === currentMonthIndex && date.year === currentYear;\n};\n\nexport const isSelectedDay = (date: DateObject, currentDay: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { day, monthIndex, year } = getDateFromValue(value);\n return day === currentDay && date.monthIndex === monthIndex && date.year === year;\n};\n\nexport const isCurrentMonth = (date: DateObject, monthIndex: number) => {\n const { monthIndex: currentMonthIndex, year: currentYear } = getDateFromNow();\n return monthIndex === currentMonthIndex && date.year === currentYear;\n};\n\nexport const isSelectedMonth = (date: DateObject, currentMonth: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { monthIndex, year } = getDateFromValue(value);\n return currentMonth === monthIndex && date.year === year;\n};\n\nexport const isCurrentYear = (year: number) => {\n const { year: currentYear } = getDateFromNow();\n return year === currentYear;\n};\n\nexport const isSelectedYear = (yearValue: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { year } = getDateFromValue(value);\n return yearValue === year;\n};\n\n/**\n * Метод для получения набора неповторяющихся дат.\n */\nexport const getPropsMap = <T extends EventDay | DisabledDay>(props: T[]) =>\n props.reduce((acc, prop) => {\n const { year, monthIndex, day } = getDateFromValue(prop.date);\n\n const key = `${year}-${monthIndex}-${day}`;\n\n const propList = acc.get(key) || [];\n propList.push(prop);\n\n return acc.set(key, propList);\n }, new Map<string, T[]>());\n\n/**\n * Метод проверяет, можно ли выбрать день.\n */\nexport const canSelectDate = (\n { year, monthIndex, day }: DateObject,\n value: CalendarValueType,\n disabledList?: DisabledDay[],\n) => {\n if (!isSelectProcess(value)) {\n return true;\n }\n\n const hoverDate = new Date(year, monthIndex, day);\n const [startDate] = value;\n\n if (!disabledList?.length) {\n return true;\n }\n\n const offDisabledRange = disabledList.some(\n ({ date }) => (startDate < date && date < hoverDate) || (startDate > date && date > hoverDate),\n );\n\n return !offDisabledRange;\n};\n\n/**\n * Метод для получения двумерного массива и возвращения выбранного элемента.\n */\nexport const getMatrix = <T extends ItemProps>(items: T[], rowSize = 7): readonly [T[][], number[] | undefined] => {\n const newItems = [...items];\n\n let selected: [number, number] | undefined;\n\n const result = newItems.reduce((acc: T[][], item, index) => {\n if (index % rowSize === 0) {\n acc.push([]);\n }\n\n acc[acc.length - 1].push(item);\n\n if (item.isSelected) {\n selected = [acc.length - 1, index % rowSize];\n }\n\n return acc;\n }, []);\n\n return [result, selected] as const;\n};\n\nexport const getCalendarType = (type: CalendarStateType) => {\n switch (type) {\n case 'Months':\n case 'Quarters':\n return 'год';\n case 'Years':\n return 'период';\n default:\n return 'месяц';\n }\n};\n"],"names":["getDaysInMonth","monthIndex","year","Date","getDate","getOffsetDayInWeek","getDay","getStartYear","Math","floor","YEAR_RENDER_COUNT","getNextDate","currentYear","currentMonth","MONTHS","length","getPrevDate","getDateFromValue","date","state","day","undefined","getMonth","getFullYear","getDateFromNow","nowDate","IsCurrentDay","currentDay","_getDateFromNow","currentMonthIndex","isSelectedDay","value","_getDateFromValue","isCurrentMonth","_getDateFromNow2","isSelectedMonth","_getDateFromValue2","isCurrentYear","_getDateFromNow3","isSelectedYear","yearValue","_getDateFromValue3","getPropsMap","props","reduce","acc","prop","_getDateFromValue4","key","concat","propList","get","push","set","Map","canSelectDate","_ref","disabledList","isSelectProcess","hoverDate","_value","_slicedToArray","startDate","offDisabledRange","some","_ref2","getMatrix","items","rowSize","arguments","newItems","_toConsumableArray","selected","result","item","index","isSelected","getCalendarType","type"],"mappings":";;;;;;;;AAMO,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,UAAkB,EAAEC,IAAY,EAAA;AAAA,EAAA,OAAK,IAAIC,IAAI,CAACD,IAAI,EAAED,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAACG,OAAO,EAAE,CAAA;AAAA,EAAA;AAExG,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIJ,UAAkB,EAAEC,IAAY,EAAA;AAAA,EAAA,OAAK,CAAC,IAAIC,IAAI,CAACD,IAAI,EAAED,UAAU,CAAC,CAACK,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;AAAA,EAAA;IAEzGC,YAAY,GAAG,SAAfA,YAAYA,CAAIL,IAAY,EAAA;EAAA,OAAKM,IAAI,CAACC,KAAK,CAACP,IAAI,GAAGQ,2BAAiB,CAAC,GAAGA,2BAAiB,CAAA;AAAA,EAAA;AAE/F,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,WAAmB,EAAEC,YAAoB,EAAA;EAAA,OACjEA,YAAY,GAAG,CAAC,KAAKC,gBAAM,CAACC,MAAM,GAAG,CAACH,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAACA,WAAW,EAAEC,YAAY,GAAG,CAAC,CAAC,CAAA;AAAA,EAAA;AAExF,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIJ,WAAmB,EAAEC,YAAoB,EAAA;EAAA,OACjEA,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAACD,WAAW,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAACA,WAAW,EAAEC,YAAY,GAAG,CAAC,CAAC,CAAA;AAAA,EAAA;IAErEI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,IAAsB,EAAiB;AACpE,EAAA,IAAMC,KAAK,GAAGD,IAAI,IAAI,IAAIf,IAAI,EAAE,CAAA;EAEhC,OAAO;IACHiB,GAAG,EAAEF,IAAI,KAAKG,SAAS,GAAGF,KAAK,CAACf,OAAO,EAAE,GAAG,CAAC;AAC7CH,IAAAA,UAAU,EAAEkB,KAAK,CAACG,QAAQ,EAAE;AAC5BpB,IAAAA,IAAI,EAAEiB,KAAK,CAACI,WAAW,EAAC;GAC3B,CAAA;AACL,EAAC;IAEYC,cAAc,GAAG,SAAjBA,cAAcA,GAAqB;AAC5C,EAAA,IAAMC,OAAO,GAAG,IAAItB,IAAI,EAAE,CAAA;EAE1B,OAAO;AACHiB,IAAAA,GAAG,EAAEK,OAAO,CAACrB,OAAO,EAAE;AACtBH,IAAAA,UAAU,EAAEwB,OAAO,CAACH,QAAQ,EAAE;AAC9BpB,IAAAA,IAAI,EAAEuB,OAAO,CAACF,WAAW,EAAC;GAC7B,CAAA;AACL,EAAC;AAEM,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAIR,IAAgB,EAAES,UAAkB,EAAK;AAClE,EAAA,IAAAC,eAAA,GAAkEJ,cAAc,EAAE;IAA1EJ,GAAG,GAAAQ,eAAA,CAAHR,GAAG;IAAcS,iBAAiB,GAAAD,eAAA,CAA7B3B,UAAU;IAA2BW,WAAW,GAAAgB,eAAA,CAAjB1B,IAAI,CAAA;AAChD,EAAA,OAAOkB,GAAG,KAAKO,UAAU,IAAIT,IAAI,CAACjB,UAAU,KAAK4B,iBAAiB,IAAIX,IAAI,CAAChB,IAAI,KAAKU,WAAW,CAAA;AACnG,EAAC;AAEM,IAAMkB,aAAa,GAAG,SAAhBA,aAAaA,CAAIZ,IAAgB,EAAES,UAAkB,EAAEI,KAAY,EAAK;EACjF,IAAI,CAACA,KAAK,EAAE;AACR,IAAA,OAAO,KAAK,CAAA;AAChB,GAAA;AAEA,EAAA,IAAAC,iBAAA,GAAkCf,gBAAgB,CAACc,KAAK,CAAC;IAAjDX,GAAG,GAAAY,iBAAA,CAAHZ,GAAG;IAAEnB,UAAU,GAAA+B,iBAAA,CAAV/B,UAAU;IAAEC,IAAI,GAAA8B,iBAAA,CAAJ9B,IAAI,CAAA;AAC7B,EAAA,OAAOkB,GAAG,KAAKO,UAAU,IAAIT,IAAI,CAACjB,UAAU,KAAKA,UAAU,IAAIiB,IAAI,CAAChB,IAAI,KAAKA,IAAI,CAAA;AACrF,EAAC;AAEM,IAAM+B,cAAc,GAAG,SAAjBA,cAAcA,CAAIf,IAAgB,EAAEjB,UAAkB,EAAK;AACpE,EAAA,IAAAiC,gBAAA,GAA6DV,cAAc,EAAE;IAAzDK,iBAAiB,GAAAK,gBAAA,CAA7BjC,UAAU;IAA2BW,WAAW,GAAAsB,gBAAA,CAAjBhC,IAAI,CAAA;EAC3C,OAAOD,UAAU,KAAK4B,iBAAiB,IAAIX,IAAI,CAAChB,IAAI,KAAKU,WAAW,CAAA;AACxE,EAAC;AAEM,IAAMuB,eAAe,GAAG,SAAlBA,eAAeA,CAAIjB,IAAgB,EAAEL,YAAoB,EAAEkB,KAAY,EAAK;EACrF,IAAI,CAACA,KAAK,EAAE;AACR,IAAA,OAAO,KAAK,CAAA;AAChB,GAAA;AAEA,EAAA,IAAAK,kBAAA,GAA6BnB,gBAAgB,CAACc,KAAK,CAAC;IAA5C9B,UAAU,GAAAmC,kBAAA,CAAVnC,UAAU;IAAEC,IAAI,GAAAkC,kBAAA,CAAJlC,IAAI,CAAA;EACxB,OAAOW,YAAY,KAAKZ,UAAU,IAAIiB,IAAI,CAAChB,IAAI,KAAKA,IAAI,CAAA;AAC5D,EAAC;IAEYmC,aAAa,GAAG,SAAhBA,aAAaA,CAAInC,IAAY,EAAK;AAC3C,EAAA,IAAAoC,gBAAA,GAA8Bd,cAAc,EAAE;IAAhCZ,WAAW,GAAA0B,gBAAA,CAAjBpC,IAAI,CAAA;EACZ,OAAOA,IAAI,KAAKU,WAAW,CAAA;AAC/B,EAAC;AAEM,IAAM2B,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,SAAiB,EAAET,KAAY,EAAK;EAC/D,IAAI,CAACA,KAAK,EAAE;AACR,IAAA,OAAO,KAAK,CAAA;AAChB,GAAA;AAEA,EAAA,IAAAU,kBAAA,GAAiBxB,gBAAgB,CAACc,KAAK,CAAC;IAAhC7B,IAAI,GAAAuC,kBAAA,CAAJvC,IAAI,CAAA;EACZ,OAAOsC,SAAS,KAAKtC,IAAI,CAAA;AAC7B,EAAC;;AAED;AACA;AACA;IACawC,WAAW,GAAG,SAAdA,WAAWA,CAAsCC,KAAU,EAAA;EAAA,OACpEA,KAAK,CAACC,MAAM,CAAC,UAACC,GAAG,EAAEC,IAAI,EAAK;AACxB,IAAA,IAAAC,kBAAA,GAAkC9B,gBAAgB,CAAC6B,IAAI,CAAC5B,IAAI,CAAC;MAArDhB,IAAI,GAAA6C,kBAAA,CAAJ7C,IAAI;MAAED,UAAU,GAAA8C,kBAAA,CAAV9C,UAAU;MAAEmB,GAAG,GAAA2B,kBAAA,CAAH3B,GAAG,CAAA;AAE7B,IAAA,IAAM4B,GAAG,GAAA,EAAA,CAAAC,MAAA,CAAM/C,IAAI,EAAA,GAAA,CAAA,CAAA+C,MAAA,CAAIhD,UAAU,EAAA,GAAA,CAAA,CAAAgD,MAAA,CAAI7B,GAAG,CAAE,CAAA;IAE1C,IAAM8B,QAAQ,GAAGL,GAAG,CAACM,GAAG,CAACH,GAAG,CAAC,IAAI,EAAE,CAAA;AACnCE,IAAAA,QAAQ,CAACE,IAAI,CAACN,IAAI,CAAC,CAAA;AAEnB,IAAA,OAAOD,GAAG,CAACQ,GAAG,CAACL,GAAG,EAAEE,QAAQ,CAAC,CAAA;AACjC,GAAC,EAAE,IAAII,GAAG,EAAe,CAAC,CAAA;AAAA,EAAA;;AAE9B;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAEtBzB,KAAwB,EACxB0B,YAA4B,EAC3B;AAAA,EAAA,IAHCvD,IAAI,GAAAsD,IAAA,CAAJtD,IAAI;IAAED,UAAU,GAAAuD,IAAA,CAAVvD,UAAU;IAAEmB,GAAG,GAAAoC,IAAA,CAAHpC,GAAG,CAAA;AAIvB,EAAA,IAAI,CAACsC,mCAAe,CAAC3B,KAAK,CAAC,EAAE;AACzB,IAAA,OAAO,IAAI,CAAA;AACf,GAAA;EAEA,IAAM4B,SAAS,GAAG,IAAIxD,IAAI,CAACD,IAAI,EAAED,UAAU,EAAEmB,GAAG,CAAC,CAAA;AACjD,EAAA,IAAAwC,MAAA,GAAAC,uCAAA,CAAoB9B,KAAK,EAAA,CAAA,CAAA;AAAlB+B,IAAAA,SAAS,GAAAF,MAAA,CAAA,CAAA,CAAA,CAAA;EAEhB,IAAI,EAACH,YAAY,KAAZA,IAAAA,IAAAA,YAAY,eAAZA,YAAY,CAAE1C,MAAM,CAAE,EAAA;AACvB,IAAA,OAAO,IAAI,CAAA;AACf,GAAA;AAEA,EAAA,IAAMgD,gBAAgB,GAAGN,YAAY,CAACO,IAAI,CACtC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAG/C,IAAI,GAAA+C,KAAA,CAAJ/C,IAAI,CAAA;AAAA,IAAA,OAAQ4C,SAAS,GAAG5C,IAAI,IAAIA,IAAI,GAAGyC,SAAS,IAAMG,SAAS,GAAG5C,IAAI,IAAIA,IAAI,GAAGyC,SAAU,CAAA;AAAA,GAClG,CAAC,CAAA;AAED,EAAA,OAAO,CAACI,gBAAgB,CAAA;AAC5B,EAAC;;AAED;AACA;AACA;IACaG,SAAS,GAAG,SAAZA,SAASA,CAAyBC,KAAU,EAA0D;AAAA,EAAA,IAAxDC,OAAO,GAAAC,SAAA,CAAAtD,MAAA,GAAA,CAAA,IAAAsD,SAAA,CAAA,CAAA,CAAA,KAAAhD,SAAA,GAAAgD,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;AAClE,EAAA,IAAMC,QAAQ,GAAAC,2CAAA,CAAOJ,KAAK,CAAC,CAAA;AAE3B,EAAA,IAAIK,QAAsC,CAAA;AAE1C,EAAA,IAAMC,MAAM,GAAGH,QAAQ,CAAC1B,MAAM,CAAC,UAACC,GAAU,EAAE6B,IAAI,EAAEC,KAAK,EAAK;AACxD,IAAA,IAAIA,KAAK,GAAGP,OAAO,KAAK,CAAC,EAAE;AACvBvB,MAAAA,GAAG,CAACO,IAAI,CAAC,EAAE,CAAC,CAAA;AAChB,KAAA;IAEAP,GAAG,CAACA,GAAG,CAAC9B,MAAM,GAAG,CAAC,CAAC,CAACqC,IAAI,CAACsB,IAAI,CAAC,CAAA;IAE9B,IAAIA,IAAI,CAACE,UAAU,EAAE;MACjBJ,QAAQ,GAAG,CAAC3B,GAAG,CAAC9B,MAAM,GAAG,CAAC,EAAE4D,KAAK,GAAGP,OAAO,CAAC,CAAA;AAChD,KAAA;AAEA,IAAA,OAAOvB,GAAG,CAAA;GACb,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAO,CAAC4B,MAAM,EAAED,QAAQ,CAAC,CAAA;AAC7B,EAAC;IAEYK,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAuB,EAAK;AACxD,EAAA,QAAQA,IAAI;AACR,IAAA,KAAK,QAAQ,CAAA;AACb,IAAA,KAAK,UAAU;AACX,MAAA,OAAO,KAAK,CAAA;AAChB,IAAA,KAAK,OAAO;AACR,MAAA,OAAO,QAAQ,CAAA;AACnB,IAAA;AACI,MAAA,OAAO,OAAO,CAAA;AACtB,GAAA;AACJ;;;;;;;;;;;;;;;;;;;;"}
@@ -2,6 +2,45 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+
7
+ var LOCALES = {
8
+ ru: 'ru-RU',
9
+ en: 'en-US'
10
+ };
11
+ var MONTHS = /*#__PURE__*/Array.from({
12
+ length: 12
13
+ }, function (_, i) {
14
+ return i + 1;
15
+ });
16
+ var WEEKS = /*#__PURE__*/Array.from({
17
+ length: 7
18
+ }, function (_, i) {
19
+ return i + 1;
20
+ });
21
+ var callbackDayFormatter = function callbackDayFormatter(local, options) {
22
+ var dateFormatter = new Intl.DateTimeFormat(LOCALES[local], options);
23
+ return function (index) {
24
+ // INFO: Start for monday
25
+ var day = new Date(Date.UTC(2024, 0, index));
26
+ var _dateFormatter$format = dateFormatter.format(day),
27
+ _dateFormatter$format2 = _rollupPluginBabelHelpers.toArray(_dateFormatter$format),
28
+ first = _dateFormatter$format2[0],
29
+ rest = _dateFormatter$format2.slice(1);
30
+ return first.toUpperCase() + rest.join('');
31
+ };
32
+ };
33
+ var callbackMonthFormatter = function callbackMonthFormatter(local, options) {
34
+ var dateFormatter = new Intl.DateTimeFormat(LOCALES[local], options);
35
+ return function (month) {
36
+ var data = new Date(Date.UTC(2024, month - 1));
37
+ var _dateFormatter$format3 = dateFormatter.format(data),
38
+ _dateFormatter$format4 = _rollupPluginBabelHelpers.toArray(_dateFormatter$format3),
39
+ first = _dateFormatter$format4[0],
40
+ rest = _dateFormatter$format4.slice(1);
41
+ return first.toUpperCase() + rest.join('').replace('.', '');
42
+ };
43
+ };
5
44
  var ROW_STEP = 6;
6
45
  var ROW_MONTH_STEP = 4;
7
46
  var ROW_YEAR_STEP = 4;
@@ -32,7 +71,14 @@ var quarterDates = {
32
71
  day: 1
33
72
  }
34
73
  };
35
- var SHORT_DAY_NAMES = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'];
74
+ var SHORT_DAY_NAMES = {
75
+ ru: /*#__PURE__*/WEEKS.map( /*#__PURE__*/callbackDayFormatter('ru', {
76
+ weekday: 'short'
77
+ })),
78
+ en: /*#__PURE__*/WEEKS.map( /*#__PURE__*/callbackDayFormatter('en', {
79
+ weekday: 'short'
80
+ }))
81
+ };
36
82
  var FULL_DAY_NAMES = {
37
83
  Пн: 'Понедельник',
38
84
  Вт: 'Вторник',
@@ -42,10 +88,25 @@ var FULL_DAY_NAMES = {
42
88
  Сб: 'Суббота',
43
89
  Вс: 'Воскресенье'
44
90
  };
45
- var SHORT_MONTH_NAME = ['Янв', 'Фев', 'Март', 'Апр', 'Май', 'Июнь', 'Июль', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'];
46
- var MONTH_NAMES = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
91
+ var SHORT_MONTH_NAME = {
92
+ ru: /*#__PURE__*/MONTHS.map( /*#__PURE__*/callbackMonthFormatter('ru', {
93
+ month: 'short'
94
+ })),
95
+ en: /*#__PURE__*/MONTHS.map( /*#__PURE__*/callbackMonthFormatter('en', {
96
+ month: 'short'
97
+ }))
98
+ };
99
+ var MONTH_NAMES = {
100
+ ru: /*#__PURE__*/MONTHS.map( /*#__PURE__*/callbackMonthFormatter('ru', {
101
+ month: 'long'
102
+ })),
103
+ en: /*#__PURE__*/MONTHS.map( /*#__PURE__*/callbackMonthFormatter('en', {
104
+ month: 'long'
105
+ }))
106
+ };
47
107
 
48
108
  exports.FULL_DAY_NAMES = FULL_DAY_NAMES;
109
+ exports.MONTHS = MONTHS;
49
110
  exports.MONTH_NAMES = MONTH_NAMES;
50
111
  exports.QUARTER_NAMES = QUARTER_NAMES;
51
112
  exports.ROW_MONTH_STEP = ROW_MONTH_STEP;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/components/Calendar/utils/constants.ts"],"sourcesContent":["import type { QuarterPartialDate } from '../Calendar.types';\n\nexport const ROW_STEP = 6;\nexport const ROW_MONTH_STEP = 4;\nexport const ROW_YEAR_STEP = 4;\nexport const ROW_QUARTER_STEP = 2;\n\nexport const YEAR_RENDER_COUNT = 12;\n\nexport const offsetMap = {\n Days: ROW_STEP,\n Months: ROW_MONTH_STEP,\n Years: ROW_YEAR_STEP,\n Quarters: ROW_QUARTER_STEP,\n};\n\nexport const QUARTER_NAMES = ['Q1', 'Q2', 'Q3', 'Q4'];\n\nexport const quarterDates: Record<typeof QUARTER_NAMES[number], QuarterPartialDate> = {\n Q1: {\n monthIndex: 0,\n day: 1,\n },\n Q2: {\n monthIndex: 3,\n day: 1,\n },\n Q3: {\n monthIndex: 6,\n day: 1,\n },\n Q4: {\n monthIndex: 9,\n day: 1,\n },\n};\n\nexport const SHORT_DAY_NAMES = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'];\n\nexport const FULL_DAY_NAMES: Record<typeof SHORT_DAY_NAMES[number], string> = {\n Пн: 'Понедельник',\n Вт: 'Вторник',\n Ср: 'Среда',\n Чт: 'Четверг',\n Пт: 'Пятница',\n Сб: 'Суббота',\n Вс: 'Воскресенье',\n};\n\nexport const SHORT_MONTH_NAME = ['Янв', 'Фев', 'Март', 'Апр', 'Май', 'Июнь', 'Июль', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'];\n\nexport const MONTH_NAMES = [\n 'Январь',\n 'Февраль',\n 'Март',\n 'Апрель',\n 'Май',\n 'Июнь',\n 'Июль',\n 'Август',\n 'Сентябрь',\n 'Октябрь',\n 'Ноябрь',\n 'Декабрь',\n];\n"],"names":["ROW_STEP","ROW_MONTH_STEP","ROW_YEAR_STEP","ROW_QUARTER_STEP","YEAR_RENDER_COUNT","offsetMap","Days","Months","Years","Quarters","QUARTER_NAMES","quarterDates","Q1","monthIndex","day","Q2","Q3","Q4","SHORT_DAY_NAMES","FULL_DAY_NAMES","Пн","Вт","Ср","Чт","Пт","Сб","Вс","SHORT_MONTH_NAME","MONTH_NAMES"],"mappings":";;;;AAEO,IAAMA,QAAQ,GAAG,EAAC;AAClB,IAAMC,cAAc,GAAG,EAAC;AACxB,IAAMC,aAAa,GAAG,EAAC;AACvB,IAAMC,gBAAgB,GAAG,EAAC;AAE1B,IAAMC,iBAAiB,GAAG,GAAE;AAE5B,IAAMC,SAAS,GAAG;AACrBC,EAAAA,IAAI,EAAEN,QAAQ;AACdO,EAAAA,MAAM,EAAEN,cAAc;AACtBO,EAAAA,KAAK,EAAEN,aAAa;AACpBO,EAAAA,QAAQ,EAAEN,gBAAAA;AACd,EAAC;AAEM,IAAMO,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;AAE9C,IAAMC,YAAsE,GAAG;AAClFC,EAAAA,EAAE,EAAE;AACAC,IAAAA,UAAU,EAAE,CAAC;AACbC,IAAAA,GAAG,EAAE,CAAA;GACR;AACDC,EAAAA,EAAE,EAAE;AACAF,IAAAA,UAAU,EAAE,CAAC;AACbC,IAAAA,GAAG,EAAE,CAAA;GACR;AACDE,EAAAA,EAAE,EAAE;AACAH,IAAAA,UAAU,EAAE,CAAC;AACbC,IAAAA,GAAG,EAAE,CAAA;GACR;AACDG,EAAAA,EAAE,EAAE;AACAJ,IAAAA,UAAU,EAAE,CAAC;AACbC,IAAAA,GAAG,EAAE,CAAA;AACT,GAAA;AACJ,EAAC;IAEYI,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;AAElE,IAAMC,cAA8D,GAAG;AAC1EC,EAAAA,EAAE,EAAE,aAAa;AACjBC,EAAAA,EAAE,EAAE,SAAS;AACbC,EAAAA,EAAE,EAAE,OAAO;AACXC,EAAAA,EAAE,EAAE,SAAS;AACbC,EAAAA,EAAE,EAAE,SAAS;AACbC,EAAAA,EAAE,EAAE,SAAS;AACbC,EAAAA,EAAE,EAAE,aAAA;AACR,EAAC;AAEM,IAAMC,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC;AAEhH,IAAMC,WAAW,GAAG,CACvB,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,SAAS;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/components/Calendar/utils/constants.ts"],"sourcesContent":["import type { QuarterPartialDate, LOCALES as LOCAL_TYPE } from '../Calendar.types';\n\nconst LOCALES = {\n ru: 'ru-RU',\n en: 'en-US',\n};\n\ntype LOCAL_MAP = Record<LOCAL_TYPE, string[]>;\n\nexport const MONTHS = Array.from({ length: 12 }, (_, i) => i + 1);\nconst WEEKS = Array.from({ length: 7 }, (_, i) => i + 1);\n\nconst callbackDayFormatter = (local: LOCAL_TYPE, options: Intl.DateTimeFormatOptions) => {\n const dateFormatter = new Intl.DateTimeFormat(LOCALES[local], options);\n\n return (index: number) => {\n // INFO: Start for monday\n const day = new Date(Date.UTC(2024, 0, index));\n\n const [first, ...rest] = dateFormatter.format(day);\n\n return first.toUpperCase() + rest.join('');\n };\n};\n\nconst callbackMonthFormatter = (local: LOCAL_TYPE, options: Intl.DateTimeFormatOptions) => {\n const dateFormatter = new Intl.DateTimeFormat(LOCALES[local], options);\n\n return (month: number) => {\n const data = new Date(Date.UTC(2024, month - 1));\n const [first, ...rest] = dateFormatter.format(data);\n\n return first.toUpperCase() + rest.join('').replace('.', '');\n };\n};\n\nexport const ROW_STEP = 6;\nexport const ROW_MONTH_STEP = 4;\nexport const ROW_YEAR_STEP = 4;\nexport const ROW_QUARTER_STEP = 2;\n\nexport const YEAR_RENDER_COUNT = 12;\n\nexport const offsetMap = {\n Days: ROW_STEP,\n Months: ROW_MONTH_STEP,\n Years: ROW_YEAR_STEP,\n Quarters: ROW_QUARTER_STEP,\n};\n\nexport const QUARTER_NAMES = ['Q1', 'Q2', 'Q3', 'Q4'];\n\nexport const quarterDates: Record<typeof QUARTER_NAMES[number], QuarterPartialDate> = {\n Q1: {\n monthIndex: 0,\n day: 1,\n },\n Q2: {\n monthIndex: 3,\n day: 1,\n },\n Q3: {\n monthIndex: 6,\n day: 1,\n },\n Q4: {\n monthIndex: 9,\n day: 1,\n },\n};\n\nexport const SHORT_DAY_NAMES: LOCAL_MAP = {\n ru: WEEKS.map(callbackDayFormatter('ru', { weekday: 'short' })),\n en: WEEKS.map(callbackDayFormatter('en', { weekday: 'short' })),\n};\n\nexport const FULL_DAY_NAMES: Record<typeof SHORT_DAY_NAMES.ru[number], string> = {\n Пн: 'Понедельник',\n Вт: 'Вторник',\n Ср: 'Среда',\n Чт: 'Четверг',\n Пт: 'Пятница',\n Сб: 'Суббота',\n Вс: 'Воскресенье',\n};\n\nexport const SHORT_MONTH_NAME: LOCAL_MAP = {\n ru: MONTHS.map(callbackMonthFormatter('ru', { month: 'short' })),\n en: MONTHS.map(callbackMonthFormatter('en', { month: 'short' })),\n};\n\nexport const MONTH_NAMES: LOCAL_MAP = {\n ru: MONTHS.map(callbackMonthFormatter('ru', { month: 'long' })),\n en: MONTHS.map(callbackMonthFormatter('en', { month: 'long' })),\n};\n"],"names":["LOCALES","ru","en","MONTHS","Array","from","length","_","i","WEEKS","callbackDayFormatter","local","options","dateFormatter","Intl","DateTimeFormat","index","day","Date","UTC","_dateFormatter$format","format","_dateFormatter$format2","_toArray","first","rest","slice","toUpperCase","join","callbackMonthFormatter","month","data","_dateFormatter$format3","_dateFormatter$format4","replace","ROW_STEP","ROW_MONTH_STEP","ROW_YEAR_STEP","ROW_QUARTER_STEP","YEAR_RENDER_COUNT","offsetMap","Days","Months","Years","Quarters","QUARTER_NAMES","quarterDates","Q1","monthIndex","Q2","Q3","Q4","SHORT_DAY_NAMES","map","weekday","FULL_DAY_NAMES","Пн","Вт","Ср","Чт","Пт","Сб","Вс","SHORT_MONTH_NAME","MONTH_NAMES"],"mappings":"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"}
@@ -301,6 +301,7 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
301
301
  offset: offset,
302
302
  type: type,
303
303
  onToggle: handleToggle,
304
+ lang: lang,
304
305
  isDoubleCalendar: isDoubleCalendar,
305
306
  onChangeStartOfRange: function onChangeStartOfRange(firstDate, dateInfo) {
306
307
  handleCommitFirstDate(firstDate, false, true, dateInfo);