@ozen-ui/kit 0.61.0 → 0.62.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 (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
@@ -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;
@@ -19,8 +19,8 @@ exports.Calendar = (0, react_1.forwardRef)(function (inProps, ref) {
19
19
  props: inProps,
20
20
  name: 'Calendar',
21
21
  });
22
- var _a = props.size, size = _a === void 0 ? constants_1.CALENDAR_DEFAULT_SIZE : _a, _b = props.mode, mode = _b === void 0 ? constants_1.CALENDAR_DEFAULT_MODE : _b, _c = props.startDay, startDay = _c === void 0 ? constants_1.CALENDAR_DEFAULT_START_DAY : _c, getPeriodSwitchAriaLabelProp = props.getPeriodSwitchAriaLabel, other = tslib_1.__rest(props, ["size", "mode", "startDay", "getPeriodSwitchAriaLabel"]);
22
+ var _a = props.size, size = _a === void 0 ? constants_1.CALENDAR_DEFAULT_SIZE : _a, _b = props.mode, mode = _b === void 0 ? constants_1.CALENDAR_DEFAULT_MODE : _b, _c = props.startDay, startDay = _c === void 0 ? constants_1.CALENDAR_DEFAULT_START_DAY : _c, _d = props.calendars, calendars = _d === void 0 ? constants_1.CALENDAR_DEFAULT_CALENDARS : _d, getPeriodSwitchAriaLabelProp = props.getPeriodSwitchAriaLabel, other = tslib_1.__rest(props, ["size", "mode", "startDay", "calendars", "getPeriodSwitchAriaLabel"]);
23
23
  var getPeriodSwitchAriaLabel = getPeriodSwitchAriaLabelProp || utils_1.getPeriodSwitchAriaLabel;
24
24
  var Component = (0, getByMap_1.getByMap)(typeMap, mode);
25
- return (react_1.default.createElement(Component, tslib_1.__assign({ size: size, startDay: startDay, getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel }, other, { ref: ref })));
25
+ return (react_1.default.createElement(Component, tslib_1.__assign({ size: size, startDay: startDay, calendars: calendars, getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel }, other, { ref: ref })));
26
26
  });
@@ -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'>;
@@ -7,8 +7,8 @@ var datepicker_1 = require("@rehookify/datepicker");
7
7
  var useControlled_1 = require("../../../../hooks/useControlled");
8
8
  var useThemeProps_1 = require("../../../../hooks/useThemeProps");
9
9
  var CalendarContext_1 = require("../../CalendarContext");
10
- var constants_1 = require("../../constants");
11
10
  var utils_1 = require("../../utils");
11
+ var index_1 = require("../index");
12
12
  var components_1 = require("./components");
13
13
  // eslint-disable-next-line react/display-name
