@salutejs/plasma-new-hope 0.260.0-canary.1756.13158751564.0 → 0.260.0-canary.1757.13160270615.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. package/cjs/components/Calendar/hooks/useCalendarDateChange.js +0 -1
  2. package/cjs/components/Calendar/hooks/useCalendarDateChange.js.map +1 -1
  3. package/cjs/components/Calendar/store/reducer.js +3 -4
  4. package/cjs/components/Calendar/store/reducer.js.map +1 -1
  5. package/cjs/components/Calendar/store/types.js.map +1 -1
  6. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  7. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  8. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -2
  9. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  10. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -2
  11. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  12. package/emotion/cjs/components/Calendar/hooks/useCalendarDateChange.js +0 -1
  13. package/emotion/cjs/components/Calendar/store/reducer.js +3 -4
  14. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  15. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -2
  16. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -2
  17. package/emotion/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +10 -10
  18. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -0
  19. package/emotion/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +10 -10
  20. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +13 -1
  21. package/emotion/es/components/Calendar/hooks/useCalendarDateChange.js +0 -1
  22. package/emotion/es/components/Calendar/store/reducer.js +3 -4
  23. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  24. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -2
  25. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -2
  26. package/emotion/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +10 -10
  27. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -0
  28. package/emotion/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +10 -10
  29. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +13 -1
  30. package/es/components/Calendar/hooks/useCalendarDateChange.js +0 -1
  31. package/es/components/Calendar/hooks/useCalendarDateChange.js.map +1 -1
  32. package/es/components/Calendar/store/reducer.js +3 -4
  33. package/es/components/Calendar/store/reducer.js.map +1 -1
  34. package/es/components/Calendar/store/types.js.map +1 -1
  35. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  36. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  37. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -2
  38. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  39. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -2
  40. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  41. package/package.json +2 -2
  42. package/styled-components/cjs/components/Calendar/hooks/useCalendarDateChange.js +0 -1
  43. package/styled-components/cjs/components/Calendar/store/reducer.js +3 -4
  44. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  45. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -2
  46. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -2
  47. package/styled-components/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +10 -10
  48. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -0
  49. package/styled-components/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +10 -10
  50. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +13 -1
  51. package/styled-components/es/components/Calendar/hooks/useCalendarDateChange.js +0 -1
  52. package/styled-components/es/components/Calendar/store/reducer.js +3 -4
  53. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  54. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -2
  55. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -2
  56. package/styled-components/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +10 -10
  57. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -0
  58. package/styled-components/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +10 -10
  59. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +13 -1
  60. package/types/components/Calendar/hooks/useCalendarDateChange.d.ts.map +1 -1
  61. package/types/components/Calendar/store/types.d.ts +0 -1
  62. package/types/components/Calendar/store/types.d.ts.map +1 -1
  63. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  64. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  65. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
