@fluentui/react-calendar-compat 0.0.0-nightly-20231023-0416.1 → 0.0.2

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 (228) hide show
  1. package/CHANGELOG.json +9 -51
  2. package/CHANGELOG.md +7 -14
  3. package/dist/index.d.ts +1376 -0
  4. package/lib/Calendar.js +1 -0
  5. package/lib/Calendar.js.map +1 -0
  6. package/lib/CalendarDay.js +1 -0
  7. package/lib/CalendarDay.js.map +1 -0
  8. package/lib/CalendarDayGrid.js +1 -0
  9. package/lib/CalendarDayGrid.js.map +1 -0
  10. package/lib/CalendarMonth.js +1 -0
  11. package/lib/CalendarMonth.js.map +1 -0
  12. package/lib/CalendarPicker.js +1 -0
  13. package/lib/CalendarPicker.js.map +1 -0
  14. package/lib/CalendarYear.js +1 -0
  15. package/lib/CalendarYear.js.map +1 -0
  16. package/lib/components/Calendar/Calendar.js +302 -0
  17. package/lib/components/Calendar/Calendar.js.map +1 -0
  18. package/lib/components/Calendar/Calendar.types.js +10 -0
  19. package/lib/components/Calendar/Calendar.types.js.map +1 -0
  20. package/lib/components/Calendar/defaults.js +2 -0
  21. package/lib/components/Calendar/defaults.js.map +1 -0
  22. package/lib/components/Calendar/index.js +4 -0
  23. package/lib/components/Calendar/index.js.map +1 -0
  24. package/lib/components/Calendar/useCalendarStyles.styles.js +167 -0
  25. package/lib/components/Calendar/useCalendarStyles.styles.js.map +1 -0
  26. package/lib/components/CalendarDay/CalendarDay.js +111 -0
  27. package/lib/components/CalendarDay/CalendarDay.js.map +1 -0
  28. package/lib/components/CalendarDay/CalendarDay.types.js +1 -0
  29. package/lib/components/CalendarDay/CalendarDay.types.js.map +1 -0
  30. package/lib/components/CalendarDay/index.js +3 -0
  31. package/lib/components/CalendarDay/index.js.map +1 -0
  32. package/lib/components/CalendarDay/useCalendarDayStyles.styles.js +180 -0
  33. package/lib/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -0
  34. package/lib/components/CalendarDayGrid/CalendarDayGrid.js +168 -0
  35. package/lib/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -0
  36. package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js +1 -0
  37. package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js.map +1 -0
  38. package/lib/components/CalendarDayGrid/CalendarGridDayCell.js +164 -0
  39. package/lib/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -0
  40. package/lib/components/CalendarDayGrid/CalendarGridRow.js +26 -0
  41. package/lib/components/CalendarDayGrid/CalendarGridRow.js.map +1 -0
  42. package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js +36 -0
  43. package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +1 -0
  44. package/lib/components/CalendarDayGrid/index.js +4 -0
  45. package/lib/components/CalendarDayGrid/index.js.map +1 -0
  46. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +437 -0
  47. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -0
  48. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js +98 -0
  49. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -0
  50. package/lib/components/CalendarDayGrid/useWeeks.js +45 -0
  51. package/lib/components/CalendarDayGrid/useWeeks.js.map +1 -0
  52. package/lib/components/CalendarMonth/CalendarMonth.js +263 -0
  53. package/lib/components/CalendarMonth/CalendarMonth.js.map +1 -0
  54. package/lib/components/CalendarMonth/CalendarMonth.types.js +1 -0
  55. package/lib/components/CalendarMonth/CalendarMonth.types.js.map +1 -0
  56. package/lib/components/CalendarMonth/index.js +3 -0
  57. package/lib/components/CalendarMonth/index.js.map +1 -0
  58. package/lib/components/CalendarMonth/useCalendarMonthStyles.js +8 -0
  59. package/lib/components/CalendarMonth/useCalendarMonthStyles.js.map +1 -0
  60. package/lib/components/CalendarPicker/CalendarPicker.types.js +1 -0
  61. package/lib/components/CalendarPicker/CalendarPicker.types.js.map +1 -0
  62. package/lib/components/CalendarPicker/index.js +2 -0
  63. package/lib/components/CalendarPicker/index.js.map +1 -0
  64. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js +371 -0
  65. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -0
  66. package/lib/components/CalendarYear/CalendarYear.js +298 -0
  67. package/lib/components/CalendarYear/CalendarYear.js.map +1 -0
  68. package/lib/components/CalendarYear/CalendarYear.types.js +1 -0
  69. package/lib/components/CalendarYear/CalendarYear.types.js.map +1 -0
  70. package/lib/components/CalendarYear/index.js +3 -0
  71. package/lib/components/CalendarYear/index.js.map +1 -0
  72. package/lib/components/CalendarYear/useCalendarYearStyles.styles.js +10 -0
  73. package/lib/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -0
  74. package/lib/index.js +7 -0
  75. package/lib/index.js.map +1 -0
  76. package/lib/utils/animations.js +97 -0
  77. package/lib/utils/animations.js.map +1 -0
  78. package/lib/utils/constants.js +62 -0
  79. package/lib/utils/constants.js.map +1 -0
  80. package/lib/utils/dateFormatting/dateFormatting.defaults.js +95 -0
  81. package/lib/utils/dateFormatting/dateFormatting.defaults.js.map +1 -0
  82. package/lib/utils/dateFormatting/dateFormatting.types.js +1 -0
  83. package/lib/utils/dateFormatting/dateFormatting.types.js.map +1 -0
  84. package/lib/utils/dateFormatting/index.js +2 -0
  85. package/lib/utils/dateFormatting/index.js.map +1 -0
  86. package/lib/utils/dateGrid/dateGrid.types.js +1 -0
  87. package/lib/utils/dateGrid/dateGrid.types.js.map +1 -0
  88. package/lib/utils/dateGrid/findAvailableDate.js +22 -0
  89. package/lib/utils/dateGrid/findAvailableDate.js.map +1 -0
  90. package/lib/utils/dateGrid/getBoundedDateRange.js +18 -0
  91. package/lib/utils/dateGrid/getBoundedDateRange.js.map +1 -0
  92. package/lib/utils/dateGrid/getDateRangeTypeToUse.js +16 -0
  93. package/lib/utils/dateGrid/getDateRangeTypeToUse.js.map +1 -0
  94. package/lib/utils/dateGrid/getDayGrid.js +71 -0
  95. package/lib/utils/dateGrid/getDayGrid.js.map +1 -0
  96. package/lib/utils/dateGrid/index.js +5 -0
  97. package/lib/utils/dateGrid/index.js.map +1 -0
  98. package/lib/utils/dateGrid/isAfterMaxDate.js +9 -0
  99. package/lib/utils/dateGrid/isAfterMaxDate.js.map +1 -0
  100. package/lib/utils/dateGrid/isBeforeMinDate.js +9 -0
  101. package/lib/utils/dateGrid/isBeforeMinDate.js.map +1 -0
  102. package/lib/utils/dateGrid/isContiguous.js +18 -0
  103. package/lib/utils/dateGrid/isContiguous.js.map +1 -0
  104. package/lib/utils/dateGrid/isRestrictedDate.js +15 -0
  105. package/lib/utils/dateGrid/isRestrictedDate.js.map +1 -0
  106. package/lib/utils/dateMath/dateMath.js +339 -0
  107. package/lib/utils/dateMath/dateMath.js.map +1 -0
  108. package/lib/utils/dateMath/index.js +1 -0
  109. package/lib/utils/dateMath/index.js.map +1 -0
  110. package/lib/utils/dom.js +8 -0
  111. package/lib/utils/dom.js.map +1 -0
  112. package/lib/utils/focus.js +26 -0
  113. package/lib/utils/focus.js.map +1 -0
  114. package/lib/utils/index.js +7 -0
  115. package/lib/utils/index.js.map +1 -0
  116. package/lib-commonjs/Calendar.js +6 -0
  117. package/lib-commonjs/Calendar.js.map +1 -0
  118. package/lib-commonjs/CalendarDay.js +6 -0
  119. package/lib-commonjs/CalendarDay.js.map +1 -0
  120. package/lib-commonjs/CalendarDayGrid.js +6 -0
  121. package/lib-commonjs/CalendarDayGrid.js.map +1 -0
  122. package/lib-commonjs/CalendarMonth.js +6 -0
  123. package/lib-commonjs/CalendarMonth.js.map +1 -0
  124. package/lib-commonjs/CalendarPicker.js +6 -0
  125. package/lib-commonjs/CalendarPicker.js.map +1 -0
  126. package/lib-commonjs/CalendarYear.js +6 -0
  127. package/lib-commonjs/CalendarYear.js.map +1 -0
  128. package/lib-commonjs/components/Calendar/Calendar.js +311 -0
  129. package/lib-commonjs/components/Calendar/Calendar.js.map +1 -0
  130. package/lib-commonjs/components/Calendar/Calendar.types.js +21 -0
  131. package/lib-commonjs/components/Calendar/Calendar.types.js.map +1 -0
  132. package/lib-commonjs/components/Calendar/defaults.js +12 -0
  133. package/lib-commonjs/components/Calendar/defaults.js.map +1 -0
  134. package/lib-commonjs/components/Calendar/index.js +15 -0
  135. package/lib-commonjs/components/Calendar/index.js.map +1 -0
  136. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js +339 -0
  137. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +1 -0
  138. package/lib-commonjs/components/CalendarDay/CalendarDay.js +120 -0
  139. package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +1 -0
  140. package/lib-commonjs/components/CalendarDay/CalendarDay.types.js +6 -0
  141. package/lib-commonjs/components/CalendarDay/CalendarDay.types.js.map +1 -0
  142. package/lib-commonjs/components/CalendarDay/index.js +8 -0
  143. package/lib-commonjs/components/CalendarDay/index.js.map +1 -0
  144. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js +357 -0
  145. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -0
  146. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js +179 -0
  147. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -0
  148. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.types.js +6 -0
  149. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.types.js.map +1 -0
  150. package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js +173 -0
  151. package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -0
  152. package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js +35 -0
  153. package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js.map +1 -0
  154. package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js +45 -0
  155. package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +1 -0
  156. package/lib-commonjs/components/CalendarDayGrid/index.js +22 -0
  157. package/lib-commonjs/components/CalendarDayGrid/index.js.map +1 -0
  158. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +890 -0
  159. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -0
  160. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js +105 -0
  161. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -0
  162. package/lib-commonjs/components/CalendarDayGrid/useWeeks.js +54 -0
  163. package/lib-commonjs/components/CalendarDayGrid/useWeeks.js.map +1 -0
  164. package/lib-commonjs/components/CalendarMonth/CalendarMonth.js +272 -0
  165. package/lib-commonjs/components/CalendarMonth/CalendarMonth.js.map +1 -0
  166. package/lib-commonjs/components/CalendarMonth/CalendarMonth.types.js +6 -0
  167. package/lib-commonjs/components/CalendarMonth/CalendarMonth.types.js.map +1 -0
  168. package/lib-commonjs/components/CalendarMonth/index.js +8 -0
  169. package/lib-commonjs/components/CalendarMonth/index.js.map +1 -0
  170. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js +14 -0
  171. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js.map +1 -0
  172. package/lib-commonjs/components/CalendarPicker/CalendarPicker.types.js +4 -0
  173. package/lib-commonjs/components/CalendarPicker/CalendarPicker.types.js.map +1 -0
  174. package/lib-commonjs/components/CalendarPicker/index.js +7 -0
  175. package/lib-commonjs/components/CalendarPicker/index.js.map +1 -0
  176. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js +742 -0
  177. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -0
  178. package/lib-commonjs/components/CalendarYear/CalendarYear.js +307 -0
  179. package/lib-commonjs/components/CalendarYear/CalendarYear.js.map +1 -0
  180. package/lib-commonjs/components/CalendarYear/CalendarYear.types.js +6 -0
  181. package/lib-commonjs/components/CalendarYear/CalendarYear.types.js.map +1 -0
  182. package/lib-commonjs/components/CalendarYear/index.js +8 -0
  183. package/lib-commonjs/components/CalendarYear/index.js.map +1 -0
  184. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js +14 -0
  185. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -0
  186. package/lib-commonjs/index.js +154 -0
  187. package/lib-commonjs/index.js.map +1 -0
  188. package/lib-commonjs/utils/animations.js +154 -0
  189. package/lib-commonjs/utils/animations.js.map +1 -0
  190. package/lib-commonjs/utils/constants.js +92 -0
  191. package/lib-commonjs/utils/constants.js.map +1 -0
  192. package/lib-commonjs/utils/dateFormatting/dateFormatting.defaults.js +116 -0
  193. package/lib-commonjs/utils/dateFormatting/dateFormatting.defaults.js.map +1 -0
  194. package/lib-commonjs/utils/dateFormatting/dateFormatting.types.js +4 -0
  195. package/lib-commonjs/utils/dateFormatting/dateFormatting.types.js.map +1 -0
  196. package/lib-commonjs/utils/dateFormatting/index.js +7 -0
  197. package/lib-commonjs/utils/dateFormatting/index.js.map +1 -0
  198. package/lib-commonjs/utils/dateGrid/dateGrid.types.js +4 -0
  199. package/lib-commonjs/utils/dateGrid/dateGrid.types.js.map +1 -0
  200. package/lib-commonjs/utils/dateGrid/findAvailableDate.js +29 -0
  201. package/lib-commonjs/utils/dateGrid/findAvailableDate.js.map +1 -0
  202. package/lib-commonjs/utils/dateGrid/getBoundedDateRange.js +23 -0
  203. package/lib-commonjs/utils/dateGrid/getBoundedDateRange.js.map +1 -0
  204. package/lib-commonjs/utils/dateGrid/getDateRangeTypeToUse.js +20 -0
  205. package/lib-commonjs/utils/dateGrid/getDateRangeTypeToUse.js.map +1 -0
  206. package/lib-commonjs/utils/dateGrid/getDayGrid.js +76 -0
  207. package/lib-commonjs/utils/dateGrid/getDayGrid.js.map +1 -0
  208. package/lib-commonjs/utils/dateGrid/index.js +10 -0
  209. package/lib-commonjs/utils/dateGrid/index.js.map +1 -0
  210. package/lib-commonjs/utils/dateGrid/isAfterMaxDate.js +15 -0
  211. package/lib-commonjs/utils/dateGrid/isAfterMaxDate.js.map +1 -0
  212. package/lib-commonjs/utils/dateGrid/isBeforeMinDate.js +15 -0
  213. package/lib-commonjs/utils/dateGrid/isBeforeMinDate.js.map +1 -0
  214. package/lib-commonjs/utils/dateGrid/isContiguous.js +28 -0
  215. package/lib-commonjs/utils/dateGrid/isContiguous.js.map +1 -0
  216. package/lib-commonjs/utils/dateGrid/isRestrictedDate.js +21 -0
  217. package/lib-commonjs/utils/dateGrid/isRestrictedDate.js.map +1 -0
  218. package/lib-commonjs/utils/dateMath/dateMath.js +308 -0
  219. package/lib-commonjs/utils/dateMath/dateMath.js.map +1 -0
  220. package/lib-commonjs/utils/dateMath/index.js +6 -0
  221. package/lib-commonjs/utils/dateMath/index.js.map +1 -0
  222. package/lib-commonjs/utils/dom.js +18 -0
  223. package/lib-commonjs/utils/dom.js.map +1 -0
  224. package/lib-commonjs/utils/focus.js +31 -0
  225. package/lib-commonjs/utils/focus.js.map +1 -0
  226. package/lib-commonjs/utils/index.js +12 -0
  227. package/lib-commonjs/utils/index.js.map +1 -0
  228. package/package.json +15 -10
