@salutejs/plasma-new-hope 0.327.0-canary.2022.15754718552.0 → 0.327.0-canary.2024.15730742214.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  3. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  5. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  6. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  7. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  8. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  9. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  10. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  11. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  12. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  13. package/cjs/components/Drawer/Drawer.js +3 -4
  14. package/cjs/components/Drawer/Drawer.js.map +1 -1
  15. package/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  16. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  17. package/cjs/components/Mask/Mask.js +3 -3
  18. package/cjs/components/Mask/Mask.js.map +1 -1
  19. package/cjs/components/Modal/Modal.js +2 -3
  20. package/cjs/components/Modal/Modal.js.map +1 -1
  21. package/cjs/components/Modal/hooks/useModal.js +1 -1
  22. package/cjs/components/Modal/hooks/useModal.js.map +1 -1
  23. package/cjs/components/Popup/Popup.js +1 -2
  24. package/cjs/components/Popup/Popup.js.map +1 -1
  25. package/cjs/components/Popup/PopupContext.js +15 -13
  26. package/cjs/components/Popup/PopupContext.js.map +1 -1
  27. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  28. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  29. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  30. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  31. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  32. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  33. package/emotion/cjs/components/Drawer/Drawer.js +8 -8
  34. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  35. package/emotion/cjs/components/Mask/Mask.js +3 -3
  36. package/emotion/cjs/components/Modal/Modal.js +5 -6
  37. package/emotion/cjs/components/Modal/hooks/useModal.js +1 -1
  38. package/emotion/cjs/components/Popup/Popup.js +1 -1
  39. package/emotion/cjs/components/Popup/PopupContext.js +20 -14
  40. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  41. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  42. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  43. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  44. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  45. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  46. package/emotion/es/components/Drawer/Drawer.js +3 -3
  47. package/emotion/es/components/Drawer/hooks/useDrawer.js +2 -2
  48. package/emotion/es/components/Mask/Mask.js +3 -3
  49. package/emotion/es/components/Modal/Modal.js +3 -4
  50. package/emotion/es/components/Modal/hooks/useModal.js +1 -1
  51. package/emotion/es/components/Popup/Popup.js +2 -2
  52. package/emotion/es/components/Popup/PopupContext.js +20 -14
  53. package/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  54. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  55. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  56. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  57. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  58. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  59. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  60. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  61. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  62. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  63. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  64. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  65. package/es/components/Drawer/Drawer.js +3 -4
  66. package/es/components/Drawer/Drawer.js.map +1 -1
  67. package/es/components/Drawer/hooks/useDrawer.js +2 -2
  68. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  69. package/es/components/Mask/Mask.js +3 -3
  70. package/es/components/Mask/Mask.js.map +1 -1
  71. package/es/components/Modal/Modal.js +2 -3
  72. package/es/components/Modal/Modal.js.map +1 -1
  73. package/es/components/Modal/hooks/useModal.js +1 -1
  74. package/es/components/Modal/hooks/useModal.js.map +1 -1
  75. package/es/components/Popup/Popup.js +1 -2
  76. package/es/components/Popup/Popup.js.map +1 -1
  77. package/es/components/Popup/PopupContext.js +16 -14
  78. package/es/components/Popup/PopupContext.js.map +1 -1
  79. package/package.json +2 -2
  80. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  81. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  82. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  83. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  84. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  85. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  86. package/styled-components/cjs/components/Drawer/Drawer.js +8 -8
  87. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  88. package/styled-components/cjs/components/Mask/Mask.js +3 -3
  89. package/styled-components/cjs/components/Modal/Modal.js +5 -6
  90. package/styled-components/cjs/components/Modal/hooks/useModal.js +1 -1
  91. package/styled-components/cjs/components/Popup/Popup.js +1 -1
  92. package/styled-components/cjs/components/Popup/PopupContext.js +20 -14
  93. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  94. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  95. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  96. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  97. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  98. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  99. package/styled-components/es/components/Drawer/Drawer.js +3 -3
  100. package/styled-components/es/components/Drawer/hooks/useDrawer.js +2 -2
  101. package/styled-components/es/components/Mask/Mask.js +3 -3
  102. package/styled-components/es/components/Modal/Modal.js +3 -4
  103. package/styled-components/es/components/Modal/hooks/useModal.js +1 -1
  104. package/styled-components/es/components/Popup/Popup.js +2 -2
  105. package/styled-components/es/components/Popup/PopupContext.js +20 -14
  106. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  107. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  108. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  109. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  110. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  111. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
  112. package/types/components/Drawer/Drawer.d.ts +1 -1
  113. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  114. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  115. package/types/components/Modal/Modal.d.ts +1 -1
  116. package/types/components/Modal/Modal.d.ts.map +1 -1
  117. package/types/components/Popup/Popup.d.ts +1 -1
  118. package/types/components/Popup/Popup.d.ts.map +1 -1
  119. package/types/components/Popup/Popup.types.d.ts +1 -1
  120. package/types/components/Popup/Popup.types.d.ts.map +1 -1
  121. package/types/components/Popup/PopupContext.d.ts.map +1 -1