@@ -39,7 +39,6 @@ var useCalendarDateChange = function useCalendarDateChange(_ref) {
39
39
  payload: {
40
40
  calendarState: types.CalendarState.Days,
41
41
  monthIndex: newDate.monthIndex,
42
- year: newDate.year,
43
42
  size: reducer.sizeMap.Days["double"]
44
43
  }
45
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useCalendarDateChange.js","sources":["../../../../src/components/Calendar/hooks/useCalendarDateChange.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport type { DateObject } from '../Calendar.types';\nimport { ActionType, CalendarState, CalendarStateType } from '../store/types';\nimport { sizeMap } from '../store/reducer';\n\nimport type { UseCalendarDateChangeArgs } from './types';\n\nexport const useCalendarDateChange = ({\n type,\n onChangeValue,\n onSelectIndexes,\n dispatch,\n}: UseCalendarDateChangeArgs) => {\n const handleOnChangeDay = useCallback(\n (newDate: DateObject, coord: number[]) => {\n const newDay = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newDay);\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes],\n );\n\n const handleOnChangeQuarter = useCallback(\n (newDate: DateObject, coord: number[], quarterName: string) => {\n const newQuarterDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n const endQuarter = new Date(newQuarterDate);\n\n endQuarter.setMonth(newQuarterDate.getMonth() + 3);\n endQuarter.setDate(0);\n\n onChangeValue?.(newQuarterDate, {\n name: quarterName,\n fullValue: [newQuarterDate, endQuarter],\n });\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleOnChangeMonth = useCallback(\n (newDate: DateObject, coord: number[]) => {\n if (type === CalendarState.Months) {\n const newMonthDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newMonthDate);\n onSelectIndexes(coord);\n\n return;\n }\n\n dispatch({\n type: ActionType.UPDATE_MONTH,\n payload: {\n calendarState: CalendarState.Days,\n monthIndex: newDate.monthIndex,\n year: newDate.year,\n size: sizeMap.Days.double,\n },\n });\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleOnChangeYear = useCallback(\n (newDate: DateObject, coord: number[]) => {\n if (type === CalendarState.Years) {\n const newYearDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newYearDate);\n onSelectIndexes(coord);\n\n return;\n }\n\n if (type === CalendarState.Quarters) {\n dispatch({\n type: ActionType.UPDATE_YEAR,\n payload: {\n calendarState: CalendarState.Quarters,\n year: newDate.year,\n size: sizeMap.Quarters.double,\n },\n });\n\n return;\n }\n\n dispatch({\n type: ActionType.UPDATE_YEAR,\n payload: {\n calendarState: CalendarState.Months,\n year: newDate.year,\n size: sizeMap.Months.double,\n },\n });\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleUpdateCalendarState = useCallback((newCalendarState: CalendarStateType, newSize: [number, number]) => {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: newCalendarState, size: newSize },\n });\n }, []);\n\n return {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n };\n};\n"],"names":["useCalendarDateChange","_ref","type","onChangeValue","onSelectIndexes","dispatch","handleOnChangeDay","useCallback","newDate","coord","newDay","Date","year","monthIndex","day","handleOnChangeQuarter","quarterName","newQuarterDate","endQuarter","setMonth","getMonth","setDate","name","fullValue","handleOnChangeMonth","CalendarState","Months","newMonthDate","ActionType","UPDATE_MONTH","payload","calendarState","Days","size","sizeMap","handleOnChangeYear","Years","newYearDate","Quarters","UPDATE_YEAR","handleUpdateCalendarState","newCalendarState","newSize","UPDATE_CALENDAR_STATE"],"mappings":"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"}
1
+ {"version":3,"file":"useCalendarDateChange.js","sources":["../../../../src/components/Calendar/hooks/useCalendarDateChange.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport type { DateObject } from '../Calendar.types';\nimport { ActionType, CalendarState, CalendarStateType } from '../store/types';\nimport { sizeMap } from '../store/reducer';\n\nimport type { UseCalendarDateChangeArgs } from './types';\n\nexport const useCalendarDateChange = ({\n type,\n onChangeValue,\n onSelectIndexes,\n dispatch,\n}: UseCalendarDateChangeArgs) => {\n const handleOnChangeDay = useCallback(\n (newDate: DateObject, coord: number[]) => {\n const newDay = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newDay);\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes],\n );\n\n const handleOnChangeQuarter = useCallback(\n (newDate: DateObject, coord: number[], quarterName: string) => {\n const newQuarterDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n const endQuarter = new Date(newQuarterDate);\n\n endQuarter.setMonth(newQuarterDate.getMonth() + 3);\n endQuarter.setDate(0);\n\n onChangeValue?.(newQuarterDate, {\n name: quarterName,\n fullValue: [newQuarterDate, endQuarter],\n });\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleOnChangeMonth = useCallback(\n (newDate: DateObject, coord: number[]) => {\n if (type === CalendarState.Months) {\n const newMonthDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newMonthDate);\n onSelectIndexes(coord);\n\n return;\n }\n\n dispatch({\n type: ActionType.UPDATE_MONTH,\n payload: {\n calendarState: CalendarState.Days,\n monthIndex: newDate.monthIndex,\n size: sizeMap.Days.double,\n },\n });\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleOnChangeYear = useCallback(\n (newDate: DateObject, coord: number[]) => {\n if (type === CalendarState.Years) {\n const newYearDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newYearDate);\n onSelectIndexes(coord);\n\n return;\n }\n\n if (type === CalendarState.Quarters) {\n dispatch({\n type: ActionType.UPDATE_YEAR,\n payload: {\n calendarState: CalendarState.Quarters,\n year: newDate.year,\n size: sizeMap.Quarters.double,\n },\n });\n\n return;\n }\n\n dispatch({\n type: ActionType.UPDATE_YEAR,\n payload: {\n calendarState: CalendarState.Months,\n year: newDate.year,\n size: sizeMap.Months.double,\n },\n });\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleUpdateCalendarState = useCallback((newCalendarState: CalendarStateType, newSize: [number, number]) => {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: newCalendarState, size: newSize },\n });\n }, []);\n\n return {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n };\n};\n"],"names":["useCalendarDateChange","_ref","type","onChangeValue","onSelectIndexes","dispatch","handleOnChangeDay","useCallback","newDate","coord","newDay","Date","year","monthIndex","day","handleOnChangeQuarter","quarterName","newQuarterDate","endQuarter","setMonth","getMonth","setDate","name","fullValue","handleOnChangeMonth","CalendarState","Months","newMonthDate","ActionType","UPDATE_MONTH","payload","calendarState","Days","size","sizeMap","handleOnChangeYear","Years","newYearDate","Quarters","UPDATE_YEAR","handleUpdateCalendarState","newCalendarState","newSize","UPDATE_CALENDAR_STATE"],"mappings":"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"}
@@ -128,7 +128,6 @@ var reducer = function reducer(state, action) {
128
128
  var _action$payload3 = action.payload,
129
129
  calendarState = _action$payload3.calendarState,
130
130
  _monthIndex2 = _action$payload3.monthIndex,
131
- _year2 = _action$payload3.year,
132
131
  size = _action$payload3.size;
133
132
  return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, state), {}, {
134
133
  size: size,
@@ -136,7 +135,7 @@ var reducer = function reducer(state, action) {
136
135
  date: {
137
136
  day: state.date.day,
138
137
  monthIndex: _monthIndex2,
139
- year: _year2
138
+ year: state.date.year
140
139
  }
141
140
  });
142
141
  }