14
14
  exports.CalendarModeRange = (0, react_1.forwardRef)(function (inProps, ref) {
@@ -16,41 +16,37 @@ exports.CalendarModeRange = (0, react_1.forwardRef)(function (inProps, ref) {
16
16
  props: inProps,
17
17
  name: 'Calendar',
18
18
  });
19
- var _a = props.size, size = _a === void 0 ? constants_1.CALENDAR_DEFAULT_SIZE : _a, _b = props.startDay, startDay = _b === void 0 ? constants_1.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 = tslib_1.__rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onOffsetDateChange", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "defaultOffsetDate", "exclude", "minDate", "maxDate", "className", "getPeriodSwitchAriaLabel"]);
20
- var _c = tslib_1.__read((0, useControlled_1.useControlled)({
19
+ 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 = tslib_1.__rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onCalendarsChange", "onOffsetDateChange", "calendars", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "defaultOffsetDate", "exclude", "minDate", "maxDate", "className", "getPeriodSwitchAriaLabel"]);
20
+ var _a = tslib_1.__read((0, useControlled_1.useControlled)({
21
21
  value: valueProp,
22
22
  defaultValue: defaultValue,
23
23
  name: 'Calendar',
24
24
  state: 'value',
25
- }), 2), value = _c[0], setValue = _c[1];
26
- var _d = tslib_1.__read((0, useControlled_1.useControlled)({
25
+ }), 2), value = _a[0], setValue = _a[1];
26
+ var _b = tslib_1.__read((0, useControlled_1.useControlled)({
27
27
  value: offsetDateProp,
28
28
  defaultValue: defaultOffsetDate,
29
29
  name: 'Calendar',
30
30
  state: 'offsetDate',
31
- }), 2), offsetDate = _d[0], setOffsetDateState = _d[1];
31
+ }), 2), offsetDate = _b[0], setOffsetDateState = _b[1];
32
+ var onOffsetChange = function (date) {
33
+ setOffsetDateState(date);
34
+ onOffsetDateChangeProp === null || onOffsetDateChangeProp === void 0 ? void 0 : onOffsetDateChangeProp(date);
35
+ };
32
36
  var onDatesChange = function (data) {
33
37
  if (data) {
34
38
  setValue(data);
35
39
  onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(data);
36
40
  }
37
41
  };
38
- var onOffsetChange = function (date) {
39
- setOffsetDateState(date);
40
- onOffsetDateChangeProp === null || onOffsetDateChangeProp === void 0 ? void 0 : onOffsetDateChangeProp(date);
41
- };
42
42
  var config = {
43
- calendar: {
44
- startDay: startDay,
45
- offsets: [1],
46
- },
43
+ calendar: tslib_1.__assign({ startDay: startDay }, (calendars && calendars > 1 && { offsets: [1] })),
47
44
  locale: {
48
45
  locale: locale,
49
46
  day: 'numeric',
50
47
  weekday: 'short',
51
48
  },
52
49
  exclude: exclude,
53
- offsetDate: offsetDate,
54
50
  onDatesChange: onDatesChange,
55
51
  onOffsetChange: onOffsetChange,
56
52
  dates: {
@@ -59,8 +55,9 @@ exports.CalendarModeRange = (0, react_1.forwardRef)(function (inProps, ref) {
59
55
  mode: 'range',
60
56
  selectSameDate: true,
61
57
  },
62
- years: { numberOfYears: 15 },
63
58
  selectedDates: value || [],
59
+ years: { numberOfYears: 15 },
60
+ offsetDate: offsetDate || undefined,
64
61
  };
65
62
  return (react_1.default.createElement(datepicker_1.DatePickerProvider, { config: config },
66
63
  react_1.default.createElement(CalendarContext_1.CalendarContext.Provider, { value: {
@@ -71,9 +68,8 @@ exports.CalendarModeRange = (0, react_1.forwardRef)(function (inProps, ref) {
71
68
  onYearClick: onYearClick,
72
69
  onMonthClick: onMonthClick,
73
70
  getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel,
74
- onOffsetChange: onOffsetChange,
75
71
  } },
76
72
  react_1.default.createElement("div", tslib_1.__assign({ className: (0, utils_1.cnCalendar)({ size: size }, [className]) }, other, { ref: ref }),
77
- react_1.default.createElement(components_1.CalendarConsumer, null),
73
+ react_1.default.createElement(index_1.Calendars, { onCalendarsChange: onCalendarsChange }),
78
74
  react_1.default.createElement(components_1.CalendarAdditionalControls, { renderAdditionalControls: renderAdditionalControls })))));
79
75
  });
@@ -1,2 +1 @@
1
1
  export * from './CalendarAdditionalControls';
2
- export * from './CalendarConsumer';
@@ -2,4 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./CalendarAdditionalControls"), exports);
5
- tslib_1.__exportStar(require("./CalendarConsumer"), exports);
@@ -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'>;
@@ -5,30 +5,25 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = tslib_1.__importStar(require("react"));
6
6
  var datepicker_1 = require("@rehookify/datepicker");
7
7
  var useControlled_1 = require("../../../../hooks/useControlled");
8
- var useThemeProps_1 = require("../../../../hooks/useThemeProps");
9
8
  var CalendarContext_1 = require("../../CalendarContext");
10
- var constants_1 = require("../../constants");
11
9
  var utils_1 = require("../../utils");
10
+ var index_1 = require("../index");
12
11
  var components_1 = require("./components");
13
12
  // eslint-disable-next-line react/display-name
14
- exports.CalendarModeSingle = (0, react_1.forwardRef)(function (inProps, ref) {
15
- var props = (0, useThemeProps_1.useThemeProps)({
16
- props: inProps,
17
- name: 'Calendar',
18
- });
19
- var _a = props.size, size = _a === void 0 ? constants_1.CALENDAR_DEFAULT_SIZE : _a, _b = props.startDay, startDay = _b === void 0 ? constants_1.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 = tslib_1.__rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onOffsetDateChange", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "defaultOffsetDate", "exclude", "minDate", "maxDate", "className", "getPeriodSwitchAriaLabel"]);
20
- var _c = tslib_1.__read((0, useControlled_1.useControlled)({
13
+ exports.CalendarModeSingle = (0, react_1.forwardRef)(function (props, ref) {
14
+ 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 = tslib_1.__rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onOffsetDateChange", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "onCalendarsChange", "defaultOffsetDate", "exclude", "minDate", "maxDate", "calendars", "className", "getPeriodSwitchAriaLabel"]);
15
+ var _a = tslib_1.__read((0, useControlled_1.useControlled)({
21
16
  value: valueProp,
22
17
  defaultValue: defaultValue,
23
18
  name: 'Calendar',
24
19
  state: 'value',
25
- }), 2), value = _c[0], setValue = _c[1];
26
- var _d = tslib_1.__read((0, useControlled_1.useControlled)({
20
+ }), 2), value = _a[0], setValue = _a[1];
21
+ var _b = tslib_1.__read((0, useControlled_1.useControlled)({
27
22
  value: offsetDateProp,
28
23
  defaultValue: defaultOffsetDate,
29
24
  name: 'Calendar',
30
25
  state: 'offsetDate',
31
- }), 2), offsetDate = _d[0], setOffsetDateState = _d[1];
26
+ }), 2), offsetDate = _b[0], setOffsetDateState = _b[1];
32
27
  var onDatesChange = function (data) {
33
28
  var value = data[0];
34
29
  if (value) {
@@ -41,20 +36,18 @@ exports.CalendarModeSingle = (0, react_1.forwardRef)(function (inProps, ref) {
41
36
  onOffsetDateChangeProp === null || onOffsetDateChangeProp === void 0 ? void 0 : onOffsetDateChangeProp(date);
42
37
  };
43
38
  var config = {
44
- calendar: {
45
- startDay: startDay,
46
- },
39
+ calendar: tslib_1.__assign({ startDay: startDay }, (calendars && calendars > 1 && { offsets: [1] })),
47
40
  locale: {
48
41
  locale: locale,
49
42
  day: 'numeric',
50
43
  weekday: 'short',
51
44
  },
52
45
  exclude: exclude,
53
- offsetDate: offsetDate,
54
46
  onDatesChange: onDatesChange,
55
47
  onOffsetChange: onOffsetChange,
56
48
  dates: { minDate: minDate, maxDate: maxDate },
57
49
  years: { numberOfYears: 15 },
50
+ offsetDate: offsetDate || undefined,
58
51
  selectedDates: value ? [value] : [],
59
52
  };
60
53
  return (react_1.default.createElement(datepicker_1.DatePickerProvider, { config: config },
@@ -66,9 +59,8 @@ exports.CalendarModeSingle = (0, react_1.forwardRef)(function (inProps, ref) {
66
59
  onYearClick: onYearClick,
67
60
  onMonthClick: onMonthClick,
68
61
  getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel,
69
- onOffsetChange: onOffsetChange,
70
62
  } },
71
63
  react_1.default.createElement("div", tslib_1.__assign({ className: (0, utils_1.cnCalendar)({ size: size }, [className]) }, other, { ref: ref }),
72
- react_1.default.createElement(components_1.CalendarConsumer, null),
64
+ react_1.default.createElement(index_1.Calendars, { onCalendarsChange: onCalendarsChange }),
73
65
  react_1.default.createElement(components_1.CalendarAdditionalControls, { renderAdditionalControls: renderAdditionalControls })))));
74
66
  });
@@ -1,2 +1 @@
1
1
  export * from './CalendarAdditionalControls';
2
- export * from './CalendarConsumer';
@@ -2,4 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./CalendarAdditionalControls"), exports);
5
- tslib_1.__exportStar(require("./CalendarConsumer"), exports);
@@ -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,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Calendars = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = tslib_1.__importStar(require("react"));
6
+ var datepicker_1 = require("@rehookify/datepicker");
7
+ var useMutableRef_1 = require("../../../../hooks/useMutableRef");
8
+ var Stack_1 = require("../../../Stack");
9
+ var index_1 = require("../index");
10
+ var Calendars = function (_a) {
11
+ var onCalendarsChange = _a.onCalendarsChange;
12
+ var calendars = (0, datepicker_1.useDatePickerContext)().data.calendars;
13
+ var _b = tslib_1.__read(calendars || [], 2), calendarFrom = _b[0], calendarTo = _b[1];
14
+ var savedOnCalendarsChange = (0, useMutableRef_1.useMutableRef)(onCalendarsChange);
15
+ var calendarFromHash = "".concat(calendarFrom === null || calendarFrom === void 0 ? void 0 : calendarFrom.month, "-").concat(calendarFrom === null || calendarFrom === void 0 ? void 0 : calendarFrom.year);
16
+ var calendarToHash = "".concat(calendarTo === null || calendarTo === void 0 ? void 0 : calendarTo.month, "-").concat(calendarTo === null || calendarTo === void 0 ? void 0 : calendarTo.year);
17
+ (0, react_1.useEffect)(function () {
18
+ var _a, _b, _c, _d, _e;
19
+ var calendarFromDays = calendarFrom === null || calendarFrom === void 0 ? void 0 : calendarFrom.days;
20
+ var calendarToDays = calendarTo === null || calendarTo === void 0 ? void 0 : calendarTo.days;
21
+ var startPeriod = (_a = calendarFromDays === null || calendarFromDays === void 0 ? void 0 : calendarFromDays.find(function (_a) {
22
+ var inCurrentMonth = _a.inCurrentMonth;
23
+ return inCurrentMonth;
24
+ })) === null || _a === void 0 ? void 0 : _a.$date;
25
+ var endPeriod = calendarToDays
26
+ ? (_c = (_b = calendarToDays === null || calendarToDays === void 0 ? void 0 : calendarToDays.reverse()) === null || _b === void 0 ? void 0 : _b.find(function (_a) {
27
+ var inCurrentMonth = _a.inCurrentMonth;
28
+ return inCurrentMonth;
29
+ })) === null || _c === void 0 ? void 0 : _c.$date
30
+ : (_d = calendarFromDays === null || calendarFromDays === void 0 ? void 0 : calendarFromDays.reverse().find(function (_a) {
31
+ var inCurrentMonth = _a.inCurrentMonth;
32
+ return inCurrentMonth;
33
+ })) === null || _d === void 0 ? void 0 : _d.$date;
34
+ if (startPeriod && endPeriod) {
35
+ (_e = savedOnCalendarsChange.current) === null || _e === void 0 ? void 0 : _e.call(savedOnCalendarsChange, [startPeriod, endPeriod]);
36
+ }
37
+ }, [calendarFromHash, calendarToHash]);
38
+ // There should not be more than two calendars
39
+ if (calendars.length > 2)
40
+ return null;
41
+ return (react_1.default.createElement(Stack_1.Stack, null,
42
+ calendarFrom && (react_1.default.createElement(index_1.CalendarItem, { calendar: calendarFrom, type: calendars.length === 1 ? 'single' : 'first' })),
43
+ calendarTo && react_1.default.createElement(index_1.CalendarItem, { calendar: calendarTo, type: "last" })));
44
+ };
45
+ exports.Calendars = Calendars;
@@ -0,0 +1 @@
1
+ export * from './Calendars';
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./CalendarConsumer"), exports);
4
+ tslib_1.__exportStar(require("./Calendars"), exports);
@@ -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';
@@ -7,3 +7,4 @@ tslib_1.__exportStar(require("./CalendarGrid"), exports);
7
7
  tslib_1.__exportStar(require("./CalendarModeSingle"), exports);
8
8
  tslib_1.__exportStar(require("./CalendarModeRange"), exports);
9
9
  tslib_1.__exportStar(require("./CalendarItem"), exports);
10
+ tslib_1.__exportStar(require("./Calendars"), exports);
@@ -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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CALENDAR_DEFAULT_MODE = exports.CALENDAR_DEFAULT_SIZE = exports.CALENDAR_ITEM_DEFAULT_TAG = exports.CALENDAR_DEFAULT_START_DAY = void 0;
3
+ exports.CALENDAR_DEFAULT_CALENDARS = exports.CALENDAR_DEFAULT_MODE = exports.CALENDAR_DEFAULT_SIZE = exports.CALENDAR_DEFAULT_START_DAY = void 0;
4
4
  exports.CALENDAR_DEFAULT_START_DAY = 1;
5
- exports.CALENDAR_ITEM_DEFAULT_TAG = 'button';
6
5
  exports.CALENDAR_DEFAULT_SIZE = 'm';
7
6
  exports.CALENDAR_DEFAULT_MODE = 'single';
7
+ exports.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;