@@ -9,8 +9,8 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
9
9
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
10
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
11
  import React, { forwardRef, useRef } from 'react';
12
- import { useForkRef } from '@salutejs/plasma-core';
13
- import { canUseDOM, cx, safeUseId } from "../../utils";
12
+ import { useForkRef, safeUseId } from '@salutejs/plasma-core';
13
+ import { canUseDOM, cx } from "../../utils";
14
14
  import { Portal } from "../Portal";
15
15
  import { PopupRoot } from "./PopupRoot";
16
16
  import { usePopup } from "./hooks";
@@ -1,3 +1,7 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
4
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
1
5
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
6
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
7
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -5,15 +9,15 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
5
9
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
10
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
11
  import React, { createContext, useState, useContext, useRef } from 'react';
8
- import { canUseDOM, safeUseId } from "../../utils";
9
12
  import { Portal } from "../Portal";
10
13
  import { hasModals } from "../Modal/ModalContext";
14
+ import { canUseDOM, safeUseId } from "../../utils";
11
15
  import { ClientOnlyPortal } from "./ClientOnlyPortal";
12
16
  import { StyledPortal } from "./Popup.styles";
13
17
  export var POPUP_PORTAL_ID = 'plasma-popup-root';
14
- var initialItems = /*#__PURE__*/new Map();
18
+ var items = [];
15
19
  var PopupContext = /*#__PURE__*/createContext({
16
- items: initialItems,
20
+ items: items,
17
21
  rootId: POPUP_PORTAL_ID,
18
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
23
  register: function register(_info) {
@@ -33,7 +37,7 @@ export var PopupProvider = function PopupProvider(_ref) {
33
37
  var children = _ref.children,
34
38
  UNSAFE_SSR_ENABLED = _ref.UNSAFE_SSR_ENABLED;
35
39
  var prevBodyOverflowY = useRef(canUseDOM ? document.body.style.overflowY : '');
36
- var _useState = useState(initialItems),
40
+ var _useState = useState([]),
37
41
  _useState2 = _slicedToArray(_useState, 2),
38
42
  items = _useState2[0],
39
43
  setItems = _useState2[1];
@@ -45,13 +49,11 @@ export var PopupProvider = function PopupProvider(_ref) {
45
49
  }
46
50
  setItems(function (prevItems) {
47
51
  var _info$info;
48
- var newItems = new Map(prevItems);
49
- if ((_info$info = info.info) !== null && _info$info !== void 0 && _info$info.isModal && !hasModals(Array.from(prevItems.values()))) {
52
+ if ((_info$info = info.info) !== null && _info$info !== void 0 && _info$info.isModal && !hasModals(prevItems)) {
50
53
  prevBodyOverflowY.current = document.body.style.overflowY;
51
54
  document.body.style.overflowY = 'hidden';
52
55
  }
53
- newItems.set(info.id, info);
54
- return newItems;
56
+ return [].concat(_toConsumableArray(prevItems), [info]);
55
57
  });
56
58
  };
57
59
  var unregister = function unregister(id) {
@@ -59,16 +61,20 @@ export var PopupProvider = function PopupProvider(_ref) {
59
61
  return;
60
62
  }
61
63
  setItems(function (prevItems) {
62
- if (!prevItems.has(id)) {
64
+ var index = prevItems.findIndex(function (item) {
65
+ return id === item.id;
66
+ });
67
+ if (index === -1) {
63
68
  return prevItems;
64
69
  }
65
- var newItems = new Map(prevItems);
66
- var prevHasModals = hasModals(Array.from(newItems.values()));
67
- newItems["delete"](id);
68
- if (prevHasModals && !hasModals(Array.from(newItems.values()))) {
70
+ var prevHasModals = hasModals(prevItems);
71
+ prevItems.splice(index, 1);
72
+ if (prevHasModals && !hasModals(prevItems)) {
69
73
  document.body.style.overflowY = prevBodyOverflowY.current;
70
74
  }
71
- return newItems;
75
+
76
+ // при return prevItems не обновится контекст
77
+ return _toConsumableArray(prevItems);
72
78
  });
73
79
  };
74
80
  var context = {
@@ -131,6 +131,19 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
131
131
  setPrevType(calendarState);
132
132
  }
133
133
  }, [calendarState]);
134
+ useEffect(function () {
135
+ console.log(type);
136
+ if (prevType !== type) {
137
+ dispatch({
138
+ type: ActionType.UPDATE_CALENDAR_STATE,
139
+ payload: {
140
+ calendarState: type,
141
+ size: sizeMap[type].single
142
+ }
143
+ });
144
+ setPrevType(type);
145
+ }
146
+ }, [type]);
134
147
  useEffect(function () {
135
148
  if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
136
149
  dispatch({
@@ -150,6 +163,7 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
150
163
  }
151
164
  setPrevValue(value);
152
165
  }, [value]);
166
+ console.log(calendarState);
153
167
  return /*#__PURE__*/React.createElement(Root, _extends({
154
168
  ref: outerRootRef,
155
169
  className: cls(className, _defineProperty({}, classes.stretched, stretched)),
@@ -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 console.log(type);\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 console.log(calendarState);\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","console","log","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(),
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\nimport cls from 'classnames';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate, I18N } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n 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\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFromDate, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFromDate || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\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 isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","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","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\nimport cls from 'classnames';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate, I18N } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n 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\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFromDate, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (prevType !== type) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: type, size: sizeMap[type].double },\n });\n\n setPrevType(type);\n }\n }, [type]);\n\n useEffect(() => {\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFromDate || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\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 isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","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","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":"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"}
@@ -86,6 +86,9 @@ var CalendarDays = function CalendarDays(_ref) {
86
86
  };
87
87
  var getRefs = function getRefs(element, isDayInCurrentMonth, i, j) {
88
88
  if (isDayInCurrentMonth) {
89
+ if (!outerRefs.current[i + offset]) {
90
+ outerRefs.current[i + offset] = [];
91
+ }
89
92
  outerRefs.current[i + offset][j] = element;
90
93
  }
91
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n I18N,\n} from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\nimport { DateItem } from '../../Calendar.types';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n locale = 'ru',\n}) => {\n const [days, selected] = useDays({ date: currentDate, value, eventList, disabledList, min, max, includeEdgeDates });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const dayItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarDayFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarDayFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarDayFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarDayFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarDayFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarDayFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarDaySelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarDayItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleMouseOutGrid = () => onHoverDay?.(undefined);\n\n const getRefs = (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n };\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n <StyledCalendarDaysHint id=\"withShift\">{I18N.navigationByShift[locale]}</StyledCalendarDaysHint>\n <>\n {SHORT_DAY_NAMES[locale].map((name) => (\n <DateStructureItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[locale][name]}\n key={name}\n dayOfWeek\n day={name}\n style={dayItemTokens}\n >\n {name}\n </DateStructureItem>\n ))}\n </>\n {days.map((day: DateItem[], i) => (\n <Fragment key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, Boolean(isDayInCurrentMonth), i, j)}\n style={dayItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n key={`StyledDay-${i}-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n >\n {date.day}\n </DateStructureItem>\n ),\n )}\n </Fragment>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_ref$locale","locale","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","dayItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarDayFontFamily","dateStructureFontSize","calendarDayFontSize","dateStructureFontWeight","calendarDayFontWeight","dateStructureFontLineHeight","calendarDayFontLineHeight","dateStructureFontLetterSpacing","calendarDayFontLetterSpacing","dateStructureFontStyle","calendarDayFontStyle","dateStructureSelectedFontWeight","calendarDaySelectedFontWeight","dateStructureBorderRadius","calendarDayItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","onMouseLeave","StyledCalendarDaysHint","id","I18N","navigationByShift","Fragment","SHORT_DAY_NAMES","map","name","DateStructureItem","FULL_DAY_NAMES","key","dayOfWeek","style","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledDates","ref","Boolean","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n I18N,\n} from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\nimport { DateItem } from '../../Calendar.types';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n locale = 'ru',\n}) => {\n const [days, selected] = useDays({ date: currentDate, value, eventList, disabledList, min, max, includeEdgeDates });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const dayItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarDayFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarDayFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarDayFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarDayFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarDayFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarDayFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarDaySelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarDayItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleMouseOutGrid = () => onHoverDay?.(undefined);\n\n const getRefs = (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n if (!outerRefs.current[i + offset]) {\n outerRefs.current[i + offset] = [];\n }\n\n outerRefs.current[i + offset][j] = element;\n }\n };\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n <StyledCalendarDaysHint id=\"withShift\">{I18N.navigationByShift[locale]}</StyledCalendarDaysHint>\n <>\n {SHORT_DAY_NAMES[locale].map((name) => (\n <DateStructureItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[locale][name]}\n key={name}\n dayOfWeek\n day={name}\n style={dayItemTokens}\n >\n {name}\n </DateStructureItem>\n ))}\n </>\n {days.map((day: DateItem[], i) => (\n <Fragment key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, Boolean(isDayInCurrentMonth), i, j)}\n style={dayItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n key={`StyledDay-${i}-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n >\n {date.day}\n </DateStructureItem>\n ),\n )}\n </Fragment>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_ref$locale","locale","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","dayItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarDayFontFamily","dateStructureFontSize","calendarDayFontSize","dateStructureFontWeight","calendarDayFontWeight","dateStructureFontLineHeight","calendarDayFontLineHeight","dateStructureFontLetterSpacing","calendarDayFontLetterSpacing","dateStructureFontStyle","calendarDayFontStyle","dateStructureSelectedFontWeight","calendarDaySelectedFontWeight","dateStructureBorderRadius","calendarDayItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","onMouseLeave","StyledCalendarDaysHint","id","I18N","navigationByShift","Fragment","SHORT_DAY_NAMES","map","name","DateStructureItem","FULL_DAY_NAMES","key","dayOfWeek","style","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledDates","ref","Boolean","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths"],"mappings":"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"}
@@ -91,6 +91,9 @@ var CalendarMonths = function CalendarMonths(_ref) {
91
91
  return onHoverMonth === null || onHoverMonth === void 0 ? void 0 : onHoverMonth(undefined);
92
92
  };
93
93
  var getRefs = useCallback(function (element, i, j) {
94
+ if (!outerRefs.current[i + offset]) {
95
+ outerRefs.current[i + offset] = [];
96
+ }
94
97
  outerRefs.current[i + offset][j] = element;
95
98
  }, [offset, outerRefs]);
96
99
  useEffect(function () {