@@ -144,7 +143,7 @@ var reducer = function reducer(state, action) {
144
143
  {
145
144
  var _action$payload4 = action.payload,
146
145
  _calendarState = _action$payload4.calendarState,
147
- _year3 = _action$payload4.year,
146
+ _year2 = _action$payload4.year,
148
147
  _size = _action$payload4.size;
149
148
  return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, state), {}, {
150
149
  size: _size,
@@ -152,7 +151,7 @@ var reducer = function reducer(state, action) {
152
151
  date: {
153
152
  day: state.date.day,
154
153
  monthIndex: state.date.monthIndex,
155
- year: _year3
154
+ year: _year2
156
155
  }
157
156
  });
158
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../../src/components/Calendar/store/reducer.ts"],"sourcesContent":["import { getDateFromValue, getNextDate, getPrevDate, getStartYear } from '../utils';\n\nimport { CalendarStateType, Action, ActionType, InitialState, SizeMap } from './types';\n\nexport const sizeMap: SizeMap = {\n Days: {\n single: [5, 6],\n double: [11, 6],\n },\n Months: {\n single: [3, 2],\n double: [7, 2],\n },\n Years: {\n single: [3, 2],\n double: [7, 2],\n },\n Quarters: {\n single: [1, 1],\n double: [3, 1],\n },\n};\n\nexport const getInitialState = (\n value: Date | undefined,\n min: Date | undefined,\n calendarState: CalendarStateType,\n isDouble?: boolean,\n): InitialState => {\n const initDate = value || min || new Date();\n const date = getDateFromValue(initDate);\n\n const resSize: [number, number] = isDouble ? sizeMap[calendarState].double : sizeMap[calendarState].single;\n\n return {\n date: { ...date, day: value !== undefined ? date.day : 0 },\n startYear: getStartYear(date.year),\n calendarState,\n size: resSize,\n };\n};\n\nexport const reducer = (state: InitialState, action: Action): InitialState => {\n switch (action.type) {\n case ActionType.PREVIOUS_MONTH: {\n const { year, monthIndex } = action.payload;\n const [prevYear, prevMonthIndex] = getPrevDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: prevMonthIndex,\n year: prevYear,\n },\n };\n }\n case ActionType.NEXT_MONTH: {\n const { monthIndex, year } = action.payload;\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n };\n }\n case ActionType.PREVIOUS_YEAR: {\n const { step } = action.payload;\n const startYear = state.date.year - step <= 0 ? 0 : state.date.year - step;\n\n return {\n ...state,\n startYear,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: startYear,\n },\n };\n }\n case ActionType.NEXT_YEAR: {\n const { step } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + step,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: state.date.year + step,\n },\n };\n }\n case ActionType.PREVIOUS_START_YEAR: {\n const { yearsCount } = action.payload;\n const startYear = state.startYear - yearsCount < 0 ? 0 : state.startYear - yearsCount;\n\n return {\n ...state,\n startYear,\n };\n }\n case ActionType.NEXT_START_YEAR: {\n const { yearsCount } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + yearsCount,\n };\n }\n case ActionType.UPDATE_DATE: {\n const { value } = action.payload;\n const date = getDateFromValue(value);\n const startYear = getStartYear(value.getFullYear());\n\n return {\n ...state,\n date,\n startYear,\n };\n }\n case ActionType.UPDATE_MONTH: {\n const { calendarState, monthIndex, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_YEAR: {\n const { calendarState, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_CALENDAR_STATE: {\n const { calendarState, size } = action.payload;\n\n return {\n ...state,\n calendarState,\n size: size || state.size,\n };\n }\n default:\n return state;\n }\n};\n"],"names":["sizeMap","Days","single","Months","Years","Quarters","getInitialState","value","min","calendarState","isDouble","initDate","Date","date","getDateFromValue","resSize","_objectSpread","day","undefined","startYear","getStartYear","year","size","reducer","state","action","type","ActionType","PREVIOUS_MONTH","_action$payload","payload","monthIndex","_getPrevDate","getPrevDate","_getPrevDate2","_slicedToArray","prevYear","prevMonthIndex","NEXT_MONTH","_action$payload2","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","PREVIOUS_YEAR","step","NEXT_YEAR","PREVIOUS_START_YEAR","yearsCount","NEXT_START_YEAR","UPDATE_DATE","getFullYear","UPDATE_MONTH","_action$payload3","UPDATE_YEAR","_action$payload4","UPDATE_CALENDAR_STATE","_action$payload5"],"mappings":"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"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../../src/components/Calendar/store/reducer.ts"],"sourcesContent":["import { getDateFromValue, getNextDate, getPrevDate, getStartYear } from '../utils';\n\nimport { CalendarStateType, Action, ActionType, InitialState, SizeMap } from './types';\n\nexport const sizeMap: SizeMap = {\n Days: {\n single: [5, 6],\n double: [11, 6],\n },\n Months: {\n single: [3, 2],\n double: [7, 2],\n },\n Years: {\n single: [3, 2],\n double: [7, 2],\n },\n Quarters: {\n single: [1, 1],\n double: [3, 1],\n },\n};\n\nexport const getInitialState = (\n value: Date | undefined,\n min: Date | undefined,\n calendarState: CalendarStateType,\n isDouble?: boolean,\n): InitialState => {\n const initDate = value || min || new Date();\n const date = getDateFromValue(initDate);\n\n const resSize: [number, number] = isDouble ? sizeMap[calendarState].double : sizeMap[calendarState].single;\n\n return {\n date: { ...date, day: value !== undefined ? date.day : 0 },\n startYear: getStartYear(date.year),\n calendarState,\n size: resSize,\n };\n};\n\nexport const reducer = (state: InitialState, action: Action): InitialState => {\n switch (action.type) {\n case ActionType.PREVIOUS_MONTH: {\n const { year, monthIndex } = action.payload;\n const [prevYear, prevMonthIndex] = getPrevDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: prevMonthIndex,\n year: prevYear,\n },\n };\n }\n case ActionType.NEXT_MONTH: {\n const { monthIndex, year } = action.payload;\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n };\n }\n case ActionType.PREVIOUS_YEAR: {\n const { step } = action.payload;\n const startYear = state.date.year - step <= 0 ? 0 : state.date.year - step;\n\n return {\n ...state,\n startYear,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: startYear,\n },\n };\n }\n case ActionType.NEXT_YEAR: {\n const { step } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + step,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: state.date.year + step,\n },\n };\n }\n case ActionType.PREVIOUS_START_YEAR: {\n const { yearsCount } = action.payload;\n const startYear = state.startYear - yearsCount < 0 ? 0 : state.startYear - yearsCount;\n\n return {\n ...state,\n startYear,\n };\n }\n case ActionType.NEXT_START_YEAR: {\n const { yearsCount } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + yearsCount,\n };\n }\n case ActionType.UPDATE_DATE: {\n const { value } = action.payload;\n const date = getDateFromValue(value);\n const startYear = getStartYear(value.getFullYear());\n\n return {\n ...state,\n date,\n startYear,\n };\n }\n case ActionType.UPDATE_MONTH: {\n const { calendarState, monthIndex, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex,\n year: state.date.year,\n },\n };\n }\n case ActionType.UPDATE_YEAR: {\n const { calendarState, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_CALENDAR_STATE: {\n const { calendarState, size } = action.payload;\n\n return {\n ...state,\n calendarState,\n size: size || state.size,\n };\n }\n default:\n return state;\n }\n};\n"],"names":["sizeMap","Days","single","Months","Years","Quarters","getInitialState","value","min","calendarState","isDouble","initDate","Date","date","getDateFromValue","resSize","_objectSpread","day","undefined","startYear","getStartYear","year","size","reducer","state","action","type","ActionType","PREVIOUS_MONTH","_action$payload","payload","monthIndex","_getPrevDate","getPrevDate","_getPrevDate2","_slicedToArray","prevYear","prevMonthIndex","NEXT_MONTH","_action$payload2","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","PREVIOUS_YEAR","step","NEXT_YEAR","PREVIOUS_START_YEAR","yearsCount","NEXT_START_YEAR","UPDATE_DATE","getFullYear","UPDATE_MONTH","_action$payload3","UPDATE_YEAR","_action$payload4","UPDATE_CALENDAR_STATE","_action$payload5"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/Calendar/store/types.ts"],"sourcesContent":["import type { DateObject } from '../Calendar.types';\n\nexport enum CalendarState {\n Days = 'Days',\n Months = 'Months',\n Years = 'Years',\n Quarters = 'Quarters',\n}\n\nexport const enum ActionType {\n NEXT_MONTH = 'next_month',\n PREVIOUS_MONTH = 'previous_month',\n NEXT_YEAR = 'next_year',\n PREVIOUS_YEAR = 'previous_year',\n PREVIOUS_START_YEAR = 'previous_start_year',\n NEXT_START_YEAR = 'next_start_year',\n UPDATE_DATE = 'update_date',\n UPDATE_MONTH = 'update_month',\n UPDATE_YEAR = 'update_year',\n UPDATE_CALENDAR_STATE = 'update_calendar_state',\n}\n\nexport type SizeMap = {\n [key in CalendarState]: {\n single: [number, number];\n double: [number, number];\n };\n};\n\nexport type CalendarStateType = keyof typeof CalendarState;\n\nexport interface InitialState {\n date: DateObject;\n calendarState: CalendarStateType;\n startYear: number;\n size: [number, number];\n}\n\nexport type PreviousMonthAction = { type: ActionType.PREVIOUS_MONTH; payload: { monthIndex: number; year: number } };\n\nexport type NextMonthAction = { type: ActionType.NEXT_MONTH; payload: { monthIndex: number; year: number } };\n\nexport type PreviousYearAction = { type: ActionType.PREVIOUS_YEAR; payload: { step: number } };\n\nexport type NextYearAction = { type: ActionType.NEXT_YEAR; payload: { step: number } };\n\nexport type PreviousStartYearAction = { type: ActionType.PREVIOUS_START_YEAR; payload: { yearsCount: number } };\n\nexport type NextStartYearAction = { type: ActionType.NEXT_START_YEAR; payload: { yearsCount: number } };\n\nexport type UpdateDateAction = { type: ActionType.UPDATE_DATE; payload: { value: Date } };\n\nexport type UpdateMonthAction = {\n type: ActionType.UPDATE_MONTH;\n payload: { calendarState: CalendarStateType; monthIndex: number; year: number; size: [number, number] };\n};\n\nexport type UpdateYearAction = {\n type: ActionType.UPDATE_YEAR;\n payload: { calendarState: CalendarStateType; year: number; size: [number, number] };\n};\n\nexport type UpdateCalendarStateAction = {\n type: ActionType.UPDATE_CALENDAR_STATE;\n payload: { calendarState: CalendarStateType; size?: [number, number] };\n};\n\nexport type Action =\n | NextMonthAction\n | PreviousMonthAction\n | NextYearAction\n | PreviousYearAction\n | PreviousStartYearAction\n | NextStartYearAction\n | UpdateDateAction\n | UpdateMonthAction\n | UpdateYearAction\n | UpdateCalendarStateAction;\n"],"names":["CalendarState","ActionType"],"mappings":";;;;AAEYA,IAAAA,aAAa,0BAAbA,aAAa,EAAA;EAAbA,aAAa,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;EAAbA,aAAa,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAAbA,aAAa,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAbA,aAAa,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AAAA,EAAA,OAAbA,aAAa,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOPC,IAAAA,UAAU,0BAAVA,UAAU,EAAA;EAAVA,UAAU,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAVA,UAAU,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAAVA,UAAU,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;EAAVA,UAAU,CAAA,eAAA,CAAA,GAAA,eAAA,CAAA;EAAVA,UAAU,CAAA,qBAAA,CAAA,GAAA,qBAAA,CAAA;EAAVA,UAAU,CAAA,iBAAA,CAAA,GAAA,iBAAA,CAAA;EAAVA,UAAU,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAVA,UAAU,CAAA,cAAA,CAAA,GAAA,cAAA,CAAA;EAAVA,UAAU,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAVA,UAAU,CAAA,uBAAA,CAAA,GAAA,uBAAA,CAAA;AAAA,EAAA,OAAVA,UAAU,CAAA;AAAA,CAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/Calendar/store/types.ts"],"sourcesContent":["import type { DateObject } from '../Calendar.types';\n\nexport enum CalendarState {\n Days = 'Days',\n Months = 'Months',\n Years = 'Years',\n Quarters = 'Quarters',\n}\n\nexport const enum ActionType {\n NEXT_MONTH = 'next_month',\n PREVIOUS_MONTH = 'previous_month',\n NEXT_YEAR = 'next_year',\n PREVIOUS_YEAR = 'previous_year',\n PREVIOUS_START_YEAR = 'previous_start_year',\n NEXT_START_YEAR = 'next_start_year',\n UPDATE_DATE = 'update_date',\n UPDATE_MONTH = 'update_month',\n UPDATE_YEAR = 'update_year',\n UPDATE_CALENDAR_STATE = 'update_calendar_state',\n}\n\nexport type SizeMap = {\n [key in CalendarState]: {\n single: [number, number];\n double: [number, number];\n };\n};\n\nexport type CalendarStateType = keyof typeof CalendarState;\n\nexport interface InitialState {\n date: DateObject;\n calendarState: CalendarStateType;\n startYear: number;\n size: [number, number];\n}\n\nexport type PreviousMonthAction = { type: ActionType.PREVIOUS_MONTH; payload: { monthIndex: number; year: number } };\n\nexport type NextMonthAction = { type: ActionType.NEXT_MONTH; payload: { monthIndex: number; year: number } };\n\nexport type PreviousYearAction = { type: ActionType.PREVIOUS_YEAR; payload: { step: number } };\n\nexport type NextYearAction = { type: ActionType.NEXT_YEAR; payload: { step: number } };\n\nexport type PreviousStartYearAction = { type: ActionType.PREVIOUS_START_YEAR; payload: { yearsCount: number } };\n\nexport type NextStartYearAction = { type: ActionType.NEXT_START_YEAR; payload: { yearsCount: number } };\n\nexport type UpdateDateAction = { type: ActionType.UPDATE_DATE; payload: { value: Date } };\n\nexport type UpdateMonthAction = {\n type: ActionType.UPDATE_MONTH;\n payload: { calendarState: CalendarStateType; monthIndex: number; size: [number, number] };\n};\n\nexport type UpdateYearAction = {\n type: ActionType.UPDATE_YEAR;\n payload: { calendarState: CalendarStateType; year: number; size: [number, number] };\n};\n\nexport type UpdateCalendarStateAction = {\n type: ActionType.UPDATE_CALENDAR_STATE;\n payload: { calendarState: CalendarStateType; size?: [number, number] };\n};\n\nexport type Action =\n | NextMonthAction\n | PreviousMonthAction\n | NextYearAction\n | PreviousYearAction\n | PreviousStartYearAction\n | NextStartYearAction\n | UpdateDateAction\n | UpdateMonthAction\n | UpdateYearAction\n | UpdateCalendarStateAction;\n"],"names":["CalendarState","ActionType"],"mappings":";;;;AAEYA,IAAAA,aAAa,0BAAbA,aAAa,EAAA;EAAbA,aAAa,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;EAAbA,aAAa,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAAbA,aAAa,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAbA,aAAa,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AAAA,EAAA,OAAbA,aAAa,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOPC,IAAAA,UAAU,0BAAVA,UAAU,EAAA;EAAVA,UAAU,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAVA,UAAU,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAAVA,UAAU,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;EAAVA,UAAU,CAAA,eAAA,CAAA,GAAA,eAAA,CAAA;EAAVA,UAAU,CAAA,qBAAA,CAAA,GAAA,qBAAA,CAAA;EAAVA,UAAU,CAAA,iBAAA,CAAA,GAAA,iBAAA,CAAA;EAAVA,UAAU,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAVA,UAAU,CAAA,cAAA,CAAA,GAAA,cAAA,CAAA;EAAVA,UAAU,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAVA,UAAU,CAAA,uBAAA,CAAA,GAAA,uBAAA,CAAA;AAAA,EAAA,OAAVA,UAAU,CAAA;AAAA,CAAA,CAAA,EAAA;;;;;"}
@@ -36,13 +36,15 @@ var CalendarMonths = function CalendarMonths(_ref) {
36
36
  onSetSelected = _ref.onSetSelected,
37
37
  onKeyDown = _ref.onKeyDown,
38
38
  locale = _ref.locale;
39
+ var minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;
40
+ var maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;
39
41
  var _useMonths = useMonths.useMonths({
40
42
  date: currentDate,
41
43
  value: value,
42
44
  eventList: eventList,
43
45
  disabledList: disabledList,
44
- min: min,
45
- max: max,
46
+ min: minDate,
47
+ max: maxDate,
46
48
  locale: locale
47
49
  }),
48
50
  _useMonths2 = _rollupPluginBabelHelpers.slicedToArray(_useMonths, 2),
@@ -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 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 handleMouseOutGrid = () => onHoverMonth?.(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 <StyledCalendarMonths\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\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","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarMonths","role","onMouseLeave","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 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 [months, selected] = useMonths({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n locale,\n });\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 handleMouseOutGrid = () => onHoverMonth?.(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 <StyledCalendarMonths\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\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","minDate","Date","getFullYear","getMonth","undefined","maxDate","_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","handleOnHoverMonth","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarMonths","role","onMouseLeave","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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"}
@@ -35,13 +35,15 @@ var CalendarQuarters = function CalendarQuarters(_ref) {
35
35
  onHoverQuarter = _ref.onHoverQuarter,
36
36
  onSetSelected = _ref.onSetSelected,
37
37
  onKeyDown = _ref.onKeyDown;
38
+ var minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;
39
+ var maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;
38
40
  var _useQuarters = useQuarters.useQuarters({
39
41
  date: currentDate,
40
42
  value: value,
41
43
  eventList: eventList,
42
44
  disabledList: disabledList,
43
- min: min,
44
- max: max
45
+ min: minDate,
46
+ max: maxDate
45
47
  }),
46
48
  _useQuarters2 = _rollupPluginBabelHelpers.slicedToArray(_useQuarters, 2),
47
49
  quarters = _useQuarters2[0],
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarQuarters.js","sources":["../../../../../src/components/Calendar/ui/CalendarQuarters/CalendarQuarters.tsx"],"sourcesContent":["import React, { 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, StyledFlex } 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 [quarters, selected] = useQuarters({ date: currentDate, value, eventList, disabledList, min, max });\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.dateStructureWidth}`]: `var(${tokens.calendarQuarterItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarQuarterItemHeight})`,\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 <StyledFlex role=\"row\" 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 </StyledFlex>\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","_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","dateStructureWidth","calendarQuarterItemWidth","dateStructureHeight","calendarQuarterItemHeight","dateStructureBorderRadius","calendarQuarterItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeQuarter","i","j","quarterName","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverQuarter","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarQuarters","role","onMouseLeave","map","quarter","StyledFlex","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, { 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, StyledFlex } 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.dateStructureWidth}`]: `var(${tokens.calendarQuarterItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarQuarterItemHeight})`,\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 <StyledFlex role=\"row\" 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 </StyledFlex>\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","dateStructureWidth","calendarQuarterItemWidth","dateStructureHeight","calendarQuarterItemHeight","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","StyledFlex","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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"}
@@ -36,14 +36,16 @@ var CalendarYears = function CalendarYears(_ref) {
36
36
  onHoverYear = _ref.onHoverYear,
37
37
  onSetSelected = _ref.onSetSelected,
38
38
  onKeyDown = _ref.onKeyDown;
39
+ var minDate = min ? new Date(min.getFullYear(), 0, 1) : undefined;
40
+ var maxDate = max ? new Date(max.getFullYear(), 11, 31) : undefined;
39
41
  var _useYears = useYears.useYears({
40
42
  date: currentDate,
41
43
  value: value,
42
44
  startYear: startYear,
43
45
  eventList: eventList,
44
46
  disabledList: disabledList,
45
- min: min,
46
- max: max
47
+ min: minDate,
48
+ max: maxDate
47
49
  }),
48
50
  _useYears2 = _rollupPluginBabelHelpers.slicedToArray(_useYears, 2),
49
51
  years = _useYears2[0],
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarYears.js","sources":["../../../../../src/components/Calendar/ui/CalendarYears/CalendarYears.tsx"],"sourcesContent":["import React, { 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, StyledFlex } 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 [years, selected] = useYears({ date: currentDate, value, startYear, eventList, disabledList, min, max });\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.dateStructureWidth}`]: `var(${tokens.calendarYearItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarYearItemHeight})`,\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 <StyledFlex role=\"row\" 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 </StyledFlex>\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","_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","dateStructureWidth","calendarYearItemWidth","dateStructureHeight","calendarYearItemHeight","dateStructureBorderRadius","calendarYearItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeYear","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverYear","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarYears","role","onMouseLeave","map","StyledFlex","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":";;;;;;;;;;;;;;;;;;AAUA;AACA;AACA;IACaA,aAA2C,GAAG,SAA9CA,aAA2CA,CAAAC,IAAA,EAiBlD;AAAA,EAAA,IAhBIC,WAAW,GAAAD,IAAA,CAAjBE,IAAI;IACJC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,aAAa,GAAAL,IAAA,CAAbK,aAAa;IACbC,SAAS,GAAAN,IAAA,CAATM,SAAS;IACTC,YAAY,GAAAP,IAAA,CAAZO,YAAY;IACZC,GAAG,GAAAR,IAAA,CAAHQ,GAAG;IACHC,GAAG,GAAAT,IAAA,CAAHS,GAAG;IACHC,SAAS,GAAAV,IAAA,CAATU,SAAS;IACTC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;IACRC,WAAW,GAAAb,IAAA,CAAXa,WAAW;IACXC,YAAY,GAAAd,IAAA,CAAZc,YAAY;IACZC,WAAW,GAAAf,IAAA,CAAXe,WAAW;IACXC,aAAa,GAAAhB,IAAA,CAAbgB,aAAa;IACbC,SAAS,GAAAjB,IAAA,CAATiB,SAAS,CAAA;EAET,IAAAC,SAAA,GAA0BC,iBAAQ,CAAC;AAAEjB,MAAAA,IAAI,EAAED,WAAW;AAAEE,MAAAA,KAAK,EAALA,KAAK;AAAEC,MAAAA,SAAS,EAATA,SAAS;AAAEE,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,GAAG,EAAHA,GAAG;AAAEC,MAAAA,GAAG,EAAHA,GAAAA;AAAI,KAAC,CAAC;IAAAW,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvGI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,QAAQ,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAMI,WAAW,GAAGC,YAAM,CAACF,QAAQ,CAAC,CAAA;AACpC,EAAA,IAAMG,gBAAgB,GAAGD,YAAM,CAACT,aAAa,CAAC,CAAA;AAE9C,EAAA,IAAMW,MAAM,GAAGf,QAAQ,GAAGgB,uBAAa,GAAG,CAAC,CAAA;AAE3C,EAAA,IAAMC,cAAc,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,CACZC,2BAAW,CAACC,uBAAuB,CAAAF,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,sBAAM,CAACC,sBAAsB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAJ,MAAA,CAC5EC,2BAAW,CAACI,qBAAqB,CAAA,EAAA,MAAA,CAAAL,MAAA,CAAYG,sBAAM,CAACG,oBAAoB,EAAAN,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACxEC,2BAAW,CAACM,uBAAuB,CAAA,EAAA,MAAA,CAAAP,MAAA,CAAYG,sBAAM,CAACK,sBAAsB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAR,MAAA,CAC5EC,2BAAW,CAACQ,2BAA2B,CAAAT,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,sBAAM,CAACO,0BAA0B,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAV,MAAA,CACpFC,2BAAW,CAACU,8BAA8B,CAAA,EAAA,MAAA,CAAAX,MAAA,CAAYG,sBAAM,CAACS,6BAA6B,EAAAZ,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CAC1FC,2BAAW,CAACY,sBAAsB,CAAA,EAAA,MAAA,CAAAb,MAAA,CAAYG,sBAAM,CAACW,qBAAqB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAd,MAAA,CAC1EC,2BAAW,CAACc,+BAA+B,CAAAf,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,sBAAM,CAACa,8BAA8B,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAhB,MAAA,CAC5FC,2BAAW,CAACgB,kBAAkB,CAAA,EAAA,MAAA,CAAAjB,MAAA,CAAYG,sBAAM,CAACe,qBAAqB,EAAAlB,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACtEC,2BAAW,CAACkB,mBAAmB,CAAA,EAAA,MAAA,CAAAnB,MAAA,CAAYG,sBAAM,CAACiB,sBAAsB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAApB,MAAA,CACxEC,2BAAW,CAACoB,yBAAyB,UAAArB,MAAA,CAAYG,sBAAM,CAACmB,4BAA4B,EAC3F,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,EAAEI,YAAY,CAAC,EAAE;AACnD,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,OAAOwD,YAAY,CAAA;AACvB,GAAC,EACD,CAACxD,YAAY,EAAEJ,KAAK,CACxB,CAAC,CAAA;AAED,EAAA,IAAM+D,kBAAkB,GAAGX,iBAAW,CAClC,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;MAEAjD,YAAY,CAACiD,YAAY,EAAE,CAACI,CAAC,GAAGxC,MAAM,EAAEyC,CAAC,CAAC,CAAC,CAAA;AAE3C,MAAA,IAAIG,mCAAe,CAACpE,KAAK,CAAC,EAAE;AACxBY,QAAAA,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,IAAXA,WAAW,CAAGyD,SAAS,CAAC,CAAA;AAC5B,OAAA;KACH,CAAA;GACD,EAAA,CAAClB,eAAe,EAAExC,YAAY,EAAEa,MAAM,EAAExB,KAAK,EAAEY,WAAW,CAC9D,CAAC,CAAA;AAED,EAAA,IAAM0D,iBAAiB,GAAGlB,iBAAW,CACjC,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;AAEA3D,IAAAA,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,IAAXA,WAAW,CAAGgD,YAAY,CAAC,CAAA;GAC9B,EACD,CAACT,eAAe,EAAEvC,WAAW,EAAEZ,KAAK,CACxC,CAAC,CAAA;AAED,EAAA,IAAM0E,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;AAAA,IAAA,OAAS9D,WAAW,KAAXA,IAAAA,IAAAA,WAAW,uBAAXA,WAAW,CAAGyD,SAAS,CAAC,CAAA;AAAA,GAAA,CAAA;EAEzD,IAAMM,OAAO,GAAGvB,iBAAW,CACvB,UAACwB,OAAuB,EAAEZ,CAAS,EAAEC,CAAS,EAAK;IAC/C1D,SAAS,CAACsE,OAAO,CAACb,CAAC,GAAGxC,MAAM,CAAC,CAACyC,CAAC,CAAC,GAAGW,OAAO,CAAA;AAC9C,GAAC,EACD,CAACrE,SAAS,CACd,CAAC,CAAA;AAEDuE,EAAAA,eAAS,CAAC,YAAM;IACZ,IAAIzD,WAAW,CAACwD,OAAO,EAAE;AAAA,MAAA,IAAAE,qBAAA,CAAA;AACrB,MAAA,CAAAA,qBAAA,GAAAxD,gBAAgB,CAACsD,OAAO,cAAAE,qBAAA,KAAA,KAAA,CAAA,IAAxBA,qBAAA,CAAAC,IAAA,CAAAzD,gBAAgB,EAAWF,WAAW,CAACwD,OAAO,CAAC,CAAA;AACnD,KAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBACII,sBAAA,CAAAC,aAAA,CAACC,wCAAmB,EAAA;AAChBC,IAAAA,IAAI,EAAC,MAAM;AACX,IAAA,iBAAA,EAAgB,eAAe;AAC/BtE,IAAAA,SAAS,EAAEA,SAAU;AACrBuE,IAAAA,YAAY,EAAEX,kBAAAA;AAAmB,GAAA,EAEhCvD,KAAK,CAACmE,GAAG,CAAC,UAAC3B,IAAI,EAAEK,CAAC,EAAA;AAAA,IAAA,oBACfiB,sBAAA,CAAAC,aAAA,CAACK,+BAAU,EAAA;AAACH,MAAAA,IAAI,EAAC,KAAK;AAACI,MAAAA,GAAG,EAAExB,CAAAA;KACvBL,EAAAA,IAAI,CAAC2B,GAAG,CACL,UAAAG,KAAA,EAaIxB,CAAC,EACA;AAAA,MAAA,IAZGyB,SAAS,GAAAD,KAAA,CAATC,SAAS;QACTC,UAAU,GAAAF,KAAA,CAAVE,UAAU;QACVC,SAAS,GAAAH,KAAA,CAATG,SAAS;QACT7F,IAAI,GAAA0F,KAAA,CAAJ1F,IAAI;QACJ8F,MAAM,GAAAJ,KAAA,CAANI,MAAM;QACNC,kBAAkB,GAAAL,KAAA,CAAlBK,kBAAkB;QAClBC,OAAO,GAAAN,KAAA,CAAPM,OAAO;QACPC,QAAQ,GAAAP,KAAA,CAARO,QAAQ;QACRC,gBAAgB,GAAAR,KAAA,CAAhBQ,gBAAgB;QAChBC,aAAa,GAAAT,KAAA,CAAbS,aAAa,CAAA;AAIjB,MAAA,oBACIjB,sBAAA,CAAAC,aAAA,CAACiB,mCAAiB,EAAA;QACdC,GAAG,EAAE,SAAAA,GAAAA,CAACxB,OAAuB,EAAA;AAAA,UAAA,OAAKD,OAAO,CAACC,OAAO,EAAEZ,CAAC,EAAEC,CAAC,CAAC,CAAA;SAAC;AACzDoC,QAAAA,KAAK,EAAE3E,cAAe;AACtBvB,QAAAA,SAAS,EAAE0F,MAAO;AAClBG,QAAAA,QAAQ,EAAEA,QAAS;QACnBvC,GAAG,EAAE1D,IAAI,CAAC0D,GAAI;AACdE,QAAAA,IAAI,EAAE+B,SAAU;QAChBhC,UAAU,EAAE3D,IAAI,CAAC2D,UAAW;QAC5B4C,SAAS,EACLtC,CAAC,GAAGxC,MAAM,MAAKtB,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG,CAAC,CAAC,KACjC+D,CAAC,MAAK/D,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG,CAAC,CAAC,CACxB,IAAA,CAAC4F,kBACJ;AACDH,QAAAA,UAAU,EAAEA,UAAW;AACvBC,QAAAA,SAAS,EAAEA,SAAU;AACrBpF,QAAAA,QAAQ,EAAEA,QAAS;AACnB+F,QAAAA,SAAS,EAAEC,6BAAS,CAACzG,IAAI,EAAEW,WAAW,CAAE;QACxCqF,OAAO,EAAEU,8BAAU,CAACzG,KAAK,EAAED,IAAI,EAAEW,WAAW,EAAEqF,OAAO,CAAE;QACvDW,WAAW,EAAEC,kCAAc,CAAC3G,KAAK,EAAED,IAAI,EAAEW,WAAW,EAAEiF,UAAU,CAAE;QAClEiB,OAAO,EAAEZ,QAAQ,GAAG3B,SAAS,GAAGN,kBAAkB,CAACC,CAAC,EAAEC,CAAC,CAAE;AACzD4C,QAAAA,WAAW,EAAEb,QAAQ,GAAG3B,SAAS,GAAGC,iBAAkB;QACtDkB,GAAG,EAAA,aAAA,CAAA5D,MAAA,CAAgBoC,CAAC,OAAApC,MAAA,CAAIqC,CAAC,CAAG;AAC5BmB,QAAAA,IAAI,EAAC,UAAU;AACf,QAAA,WAAA,EAAWM,SAAU;QACrB,kBAAkB3F,EAAAA,IAAI,CAAC2D,UAAW;QAClC,UAAU3D,EAAAA,IAAI,CAAC0D,GAAI;QACnB,YAAYqD,EAAAA,MAAM,CAACpB,SAAS,CAAE;AAC9BO,QAAAA,gBAAgB,EAAEA,gBAAiB;AACnCc,QAAAA,cAAc,EAAEb,aAAc;QAC9Bc,mBAAmB,EAAA,IAAA;AAAA,OAAA,EAElBtB,SACc,CAAC,CAAA;AAE5B,KACJ,CACQ,CAAC,CAAA;AAAA,GAChB,CACgB,CAAC,CAAA;AAE9B;;;;"}
1
+ {"version":3,"file":"CalendarYears.js","sources":["../../../../../src/components/Calendar/ui/CalendarYears/CalendarYears.tsx"],"sourcesContent":["import React, { 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, StyledFlex } 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.dateStructureWidth}`]: `var(${tokens.calendarYearItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarYearItemHeight})`,\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 <StyledFlex role=\"row\" 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 </StyledFlex>\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","dateStructureWidth","calendarYearItemWidth","dateStructureHeight","calendarYearItemHeight","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","StyledFlex","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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"}
@@ -40,7 +40,6 @@ var useCalendarDateChange = exports.useCalendarDateChange = function useCalendar
40
40
  payload: {
41
41
  calendarState: _types.CalendarState.Days,
42
42
  monthIndex: newDate.monthIndex,
43
- year: newDate.year,
44
43
  size: _reducer.sizeMap.Days["double"]
45
44
  }
46
45
  });
