@salutejs/plasma-new-hope 0.327.0-canary.2029.15755421746.0 → 0.327.0-canary.2029.15759219312.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js +12 -0
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +12 -0
- package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
- package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +12 -0
- package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
- package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/es/components/Calendar/CalendarBase/CalendarBase.js +12 -0
- package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +12 -0
- package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +12 -0
- package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
- package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
- package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarQuarters.js","sources":["../../../../../src/components/Calendar/ui/CalendarQuarters/CalendarQuarters.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useQuarters } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_QUARTER_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarQuartersProps } from './CalendarQuarters.types';\nimport { StyledCalendarQuarters } from './CalendarQuarters.styles';\n\n/**\n * Компонент кварталов в календаре.\n */\nexport const CalendarQuarters: React.FC<CalendarQuartersProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredQuarter,\n onChangeQuarter,\n onHoverQuarter,\n onSetSelected,\n onKeyDown,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;\n\n const [quarters, selected] = useQuarters({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_QUARTER_STEP : 0;\n\n const quarterItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarQuarterFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarQuarterFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarQuarterFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarQuarterFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarQuarterFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarQuarterFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarQuarterSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarQuarterItemBorderRadius})`,\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 handleOnChangeQuarter = useCallback(\n (i: number, j: number, quarterName: string) => (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 onChangeQuarter(selectedDate, [i + offset, j], quarterName);\n\n if (isSelectProcess(value)) {\n onHoverQuarter?.(undefined);\n }\n },\n [getSelectedDate, onChangeQuarter, offset, value, onHoverQuarter],\n );\n\n const handleOnHoverQuarter = 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 onHoverQuarter?.(selectedDate);\n },\n [getSelectedDate, onHoverQuarter, value],\n );\n\n const handleMouseOutGrid = () => onHoverQuarter?.(undefined);\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 <StyledCalendarQuarters\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {quarters.map((quarter, i) => (\n <Fragment key={i}>\n {quarter.map(\n (\n {\n quarterName,\n isSelected,\n isCurrent,\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={quarterItemTokens}\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] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredQuarter)}\n inRange={getInRange(value, date, hoveredQuarter, inRange)}\n sideInRange={getSideInRange(value, date, hoveredQuarter, isSelected)}\n onClick={disabled ? undefined : handleOnChangeQuarter(i, j, String(quarterName))}\n onMouseOver={disabled ? undefined : handleOnHoverQuarter}\n key={`StyledQuarter-${i}-${j}`}\n role=\"gridcell\"\n aria-label={quarterName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {quarterName}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarQuarters>\n );\n};\n"],"names":["CalendarQuarters","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredQuarter","onChangeQuarter","onHoverQuarter","onSetSelected","onKeyDown","minDate","Date","getFullYear","getMonth","undefined","maxDate","_useQuarters","useQuarters","_useQuarters2","_slicedToArray","quarters","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_QUARTER_STEP","quarterItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarQuarterFontFamily","dateStructureFontSize","calendarQuarterFontSize","dateStructureFontWeight","calendarQuarterFontWeight","dateStructureFontLineHeight","calendarQuarterFontLineHeight","dateStructureFontLetterSpacing","calendarQuarterFontLetterSpacing","dateStructureFontStyle","calendarQuarterFontStyle","dateStructureSelectedFontWeight","calendarQuarterSelectedFontWeight","dateStructureBorderRadius","calendarQuarterItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeQuarter","i","j","quarterName","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverQuarter","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarQuarters","role","onMouseLeave","map","quarter","Fragment","key","_ref2","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","String","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CalendarQuarters.js","sources":["../../../../../src/components/Calendar/ui/CalendarQuarters/CalendarQuarters.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useQuarters } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_QUARTER_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarQuartersProps } from './CalendarQuarters.types';\nimport { StyledCalendarQuarters } from './CalendarQuarters.styles';\n\n/**\n * Компонент кварталов в календаре.\n */\nexport const CalendarQuarters: React.FC<CalendarQuartersProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredQuarter,\n onChangeQuarter,\n onHoverQuarter,\n onSetSelected,\n onKeyDown,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;\n\n const [quarters, selected] = useQuarters({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_QUARTER_STEP : 0;\n\n const quarterItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarQuarterFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarQuarterFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarQuarterFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarQuarterFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarQuarterFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarQuarterFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarQuarterSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarQuarterItemBorderRadius})`,\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 handleOnChangeQuarter = useCallback(\n (i: number, j: number, quarterName: string) => (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 onChangeQuarter(selectedDate, [i + offset, j], quarterName);\n\n if (isSelectProcess(value)) {\n onHoverQuarter?.(undefined);\n }\n },\n [getSelectedDate, onChangeQuarter, offset, value, onHoverQuarter],\n );\n\n const handleOnHoverQuarter = 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 onHoverQuarter?.(selectedDate);\n },\n [getSelectedDate, onHoverQuarter, value],\n );\n\n const handleMouseOutGrid = () => onHoverQuarter?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n if (!outerRefs.current[i + offset]) {\n outerRefs.current[i + offset] = [];\n }\n\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 <StyledCalendarQuarters\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {quarters.map((quarter, i) => (\n <Fragment key={i}>\n {quarter.map(\n (\n {\n quarterName,\n isSelected,\n isCurrent,\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={quarterItemTokens}\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] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredQuarter)}\n inRange={getInRange(value, date, hoveredQuarter, inRange)}\n sideInRange={getSideInRange(value, date, hoveredQuarter, isSelected)}\n onClick={disabled ? undefined : handleOnChangeQuarter(i, j, String(quarterName))}\n onMouseOver={disabled ? undefined : handleOnHoverQuarter}\n key={`StyledQuarter-${i}-${j}`}\n role=\"gridcell\"\n aria-label={quarterName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {quarterName}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarQuarters>\n );\n};\n"],"names":["CalendarQuarters","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredQuarter","onChangeQuarter","onHoverQuarter","onSetSelected","onKeyDown","minDate","Date","getFullYear","getMonth","undefined","maxDate","_useQuarters","useQuarters","_useQuarters2","_slicedToArray","quarters","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_QUARTER_STEP","quarterItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarQuarterFontFamily","dateStructureFontSize","calendarQuarterFontSize","dateStructureFontWeight","calendarQuarterFontWeight","dateStructureFontLineHeight","calendarQuarterFontLineHeight","dateStructureFontLetterSpacing","calendarQuarterFontLetterSpacing","dateStructureFontStyle","calendarQuarterFontStyle","dateStructureSelectedFontWeight","calendarQuarterSelectedFontWeight","dateStructureBorderRadius","calendarQuarterItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeQuarter","i","j","quarterName","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverQuarter","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarQuarters","role","onMouseLeave","map","quarter","Fragment","key","_ref2","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","String","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
@@ -99,6 +99,9 @@ var CalendarYears = function CalendarYears(_ref) {
|
|
99
99
|
return onHoverYear === null || onHoverYear === void 0 ? void 0 : onHoverYear(undefined);
|
100
100
|
};
|
101
101
|
var getRefs = React.useCallback(function (element, i, j) {
|
102
|
+
if (!outerRefs.current[i + offset]) {
|
103
|
+
outerRefs.current[i + offset] = [];
|
104
|
+
}
|
102
105
|
outerRefs.current[i + offset][j] = element;
|
103
106
|
}, [outerRefs]);
|
104
107
|
React.useEffect(function () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarYears.js","sources":["../../../../../src/components/Calendar/ui/CalendarYears/CalendarYears.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useYears } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_YEAR_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarYearsProps } from './CalendarYears.types';\nimport { StyledCalendarYears } from './CalendarYears.styles';\n\n/**\n * Компонент годов в календаре.\n */\nexport const CalendarYears: React.FC<CalendarYearsProps> = ({\n date: currentDate,\n value,\n startYear,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredYear,\n onChangeYear,\n onHoverYear,\n onSetSelected,\n onKeyDown,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), 0, 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), 11, 31) : undefined;\n\n const [years, selected] = useYears({\n date: currentDate,\n value,\n startYear,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_YEAR_STEP : 0;\n\n const yearItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarYearFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarYearFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarYearFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarYearFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarYearFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarYearFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarYearSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarYearItemBorderRadius})`,\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 handleOnChangeYear = 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 onChangeYear(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverYear?.(undefined);\n }\n },\n [getSelectedDate, onChangeYear, offset, value, onHoverYear],\n );\n\n const handleOnHoverYear = 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 onHoverYear?.(selectedDate);\n },\n [getSelectedDate, onHoverYear, value],\n );\n\n const handleMouseOutGrid = () => onHoverYear?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarYears\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {years.map((year, i) => (\n <Fragment key={i}>\n {year.map(\n (\n {\n yearValue,\n isSelected,\n isCurrent,\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={yearItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={yearValue}\n monthIndex={date.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, hoveredYear)}\n inRange={getInRange(value, date, hoveredYear, inRange)}\n sideInRange={getSideInRange(value, date, hoveredYear, isSelected)}\n onClick={disabled ? undefined : handleOnChangeYear(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverYear}\n key={`StyledYear-${i}-${j}`}\n role=\"gridcell\"\n data-year={yearValue}\n data-month-index={date.monthIndex}\n data-day={date.day}\n aria-label={String(yearValue)}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {yearValue}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarYears>\n );\n};\n"],"names":["CalendarYears","_ref","currentDate","date","value","startYear","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredYear","onChangeYear","onHoverYear","onSetSelected","onKeyDown","minDate","Date","getFullYear","undefined","maxDate","_useYears","useYears","_useYears2","_slicedToArray","years","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_YEAR_STEP","yearItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarYearFontFamily","dateStructureFontSize","calendarYearFontSize","dateStructureFontWeight","calendarYearFontWeight","dateStructureFontLineHeight","calendarYearFontLineHeight","dateStructureFontLetterSpacing","calendarYearFontLetterSpacing","dateStructureFontStyle","calendarYearFontStyle","dateStructureSelectedFontWeight","calendarYearSelectedFontWeight","dateStructureBorderRadius","calendarYearItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeYear","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverYear","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarYears","role","onMouseLeave","map","Fragment","key","_ref2","yearValue","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","String","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CalendarYears.js","sources":["../../../../../src/components/Calendar/ui/CalendarYears/CalendarYears.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useYears } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_YEAR_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarYearsProps } from './CalendarYears.types';\nimport { StyledCalendarYears } from './CalendarYears.styles';\n\n/**\n * Компонент годов в календаре.\n */\nexport const CalendarYears: React.FC<CalendarYearsProps> = ({\n date: currentDate,\n value,\n startYear,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredYear,\n onChangeYear,\n onHoverYear,\n onSetSelected,\n onKeyDown,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), 0, 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), 11, 31) : undefined;\n\n const [years, selected] = useYears({\n date: currentDate,\n value,\n startYear,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_YEAR_STEP : 0;\n\n const yearItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarYearFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarYearFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarYearFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarYearFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarYearFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarYearFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarYearSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarYearItemBorderRadius})`,\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 handleOnChangeYear = 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 onChangeYear(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverYear?.(undefined);\n }\n },\n [getSelectedDate, onChangeYear, offset, value, onHoverYear],\n );\n\n const handleOnHoverYear = 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 onHoverYear?.(selectedDate);\n },\n [getSelectedDate, onHoverYear, value],\n );\n\n const handleMouseOutGrid = () => onHoverYear?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n if (!outerRefs.current[i + offset]) {\n outerRefs.current[i + offset] = [];\n }\n\n outerRefs.current[i + offset][j] = element;\n },\n [outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarYears\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {years.map((year, i) => (\n <Fragment key={i}>\n {year.map(\n (\n {\n yearValue,\n isSelected,\n isCurrent,\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={yearItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={yearValue}\n monthIndex={date.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, hoveredYear)}\n inRange={getInRange(value, date, hoveredYear, inRange)}\n sideInRange={getSideInRange(value, date, hoveredYear, isSelected)}\n onClick={disabled ? undefined : handleOnChangeYear(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverYear}\n key={`StyledYear-${i}-${j}`}\n role=\"gridcell\"\n data-year={yearValue}\n data-month-index={date.monthIndex}\n data-day={date.day}\n aria-label={String(yearValue)}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {yearValue}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarYears>\n );\n};\n"],"names":["CalendarYears","_ref","currentDate","date","value","startYear","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredYear","onChangeYear","onHoverYear","onSetSelected","onKeyDown","minDate","Date","getFullYear","undefined","maxDate","_useYears","useYears","_useYears2","_slicedToArray","years","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_YEAR_STEP","yearItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarYearFontFamily","dateStructureFontSize","calendarYearFontSize","dateStructureFontWeight","calendarYearFontWeight","dateStructureFontLineHeight","calendarYearFontLineHeight","dateStructureFontLetterSpacing","calendarYearFontLetterSpacing","dateStructureFontStyle","calendarYearFontStyle","dateStructureSelectedFontWeight","calendarYearSelectedFontWeight","dateStructureBorderRadius","calendarYearItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeYear","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverYear","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarYears","role","onMouseLeave","map","Fragment","key","_ref2","yearValue","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","String","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
@@ -144,6 +144,18 @@ var calendarBaseRoot = exports.calendarBaseRoot = function calendarBaseRoot(Root
|
|
144
144
|
setPrevType(calendarState);
|
145
145
|
}
|
146
146
|
}, [calendarState]);
|
147
|
+
(0, _react.useEffect)(function () {
|
148
|
+
if (prevType !== type) {
|
149
|
+
dispatch({
|
150
|
+
type: _types.ActionType.UPDATE_CALENDAR_STATE,
|
151
|
+
payload: {
|
152
|
+
calendarState: type,
|
153
|
+
size: _reducer.sizeMap[type].single
|
154
|
+
}
|
155
|
+
});
|
156
|
+
setPrevType(type);
|
157
|
+
}
|
158
|
+
}, [type]);
|
147
159
|
(0, _react.useEffect)(function () {
|
148
160
|
if (value && prevValue && (0, _utils.isValueUpdate)(value, prevValue) || value && !prevValue) {
|
149
161
|
dispatch({
|
@@ -191,6 +191,18 @@ var calendarDoubleRoot = exports.calendarDoubleRoot = function calendarDoubleRoo
|
|
191
191
|
setPrevType(calendarState);
|
192
192
|
}
|
193
193
|
}, [calendarState]);
|
194
|
+
(0, _react.useEffect)(function () {
|
195
|
+
if (prevType !== type) {
|
196
|
+
dispatch({
|
197
|
+
type: _types.ActionType.UPDATE_CALENDAR_STATE,
|
198
|
+
payload: {
|
199
|
+
calendarState: type,
|
200
|
+
size: _reducer.sizeMap[type]["double"]
|
201
|
+
}
|
202
|
+
});
|
203
|
+
setPrevType(type);
|
204
|
+
}
|
205
|
+
}, [type]);
|
194
206
|
(0, _react.useEffect)(function () {
|
195
207
|
if (value && prevValue && (0, _utils.isValueUpdate)(value, prevValue) || value && !prevValue) {
|
196
208
|
var _getBoundaryDates = getBoundaryDates(),
|
@@ -100,6 +100,9 @@ var CalendarDays = exports.CalendarDays = function CalendarDays(_ref) {
|
|
100
100
|
};
|
101
101
|
var getRefs = function getRefs(element, isDayInCurrentMonth, i, j) {
|
102
102
|
if (isDayInCurrentMonth) {
|
103
|
+
if (!outerRefs.current[i + offset]) {
|
104
|
+
outerRefs.current[i + offset] = [];
|
105
|
+
}
|
103
106
|
outerRefs.current[i + offset][j] = element;
|
104
107
|
}
|
105
108
|
};
|
@@ -105,6 +105,9 @@ var CalendarMonths = exports.CalendarMonths = function CalendarMonths(_ref) {
|
|
105
105
|
return onHoverMonth === null || onHoverMonth === void 0 ? void 0 : onHoverMonth(undefined);
|
106
106
|
};
|
107
107
|
var getRefs = (0, _react.useCallback)(function (element, i, j) {
|
108
|
+
if (!outerRefs.current[i + offset]) {
|
109
|
+
outerRefs.current[i + offset] = [];
|
110
|
+
}
|
108
111
|
outerRefs.current[i + offset][j] = element;
|
109
112
|
}, [offset, outerRefs]);
|
110
113
|
(0, _react.useEffect)(function () {
|
@@ -103,6 +103,9 @@ var CalendarQuarters = exports.CalendarQuarters = function CalendarQuarters(_ref
|
|
103
103
|
return onHoverQuarter === null || onHoverQuarter === void 0 ? void 0 : onHoverQuarter(undefined);
|
104
104
|
};
|
105
105
|
var getRefs = (0, _react.useCallback)(function (element, i, j) {
|
106
|
+
if (!outerRefs.current[i + offset]) {
|
107
|
+
outerRefs.current[i + offset] = [];
|
108
|
+
}
|
106
109
|
outerRefs.current[i + offset][j] = element;
|
107
110
|
}, [offset, outerRefs]);
|
108
111
|
(0, _react.useEffect)(function () {
|
@@ -105,6 +105,9 @@ var CalendarYears = exports.CalendarYears = function CalendarYears(_ref) {
|
|
105
105
|
return onHoverYear === null || onHoverYear === void 0 ? void 0 : onHoverYear(undefined);
|
106
106
|
};
|
107
107
|
var getRefs = (0, _react.useCallback)(function (element, i, j) {
|
108
|
+
if (!outerRefs.current[i + offset]) {
|
109
|
+
outerRefs.current[i + offset] = [];
|
110
|
+
}
|
108
111
|
outerRefs.current[i + offset][j] = element;
|
109
112
|
}, [outerRefs]);
|
110
113
|
(0, _react.useEffect)(function () {
|
@@ -135,6 +135,18 @@ export var calendarBaseRoot = function calendarBaseRoot(Root) {
|
|
135
135
|
setPrevType(calendarState);
|
136
136
|
}
|
137
137
|
}, [calendarState]);
|
138
|
+
useEffect(function () {
|
139
|
+
if (prevType !== type) {
|
140
|
+
dispatch({
|
141
|
+
type: ActionType.UPDATE_CALENDAR_STATE,
|
142
|
+
payload: {
|
143
|
+
calendarState: type,
|
144
|
+
size: sizeMap[type].single
|
145
|
+
}
|
146
|
+
});
|
147
|
+
setPrevType(type);
|
148
|
+
}
|
149
|
+
}, [type]);
|
138
150
|
useEffect(function () {
|
139
151
|
if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
|
140
152
|
dispatch({
|
@@ -182,6 +182,18 @@ export var calendarDoubleRoot = function calendarDoubleRoot(Root) {
|
|
182
182
|
setPrevType(calendarState);
|
183
183
|
}
|
184
184
|
}, [calendarState]);
|
185
|
+
useEffect(function () {
|
186
|
+
if (prevType !== type) {
|
187
|
+
dispatch({
|
188
|
+
type: ActionType.UPDATE_CALENDAR_STATE,
|
189
|
+
payload: {
|
190
|
+
calendarState: type,
|
191
|
+
size: sizeMap[type]["double"]
|
192
|
+
}
|
193
|
+
});
|
194
|
+
setPrevType(type);
|
195
|
+
}
|
196
|
+
}, [type]);
|
185
197
|
useEffect(function () {
|
186
198
|
if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
|
187
199
|
var _getBoundaryDates = getBoundaryDates(),
|
@@ -92,6 +92,9 @@ export var CalendarDays = function CalendarDays(_ref) {
|
|
92
92
|
};
|
93
93
|
var getRefs = function getRefs(element, isDayInCurrentMonth, i, j) {
|
94
94
|
if (isDayInCurrentMonth) {
|
95
|
+
if (!outerRefs.current[i + offset]) {
|
96
|
+
outerRefs.current[i + offset] = [];
|
97
|
+
}
|
95
98
|
outerRefs.current[i + offset][j] = element;
|
96
99
|
}
|
97
100
|
};
|
@@ -98,6 +98,9 @@ export var CalendarMonths = function CalendarMonths(_ref) {
|
|
98
98
|
return onHoverMonth === null || onHoverMonth === void 0 ? void 0 : onHoverMonth(undefined);
|
99
99
|
};
|
100
100
|
var getRefs = useCallback(function (element, i, j) {
|
101
|
+
if (!outerRefs.current[i + offset]) {
|
102
|
+
outerRefs.current[i + offset] = [];
|
103
|
+
}
|
101
104
|
outerRefs.current[i + offset][j] = element;
|
102
105
|
}, [offset, outerRefs]);
|
103
106
|
useEffect(function () {
|
@@ -96,6 +96,9 @@ export var CalendarQuarters = function CalendarQuarters(_ref) {
|
|
96
96
|
return onHoverQuarter === null || onHoverQuarter === void 0 ? void 0 : onHoverQuarter(undefined);
|
97
97
|
};
|
98
98
|
var getRefs = useCallback(function (element, i, j) {
|
99
|
+
if (!outerRefs.current[i + offset]) {
|
100
|
+
outerRefs.current[i + offset] = [];
|
101
|
+
}
|
99
102
|
outerRefs.current[i + offset][j] = element;
|
100
103
|
}, [offset, outerRefs]);
|
101
104
|
useEffect(function () {
|
@@ -98,6 +98,9 @@ export var CalendarYears = function CalendarYears(_ref) {
|
|
98
98
|
return onHoverYear === null || onHoverYear === void 0 ? void 0 : onHoverYear(undefined);
|
99
99
|
};
|
100
100
|
var getRefs = useCallback(function (element, i, j) {
|
101
|
+
if (!outerRefs.current[i + offset]) {
|
102
|
+
outerRefs.current[i + offset] = [];
|
103
|
+
}
|
101
104
|
outerRefs.current[i + offset][j] = element;
|
102
105
|
}, [outerRefs]);
|
103
106
|
useEffect(function () {
|
@@ -131,6 +131,18 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
|
|
131
131
|
setPrevType(calendarState);
|
132
132
|
}
|
133
133
|
}, [calendarState]);
|
134
|
+
useEffect(function () {
|
135
|
+
if (prevType !== type) {
|
136
|
+
dispatch({
|
137
|
+
type: ActionType.UPDATE_CALENDAR_STATE,
|
138
|
+
payload: {
|
139
|
+
calendarState: type,
|
140
|
+
size: sizeMap[type].single
|
141
|
+
}
|
142
|
+
});
|
143
|
+
setPrevType(type);
|
144
|
+
}
|
145
|
+
}, [type]);
|
134
146
|
useEffect(function () {
|
135
147
|
if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
|
136
148
|
dispatch({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarBase.js","sources":["../../../../src/components/Calendar/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n useReducer,\n useState,\n KeyboardEvent,\n HTMLAttributes,\n forwardRef,\n useEffect,\n} from 'react';\nimport cls from 'classnames';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { I18N, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { IsOutOfRange, StyledCalendar } from './CalendarBase.styles';\n\nexport type CalendarBaseProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент календаря.\n */\nexport const calendarBaseRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n className,\n value: externalValue,\n min: minDate,\n max: maxDate,\n renderFromDate,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n locale = 'ru',\n stretched,\n onChangeValue,\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 min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n const renderFrom = renderFromDate && new Date(renderFromDate);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFrom, type));\n\n const { date, calendarState, startYear, size } = state;\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].single },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFrom || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n return (\n <Root\n ref={outerRootRef}\n className={cls(className, { [classes.stretched]: stretched })}\n aria-label={I18N.selectDate[locale]}\n {...rest}\n >\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n size={rest.size}\n firstDate={date}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n {calendarState === CalendarState.Days && (\n <CalendarDays\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onSetSelected={onSelectIndexes}\n onHoverDay={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Months && (\n <CalendarMonths\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Quarters && (\n <CalendarQuarters\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Years && (\n <CalendarYears\n value={externalValue}\n date={date}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarBaseConfig = {\n name: 'CalendarBase',\n tag: 'div',\n layout: calendarBaseRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarBaseRoot","Root","forwardRef","_ref","outerRootRef","className","externalValue","value","minDate","min","maxDate","max","renderFromDate","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$locale","locale","stretched","onChangeValue","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","Date","renderFrom","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","single","isValueUpdate","UPDATE_DATE","React","createElement","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","IsOutOfRange","key","role","CalendarHeader","firstDate","onUpdateCalendarState","CalendarState","Days","CalendarDays","hoveredDay","onChangeDay","onSetSelected","onHoverDay","Months","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","Quarters","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","Years","CalendarYears","hoveredYear","onChangeYear","onHoverYear","calendarBaseConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CalendarBase.js","sources":["../../../../src/components/Calendar/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n useReducer,\n useState,\n KeyboardEvent,\n HTMLAttributes,\n forwardRef,\n useEffect,\n} from 'react';\nimport cls from 'classnames';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { I18N, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { IsOutOfRange, StyledCalendar } from './CalendarBase.styles';\n\nexport type CalendarBaseProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент календаря.\n */\nexport const calendarBaseRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n className,\n value: externalValue,\n min: minDate,\n max: maxDate,\n renderFromDate,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n locale = 'ru',\n stretched,\n onChangeValue,\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 min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n const renderFrom = renderFromDate && new Date(renderFromDate);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFrom, type));\n\n const { date, calendarState, startYear, size } = state;\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].single },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (prevType !== type) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: type, size: sizeMap[type].single },\n });\n\n setPrevType(type);\n }\n }, [type]);\n\n useEffect(() => {\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFrom || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n return (\n <Root\n ref={outerRootRef}\n className={cls(className, { [classes.stretched]: stretched })}\n aria-label={I18N.selectDate[locale]}\n {...rest}\n >\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n size={rest.size}\n firstDate={date}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n {calendarState === CalendarState.Days && (\n <CalendarDays\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onSetSelected={onSelectIndexes}\n onHoverDay={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Months && (\n <CalendarMonths\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Quarters && (\n <CalendarQuarters\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Years && (\n <CalendarYears\n value={externalValue}\n date={date}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarBaseConfig = {\n name: 'CalendarBase',\n tag: 'div',\n layout: calendarBaseRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarBaseRoot","Root","forwardRef","_ref","outerRootRef","className","externalValue","value","minDate","min","maxDate","max","renderFromDate","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$locale","locale","stretched","onChangeValue","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","Date","renderFrom","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","single","isValueUpdate","UPDATE_DATE","React","createElement","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","IsOutOfRange","key","role","CalendarHeader","firstDate","onUpdateCalendarState","CalendarState","Days","CalendarDays","hoveredDay","onChangeDay","onSetSelected","onHoverDay","Months","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","Quarters","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","Years","CalendarYears","hoveredYear","onChangeYear","onHoverYear","calendarBaseConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -179,6 +179,18 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
|
|
179
179
|
setPrevType(calendarState);
|
180
180
|
}
|
181
181
|
}, [calendarState]);
|
182
|
+
useEffect(function () {
|
183
|
+
if (prevType !== type) {
|
184
|
+
dispatch({
|
185
|
+
type: ActionType.UPDATE_CALENDAR_STATE,
|
186
|
+
payload: {
|
187
|
+
calendarState: type,
|
188
|
+
size: sizeMap[type]["double"]
|
189
|
+
}
|
190
|
+
});
|
191
|
+
setPrevType(type);
|
192
|
+
}
|
193
|
+
}, [type]);
|
182
194
|
useEffect(function () {
|
183
195
|
if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
|
184
196
|
var _getBoundaryDates = getBoundaryDates(),
|