@@ -0,0 +1,298 @@
1
+ import * as React from 'react';
2
+ import { Enter, Space } from '@fluentui/keyboard-keys';
3
+ import { ArrowDownRegular, ArrowUpRegular } from '@fluentui/react-icons';
4
+ import { useFluent_unstable } from '@fluentui/react-shared-contexts';
5
+ import { useArrowNavigationGroup } from '@fluentui/react-tabster';
6
+ import { mergeClasses } from '@griffel/react';
7
+ import { useCalendarYearStyles_unstable } from './useCalendarYearStyles.styles';
8
+ const CELL_COUNT = 12;
9
+ const CELLS_PER_ROW = 4;
10
+ const DefaultCalendarYearStrings = {
11
+ prevRangeAriaLabel: undefined,
12
+ nextRangeAriaLabel: undefined
13
+ };
14
+ const CalendarYearGridCell = (props)=>{
15
+ const { className, highlightCurrentYear, highlightSelectedYear, year, selected, disabled, componentRef, onSelectYear, onRenderYear } = props;
16
+ const buttonRef = React.useRef(null);
17
+ React.useImperativeHandle(componentRef, ()=>({
18
+ focus () {
19
+ var _buttonRef_current_focus, _buttonRef_current;
20
+ (_buttonRef_current = buttonRef.current) === null || _buttonRef_current === void 0 ? void 0 : (_buttonRef_current_focus = _buttonRef_current.focus) === null || _buttonRef_current_focus === void 0 ? void 0 : _buttonRef_current_focus.call(_buttonRef_current);
21
+ }
22
+ }), []);
23
+ const onClick = ()=>{
24
+ onSelectYear === null || onSelectYear === void 0 ? void 0 : onSelectYear(year);
25
+ };
26
+ const onKeyDown = (ev)=>{
27
+ if (ev.key === Enter) {
28
+ onSelectYear === null || onSelectYear === void 0 ? void 0 : onSelectYear(year);
29
+ }
30
+ };
31
+ const classNames = useCalendarYearStyles_unstable({
32
+ className,
33
+ highlightCurrent: highlightCurrentYear,
34
+ highlightSelected: highlightSelectedYear
35
+ });
36
+ var _onRenderYear;
37
+ return /*#__PURE__*/ React.createElement("button", {
38
+ className: mergeClasses(classNames.itemButton, selected && classNames.selected, disabled && classNames.disabled),
39
+ type: "button",
40
+ role: "gridcell",
41
+ onClick: !disabled ? onClick : undefined,
42
+ onKeyDown: !disabled ? onKeyDown : undefined,
43
+ disabled: disabled,
44
+ "aria-selected": selected,
45
+ ref: buttonRef
46
+ }, (_onRenderYear = onRenderYear === null || onRenderYear === void 0 ? void 0 : onRenderYear(year)) !== null && _onRenderYear !== void 0 ? _onRenderYear : year);
47
+ };
48
+ CalendarYearGridCell.displayName = 'CalendarYearGridCell';
49
+ const CalendarYearGrid = (props)=>{
50
+ const { className, fromYear, toYear, animationDirection, animateBackwards, minYear, maxYear, onSelectYear, selectedYear, componentRef } = props;
51
+ const selectedCellRef = React.useRef(null);
52
+ const currentCellRef = React.useRef(null);
53
+ React.useImperativeHandle(componentRef, ()=>({
54
+ focus () {
55
+ var _focus, _this;
56
+ (_this = selectedCellRef.current || currentCellRef.current) === null || _this === void 0 ? void 0 : (_focus = _this.focus) === null || _focus === void 0 ? void 0 : _focus.call(_this);
57
+ }
58
+ }), []);
59
+ const renderCell = (yearToRender)=>{
60
+ const selected = yearToRender === selectedYear;
61
+ const disabled = minYear !== undefined && yearToRender < minYear || maxYear !== undefined && yearToRender > maxYear;
62
+ const current = yearToRender === new Date().getFullYear();
63
+ return /*#__PURE__*/ React.createElement(CalendarYearGridCell, {
64
+ ...props,
65
+ key: yearToRender,
66
+ year: yearToRender,
67
+ selected: selected,
68
+ current: current,
69
+ disabled: disabled,
70
+ onSelectYear: onSelectYear,
71
+ componentRef: selected ? selectedCellRef : current ? currentCellRef : undefined
72
+ });
73
+ };
74
+ const classNames = useCalendarYearStyles_unstable({
75
+ className,
76
+ animateBackwards,
77
+ animationDirection
78
+ });
79
+ const onRenderYear = (value)=>{
80
+ var _props_onRenderYear;
81
+ var _props_onRenderYear1;
82
+ return (_props_onRenderYear1 = (_props_onRenderYear = props.onRenderYear) === null || _props_onRenderYear === void 0 ? void 0 : _props_onRenderYear.call(props, value)) !== null && _props_onRenderYear1 !== void 0 ? _props_onRenderYear1 : value;
83
+ };
84
+ const gridAriaLabel = `${onRenderYear(fromYear)} - ${onRenderYear(toYear)}`;
85
+ let year = fromYear;
86
+ const cells = [];
87
+ for(let i = 0; i < (toYear - fromYear + 1) / CELLS_PER_ROW; i++){
88
+ cells.push([]);
89
+ for(let j = 0; j < CELLS_PER_ROW; j++){
90
+ cells[i].push(renderCell(year));
91
+ year++;
92
+ }
93
+ }
94
+ const arrowNavigationAttributes = useArrowNavigationGroup({
95
+ axis: 'both'
96
+ });
97
+ return /*#__PURE__*/ React.createElement("div", arrowNavigationAttributes, /*#__PURE__*/ React.createElement("div", {
98
+ className: classNames.gridContainer,
99
+ role: "grid",
100
+ "aria-label": gridAriaLabel
101
+ }, cells.map((cellRow, index)=>{
102
+ return /*#__PURE__*/ React.createElement("div", {
103
+ key: 'yearPickerRow_' + index + '_' + fromYear,
104
+ role: "row",
105
+ className: classNames.buttonRow
106
+ }, cellRow);
107
+ })));
108
+ };
109
+ CalendarYearGrid.displayName = 'CalendarYearGrid';
110
+ const CalendarYearNavDirection = {
111
+ Previous: 0,
112
+ Next: 1
113
+ };
114
+ const CalendarYearNavArrow = (props)=>{
115
+ const { className, strings = DefaultCalendarYearStrings, direction, onSelectPrev, onSelectNext, fromYear, toYear, maxYear, minYear } = props;
116
+ const classNames = useCalendarYearStyles_unstable({
117
+ className
118
+ });
119
+ const ariaLabel = direction === CalendarYearNavDirection.Previous ? strings.prevRangeAriaLabel : strings.nextRangeAriaLabel;
120
+ const newRangeOffset = direction === CalendarYearNavDirection.Previous ? -CELL_COUNT : CELL_COUNT;
121
+ const newRange = {
122
+ fromYear: fromYear + newRangeOffset,
123
+ toYear: toYear + newRangeOffset
124
+ };
125
+ const ariaLabelString = ariaLabel ? typeof ariaLabel === 'string' ? ariaLabel : ariaLabel(newRange) : undefined;
126
+ const disabled = direction === CalendarYearNavDirection.Previous ? minYear !== undefined && fromYear < minYear : maxYear !== undefined && props.fromYear + CELL_COUNT > maxYear;
127
+ const onNavigate = ()=>{
128
+ direction === CalendarYearNavDirection.Previous ? onSelectPrev === null || onSelectPrev === void 0 ? void 0 : onSelectPrev() : onSelectNext === null || onSelectNext === void 0 ? void 0 : onSelectNext();
129
+ };
130
+ const onKeyDown = (ev)=>{
131
+ if (ev.key === Enter) {
132
+ onNavigate();
133
+ }
134
+ };
135
+ const { dir } = useFluent_unstable();
136
+ // can be condensed, but leaving verbose for clarity due to regressions
137
+ const isLeftNavigation = dir === 'rtl' ? direction === CalendarYearNavDirection.Next : direction === CalendarYearNavDirection.Previous;
138
+ return /*#__PURE__*/ React.createElement("button", {
139
+ className: mergeClasses(classNames.navigationButton, disabled && classNames.disabled),
140
+ onClick: !disabled ? onNavigate : undefined,
141
+ onKeyDown: !disabled ? onKeyDown : undefined,
142
+ type: "button",
143
+ title: ariaLabelString,
144
+ disabled: disabled
145
+ }, isLeftNavigation ? /*#__PURE__*/ React.createElement(ArrowUpRegular, null) : /*#__PURE__*/ React.createElement(ArrowDownRegular, null));
146
+ };
147
+ CalendarYearNavArrow.displayName = 'CalendarYearNavArrow';
148
+ const CalendarYearNav = (props)=>{
149
+ const { className } = props;
150
+ const classNames = useCalendarYearStyles_unstable({
151
+ className
152
+ });
153
+ return /*#__PURE__*/ React.createElement("div", {
154
+ className: classNames.navigationButtonsContainer
155
+ }, /*#__PURE__*/ React.createElement(CalendarYearNavArrow, {
156
+ ...props,
157
+ direction: CalendarYearNavDirection.Previous
158
+ }), /*#__PURE__*/ React.createElement(CalendarYearNavArrow, {
159
+ ...props,
160
+ direction: CalendarYearNavDirection.Next
161
+ }));
162
+ };
163
+ CalendarYearNav.displayName = 'CalendarYearNav';
164
+ const CalendarYearTitle = (props)=>{
165
+ const { className, fromYear, toYear, strings = DefaultCalendarYearStrings, animateBackwards, animationDirection } = props;
166
+ const onHeaderSelect = ()=>{
167
+ var _props_onHeaderSelect;
168
+ (_props_onHeaderSelect = props.onHeaderSelect) === null || _props_onHeaderSelect === void 0 ? void 0 : _props_onHeaderSelect.call(props, true);
169
+ };
170
+ const onHeaderKeyDown = (ev)=>{
171
+ if (ev.key === Enter || ev.key === Space) {
172
+ onHeaderSelect();
173
+ }
174
+ };
175
+ const onRenderYear = (year)=>{
176
+ var _props_onRenderYear;
177
+ var _props_onRenderYear1;
178
+ return (_props_onRenderYear1 = (_props_onRenderYear = props.onRenderYear) === null || _props_onRenderYear === void 0 ? void 0 : _props_onRenderYear.call(props, year)) !== null && _props_onRenderYear1 !== void 0 ? _props_onRenderYear1 : year;
179
+ };
180
+ const classNames = useCalendarYearStyles_unstable({
181
+ className,
182
+ hasHeaderClickCallback: !!props.onHeaderSelect,
183
+ animateBackwards,
184
+ animationDirection
185
+ });
186
+ if (props.onHeaderSelect) {
187
+ const rangeAriaLabel = strings.rangeAriaLabel;
188
+ const headerAriaLabelFormatString = strings.headerAriaLabelFormatString;
189
+ const currentDateRange = rangeAriaLabel ? typeof rangeAriaLabel === 'string' ? rangeAriaLabel : rangeAriaLabel(props) : undefined;
190
+ const ariaLabel = headerAriaLabelFormatString ? headerAriaLabelFormatString.replace('{0}', currentDateRange !== null && currentDateRange !== void 0 ? currentDateRange : '') : currentDateRange;
191
+ return /*#__PURE__*/ React.createElement("button", {
192
+ className: classNames.currentItemButton,
193
+ onClick: onHeaderSelect,
194
+ onKeyDown: onHeaderKeyDown,
195
+ "aria-label": ariaLabel,
196
+ role: "button",
197
+ type: "button"
198
+ }, /*#__PURE__*/ React.createElement("span", {
199
+ "aria-live": "assertive",
200
+ "aria-atomic": "true"
201
+ }, onRenderYear(fromYear), " - ", onRenderYear(toYear)));
202
+ }
203
+ return /*#__PURE__*/ React.createElement("div", {
204
+ className: classNames.current
205
+ }, onRenderYear(fromYear), " - ", onRenderYear(toYear));
206
+ };
207
+ CalendarYearTitle.displayName = 'CalendarYearTitle';
208
+ const CalendarYearHeader = (props)=>{
209
+ const { className, animateBackwards, animationDirection, onRenderTitle } = props;
210
+ const classNames = useCalendarYearStyles_unstable({
211
+ className,
212
+ hasHeaderClickCallback: !!props.onHeaderSelect,
213
+ animateBackwards,
214
+ animationDirection
215
+ });
216
+ var _onRenderTitle;
217
+ return /*#__PURE__*/ React.createElement("div", {
218
+ className: classNames.headerContainer
219
+ }, (_onRenderTitle = onRenderTitle === null || onRenderTitle === void 0 ? void 0 : onRenderTitle(props)) !== null && _onRenderTitle !== void 0 ? _onRenderTitle : /*#__PURE__*/ React.createElement(CalendarYearTitle, props), /*#__PURE__*/ React.createElement(CalendarYearNav, props));
220
+ };
221
+ CalendarYearHeader.displayName = 'CalendarYearHeader';
222
+ function useAnimateBackwards({ selectedYear, navigatedYear }) {
223
+ const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();
224
+ const fromYear = Math.floor(rangeYear / 10) * 10;
225
+ const previousFromYearRef = React.useRef(fromYear);
226
+ React.useRef(()=>{
227
+ previousFromYearRef.current = fromYear;
228
+ });
229
+ const previousFromYear = previousFromYearRef.current;
230
+ if (!previousFromYear || previousFromYear === fromYear) {
231
+ return undefined;
232
+ } else if (previousFromYear > fromYear) {
233
+ return true;
234
+ } else {
235
+ return false;
236
+ }
237
+ }
238
+ function useYearRangeState({ selectedYear, navigatedYear }) {
239
+ const rangeYear = React.useMemo(()=>{
240
+ return selectedYear || navigatedYear || Math.floor(new Date().getFullYear() / 10) * 10;
241
+ }, [
242
+ navigatedYear,
243
+ selectedYear
244
+ ]);
245
+ const [fromYear, setFromYear] = React.useState(rangeYear);
246
+ const onNavNext = ()=>{
247
+ setFromYear((year)=>year + CELL_COUNT);
248
+ };
249
+ const onNavPrevious = ()=>{
250
+ setFromYear((year)=>year - CELL_COUNT);
251
+ };
252
+ React.useEffect(()=>{
253
+ setFromYear(rangeYear);
254
+ }, [
255
+ rangeYear
256
+ ]);
257
+ const toYear = fromYear + CELL_COUNT - 1;
258
+ return [
259
+ fromYear,
260
+ toYear,
261
+ onNavNext,
262
+ onNavPrevious
263
+ ];
264
+ }
265
+ /**
266
+ * @internal
267
+ */ export const CalendarYear = (props)=>{
268
+ const animateBackwards = useAnimateBackwards(props);
269
+ const [fromYear, toYear, onNavNext, onNavPrevious] = useYearRangeState(props);
270
+ const gridRef = React.useRef(null);
271
+ React.useImperativeHandle(props.componentRef, ()=>({
272
+ focus () {
273
+ var _gridRef_current_focus, _gridRef_current;
274
+ (_gridRef_current = gridRef.current) === null || _gridRef_current === void 0 ? void 0 : (_gridRef_current_focus = _gridRef_current.focus) === null || _gridRef_current_focus === void 0 ? void 0 : _gridRef_current_focus.call(_gridRef_current);
275
+ }
276
+ }));
277
+ const { className } = props;
278
+ const classNames = useCalendarYearStyles_unstable({
279
+ className
280
+ });
281
+ return /*#__PURE__*/ React.createElement("div", {
282
+ className: classNames.root
283
+ }, /*#__PURE__*/ React.createElement(CalendarYearHeader, {
284
+ ...props,
285
+ fromYear: fromYear,
286
+ toYear: toYear,
287
+ onSelectPrev: onNavPrevious,
288
+ onSelectNext: onNavNext,
289
+ animateBackwards: animateBackwards
290
+ }), /*#__PURE__*/ React.createElement(CalendarYearGrid, {
291
+ ...props,
292
+ fromYear: fromYear,
293
+ toYear: toYear,
294
+ animateBackwards: animateBackwards,
295
+ componentRef: gridRef
296
+ }));
297
+ };
298
+ CalendarYear.displayName = 'CalendarYear';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["CalendarYear.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport { ArrowDownRegular, ArrowUpRegular } from '@fluentui/react-icons';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { mergeClasses } from '@griffel/react';\nimport { useCalendarYearStyles_unstable } from './useCalendarYearStyles.styles';\nimport type {\n CalendarYearStrings,\n CalendarYearProps,\n CalendarYearRange,\n CalendarYearHeaderProps,\n} from './CalendarYear.types';\n\nconst CELL_COUNT = 12;\nconst CELLS_PER_ROW = 4;\n\nconst DefaultCalendarYearStrings: CalendarYearStrings = {\n prevRangeAriaLabel: undefined,\n nextRangeAriaLabel: undefined,\n};\ninterface CalendarYearGrid {\n focus(): void;\n}\n\ninterface CalendarYearGridCellProps extends CalendarYearProps {\n year: number;\n current?: boolean;\n selected?: boolean;\n disabled?: boolean;\n onSelectYear?: (year: number) => void;\n onRenderYear?: (year: number) => React.ReactNode;\n}\n\ninterface CalendarYearGridProps extends CalendarYearProps, CalendarYearRange {\n selectedYear?: number;\n animateBackwards?: boolean;\n componentRef?: React.RefObject<CalendarYearGridCell>;\n}\n\ninterface CalendarYearGridCell {\n focus(): void;\n}\n\nconst CalendarYearGridCell: React.FunctionComponent<CalendarYearGridCellProps> = props => {\n const {\n className,\n highlightCurrentYear,\n highlightSelectedYear,\n year,\n selected,\n disabled,\n componentRef,\n onSelectYear,\n onRenderYear,\n } = props;\n\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus() {\n buttonRef.current?.focus?.();\n },\n }),\n [],\n );\n\n const onClick = () => {\n onSelectYear?.(year);\n };\n\n const onKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter) {\n onSelectYear?.(year);\n }\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n highlightCurrent: highlightCurrentYear,\n highlightSelected: highlightSelectedYear,\n });\n\n return (\n <button\n className={mergeClasses(classNames.itemButton, selected && classNames.selected, disabled && classNames.disabled)}\n type=\"button\"\n role=\"gridcell\"\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? onKeyDown : undefined}\n disabled={disabled}\n aria-selected={selected}\n ref={buttonRef}\n >\n {onRenderYear?.(year) ?? year}\n </button>\n );\n};\nCalendarYearGridCell.displayName = 'CalendarYearGridCell';\n\nconst CalendarYearGrid: React.FunctionComponent<CalendarYearGridProps> = props => {\n const {\n className,\n fromYear,\n toYear,\n animationDirection,\n animateBackwards,\n minYear,\n maxYear,\n onSelectYear,\n selectedYear,\n componentRef,\n } = props;\n\n const selectedCellRef = React.useRef<CalendarYearGridCell>(null);\n const currentCellRef = React.useRef<CalendarYearGridCell>(null);\n\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus() {\n (selectedCellRef.current || currentCellRef.current)?.focus?.();\n },\n }),\n [],\n );\n\n const renderCell = (yearToRender: number): React.ReactNode => {\n const selected = yearToRender === selectedYear;\n const disabled =\n (minYear !== undefined && yearToRender < minYear) || (maxYear !== undefined && yearToRender > maxYear);\n const current = yearToRender === new Date().getFullYear();\n\n return (\n <CalendarYearGridCell\n {...props}\n key={yearToRender}\n year={yearToRender}\n selected={selected}\n current={current}\n disabled={disabled}\n onSelectYear={onSelectYear}\n componentRef={selected ? selectedCellRef : current ? currentCellRef : undefined}\n />\n );\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n animateBackwards,\n animationDirection,\n });\n\n const onRenderYear = (value: number) => {\n return props.onRenderYear?.(value) ?? value;\n };\n\n const gridAriaLabel = `${onRenderYear(fromYear)} - ${onRenderYear(toYear)}`;\n\n let year = fromYear;\n const cells: React.ReactNode[][] = [];\n\n for (let i = 0; i < (toYear - fromYear + 1) / CELLS_PER_ROW; i++) {\n cells.push([]);\n for (let j = 0; j < CELLS_PER_ROW; j++) {\n cells[i].push(renderCell(year));\n year++;\n }\n }\n\n const arrowNavigationAttributes = useArrowNavigationGroup({ axis: 'both' });\n\n return (\n <div {...arrowNavigationAttributes}>\n <div className={classNames.gridContainer} role=\"grid\" aria-label={gridAriaLabel}>\n {cells.map((cellRow: React.ReactNode[], index: number) => {\n return (\n <div key={'yearPickerRow_' + index + '_' + fromYear} role=\"row\" className={classNames.buttonRow}>\n {cellRow}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\nCalendarYearGrid.displayName = 'CalendarYearGrid';\n\nconst CalendarYearNavDirection = {\n Previous: 0 as const,\n Next: 1 as const,\n};\n\ninterface CalendarYearNavArrowProps extends CalendarYearHeaderProps {\n direction: (typeof CalendarYearNavDirection)[keyof typeof CalendarYearNavDirection];\n}\n\nconst CalendarYearNavArrow: React.FunctionComponent<CalendarYearNavArrowProps> = props => {\n const {\n className,\n strings = DefaultCalendarYearStrings,\n direction,\n onSelectPrev,\n onSelectNext,\n fromYear,\n toYear,\n maxYear,\n minYear,\n } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n const ariaLabel =\n direction === CalendarYearNavDirection.Previous ? strings.prevRangeAriaLabel : strings.nextRangeAriaLabel;\n const newRangeOffset = direction === CalendarYearNavDirection.Previous ? -CELL_COUNT : CELL_COUNT;\n const newRange = { fromYear: fromYear + newRangeOffset, toYear: toYear + newRangeOffset };\n const ariaLabelString = ariaLabel ? (typeof ariaLabel === 'string' ? ariaLabel : ariaLabel(newRange)) : undefined;\n const disabled =\n direction === CalendarYearNavDirection.Previous\n ? minYear !== undefined && fromYear < minYear\n : maxYear !== undefined && props.fromYear + CELL_COUNT > maxYear;\n\n const onNavigate = () => {\n direction === CalendarYearNavDirection.Previous ? onSelectPrev?.() : onSelectNext?.();\n };\n\n const onKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter) {\n onNavigate();\n }\n };\n\n const { dir } = useFluent_unstable();\n\n // can be condensed, but leaving verbose for clarity due to regressions\n const isLeftNavigation =\n dir === 'rtl' ? direction === CalendarYearNavDirection.Next : direction === CalendarYearNavDirection.Previous;\n\n return (\n <button\n className={mergeClasses(classNames.navigationButton, disabled && classNames.disabled)}\n onClick={!disabled ? onNavigate : undefined}\n onKeyDown={!disabled ? onKeyDown : undefined}\n type=\"button\"\n title={ariaLabelString}\n disabled={disabled}\n >\n {isLeftNavigation ? <ArrowUpRegular /> : <ArrowDownRegular />}\n </button>\n );\n};\nCalendarYearNavArrow.displayName = 'CalendarYearNavArrow';\n\nconst CalendarYearNav: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const { className } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n return (\n <div className={classNames.navigationButtonsContainer}>\n <CalendarYearNavArrow {...props} direction={CalendarYearNavDirection.Previous} />\n <CalendarYearNavArrow {...props} direction={CalendarYearNavDirection.Next} />\n </div>\n );\n};\nCalendarYearNav.displayName = 'CalendarYearNav';\n\nconst CalendarYearTitle: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const {\n className,\n fromYear,\n toYear,\n strings = DefaultCalendarYearStrings,\n animateBackwards,\n animationDirection,\n } = props;\n\n const onHeaderSelect = () => {\n props.onHeaderSelect?.(true);\n };\n\n const onHeaderKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter || ev.key === Space) {\n onHeaderSelect();\n }\n };\n\n const onRenderYear = (year: number) => {\n return props.onRenderYear?.(year) ?? year;\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n hasHeaderClickCallback: !!props.onHeaderSelect,\n animateBackwards,\n animationDirection,\n });\n\n if (props.onHeaderSelect) {\n const rangeAriaLabel = strings.rangeAriaLabel;\n const headerAriaLabelFormatString = strings.headerAriaLabelFormatString;\n const currentDateRange = rangeAriaLabel\n ? typeof rangeAriaLabel === 'string'\n ? rangeAriaLabel\n : rangeAriaLabel(props)\n : undefined;\n\n const ariaLabel = headerAriaLabelFormatString\n ? headerAriaLabelFormatString.replace('{0}', currentDateRange ?? '')\n : currentDateRange;\n\n return (\n <button\n className={classNames.currentItemButton}\n onClick={onHeaderSelect}\n onKeyDown={onHeaderKeyDown}\n aria-label={ariaLabel}\n role=\"button\"\n type=\"button\"\n >\n <span aria-live=\"assertive\" aria-atomic=\"true\">\n {onRenderYear(fromYear)} - {onRenderYear(toYear)}\n </span>\n </button>\n );\n }\n\n return (\n <div className={classNames.current}>\n {onRenderYear(fromYear)} - {onRenderYear(toYear)}\n </div>\n );\n};\nCalendarYearTitle.displayName = 'CalendarYearTitle';\n\nconst CalendarYearHeader: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const { className, animateBackwards, animationDirection, onRenderTitle } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n hasHeaderClickCallback: !!props.onHeaderSelect,\n animateBackwards,\n animationDirection,\n });\n\n return (\n <div className={classNames.headerContainer}>\n {onRenderTitle?.(props) ?? <CalendarYearTitle {...props} />}\n <CalendarYearNav {...props} />\n </div>\n );\n};\nCalendarYearHeader.displayName = 'CalendarYearHeader';\n\nfunction useAnimateBackwards({ selectedYear, navigatedYear }: CalendarYearProps) {\n const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();\n const fromYear = Math.floor(rangeYear / 10) * 10;\n\n const previousFromYearRef = React.useRef<number | undefined>(fromYear);\n React.useRef(() => {\n previousFromYearRef.current = fromYear;\n });\n const previousFromYear = previousFromYearRef.current;\n\n if (!previousFromYear || previousFromYear === fromYear) {\n return undefined;\n } else if (previousFromYear > fromYear) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction useYearRangeState({ selectedYear, navigatedYear }: CalendarYearProps) {\n const rangeYear = React.useMemo(() => {\n return selectedYear || navigatedYear || Math.floor(new Date().getFullYear() / 10) * 10;\n }, [navigatedYear, selectedYear]);\n\n const [fromYear, setFromYear] = React.useState<number>(rangeYear);\n\n const onNavNext = () => {\n setFromYear(year => year + CELL_COUNT);\n };\n\n const onNavPrevious = () => {\n setFromYear(year => year - CELL_COUNT);\n };\n\n React.useEffect(() => {\n setFromYear(rangeYear);\n }, [rangeYear]);\n\n const toYear = fromYear + CELL_COUNT - 1;\n\n return [fromYear, toYear, onNavNext, onNavPrevious] as const;\n}\n\n/**\n * @internal\n */\nexport const CalendarYear: React.FunctionComponent<CalendarYearProps> = props => {\n const animateBackwards = useAnimateBackwards(props);\n const [fromYear, toYear, onNavNext, onNavPrevious] = useYearRangeState(props);\n\n const gridRef = React.useRef<CalendarYearGrid>(null);\n\n React.useImperativeHandle(props.componentRef, () => ({\n focus() {\n gridRef.current?.focus?.();\n },\n }));\n\n const { className } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n return (\n <div className={classNames.root}>\n <CalendarYearHeader\n {...props}\n fromYear={fromYear}\n toYear={toYear}\n onSelectPrev={onNavPrevious}\n onSelectNext={onNavNext}\n animateBackwards={animateBackwards}\n />\n <CalendarYearGrid\n {...props}\n fromYear={fromYear}\n toYear={toYear}\n animateBackwards={animateBackwards}\n componentRef={gridRef}\n />\n </div>\n );\n};\nCalendarYear.displayName = 'CalendarYear';\n"],"names":["React","Enter","Space","ArrowDownRegular","ArrowUpRegular","useFluent_unstable","useArrowNavigationGroup","mergeClasses","useCalendarYearStyles_unstable","CELL_COUNT","CELLS_PER_ROW","DefaultCalendarYearStrings","prevRangeAriaLabel","undefined","nextRangeAriaLabel","CalendarYearGridCell","props","className","highlightCurrentYear","highlightSelectedYear","year","selected","disabled","componentRef","onSelectYear","onRenderYear","buttonRef","useRef","useImperativeHandle","focus","current","onClick","onKeyDown","ev","key","classNames","highlightCurrent","highlightSelected","button","itemButton","type","role","aria-selected","ref","displayName","CalendarYearGrid","fromYear","toYear","animationDirection","animateBackwards","minYear","maxYear","selectedYear","selectedCellRef","currentCellRef","renderCell","yearToRender","Date","getFullYear","value","gridAriaLabel","cells","i","push","j","arrowNavigationAttributes","axis","div","gridContainer","aria-label","map","cellRow","index","buttonRow","CalendarYearNavDirection","Previous","Next","CalendarYearNavArrow","strings","direction","onSelectPrev","onSelectNext","ariaLabel","newRangeOffset","newRange","ariaLabelString","onNavigate","dir","isLeftNavigation","navigationButton","title","CalendarYearNav","navigationButtonsContainer","CalendarYearTitle","onHeaderSelect","onHeaderKeyDown","hasHeaderClickCallback","rangeAriaLabel","headerAriaLabelFormatString","currentDateRange","replace","currentItemButton","span","aria-live","aria-atomic","CalendarYearHeader","onRenderTitle","headerContainer","useAnimateBackwards","navigatedYear","rangeYear","Math","floor","previousFromYearRef","previousFromYear","useYearRangeState","useMemo","setFromYear","useState","onNavNext","onNavPrevious","useEffect","CalendarYear","gridRef","root"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import * as React from 'react';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["CalendarYear.types.ts"],"sourcesContent":["import * as React from 'react';\nimport { AnimationDirection } from '../Calendar/Calendar.types';\nimport type { CalendarPickerStyleProps, CalendarPickerStyles } from '../CalendarPicker/CalendarPicker.types';\n\n/**\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface ICalendarYear {\n focus(): void;\n}\n\n/**\n * @internal\n */\nexport interface CalendarYearRange {\n fromYear: number;\n toYear: number;\n}\n\n/**\n * @internal\n */\nexport interface CalendarYearRangeToString {\n (range: CalendarYearRange): string;\n}\n\n/**\n * @internal\n */\nexport interface CalendarYearStrings {\n rangeAriaLabel?: string | CalendarYearRangeToString;\n prevRangeAriaLabel?: string | CalendarYearRangeToString;\n nextRangeAriaLabel?: string | CalendarYearRangeToString;\n headerAriaLabelFormatString?: string;\n}\n\n/**\n * @internal\n */\nexport interface CalendarYearProps {\n /**\n * Optional callback to access the ICalendarYear interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: React.RefObject<ICalendarYear>;\n\n /**\n * Localized strings to use in the Calendar\n */\n strings?: CalendarYearStrings;\n\n /**\n * The currently selected year\n */\n selectedYear?: number;\n\n /**\n * The currently navigated year\n */\n navigatedYear?: number;\n\n /**\n * Callback action when a year is selected\n * @param year - The year the user selected\n */\n onSelectYear?: (year: number) => void;\n\n /**\n * Callback action when the header is selected\n */\n onHeaderSelect?: (focus: boolean) => void;\n\n /**\n * If set the Calendar will not allow navigation to or selection of a year earlier than this value.\n */\n minYear?: number;\n\n /**\n * If set the Calendar will not allow navigation to or selection of a year later than this value.\n */\n maxYear?: number;\n\n /**\n * Whether the year picker should highlight the current year\n * @default false\n */\n highlightCurrentYear?: boolean;\n\n /**\n * Whether the year picker should highlight the selected year\n * @default false\n */\n highlightSelectedYear?: boolean;\n\n /**\n * Accept custom classNames\n */\n className?: string;\n\n /**\n * Custom renderer for the title\n */\n onRenderTitle?: (props: CalendarYearHeaderProps) => React.ReactNode;\n\n /**\n * Custom renderer for the year\n */\n onRenderYear?: (year: number) => React.ReactNode;\n\n /**\n * The cardinal directions for animation to occur during transitions, either horizontal or veritcal\n */\n animationDirection?: AnimationDirection;\n}\n\n/**\n * @internal\n */\nexport interface CalendarYearStyleProps extends CalendarPickerStyleProps {}\n\n/**\n * @internal\n */\nexport interface CalendarYearStyles extends CalendarPickerStyles {}\n\n/**\n * @internal\n */\nexport interface CalendarYearHeaderProps extends CalendarYearProps, CalendarYearRange {\n /**\n * Callback action when the 'previous' navigation button is selected\n */\n onSelectPrev?: () => void;\n\n /**\n * Callback action when the 'next' navigation button is selected\n */\n onSelectNext?: () => void;\n\n /**\n * Whether title entering animation should be forwards or backwards\n */\n animateBackwards?: boolean;\n}\n"],"names":["React"],"mappings":"AAAA,YAAYA,WAAW,QAAQ"}
@@ -0,0 +1,3 @@
1
+ export * from './CalendarYear';
2
+ export * from './CalendarYear.types';
3
+ export * from './useCalendarYearStyles.styles';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './CalendarYear';\nexport * from './CalendarYear.types';\nexport * from './useCalendarYearStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,iBAAiB;AAC/B,cAAc,uBAAuB;AACrC,cAAc,iCAAiC"}
@@ -0,0 +1,10 @@
1
+ import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';
2
+ /**
3
+ * @internal
4
+ *
5
+ * Apply styling to the CalendarYear slots based on the state
6
+ */
7
+ export const useCalendarYearStyles_unstable = props => {
8
+ return useCalendarPickerStyles_unstable(props);
9
+ };
10
+ //# sourceMappingURL=useCalendarYearStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCalendarPickerStyles_unstable","useCalendarYearStyles_unstable","props"],"sources":["useCalendarYearStyles.styles.js"],"sourcesContent":["import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';\n/**\n * @internal\n *\n * Apply styling to the CalendarYear slots based on the state\n */ export const useCalendarYearStyles_unstable = (props)=>{\n return useCalendarPickerStyles_unstable(props);\n};\n"],"mappings":"AAAA,SAASA,gCAAgC,QAAQ,kDAAkD;AACnG;AACA;AACA;AACA;AACA;AAAI,OAAO,MAAMC,8BAA8B,GAAIC,KAAK,IAAG;EACvD,OAAOF,gCAAgC,CAACE,KAAK,CAAC;AAClD,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export { AnimationDirection, Calendar, calendarClassNames, defaultCalendarStrings, useCalendarStyles_unstable } from './Calendar';
2
+ export { CalendarDay, calendarDayClassNames, useCalendarDayStyles_unstable } from './CalendarDay';
3
+ export { CalendarDayGrid, calendarDayGridClassNames, extraCalendarDayGridClassNames, useCalendarDayGridStyles_unstable } from './CalendarDayGrid';
4
+ export { CalendarMonth, useCalendarMonthStyles_unstable } from './CalendarMonth';
5
+ export { calendarPickerClassNames, useCalendarPickerStyles_unstable } from './CalendarPicker';
6
+ export { CalendarYear, useCalendarYearStyles_unstable } from './CalendarYear';
7
+ export { DAYS_IN_WEEK, DateRangeType, DayOfWeek, DEFAULT_CALENDAR_STRINGS, DEFAULT_DATE_GRID_STRINGS, DEFAULT_DATE_FORMATTING, FirstWeekOfYear, MonthOfYear, TimeConstants, addDays, addMonths, addWeeks, addYears, compareDatePart, compareDates, getDatePartHashValue, getDateRangeArray, getEndDateOfWeek, getMonthEnd, getMonthStart, getStartDateOfWeek, getWeekNumber, getWeekNumbersInMonth, getYearEnd, getYearStart, isInDateRangeArray, setMonth } from './utils';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export {\n AnimationDirection,\n Calendar,\n calendarClassNames,\n defaultCalendarStrings,\n useCalendarStyles_unstable,\n} from './Calendar';\nexport type { CalendarProps, CalendarStyleProps, CalendarStyles, ICalendar } from './Calendar';\n\nexport { CalendarDay, calendarDayClassNames, useCalendarDayStyles_unstable } from './CalendarDay';\nexport type { CalendarDayProps, CalendarDayStyleProps, CalendarDayStyles, ICalendarDay } from './CalendarDay';\n\nexport {\n CalendarDayGrid,\n calendarDayGridClassNames,\n extraCalendarDayGridClassNames,\n useCalendarDayGridStyles_unstable,\n} from './CalendarDayGrid';\nexport type {\n CalendarDayGridProps,\n CalendarDayGridStyleProps,\n CalendarDayGridStyles,\n DayInfo,\n ICalendarDayGrid,\n WeekCorners,\n} from './CalendarDayGrid';\n\nexport { CalendarMonth, useCalendarMonthStyles_unstable } from './CalendarMonth';\nexport type { CalendarMonthProps, CalendarMonthStyleProps, CalendarMonthStyles, ICalendarMonth } from './CalendarMonth';\n\nexport { calendarPickerClassNames, useCalendarPickerStyles_unstable } from './CalendarPicker';\nexport type { CalendarPickerStyleProps, CalendarPickerStyles } from './CalendarPicker';\n\nexport { CalendarYear, useCalendarYearStyles_unstable } from './CalendarYear';\nexport type {\n CalendarYearHeaderProps,\n CalendarYearProps,\n CalendarYearRange,\n CalendarYearRangeToString,\n CalendarYearStrings,\n CalendarYearStyleProps,\n CalendarYearStyles,\n ICalendarYear,\n} from './CalendarYear';\n\nexport {\n DAYS_IN_WEEK,\n DateRangeType,\n DayOfWeek,\n DEFAULT_CALENDAR_STRINGS,\n DEFAULT_DATE_GRID_STRINGS,\n DEFAULT_DATE_FORMATTING,\n FirstWeekOfYear,\n MonthOfYear,\n TimeConstants,\n addDays,\n addMonths,\n addWeeks,\n addYears,\n compareDatePart,\n compareDates,\n getDatePartHashValue,\n getDateRangeArray,\n getEndDateOfWeek,\n getMonthEnd,\n getMonthStart,\n getStartDateOfWeek,\n getWeekNumber,\n getWeekNumbersInMonth,\n getYearEnd,\n getYearStart,\n isInDateRangeArray,\n setMonth,\n} from './utils';\nexport type { CalendarStrings, DateFormatting, DateGridStrings } from './utils';\n"],"names":["AnimationDirection","Calendar","calendarClassNames","defaultCalendarStrings","useCalendarStyles_unstable","CalendarDay","calendarDayClassNames","useCalendarDayStyles_unstable","CalendarDayGrid","calendarDayGridClassNames","extraCalendarDayGridClassNames","useCalendarDayGridStyles_unstable","CalendarMonth","useCalendarMonthStyles_unstable","calendarPickerClassNames","useCalendarPickerStyles_unstable","CalendarYear","useCalendarYearStyles_unstable","DAYS_IN_WEEK","DateRangeType","DayOfWeek","DEFAULT_CALENDAR_STRINGS","DEFAULT_DATE_GRID_STRINGS","DEFAULT_DATE_FORMATTING","FirstWeekOfYear","MonthOfYear","TimeConstants","addDays","addMonths","addWeeks","addYears","compareDatePart","compareDates","getDatePartHashValue","getDateRangeArray","getEndDateOfWeek","getMonthEnd","getMonthStart","getStartDateOfWeek","getWeekNumber","getWeekNumbersInMonth","getYearEnd","getYearStart","isInDateRangeArray","setMonth"],"mappings":"AAAA,SACEA,kBAAkB,EAClBC,QAAQ,EACRC,kBAAkB,EAClBC,sBAAsB,EACtBC,0BAA0B,QACrB,aAAa;AAGpB,SAASC,WAAW,EAAEC,qBAAqB,EAAEC,6BAA6B,QAAQ,gBAAgB;AAGlG,SACEC,eAAe,EACfC,yBAAyB,EACzBC,8BAA8B,EAC9BC,iCAAiC,QAC5B,oBAAoB;AAU3B,SAASC,aAAa,EAAEC,+BAA+B,QAAQ,kBAAkB;AAGjF,SAASC,wBAAwB,EAAEC,gCAAgC,QAAQ,mBAAmB;AAG9F,SAASC,YAAY,EAAEC,8BAA8B,QAAQ,iBAAiB;AAY9E,SACEC,YAAY,EACZC,aAAa,EACbC,SAAS,EACTC,wBAAwB,EACxBC,yBAAyB,EACzBC,uBAAuB,EACvBC,eAAe,EACfC,WAAW,EACXC,aAAa,EACbC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,eAAe,EACfC,YAAY,EACZC,oBAAoB,EACpBC,iBAAiB,EACjBC,gBAAgB,EAChBC,WAAW,EACXC,aAAa,EACbC,kBAAkB,EAClBC,aAAa,EACbC,qBAAqB,EACrBC,UAAU,EACVC,YAAY,EACZC,kBAAkB,EAClBC,QAAQ,QACH,UAAU"}
@@ -0,0 +1,97 @@
1
+ import { shorthands } from '@griffel/react';
2
+ export const EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';
3
+ export const EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';
4
+ export const DURATION_1 = '0.167s';
5
+ export const DURATION_2 = '0.267s';
6
+ export const DURATION_3 = '0.367s';
7
+ export const DURATION_4 = '0.467s';
8
+ export const FADE_IN = {
9
+ from: {
10
+ opacity: 0
11
+ },
12
+ to: {
13
+ opacity: 1
14
+ }
15
+ };
16
+ export const FADE_OUT = {
17
+ from: {
18
+ opacity: 1
19
+ },
20
+ to: {
21
+ opacity: 0,
22
+ visibility: 'hidden'
23
+ }
24
+ };
25
+ export const SLIDE_DOWN_IN20 = {
26
+ from: {
27
+ pointerEvents: 'none',
28
+ transform: 'translate3d(0, -20px, 0)'
29
+ },
30
+ to: {
31
+ pointerEvents: 'auto',
32
+ transform: 'translate3d(0, 0, 0)'
33
+ }
34
+ };
35
+ export const SLIDE_LEFT_IN20 = {
36
+ from: {
37
+ pointerEvents: 'none',
38
+ transform: 'translate3d(20px, 0, 0)'
39
+ },
40
+ to: {
41
+ pointerEvents: 'auto',
42
+ transform: 'translate3d(0, 0, 0)'
43
+ }
44
+ };
45
+ export const SLIDE_RIGHT_IN20 = {
46
+ from: {
47
+ pointerEvents: 'none',
48
+ transform: 'translate3d(-20px, 0, 0)'
49
+ },
50
+ to: {
51
+ pointerEvents: 'auto',
52
+ transform: 'translate3d(0, 0, 0)'
53
+ }
54
+ };
55
+ export const SLIDE_UP_IN20 = {
56
+ from: {
57
+ pointerEvents: 'none',
58
+ transform: 'translate3d(0, 20px, 0)'
59
+ },
60
+ to: {
61
+ pointerEvents: 'auto',
62
+ transform: 'translate3d(0, 0, 0)'
63
+ }
64
+ };
65
+ export const SLIDE_DOWN_OUT20 = {
66
+ from: {
67
+ transform: 'translate3d(0, 0, 0)'
68
+ },
69
+ to: {
70
+ transform: 'translate3d(0, 20px, 0)'
71
+ }
72
+ };
73
+ export const SLIDE_UP_OUT20 = {
74
+ from: {
75
+ transform: 'translate3d(0, 0, 0)'
76
+ },
77
+ to: {
78
+ transform: 'translate3d(0, -20px, 0)'
79
+ }
80
+ };
81
+ export const TRANSITION_ROW_DISAPPEARANCE = {
82
+ '100%': {
83
+ height: '0px',
84
+ ...shorthands.overflow('hidden'),
85
+ width: '0px'
86
+ },
87
+ '99.9%': {
88
+ height: '28px',
89
+ ...shorthands.overflow('visible'),
90
+ width: '100%'
91
+ },
92
+ '0%': {
93
+ height: '28px',
94
+ ...shorthands.overflow('visible'),
95
+ width: '100%'
96
+ }
97
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["animations.ts"],"sourcesContent":["import { shorthands } from '@griffel/react';\n\nexport const EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';\nexport const EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\nexport const DURATION_1 = '0.167s';\nexport const DURATION_2 = '0.267s';\nexport const DURATION_3 = '0.367s';\nexport const DURATION_4 = '0.467s';\n\nexport const FADE_IN = {\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n};\nexport const FADE_OUT = {\n from: {\n opacity: 1,\n },\n to: {\n opacity: 0,\n visibility: 'hidden' as const,\n },\n};\nexport const SLIDE_DOWN_IN20 = {\n from: {\n pointerEvents: 'none' as const,\n transform: 'translate3d(0, -20px, 0)',\n },\n to: {\n pointerEvents: 'auto' as const,\n transform: 'translate3d(0, 0, 0)',\n },\n};\nexport const SLIDE_LEFT_IN20 = {\n from: {\n pointerEvents: 'none' as const,\n transform: 'translate3d(20px, 0, 0)',\n },\n to: {\n pointerEvents: 'auto' as const,\n transform: 'translate3d(0, 0, 0)',\n },\n};\nexport const SLIDE_RIGHT_IN20 = {\n from: {\n pointerEvents: 'none' as const,\n transform: 'translate3d(-20px, 0, 0)',\n },\n to: {\n pointerEvents: 'auto' as const,\n transform: 'translate3d(0, 0, 0)',\n },\n};\nexport const SLIDE_UP_IN20 = {\n from: {\n pointerEvents: 'none' as const,\n transform: 'translate3d(0, 20px, 0)',\n },\n to: {\n pointerEvents: 'auto' as const,\n transform: 'translate3d(0, 0, 0)',\n },\n};\nexport const SLIDE_DOWN_OUT20 = {\n from: {\n transform: 'translate3d(0, 0, 0)',\n },\n to: {\n transform: 'translate3d(0, 20px, 0)',\n },\n};\nexport const SLIDE_UP_OUT20 = {\n from: {\n transform: 'translate3d(0, 0, 0)',\n },\n to: {\n transform: 'translate3d(0, -20px, 0)',\n },\n};\nexport const TRANSITION_ROW_DISAPPEARANCE = {\n '100%': {\n height: '0px',\n ...shorthands.overflow('hidden'),\n width: '0px',\n },\n '99.9%': {\n height: '28px',\n ...shorthands.overflow('visible'),\n width: '100%',\n },\n '0%': {\n height: '28px',\n ...shorthands.overflow('visible'),\n width: '100%',\n },\n};\n"],"names":["shorthands","EASING_FUNCTION_1","EASING_FUNCTION_2","DURATION_1","DURATION_2","DURATION_3","DURATION_4","FADE_IN","from","opacity","to","FADE_OUT","visibility","SLIDE_DOWN_IN20","pointerEvents","transform","SLIDE_LEFT_IN20","SLIDE_RIGHT_IN20","SLIDE_UP_IN20","SLIDE_DOWN_OUT20","SLIDE_UP_OUT20","TRANSITION_ROW_DISAPPEARANCE","height","overflow","width"],"mappings":"AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAE5C,OAAO,MAAMC,oBAAoB,2BAA2B;AAC5D,OAAO,MAAMC,oBAAoB,8BAA8B;AAC/D,OAAO,MAAMC,aAAa,SAAS;AACnC,OAAO,MAAMC,aAAa,SAAS;AACnC,OAAO,MAAMC,aAAa,SAAS;AACnC,OAAO,MAAMC,aAAa,SAAS;AAEnC,OAAO,MAAMC,UAAU;IACrBC,MAAM;QACJC,SAAS;IACX;IACAC,IAAI;QACFD,SAAS;IACX;AACF,EAAE;AACF,OAAO,MAAME,WAAW;IACtBH,MAAM;QACJC,SAAS;IACX;IACAC,IAAI;QACFD,SAAS;QACTG,YAAY;IACd;AACF,EAAE;AACF,OAAO,MAAMC,kBAAkB;IAC7BL,MAAM;QACJM,eAAe;QACfC,WAAW;IACb;IACAL,IAAI;QACFI,eAAe;QACfC,WAAW;IACb;AACF,EAAE;AACF,OAAO,MAAMC,kBAAkB;IAC7BR,MAAM;QACJM,eAAe;QACfC,WAAW;IACb;IACAL,IAAI;QACFI,eAAe;QACfC,WAAW;IACb;AACF,EAAE;AACF,OAAO,MAAME,mBAAmB;IAC9BT,MAAM;QACJM,eAAe;QACfC,WAAW;IACb;IACAL,IAAI;QACFI,eAAe;QACfC,WAAW;IACb;AACF,EAAE;AACF,OAAO,MAAMG,gBAAgB;IAC3BV,MAAM;QACJM,eAAe;QACfC,WAAW;IACb;IACAL,IAAI;QACFI,eAAe;QACfC,WAAW;IACb;AACF,EAAE;AACF,OAAO,MAAMI,mBAAmB;IAC9BX,MAAM;QACJO,WAAW;IACb;IACAL,IAAI;QACFK,WAAW;IACb;AACF,EAAE;AACF,OAAO,MAAMK,iBAAiB;IAC5BZ,MAAM;QACJO,WAAW;IACb;IACAL,IAAI;QACFK,WAAW;IACb;AACF,EAAE;AACF,OAAO,MAAMM,+BAA+B;IAC1C,QAAQ;QACNC,QAAQ;QACR,GAAGtB,WAAWuB,QAAQ,CAAC,SAAS;QAChCC,OAAO;IACT;IACA,SAAS;QACPF,QAAQ;QACR,GAAGtB,WAAWuB,QAAQ,CAAC,UAAU;QACjCC,OAAO;IACT;IACA,MAAM;QACJF,QAAQ;QACR,GAAGtB,WAAWuB,QAAQ,CAAC,UAAU;QACjCC,OAAO;IACT;AACF,EAAE"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * The days of the week
3
+ */ export var DayOfWeek;
4
+ (function(DayOfWeek) {
5
+ DayOfWeek[DayOfWeek["Sunday"] = 0] = "Sunday";
6
+ DayOfWeek[DayOfWeek["Monday"] = 1] = "Monday";
7
+ DayOfWeek[DayOfWeek["Tuesday"] = 2] = "Tuesday";
8
+ DayOfWeek[DayOfWeek["Wednesday"] = 3] = "Wednesday";
9
+ DayOfWeek[DayOfWeek["Thursday"] = 4] = "Thursday";
10
+ DayOfWeek[DayOfWeek["Friday"] = 5] = "Friday";
11
+ DayOfWeek[DayOfWeek["Saturday"] = 6] = "Saturday";
12
+ })(DayOfWeek || (DayOfWeek = {}));
13
+ export var MonthOfYear;
14
+ (function(MonthOfYear) {
15
+ MonthOfYear[MonthOfYear["January"] = 0] = "January";
16
+ MonthOfYear[MonthOfYear["February"] = 1] = "February";
17
+ MonthOfYear[MonthOfYear["March"] = 2] = "March";
18
+ MonthOfYear[MonthOfYear["April"] = 3] = "April";
19
+ MonthOfYear[MonthOfYear["May"] = 4] = "May";
20
+ MonthOfYear[MonthOfYear["June"] = 5] = "June";
21
+ MonthOfYear[MonthOfYear["July"] = 6] = "July";
22
+ MonthOfYear[MonthOfYear["August"] = 7] = "August";
23
+ MonthOfYear[MonthOfYear["September"] = 8] = "September";
24
+ MonthOfYear[MonthOfYear["October"] = 9] = "October";
25
+ MonthOfYear[MonthOfYear["November"] = 10] = "November";
26
+ MonthOfYear[MonthOfYear["December"] = 11] = "December";
27
+ })(MonthOfYear || (MonthOfYear = {}));
28
+ export var FirstWeekOfYear;
29
+ (function(FirstWeekOfYear) {
30
+ FirstWeekOfYear[FirstWeekOfYear["FirstDay"] = 0] = "FirstDay";
31
+ FirstWeekOfYear[FirstWeekOfYear["FirstFullWeek"] = 1] = "FirstFullWeek";
32
+ FirstWeekOfYear[FirstWeekOfYear["FirstFourDayWeek"] = 2] = "FirstFourDayWeek";
33
+ })(FirstWeekOfYear || (FirstWeekOfYear = {}));
34
+ export var DateRangeType;
35
+ (function(DateRangeType) {
36
+ DateRangeType[DateRangeType["Day"] = 0] = "Day";
37
+ DateRangeType[DateRangeType["Week"] = 1] = "Week";
38
+ DateRangeType[DateRangeType["Month"] = 2] = "Month";
39
+ DateRangeType[DateRangeType["WorkWeek"] = 3] = "WorkWeek";
40
+ })(DateRangeType || (DateRangeType = {}));
41
+ export const DAYS_IN_WEEK = 7;
42
+ export const TimeConstants = {
43
+ MillisecondsInOneDay: 86400000,
44
+ MillisecondsIn1Sec: 1000,
45
+ MillisecondsIn1Min: 60000,
46
+ MillisecondsIn30Mins: 1800000,
47
+ MillisecondsIn1Hour: 3600000,
48
+ MinutesInOneDay: 1440,
49
+ MinutesInOneHour: 60,
50
+ DaysInOneWeek: 7,
51
+ MonthInOneYear: 12,
52
+ HoursInOneDay: 24,
53
+ SecondsInOneMinute: 60,
54
+ OffsetTo24HourFormat: 12,
55
+ /**
56
+ * Matches a time string. Groups:
57
+ * 1. hours (with or without leading 0)
58
+ * 2. minutes
59
+ * 3. seconds (optional)
60
+ * 4. meridiem (am/pm, case-insensitive, optional)
61
+ */ TimeFormatRegex: /^(\d\d?):(\d\d):?(\d\d)? ?([ap]m)?/i
62
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["constants.ts"],"sourcesContent":["/**\n * The days of the week\n */\nexport enum DayOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\n/**\n * The months\n */\nexport enum MonthOfYear {\n January = 0,\n February = 1,\n March = 2,\n April = 3,\n May = 4,\n June = 5,\n July = 6,\n August = 7,\n September = 8,\n October = 9,\n November = 10,\n December = 11,\n}\n\n/**\n * First week of the year settings types\n */\nexport enum FirstWeekOfYear {\n FirstDay = 0,\n FirstFullWeek = 1,\n FirstFourDayWeek = 2,\n}\n\n/**\n * The supported date range types\n */\nexport enum DateRangeType {\n Day = 0,\n Week = 1,\n Month = 2,\n WorkWeek = 3,\n}\n\nexport const DAYS_IN_WEEK = 7;\n\nexport const TimeConstants = {\n MillisecondsInOneDay: 86400000,\n MillisecondsIn1Sec: 1000,\n MillisecondsIn1Min: 60000,\n MillisecondsIn30Mins: 1800000,\n MillisecondsIn1Hour: 3600000,\n MinutesInOneDay: 1440,\n MinutesInOneHour: 60,\n DaysInOneWeek: 7,\n MonthInOneYear: 12,\n HoursInOneDay: 24,\n SecondsInOneMinute: 60,\n OffsetTo24HourFormat: 12,\n /**\n * Matches a time string. Groups:\n * 1. hours (with or without leading 0)\n * 2. minutes\n * 3. seconds (optional)\n * 4. meridiem (am/pm, case-insensitive, optional)\n */\n TimeFormatRegex: /^(\\d\\d?):(\\d\\d):?(\\d\\d)? ?([ap]m)?/i,\n};\n"],"names":["DayOfWeek","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","MonthOfYear","January","February","March","April","May","June","July","August","September","October","November","December","FirstWeekOfYear","FirstDay","FirstFullWeek","FirstFourDayWeek","DateRangeType","Day","Week","Month","WorkWeek","DAYS_IN_WEEK","TimeConstants","MillisecondsInOneDay","MillisecondsIn1Sec","MillisecondsIn1Min","MillisecondsIn30Mins","MillisecondsIn1Hour","MinutesInOneDay","MinutesInOneHour","DaysInOneWeek","MonthInOneYear","HoursInOneDay","SecondsInOneMinute","OffsetTo24HourFormat","TimeFormatRegex"],"mappings":"AAAA;;CAEC,cACM;UAAKA,SAAS;IAATA,UAAAA,UACVC,YAAS,KAATA;IADUD,UAAAA,UAEVE,YAAS,KAATA;IAFUF,UAAAA,UAGVG,aAAU,KAAVA;IAHUH,UAAAA,UAIVI,eAAY,KAAZA;IAJUJ,UAAAA,UAKVK,cAAW,KAAXA;IALUL,UAAAA,UAMVM,YAAS,KAATA;IANUN,UAAAA,UAOVO,cAAW,KAAXA;GAPUP,cAAAA;WAaL;UAAKQ,WAAW;IAAXA,YAAAA,YACVC,aAAU,KAAVA;IADUD,YAAAA,YAEVE,cAAW,KAAXA;IAFUF,YAAAA,YAGVG,WAAQ,KAARA;IAHUH,YAAAA,YAIVI,WAAQ,KAARA;IAJUJ,YAAAA,YAKVK,SAAM,KAANA;IALUL,YAAAA,YAMVM,UAAO,KAAPA;IANUN,YAAAA,YAOVO,UAAO,KAAPA;IAPUP,YAAAA,YAQVQ,YAAS,KAATA;IARUR,YAAAA,YASVS,eAAY,KAAZA;IATUT,YAAAA,YAUVU,aAAU,KAAVA;IAVUV,YAAAA,YAWVW,cAAW,MAAXA;IAXUX,YAAAA,YAYVY,cAAW,MAAXA;GAZUZ,gBAAAA;WAkBL;UAAKa,eAAe;IAAfA,gBAAAA,gBACVC,cAAW,KAAXA;IADUD,gBAAAA,gBAEVE,mBAAgB,KAAhBA;IAFUF,gBAAAA,gBAGVG,sBAAmB,KAAnBA;GAHUH,oBAAAA;WASL;UAAKI,aAAa;IAAbA,cAAAA,cACVC,SAAM,KAANA;IADUD,cAAAA,cAEVE,UAAO,KAAPA;IAFUF,cAAAA,cAGVG,WAAQ,KAARA;IAHUH,cAAAA,cAIVI,cAAW,KAAXA;GAJUJ,kBAAAA;AAOZ,OAAO,MAAMK,eAAe,EAAE;AAE9B,OAAO,MAAMC,gBAAgB;IAC3BC,sBAAsB;IACtBC,oBAAoB;IACpBC,oBAAoB;IACpBC,sBAAsB;IACtBC,qBAAqB;IACrBC,iBAAiB;IACjBC,kBAAkB;IAClBC,eAAe;IACfC,gBAAgB;IAChBC,eAAe;IACfC,oBAAoB;IACpBC,sBAAsB;IACtB;;;;;;GAMC,GACDC,iBAAiB;AACnB,EAAE"}