@@ -140,7 +140,6 @@ var reducer = exports.reducer = function reducer(state, action) {
140
140
  var _action$payload3 = action.payload,
141
141
  calendarState = _action$payload3.calendarState,
142
142
  _monthIndex2 = _action$payload3.monthIndex,
143
- _year2 = _action$payload3.year,
144
143
  size = _action$payload3.size;
145
144
  return _objectSpread(_objectSpread({}, state), {}, {
146
145
  size: size,
@@ -148,7 +147,7 @@ var reducer = exports.reducer = function reducer(state, action) {
148
147
  date: {
149
148
  day: state.date.day,
150
149
  monthIndex: _monthIndex2,
151
- year: _year2
150
+ year: state.date.year
152
151
  }
153
152
  });
154
153
  }
@@ -156,7 +155,7 @@ var reducer = exports.reducer = function reducer(state, action) {
156
155
  {
157
156
  var _action$payload4 = action.payload,
158
157
  _calendarState = _action$payload4.calendarState,
159
- _year3 = _action$payload4.year,
158
+ _year2 = _action$payload4.year,
160
159
  _size = _action$payload4.size;
161
160
  return _objectSpread(_objectSpread({}, state), {}, {
162
161
  size: _size,
@@ -164,7 +163,7 @@ var reducer = exports.reducer = function reducer(state, action) {
164
163
  date: {
165
164
  day: state.date.day,
166
165
  monthIndex: state.date.monthIndex,
167
- year: _year3
166
+ year: _year2
168
167
  }
169
168
  });
170
169
  }
@@ -42,13 +42,15 @@ var CalendarMonths = exports.CalendarMonths = function CalendarMonths(_ref) {
42
42
  onSetSelected = _ref.onSetSelected,
43
43
  onKeyDown = _ref.onKeyDown,
44
44
  locale = _ref.locale;
45
+ var minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;
46
+ var maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;
45
47
  var _useMonths = (0, _hooks.useMonths)({
46
48
  date: currentDate,
47
49
  value: value,
48
50
  eventList: eventList,
49
51
  disabledList: disabledList,
50
- min: min,
51
- max: max,
52
+ min: minDate,
53
+ max: maxDate,
52
54
  locale: locale
53
55
  }),
54
56
  _useMonths2 = _slicedToArray(_useMonths, 2),
@@ -41,13 +41,15 @@ var CalendarQuarters = exports.CalendarQuarters = function CalendarQuarters(_ref
41
41
  onHoverQuarter = _ref.onHoverQuarter,
42
42
  onSetSelected = _ref.onSetSelected,
43
43
  onKeyDown = _ref.onKeyDown;
44
+ var minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;
45
+ var maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;
44
46
  var _useQuarters = (0, _hooks.useQuarters)({
45
47
  date: currentDate,
46
48
  value: value,
47
49
  eventList: eventList,
48
50
  disabledList: disabledList,
49
- min: min,
50
- max: max
51
+ min: minDate,
52
+ max: maxDate
51
53
  }),
52
54
  _useQuarters2 = _slicedToArray(_useQuarters, 2),
53
55
  quarters = _useQuarters2[0],
@@ -42,14 +42,16 @@ var CalendarYears = exports.CalendarYears = function CalendarYears(_ref) {
42
42
  onHoverYear = _ref.onHoverYear,
43
43
  onSetSelected = _ref.onSetSelected,
44
44
  onKeyDown = _ref.onKeyDown;
45
+ var minDate = min ? new Date(min.getFullYear(), 0, 1) : undefined;
46
+ var maxDate = max ? new Date(max.getFullYear(), 11, 31) : undefined;
45
47
  var _useYears = (0, _hooks.useYears)({
46
48
  date: currentDate,
47
49
  value: value,
48
50
  startYear: startYear,
49
51
  eventList: eventList,
50
52
  disabledList: disabledList,
51
- min: min,
52
- max: max
53
+ min: minDate,
54
+ max: maxDate
53
55
  }),
54
56
  _useYears2 = _slicedToArray(_useYears, 2),
55
57
  years = _useYears2[0],