@ozen-ui/kit 0.61.0 → 0.62.1

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 (193) hide show
  1. package/__inner__/cjs/components/AutocompleteNext/Autocomplete.css +1 -1
  2. package/__inner__/cjs/components/Calendar/Calendar.js +2 -2
  3. package/__inner__/cjs/components/Calendar/CalendarContext.d.ts +2 -3
  4. package/__inner__/cjs/components/Calendar/components/CalendarGridItem/types.d.ts +2 -2
  5. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/CalendarModeRange.d.ts +2 -2
  6. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +14 -18
  7. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/index.d.ts +0 -1
  8. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/index.js +0 -1
  9. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.d.ts +2 -2
  10. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +10 -18
  11. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/index.d.ts +0 -1
  12. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/index.js +0 -1
  13. package/__inner__/cjs/components/Calendar/components/Calendars/Calendars.d.ts +5 -0
  14. package/__inner__/cjs/components/Calendar/components/Calendars/Calendars.js +45 -0
  15. package/__inner__/cjs/components/Calendar/components/Calendars/index.d.ts +1 -0
  16. package/__inner__/cjs/components/Calendar/components/{CalendarModeSingle/components/CalendarConsumer → Calendars}/index.js +1 -1
  17. package/__inner__/cjs/components/Calendar/components/index.d.ts +1 -0
  18. package/__inner__/cjs/components/Calendar/components/index.js +1 -0
  19. package/__inner__/cjs/components/Calendar/constants.d.ts +1 -1
  20. package/__inner__/cjs/components/Calendar/constants.js +2 -2
  21. package/__inner__/cjs/components/Calendar/types.d.ts +60 -24
  22. package/__inner__/cjs/components/DataList/DataList.css +1 -1
  23. package/__inner__/cjs/components/DatePicker/DatePicker.css +12 -1
  24. package/__inner__/cjs/components/DatePicker/DatePicker.d.ts +2 -3
  25. package/__inner__/cjs/components/DatePicker/DatePicker.js +9 -143
  26. package/__inner__/cjs/components/DatePicker/components/DateInput/DateInput.js +1 -2
  27. package/__inner__/cjs/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.d.ts +0 -1
  28. package/__inner__/cjs/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.js +1 -3
  29. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.d.ts +2 -0
  30. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.js +159 -0
  31. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/index.d.ts +1 -0
  32. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/index.js +4 -0
  33. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.d.ts +2 -0
  34. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.js +247 -0
  35. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/index.d.ts +1 -0
  36. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/index.js +4 -0
  37. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/formatDateForCalendar.d.ts +3 -0
  38. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/formatDateForCalendar.js +10 -0
  39. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/index.d.ts +1 -0
  40. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/index.js +4 -0
  41. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/getOffsetDateInRange.d.ts +6 -0
  42. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/getOffsetDateInRange.js +32 -0
  43. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/index.d.ts +1 -0
  44. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/index.js +4 -0
  45. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/getValueForDoubleProp.d.ts +1 -0
  46. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/getValueForDoubleProp.js +7 -0
  47. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/index.d.ts +1 -0
  48. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/index.js +4 -0
  49. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/index.d.ts +3 -0
  50. package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/index.js +6 -0
  51. package/__inner__/cjs/components/DatePicker/components/index.d.ts +2 -0
  52. package/__inner__/cjs/components/DatePicker/components/index.js +2 -0
  53. package/__inner__/cjs/components/DatePicker/constants.d.ts +1 -0
  54. package/__inner__/cjs/components/DatePicker/constants.js +2 -1
  55. package/__inner__/cjs/components/DatePicker/types.d.ts +84 -16
  56. package/__inner__/cjs/components/DatePicker/types.js +2 -0
  57. package/__inner__/cjs/components/DatePicker/utils/formatStringToDate/formatStringToDate.js +1 -2
  58. package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.d.ts +3 -0
  59. package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.js +16 -0
  60. package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/index.d.ts +1 -0
  61. package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/index.js +4 -0
  62. package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.d.ts +4 -0
  63. package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.js +13 -0
  64. package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/index.d.ts +1 -0
  65. package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/index.js +4 -0
  66. package/__inner__/cjs/components/DatePicker/utils/index.d.ts +4 -0
  67. package/__inner__/cjs/components/DatePicker/utils/index.js +4 -0
  68. package/__inner__/cjs/components/DatePicker/utils/isValidDateString/index.d.ts +1 -0
  69. package/__inner__/cjs/components/DatePicker/utils/isValidDateString/index.js +4 -0
  70. package/__inner__/cjs/components/DatePicker/utils/isValidDateString/isValidDateString.d.ts +1 -0
  71. package/__inner__/cjs/components/DatePicker/utils/isValidDateString/isValidDateString.js +15 -0
  72. package/__inner__/cjs/components/DatePicker/utils/useCalendarKeyboard/index.d.ts +1 -0
  73. package/__inner__/cjs/components/DatePicker/utils/useCalendarKeyboard/index.js +4 -0
  74. package/__inner__/cjs/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.d.ts +8 -0
  75. package/__inner__/cjs/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.js +47 -0
  76. package/__inner__/cjs/components/Menu/Menu.css +1 -1
  77. package/__inner__/cjs/components/Popover/Popover.js +2 -2
  78. package/__inner__/cjs/components/Popover/types.d.ts +2 -0
  79. package/__inner__/cjs/components/Skeleton/Skeleton.css +1 -1
  80. package/__inner__/cjs/hooks/useClickOutside/useClickOutside.d.ts +4 -4
  81. package/__inner__/cjs/hooks/useClickOutside/useClickOutside.js +7 -12
  82. package/__inner__/cjs/utils/date/index.d.ts +1 -0
  83. package/__inner__/cjs/utils/date/index.js +1 -0
  84. package/__inner__/cjs/utils/date/isValidDate/index.d.ts +1 -0
  85. package/__inner__/cjs/{components/Calendar/components/CalendarModeRange/components/CalendarConsumer → utils/date/isValidDate}/index.js +1 -1
  86. package/__inner__/cjs/utils/date/isValidDate/isValidDate.d.ts +1 -0
  87. package/__inner__/cjs/utils/date/isValidDate/isValidDate.js +7 -0
  88. package/__inner__/cjs/utils/date/monthDiff/monthDiff.d.ts +1 -1
  89. package/__inner__/cjs/utils/date/monthDiff/monthDiff.js +3 -0
  90. package/__inner__/esm/components/AutocompleteNext/Autocomplete.css +1 -1
  91. package/__inner__/esm/components/Calendar/Calendar.js +3 -3
  92. package/__inner__/esm/components/Calendar/CalendarContext.d.ts +2 -3
  93. package/__inner__/esm/components/Calendar/components/CalendarGridItem/types.d.ts +2 -2
  94. package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.d.ts +2 -2
  95. package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +15 -19
  96. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/index.d.ts +0 -1
  97. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/index.js +0 -1
  98. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.d.ts +2 -2
  99. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +11 -19
  100. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/index.d.ts +0 -1
  101. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/index.js +0 -1
  102. package/__inner__/esm/components/Calendar/components/Calendars/Calendars.d.ts +5 -0
  103. package/__inner__/esm/components/Calendar/components/Calendars/Calendars.js +41 -0
  104. package/__inner__/esm/components/Calendar/components/Calendars/index.d.ts +1 -0
  105. package/__inner__/esm/components/Calendar/components/Calendars/index.js +1 -0
  106. package/__inner__/esm/components/Calendar/components/index.d.ts +1 -0
  107. package/__inner__/esm/components/Calendar/components/index.js +1 -0
  108. package/__inner__/esm/components/Calendar/constants.d.ts +1 -1
  109. package/__inner__/esm/components/Calendar/constants.js +1 -1
  110. package/__inner__/esm/components/Calendar/types.d.ts +60 -24
  111. package/__inner__/esm/components/DataList/DataList.css +1 -1
  112. package/__inner__/esm/components/DatePicker/DatePicker.css +12 -1
  113. package/__inner__/esm/components/DatePicker/DatePicker.d.ts +2 -3
  114. package/__inner__/esm/components/DatePicker/DatePicker.js +13 -147
  115. package/__inner__/esm/components/DatePicker/components/DateInput/DateInput.js +1 -2
  116. package/__inner__/esm/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.d.ts +0 -1
  117. package/__inner__/esm/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.js +0 -1
  118. package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.d.ts +2 -0
  119. package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.js +156 -0
  120. package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/index.d.ts +1 -0
  121. package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/index.js +1 -0
  122. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.d.ts +2 -0
  123. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.js +244 -0
  124. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/index.d.ts +1 -0
  125. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/index.js +1 -0
  126. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/formatDateForCalendar.d.ts +3 -0
  127. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/formatDateForCalendar.js +6 -0
  128. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/index.d.ts +1 -0
  129. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/index.js +1 -0
  130. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/getOffsetDateInRange.d.ts +6 -0
  131. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/getOffsetDateInRange.js +28 -0
  132. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/index.d.ts +1 -0
  133. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/index.js +1 -0
  134. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/getValueForDoubleProp.d.ts +1 -0
  135. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/getValueForDoubleProp.js +3 -0
  136. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/index.d.ts +1 -0
  137. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/index.js +1 -0
  138. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/index.d.ts +3 -0
  139. package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/index.js +3 -0
  140. package/__inner__/esm/components/DatePicker/components/index.d.ts +2 -0
  141. package/__inner__/esm/components/DatePicker/components/index.js +2 -0
  142. package/__inner__/esm/components/DatePicker/constants.d.ts +1 -0
  143. package/__inner__/esm/components/DatePicker/constants.js +1 -0
  144. package/__inner__/esm/components/DatePicker/types.d.ts +84 -16
  145. package/__inner__/esm/components/DatePicker/types.js +1 -1
  146. package/__inner__/esm/components/DatePicker/utils/formatStringToDate/formatStringToDate.js +1 -2
  147. package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.d.ts +3 -0
  148. package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.js +12 -0
  149. package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/index.d.ts +1 -0
  150. package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/index.js +1 -0
  151. package/__inner__/esm/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.d.ts +4 -0
  152. package/__inner__/esm/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.js +9 -0
  153. package/__inner__/esm/components/DatePicker/utils/getCommonPopoverProps/index.d.ts +1 -0
  154. package/__inner__/esm/components/DatePicker/utils/getCommonPopoverProps/index.js +1 -0
  155. package/__inner__/esm/components/DatePicker/utils/index.d.ts +4 -0
  156. package/__inner__/esm/components/DatePicker/utils/index.js +4 -0
  157. package/__inner__/esm/components/DatePicker/utils/isValidDateString/index.d.ts +1 -0
  158. package/__inner__/esm/components/DatePicker/utils/isValidDateString/index.js +1 -0
  159. package/__inner__/esm/components/DatePicker/utils/isValidDateString/isValidDateString.d.ts +1 -0
  160. package/__inner__/esm/components/DatePicker/utils/isValidDateString/isValidDateString.js +11 -0
  161. package/__inner__/esm/components/DatePicker/utils/useCalendarKeyboard/index.d.ts +1 -0
  162. package/__inner__/esm/components/DatePicker/utils/useCalendarKeyboard/index.js +1 -0
  163. package/__inner__/esm/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.d.ts +8 -0
  164. package/__inner__/esm/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.js +43 -0
  165. package/__inner__/esm/components/Menu/Menu.css +1 -1
  166. package/__inner__/esm/components/Popover/Popover.js +2 -2
  167. package/__inner__/esm/components/Popover/types.d.ts +2 -0
  168. package/__inner__/esm/components/Skeleton/Skeleton.css +1 -1
  169. package/__inner__/esm/hooks/useClickOutside/useClickOutside.d.ts +4 -4
  170. package/__inner__/esm/hooks/useClickOutside/useClickOutside.js +7 -12
  171. package/__inner__/esm/utils/date/index.d.ts +1 -0
  172. package/__inner__/esm/utils/date/index.js +1 -0
  173. package/__inner__/esm/utils/date/isValidDate/index.d.ts +1 -0
  174. package/__inner__/esm/utils/date/isValidDate/index.js +1 -0
  175. package/__inner__/esm/utils/date/isValidDate/isValidDate.d.ts +1 -0
  176. package/__inner__/esm/utils/date/isValidDate/isValidDate.js +3 -0
  177. package/__inner__/esm/utils/date/monthDiff/monthDiff.d.ts +1 -1
  178. package/__inner__/esm/utils/date/monthDiff/monthDiff.js +3 -0
  179. package/package.json +5 -5
  180. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.d.ts +0 -2
  181. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.js +0 -45
  182. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.d.ts +0 -1
  183. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.d.ts +0 -2
  184. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.js +0 -39
  185. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.d.ts +0 -1
  186. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.d.ts +0 -2
  187. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.js +0 -41
  188. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.d.ts +0 -1
  189. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.js +0 -1
  190. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.d.ts +0 -2
  191. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.js +0 -35
  192. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.d.ts +0 -1
  193. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.js +0 -1
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.monthDiff = void 0;
4
4
  var monthDiff = function (d1, d2) {
5
+ if (!d1 || !d2) {
6
+ return 0;
7
+ }
5
8
  var months;
6
9
  months = (d2.getFullYear() - d1.getFullYear()) * 12;
7
10
  months -= d1.getMonth();
@@ -187,7 +187,7 @@
187
187
 
188
188
  .AutocompleteNext-Dropdown {
189
189
  overflow: hidden auto;
190
- max-block-size: 40vb;
190
+ max-block-size: 40vh;
191
191
  }
192
192
  .AutocompleteNext-Dropdown-animation-enter {
193
193
  opacity: 0;
@@ -4,7 +4,7 @@ import React, { forwardRef } from 'react';
4
4
  import { useThemeProps } from '../../hooks/useThemeProps';
5
5
  import { getByMap } from '../../utils/getByMap';
6
6
  import { CalendarModeRange, CalendarModeSingle } from './components';
7
- import { CALENDAR_DEFAULT_MODE, CALENDAR_DEFAULT_SIZE, CALENDAR_DEFAULT_START_DAY, } from './constants';
7
+ import { CALENDAR_DEFAULT_CALENDARS, CALENDAR_DEFAULT_MODE, CALENDAR_DEFAULT_SIZE, CALENDAR_DEFAULT_START_DAY, } from './constants';
8
8
  import { getPeriodSwitchAriaLabel as createPeriodSwitchAriaLabel } from './utils';
9
9
  var typeMap = {
10
10
  range: CalendarModeRange,
@@ -16,8 +16,8 @@ export var Calendar = forwardRef(function (inProps, ref) {
16
16
  props: inProps,
17
17
  name: 'Calendar',
18
18
  });
19
- var _a = props.size, size = _a === void 0 ? CALENDAR_DEFAULT_SIZE : _a, _b = props.mode, mode = _b === void 0 ? CALENDAR_DEFAULT_MODE : _b, _c = props.startDay, startDay = _c === void 0 ? CALENDAR_DEFAULT_START_DAY : _c, getPeriodSwitchAriaLabelProp = props.getPeriodSwitchAriaLabel, other = __rest(props, ["size", "mode", "startDay", "getPeriodSwitchAriaLabel"]);
19
+ var _a = props.size, size = _a === void 0 ? CALENDAR_DEFAULT_SIZE : _a, _b = props.mode, mode = _b === void 0 ? CALENDAR_DEFAULT_MODE : _b, _c = props.startDay, startDay = _c === void 0 ? CALENDAR_DEFAULT_START_DAY : _c, _d = props.calendars, calendars = _d === void 0 ? CALENDAR_DEFAULT_CALENDARS : _d, getPeriodSwitchAriaLabelProp = props.getPeriodSwitchAriaLabel, other = __rest(props, ["size", "mode", "startDay", "calendars", "getPeriodSwitchAriaLabel"]);
20
20
  var getPeriodSwitchAriaLabel = getPeriodSwitchAriaLabelProp || createPeriodSwitchAriaLabel;
21
21
  var Component = getByMap(typeMap, mode);
22
- return (React.createElement(Component, __assign({ size: size, startDay: startDay, getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel }, other, { ref: ref })));
22
+ return (React.createElement(Component, __assign({ size: size, startDay: startDay, calendars: calendars, getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel }, other, { ref: ref })));
23
23
  });
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
- import type { CalendarSizeVariant, CalendarProps } from './types';
2
+ import type { CalendarPropSize, CalendarProps } from './types';
3
3
  export interface CalendarContextValue {
4
4
  minDate?: Date;
5
5
  maxDate?: Date;
6
- size?: CalendarSizeVariant;
7
- onOffsetChange?(d: Date): void;
6
+ size?: CalendarPropSize;
8
7
  onDayClick?: CalendarProps['onDayClick'];
9
8
  onYearClick?: CalendarProps['onYearClick'];
10
9
  onMonthClick?: CalendarProps['onMonthClick'];
@@ -1,12 +1,12 @@
1
1
  import type { ComponentRef } from 'react';
2
2
  import type { DPDayRange } from '@rehookify/datepicker';
3
3
  import type { ExtendableComponentPropsWithRef } from '../../../../types/ExtendableComponentPropsWithRef';
4
- import type { CalendarSizeVariant } from '../../index';
4
+ import type { CalendarPropSize } from '../../index';
5
5
  export type CalendarGridItemRef = ComponentRef<'button'>;
6
6
  export type CalendarGridItemProps = ExtendableComponentPropsWithRef<{
7
7
  current?: boolean;
8
8
  selected?: boolean;
9
9
  disabled?: boolean;
10
10
  range?: DPDayRange;
11
- size?: CalendarSizeVariant;
11
+ size?: CalendarPropSize;
12
12
  }, 'button'>;
@@ -1,2 +1,2 @@
1
- import type { CalendarTypeComponent } from '../../types';
2
- export declare const CalendarModeRange: CalendarTypeComponent<'range'>;
1
+ import type { CalendarModeComponent } from '../../types';
2
+ export declare const CalendarModeRange: CalendarModeComponent<'range'>;
@@ -4,50 +4,46 @@ import { DatePickerProvider } from '@rehookify/datepicker';
4
4
  import { useControlled } from '../../../../hooks/useControlled';
5
5
  import { useThemeProps } from '../../../../hooks/useThemeProps';
6
6
  import { CalendarContext } from '../../CalendarContext';
7
- import { CALENDAR_DEFAULT_SIZE, CALENDAR_DEFAULT_START_DAY, } from '../../constants';
8
7
  import { cnCalendar } from '../../utils';
9
- import { CalendarAdditionalControls, CalendarConsumer } from './components';
8
+ import { Calendars } from '../index';
9
+ import { CalendarAdditionalControls } from './components';
10
10
  // eslint-disable-next-line react/display-name
11
11
  export var CalendarModeRange = forwardRef(function (inProps, ref) {
12
12
  var props = useThemeProps({
13
13
  props: inProps,
14
14
  name: 'Calendar',
15
15
  });
16
- var _a = props.size, size = _a === void 0 ? CALENDAR_DEFAULT_SIZE : _a, _b = props.startDay, startDay = _b === void 0 ? CALENDAR_DEFAULT_START_DAY : _b, renderAdditionalControls = props.renderAdditionalControls, locale = props.locale, onChangeProp = props.onChange, onOffsetDateChangeProp = props.onOffsetDateChange, onMonthClick = props.onMonthClick, onDayClick = props.onDayClick, onYearClick = props.onYearClick, valueProp = props.value, defaultValue = props.defaultValue, offsetDateProp = props.offsetDate, defaultOffsetDate = props.defaultOffsetDate, exclude = props.exclude, minDate = props.minDate, maxDate = props.maxDate, className = props.className, getPeriodSwitchAriaLabel = props.getPeriodSwitchAriaLabel, other = __rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onOffsetDateChange", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "defaultOffsetDate", "exclude", "minDate", "maxDate", "className", "getPeriodSwitchAriaLabel"]);
17
- var _c = __read(useControlled({
16
+ var size = props.size, startDay = props.startDay, renderAdditionalControls = props.renderAdditionalControls, locale = props.locale, onChangeProp = props.onChange, onCalendarsChange = props.onCalendarsChange, onOffsetDateChangeProp = props.onOffsetDateChange, calendars = props.calendars, onMonthClick = props.onMonthClick, onDayClick = props.onDayClick, onYearClick = props.onYearClick, valueProp = props.value, defaultValue = props.defaultValue, offsetDateProp = props.offsetDate, defaultOffsetDate = props.defaultOffsetDate, exclude = props.exclude, minDate = props.minDate, maxDate = props.maxDate, className = props.className, getPeriodSwitchAriaLabel = props.getPeriodSwitchAriaLabel, other = __rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onCalendarsChange", "onOffsetDateChange", "calendars", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "defaultOffsetDate", "exclude", "minDate", "maxDate", "className", "getPeriodSwitchAriaLabel"]);
17
+ var _a = __read(useControlled({
18
18
  value: valueProp,
19
19
  defaultValue: defaultValue,
20
20
  name: 'Calendar',
21
21
  state: 'value',
22
- }), 2), value = _c[0], setValue = _c[1];
23
- var _d = __read(useControlled({
22
+ }), 2), value = _a[0], setValue = _a[1];
23
+ var _b = __read(useControlled({
24
24
  value: offsetDateProp,
25
25
  defaultValue: defaultOffsetDate,
26
26
  name: 'Calendar',
27
27
  state: 'offsetDate',
28
- }), 2), offsetDate = _d[0], setOffsetDateState = _d[1];
28
+ }), 2), offsetDate = _b[0], setOffsetDateState = _b[1];
29
+ var onOffsetChange = function (date) {
30
+ setOffsetDateState(date);
31
+ onOffsetDateChangeProp === null || onOffsetDateChangeProp === void 0 ? void 0 : onOffsetDateChangeProp(date);
32
+ };
29
33
  var onDatesChange = function (data) {
30
34
  if (data) {
31
35
  setValue(data);
32
36
  onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(data);
33
37
  }
34
38
  };
35
- var onOffsetChange = function (date) {
36
- setOffsetDateState(date);
37
- onOffsetDateChangeProp === null || onOffsetDateChangeProp === void 0 ? void 0 : onOffsetDateChangeProp(date);
38
- };
39
39
  var config = {
40
- calendar: {
41
- startDay: startDay,
42
- offsets: [1],
43
- },
40
+ calendar: __assign({ startDay: startDay }, (calendars && calendars > 1 && { offsets: [1] })),
44
41
  locale: {
45
42
  locale: locale,
46
43
  day: 'numeric',
47
44
  weekday: 'short',
48
45
  },
49
46
  exclude: exclude,
50
- offsetDate: offsetDate,
51
47
  onDatesChange: onDatesChange,
52
48
  onOffsetChange: onOffsetChange,
53
49
  dates: {
@@ -56,8 +52,9 @@ export var CalendarModeRange = forwardRef(function (inProps, ref) {
56
52
  mode: 'range',
57
53
  selectSameDate: true,
58
54
  },
59
- years: { numberOfYears: 15 },
60
55
  selectedDates: value || [],
56
+ years: { numberOfYears: 15 },
57
+ offsetDate: offsetDate || undefined,
61
58
  };
62
59
  return (React.createElement(DatePickerProvider, { config: config },
63
60
  React.createElement(CalendarContext.Provider, { value: {
@@ -68,9 +65,8 @@ export var CalendarModeRange = forwardRef(function (inProps, ref) {
68
65
  onYearClick: onYearClick,
69
66
  onMonthClick: onMonthClick,
70
67
  getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel,
71
- onOffsetChange: onOffsetChange,
72
68
  } },
73
69
  React.createElement("div", __assign({ className: cnCalendar({ size: size }, [className]) }, other, { ref: ref }),
74
- React.createElement(CalendarConsumer, null),
70
+ React.createElement(Calendars, { onCalendarsChange: onCalendarsChange }),
75
71
  React.createElement(CalendarAdditionalControls, { renderAdditionalControls: renderAdditionalControls })))));
76
72
  });
@@ -1,2 +1 @@
1
1
  export * from './CalendarAdditionalControls';
2
- export * from './CalendarConsumer';
@@ -1,2 +1 @@
1
1
  export * from './CalendarAdditionalControls';
2
- export * from './CalendarConsumer';
@@ -1,2 +1,2 @@
1
- import type { CalendarTypeComponent } from '../../types';
2
- export declare const CalendarModeSingle: CalendarTypeComponent<'single'>;
1
+ import type { CalendarModeComponent } from '../../types';
2
+ export declare const CalendarModeSingle: CalendarModeComponent<'single'>;
@@ -2,30 +2,25 @@ import { __assign, __read, __rest } from "tslib";
2
2
  import React, { forwardRef } from 'react';
3
3
  import { DatePickerProvider } from '@rehookify/datepicker';
4
4
  import { useControlled } from '../../../../hooks/useControlled';
5
- import { useThemeProps } from '../../../../hooks/useThemeProps';
6
5
  import { CalendarContext } from '../../CalendarContext';
7
- import { CALENDAR_DEFAULT_SIZE, CALENDAR_DEFAULT_START_DAY, } from '../../constants';
8
6
  import { cnCalendar } from '../../utils';
9
- import { CalendarAdditionalControls, CalendarConsumer } from './components';
7
+ import { Calendars } from '../index';
8
+ import { CalendarAdditionalControls } from './components';
10
9
  // eslint-disable-next-line react/display-name
11
- export var CalendarModeSingle = forwardRef(function (inProps, ref) {
12
- var props = useThemeProps({
13
- props: inProps,
14
- name: 'Calendar',
15
- });
16
- var _a = props.size, size = _a === void 0 ? CALENDAR_DEFAULT_SIZE : _a, _b = props.startDay, startDay = _b === void 0 ? CALENDAR_DEFAULT_START_DAY : _b, renderAdditionalControls = props.renderAdditionalControls, locale = props.locale, onChangeProp = props.onChange, onOffsetDateChangeProp = props.onOffsetDateChange, onMonthClick = props.onMonthClick, onDayClick = props.onDayClick, onYearClick = props.onYearClick, valueProp = props.value, defaultValue = props.defaultValue, offsetDateProp = props.offsetDate, defaultOffsetDate = props.defaultOffsetDate, exclude = props.exclude, minDate = props.minDate, maxDate = props.maxDate, className = props.className, getPeriodSwitchAriaLabel = props.getPeriodSwitchAriaLabel, other = __rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onOffsetDateChange", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "defaultOffsetDate", "exclude", "minDate", "maxDate", "className", "getPeriodSwitchAriaLabel"]);
17
- var _c = __read(useControlled({
10
+ export var CalendarModeSingle = forwardRef(function (props, ref) {
11
+ var size = props.size, startDay = props.startDay, renderAdditionalControls = props.renderAdditionalControls, locale = props.locale, onChangeProp = props.onChange, onOffsetDateChangeProp = props.onOffsetDateChange, onMonthClick = props.onMonthClick, onDayClick = props.onDayClick, onYearClick = props.onYearClick, valueProp = props.value, defaultValue = props.defaultValue, offsetDateProp = props.offsetDate, onCalendarsChange = props.onCalendarsChange, defaultOffsetDate = props.defaultOffsetDate, exclude = props.exclude, minDate = props.minDate, maxDate = props.maxDate, calendars = props.calendars, className = props.className, getPeriodSwitchAriaLabel = props.getPeriodSwitchAriaLabel, other = __rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onOffsetDateChange", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "onCalendarsChange", "defaultOffsetDate", "exclude", "minDate", "maxDate", "calendars", "className", "getPeriodSwitchAriaLabel"]);
12
+ var _a = __read(useControlled({
18
13
  value: valueProp,
19
14
  defaultValue: defaultValue,
20
15
  name: 'Calendar',
21
16
  state: 'value',
22
- }), 2), value = _c[0], setValue = _c[1];
23
- var _d = __read(useControlled({
17
+ }), 2), value = _a[0], setValue = _a[1];
18
+ var _b = __read(useControlled({
24
19
  value: offsetDateProp,
25
20
  defaultValue: defaultOffsetDate,
26
21
  name: 'Calendar',
27
22
  state: 'offsetDate',
28
- }), 2), offsetDate = _d[0], setOffsetDateState = _d[1];
23
+ }), 2), offsetDate = _b[0], setOffsetDateState = _b[1];
29
24
  var onDatesChange = function (data) {
30
25
  var value = data[0];
31
26
  if (value) {
@@ -38,20 +33,18 @@ export var CalendarModeSingle = forwardRef(function (inProps, ref) {
38
33
  onOffsetDateChangeProp === null || onOffsetDateChangeProp === void 0 ? void 0 : onOffsetDateChangeProp(date);
39
34
  };
40
35
  var config = {
41
- calendar: {
42
- startDay: startDay,
43
- },
36
+ calendar: __assign({ startDay: startDay }, (calendars && calendars > 1 && { offsets: [1] })),
44
37
  locale: {
45
38
  locale: locale,
46
39
  day: 'numeric',
47
40
  weekday: 'short',
48
41
  },
49
42
  exclude: exclude,
50
- offsetDate: offsetDate,
51
43
  onDatesChange: onDatesChange,
52
44
  onOffsetChange: onOffsetChange,
53
45
  dates: { minDate: minDate, maxDate: maxDate },
54
46
  years: { numberOfYears: 15 },
47
+ offsetDate: offsetDate || undefined,
55
48
  selectedDates: value ? [value] : [],
56
49
  };
57
50
  return (React.createElement(DatePickerProvider, { config: config },
@@ -63,9 +56,8 @@ export var CalendarModeSingle = forwardRef(function (inProps, ref) {
63
56
  onYearClick: onYearClick,
64
57
  onMonthClick: onMonthClick,
65
58
  getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel,
66
- onOffsetChange: onOffsetChange,
67
59
  } },
68
60
  React.createElement("div", __assign({ className: cnCalendar({ size: size }, [className]) }, other, { ref: ref }),
69
- React.createElement(CalendarConsumer, null),
61
+ React.createElement(Calendars, { onCalendarsChange: onCalendarsChange }),
70
62
  React.createElement(CalendarAdditionalControls, { renderAdditionalControls: renderAdditionalControls })))));
71
63
  });
@@ -1,2 +1 @@
1
1
  export * from './CalendarAdditionalControls';
2
- export * from './CalendarConsumer';
@@ -1,2 +1 @@
1
1
  export * from './CalendarAdditionalControls';
2
- export * from './CalendarConsumer';
@@ -0,0 +1,5 @@
1
+ import type { FC } from 'react';
2
+ import type { CalendarProps } from '../../index';
3
+ type CalendarsProps = Pick<CalendarProps, 'onCalendarsChange'>;
4
+ export declare const Calendars: FC<CalendarsProps>;
5
+ export {};
@@ -0,0 +1,41 @@
1
+ import { __read } from "tslib";
2
+ import React, { useEffect } from 'react';
3
+ import { useDatePickerContext } from '@rehookify/datepicker';
4
+ import { useMutableRef } from '../../../../hooks/useMutableRef';
5
+ import { Stack } from '../../../Stack';
6
+ import { CalendarItem } from '../index';
7
+ export var Calendars = function (_a) {
8
+ var onCalendarsChange = _a.onCalendarsChange;
9
+ var calendars = useDatePickerContext().data.calendars;
10
+ var _b = __read(calendars || [], 2), calendarFrom = _b[0], calendarTo = _b[1];
11
+ var savedOnCalendarsChange = useMutableRef(onCalendarsChange);
12
+ var calendarFromHash = "".concat(calendarFrom === null || calendarFrom === void 0 ? void 0 : calendarFrom.month, "-").concat(calendarFrom === null || calendarFrom === void 0 ? void 0 : calendarFrom.year);
13
+ var calendarToHash = "".concat(calendarTo === null || calendarTo === void 0 ? void 0 : calendarTo.month, "-").concat(calendarTo === null || calendarTo === void 0 ? void 0 : calendarTo.year);
14
+ useEffect(function () {
15
+ var _a, _b, _c, _d, _e;
16
+ var calendarFromDays = calendarFrom === null || calendarFrom === void 0 ? void 0 : calendarFrom.days;
17
+ var calendarToDays = calendarTo === null || calendarTo === void 0 ? void 0 : calendarTo.days;
18
+ var startPeriod = (_a = calendarFromDays === null || calendarFromDays === void 0 ? void 0 : calendarFromDays.find(function (_a) {
19
+ var inCurrentMonth = _a.inCurrentMonth;
20
+ return inCurrentMonth;
21
+ })) === null || _a === void 0 ? void 0 : _a.$date;
22
+ var endPeriod = calendarToDays
23
+ ? (_c = (_b = calendarToDays === null || calendarToDays === void 0 ? void 0 : calendarToDays.reverse()) === null || _b === void 0 ? void 0 : _b.find(function (_a) {
24
+ var inCurrentMonth = _a.inCurrentMonth;
25
+ return inCurrentMonth;
26
+ })) === null || _c === void 0 ? void 0 : _c.$date
27
+ : (_d = calendarFromDays === null || calendarFromDays === void 0 ? void 0 : calendarFromDays.reverse().find(function (_a) {
28
+ var inCurrentMonth = _a.inCurrentMonth;
29
+ return inCurrentMonth;
30
+ })) === null || _d === void 0 ? void 0 : _d.$date;
31
+ if (startPeriod && endPeriod) {
32
+ (_e = savedOnCalendarsChange.current) === null || _e === void 0 ? void 0 : _e.call(savedOnCalendarsChange, [startPeriod, endPeriod]);
33
+ }
34
+ }, [calendarFromHash, calendarToHash]);
35
+ // There should not be more than two calendars
36
+ if (calendars.length > 2)
37
+ return null;
38
+ return (React.createElement(Stack, null,
39
+ calendarFrom && (React.createElement(CalendarItem, { calendar: calendarFrom, type: calendars.length === 1 ? 'single' : 'first' })),
40
+ calendarTo && React.createElement(CalendarItem, { calendar: calendarTo, type: "last" })));
41
+ };
@@ -0,0 +1 @@
1
+ export * from './Calendars';
@@ -0,0 +1 @@
1
+ export * from './Calendars';
@@ -4,3 +4,4 @@ export * from './CalendarGrid';
4
4
  export * from './CalendarModeSingle';
5
5
  export * from './CalendarModeRange';
6
6
  export * from './CalendarItem';
7
+ export * from './Calendars';
@@ -4,3 +4,4 @@ export * from './CalendarGrid';
4
4
  export * from './CalendarModeSingle';
5
5
  export * from './CalendarModeRange';
6
6
  export * from './CalendarItem';
7
+ export * from './Calendars';
@@ -1,4 +1,4 @@
1
1
  export declare const CALENDAR_DEFAULT_START_DAY = 1;
2
- export declare const CALENDAR_ITEM_DEFAULT_TAG = "button";
3
2
  export declare const CALENDAR_DEFAULT_SIZE = "m";
4
3
  export declare const CALENDAR_DEFAULT_MODE = "single";
4
+ export declare const CALENDAR_DEFAULT_CALENDARS = 1;
@@ -1,4 +1,4 @@
1
1
  export var CALENDAR_DEFAULT_START_DAY = 1;
2
- export var CALENDAR_ITEM_DEFAULT_TAG = 'button';
3
2
  export var CALENDAR_DEFAULT_SIZE = 'm';
4
3
  export var CALENDAR_DEFAULT_MODE = 'single';
4
+ export var CALENDAR_DEFAULT_CALENDARS = 1;
@@ -1,57 +1,93 @@
1
- import type { ComponentPropsWithRef, MouseEvent, ReactElement, ReactNode } from 'react';
1
+ import type { MouseEvent, ReactElement, ReactNode } from 'react';
2
2
  import type { DPExcludeConfig, DPDayInteger } from '@rehookify/datepicker';
3
+ import type { ExtendableComponentPropsWithRef } from '../../types/ExtendableComponentPropsWithRef';
3
4
  import type { CALENDAR_DEFAULT_MODE } from './constants';
4
5
  export declare const calendarStepVariant: readonly ["days", "months", "years"];
5
6
  export declare const calendarSizeVariant: readonly ["s", "m", "l"];
6
7
  export declare const calendarModeVariant: readonly ["single", "range"];
7
8
  export type CalendarStepVariant = (typeof calendarStepVariant)[number];
8
9
  export type CalendarModeVariant = (typeof calendarModeVariant)[number];
9
- export type CalendarValue<MODE extends CalendarModeVariant> = (MODE extends 'range' ? Date[] : Date) | null;
10
- export type CalendarOnChange<MODE extends CalendarModeVariant> = (date: CalendarValue<MODE>) => void;
11
- export type CalendarOnOffsetDateChange = (date: Date) => void;
12
- export type CalendarSizeVariant = (typeof calendarSizeVariant)[number];
13
- export type CalendarExclude = DPExcludeConfig;
14
- export type CalendarStartDay = DPDayInteger;
15
- export type CalendarRenderAdditionalControls<MODE extends CalendarModeVariant> = (props: {
10
+ export type CalendarPropValue<MODE extends CalendarModeVariant> = (MODE extends 'range' ? Date[] : Date) | null;
11
+ export type CalendarPropOnChange<MODE extends CalendarModeVariant> = (date: CalendarPropValue<MODE>) => void;
12
+ export type CalendarPropOnOffsetDateChange = (date: Date) => void;
13
+ export type CalendarPropSize = (typeof calendarSizeVariant)[number];
14
+ export type CalendarPropExclude = DPExcludeConfig;
15
+ export type CalendarPropStartDay = DPDayInteger;
16
+ export type CalendarPropRenderAdditionalControls<MODE extends CalendarModeVariant> = (props: {
16
17
  date?: MODE extends 'range' ? Date[] : Date;
17
18
  }) => ReactElement;
18
- export type CalendarProps<MODE extends CalendarModeVariant = typeof CALENDAR_DEFAULT_MODE> = {
19
+ export type CalendarPropCalendars = 1 | 2;
20
+ /**
21
+ * @deprecated
22
+ * Use the `CalendarPropOnChange` type to replace it.
23
+ * */
24
+ export type CalendarOnChange<MODE extends CalendarModeVariant> = CalendarPropOnChange<MODE>;
25
+ /**
26
+ * @deprecated
27
+ * Use the `CalendarPropOnOffsetDateChange` type to replace it.
28
+ * */
29
+ export type CalendarOnOffsetDateChange = CalendarPropOnOffsetDateChange;
30
+ /**
31
+ * @deprecated
32
+ * Use the `CalendarPropSize` type to replace it.
33
+ * */
34
+ export type CalendarSizeVariant = CalendarPropSize;
35
+ /**
36
+ * @deprecated
37
+ * Use the `CalendarPropExclude` type to replace it.
38
+ * */
39
+ export type CalendarExclude = CalendarPropExclude;
40
+ /**
41
+ * @deprecated
42
+ * Use the `CalendarPropStartDay` type to replace it.
43
+ * */
44
+ export type CalendarStartDay = CalendarPropStartDay;
45
+ export type CalendarRenderAdditionalControls<MODE extends CalendarModeVariant> = CalendarPropRenderAdditionalControls<MODE>;
46
+ export type CalendarProps<MODE extends CalendarModeVariant = typeof CALENDAR_DEFAULT_MODE> = ExtendableComponentPropsWithRef<{
47
+ /** Способ выбора даты:
48
+ * - `single` — позволяет выбрать одну дату (показывает один календарь).
49
+ * - `range` — позволяет выбрать период: дату начала и дату конца (показывает два календаря).
50
+ * */
19
51
  mode?: MODE;
20
52
  /** Выбранная дата */
21
- value?: CalendarValue<MODE>;
53
+ value?: CalendarPropValue<MODE>;
22
54
  /** Выбранная дата по умолчанию (неконтролируемое состояние) */
23
- defaultValue?: CalendarValue<MODE>;
55
+ defaultValue?: CalendarPropValue<MODE>;
24
56
  /** Смещение календаря — на какой странице показать календарь */
25
- offsetDate?: Date;
57
+ offsetDate?: Date | null;
26
58
  /** Смещение календаря по умолчанию */
27
59
  defaultOffsetDate?: Date;
28
60
  /** Обработчик событий выбора даты */
29
- onChange?: CalendarOnChange<MODE>;
61
+ onChange?: CalendarPropOnChange<MODE>;
30
62
  /** Обработчик событий на смещение календаря */
31
- onOffsetDateChange?: CalendarOnOffsetDateChange;
63
+ onOffsetDateChange?: CalendarPropOnOffsetDateChange;
32
64
  /** Локализация */
33
65
  locale?: Intl.LocalesArgument;
34
66
  /** Первый день недели календаря */
35
- startDay?: CalendarStartDay;
67
+ startDay?: CalendarPropStartDay;
36
68
  /** Размер */
37
- size?: CalendarSizeVariant;
69
+ size?: CalendarPropSize;
38
70
  /** Исключенные даты календаря */
39
- exclude?: CalendarExclude;
71
+ exclude?: CalendarPropExclude;
40
72
  /** Ограничение выбора дат по меньшей дате */
41
73
  minDate?: Date;
42
74
  /** Ограничение выбора дат по большей дате */
43
75
  maxDate?: Date;
44
76
  /** Обработчик нажатия на кнопку месяца */
45
- onMonthClick?: (e: MouseEvent<HTMLElement>, date: Date) => void;
77
+ onMonthClick?(e: MouseEvent<HTMLElement>, date: Date): void;
46
78
  /** Обработчик нажатия на кнопку дня */
47
- onDayClick?: (e: MouseEvent<HTMLElement>, date: Date) => void;
79
+ onDayClick?(e: MouseEvent<HTMLElement>, date: Date): void;
48
80
  /** Обработчик нажатия на кнопку года */
49
- onYearClick?: (e: MouseEvent<HTMLElement>, date: Date) => void;
81
+ onYearClick?(e: MouseEvent<HTMLElement>, date: Date): void;
50
82
  /** Дополнительные контролы — рендер функция */
51
- renderAdditionalControls?: CalendarRenderAdditionalControls<MODE>;
52
- /** Функция форматирования атрибута aria-label для кнопок переключения периодов */
83
+ renderAdditionalControls?: CalendarPropRenderAdditionalControls<MODE>;
84
+ /** Функция форматирования атрибута `aria-label` для кнопок переключения периодов */
53
85
  getPeriodSwitchAriaLabel?: (step: CalendarStepVariant) => [string, string];
86
+ /** Обработчик событий на изменение календарей */
87
+ onCalendarsChange?(period: [Date, Date]): void;
88
+ /** Количество отображаемых календарей в компоненте: один или два */
89
+ calendars?: CalendarPropCalendars;
54
90
  children?: never;
55
- } & Omit<ComponentPropsWithRef<'div'>, 'onChange' | 'defaultValue'>;
91
+ }, 'div'>;
56
92
  export type CalendarComponent = <MODE extends CalendarModeVariant = typeof CALENDAR_DEFAULT_MODE>(props: CalendarProps<MODE>) => ReactNode;
57
- export type CalendarTypeComponent<MODE extends CalendarModeVariant> = (props: Omit<CalendarProps<MODE>, 'mode'>) => ReactNode;
93
+ export type CalendarModeComponent<MODE extends CalendarModeVariant> = (props: Omit<CalendarProps<MODE>, 'mode'>) => ReactNode;
@@ -28,7 +28,7 @@
28
28
  }
29
29
  .DataList {
30
30
  overflow: hidden auto;
31
- max-block-size: 40vb;
31
+ max-block-size: 40vh;
32
32
  }
33
33
  .DataList-animation-enter {
34
34
  opacity: 0;
@@ -1,4 +1,15 @@
1
- .DatePicker-RenderRight {
1
+ .DatePicker_mode_date-range {
2
+ display: inline-flex;
3
+ flex-direction: column;
4
+ }
5
+
6
+ .DatePicker_mode_date-range .DatePicker-Fields > * {
7
+ flex: 1 1 auto;
8
+ }
9
+ .DatePicker_fullWidth {
10
+ inline-size: 100%;
11
+ }
12
+ .DatePicker-RenderRight {
2
13
  display: flex;
3
14
  gap: var(--spacing-2xs);
4
15
  }
@@ -1,5 +1,4 @@
1
1
  import './DatePicker.css';
2
- import React from 'react';
3
- import type { DatePickerProps } from './types';
2
+ import type { DatePickerComponent } from './types';
4
3
  export declare const cnDatePicker: import("@bem-react/classname").ClassNameFormatter;
5
- export declare const DatePicker: React.ForwardRefExoticComponent<Omit<DatePickerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ export declare const DatePicker: DatePickerComponent;