@fluentui/react-datepicker-compat 0.0.0-nightly-20230512-0423.1 → 0.1.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 (264) hide show
  1. package/CHANGELOG.json +65 -31
  2. package/CHANGELOG.md +24 -18
  3. package/dist/index.d.ts +1165 -0
  4. package/lib/Calendar.js +2 -0
  5. package/lib/Calendar.js.map +1 -0
  6. package/lib/CalendarDay.js +2 -0
  7. package/lib/CalendarDay.js.map +1 -0
  8. package/lib/CalendarDayGrid.js +2 -0
  9. package/lib/CalendarDayGrid.js.map +1 -0
  10. package/lib/CalendarMonth.js +2 -0
  11. package/lib/CalendarMonth.js.map +1 -0
  12. package/lib/CalendarPicker.js +2 -0
  13. package/lib/CalendarPicker.js.map +1 -0
  14. package/lib/CalendarYear.js +2 -0
  15. package/lib/CalendarYear.js.map +1 -0
  16. package/lib/DatePicker.js +2 -0
  17. package/lib/DatePicker.js.map +1 -0
  18. package/lib/components/Calendar/Calendar.js +319 -0
  19. package/lib/components/Calendar/Calendar.js.map +1 -0
  20. package/lib/components/Calendar/Calendar.types.js +15 -0
  21. package/lib/components/Calendar/Calendar.types.js.map +1 -0
  22. package/lib/components/Calendar/defaults.js +3 -0
  23. package/lib/components/Calendar/defaults.js.map +1 -0
  24. package/lib/components/Calendar/index.js +5 -0
  25. package/lib/components/Calendar/index.js.map +1 -0
  26. package/lib/components/Calendar/useCalendarStyles.styles.js +149 -0
  27. package/lib/components/Calendar/useCalendarStyles.styles.js.map +1 -0
  28. package/lib/components/CalendarDay/CalendarDay.js +143 -0
  29. package/lib/components/CalendarDay/CalendarDay.js.map +1 -0
  30. package/lib/components/CalendarDay/CalendarDay.types.js +2 -0
  31. package/lib/components/CalendarDay/CalendarDay.types.js.map +1 -0
  32. package/lib/components/CalendarDay/index.js +4 -0
  33. package/lib/components/CalendarDay/index.js.map +1 -0
  34. package/lib/components/CalendarDay/useCalendarDayStyles.styles.js +180 -0
  35. package/lib/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -0
  36. package/lib/components/CalendarDayGrid/CalendarDayGrid.js +183 -0
  37. package/lib/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -0
  38. package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js +2 -0
  39. package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js.map +1 -0
  40. package/lib/components/CalendarDayGrid/CalendarGridDayCell.js +193 -0
  41. package/lib/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -0
  42. package/lib/components/CalendarDayGrid/CalendarGridRow.js +40 -0
  43. package/lib/components/CalendarDayGrid/CalendarGridRow.js.map +1 -0
  44. package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js +46 -0
  45. package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +1 -0
  46. package/lib/components/CalendarDayGrid/index.js +5 -0
  47. package/lib/components/CalendarDayGrid/index.js.map +1 -0
  48. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +443 -0
  49. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -0
  50. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js +98 -0
  51. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -0
  52. package/lib/components/CalendarDayGrid/useWeeks.js +47 -0
  53. package/lib/components/CalendarDayGrid/useWeeks.js.map +1 -0
  54. package/lib/components/CalendarMonth/CalendarMonth.js +282 -0
  55. package/lib/components/CalendarMonth/CalendarMonth.js.map +1 -0
  56. package/lib/components/CalendarMonth/CalendarMonth.types.js +2 -0
  57. package/lib/components/CalendarMonth/CalendarMonth.types.js.map +1 -0
  58. package/lib/components/CalendarMonth/index.js +4 -0
  59. package/lib/components/CalendarMonth/index.js.map +1 -0
  60. package/lib/components/CalendarMonth/useCalendarMonthStyles.js +10 -0
  61. package/lib/components/CalendarMonth/useCalendarMonthStyles.js.map +1 -0
  62. package/lib/components/CalendarPicker/CalendarPicker.types.js +2 -0
  63. package/lib/components/CalendarPicker/CalendarPicker.types.js.map +1 -0
  64. package/lib/components/CalendarPicker/index.js +3 -0
  65. package/lib/components/CalendarPicker/index.js.map +1 -0
  66. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js +371 -0
  67. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -0
  68. package/lib/components/CalendarYear/CalendarYear.js +350 -0
  69. package/lib/components/CalendarYear/CalendarYear.js.map +1 -0
  70. package/lib/components/CalendarYear/CalendarYear.types.js +2 -0
  71. package/lib/components/CalendarYear/CalendarYear.types.js.map +1 -0
  72. package/lib/components/CalendarYear/index.js +4 -0
  73. package/lib/components/CalendarYear/index.js.map +1 -0
  74. package/lib/components/CalendarYear/useCalendarYearStyles.styles.js +10 -0
  75. package/lib/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -0
  76. package/lib/components/DatePicker/DatePicker.js +11 -0
  77. package/lib/components/DatePicker/DatePicker.js.map +1 -0
  78. package/lib/components/DatePicker/DatePicker.types.js +2 -0
  79. package/lib/components/DatePicker/DatePicker.types.js.map +1 -0
  80. package/lib/components/DatePicker/defaults.js +15 -0
  81. package/lib/components/DatePicker/defaults.js.map +1 -0
  82. package/lib/components/DatePicker/index.js +7 -0
  83. package/lib/components/DatePicker/index.js.map +1 -0
  84. package/lib/components/DatePicker/renderDatePicker.js +18 -0
  85. package/lib/components/DatePicker/renderDatePicker.js.map +1 -0
  86. package/lib/components/DatePicker/useDatePicker.js +395 -0
  87. package/lib/components/DatePicker/useDatePicker.js.map +1 -0
  88. package/lib/components/DatePicker/useDatePickerStyles.styles.js +38 -0
  89. package/lib/components/DatePicker/useDatePickerStyles.styles.js.map +1 -0
  90. package/lib/index.js +4 -0
  91. package/lib/index.js.map +1 -0
  92. package/lib/utils/animations.js +98 -0
  93. package/lib/utils/animations.js.map +1 -0
  94. package/lib/utils/constants.js +64 -0
  95. package/lib/utils/constants.js.map +1 -0
  96. package/lib/utils/dateFormatting/dateFormatting.defaults.js +58 -0
  97. package/lib/utils/dateFormatting/dateFormatting.defaults.js.map +1 -0
  98. package/lib/utils/dateFormatting/dateFormatting.types.js +2 -0
  99. package/lib/utils/dateFormatting/dateFormatting.types.js.map +1 -0
  100. package/lib/utils/dateFormatting/index.js +3 -0
  101. package/lib/utils/dateFormatting/index.js.map +1 -0
  102. package/lib/utils/dateGrid/dateGrid.types.js +2 -0
  103. package/lib/utils/dateGrid/dateGrid.types.js.map +1 -0
  104. package/lib/utils/dateGrid/findAvailableDate.js +29 -0
  105. package/lib/utils/dateGrid/findAvailableDate.js.map +1 -0
  106. package/lib/utils/dateGrid/getBoundedDateRange.js +18 -0
  107. package/lib/utils/dateGrid/getBoundedDateRange.js.map +1 -0
  108. package/lib/utils/dateGrid/getDateRangeTypeToUse.js +18 -0
  109. package/lib/utils/dateGrid/getDateRangeTypeToUse.js.map +1 -0
  110. package/lib/utils/dateGrid/getDayGrid.js +85 -0
  111. package/lib/utils/dateGrid/getDayGrid.js.map +1 -0
  112. package/lib/utils/dateGrid/index.js +6 -0
  113. package/lib/utils/dateGrid/index.js.map +1 -0
  114. package/lib/utils/dateGrid/isAfterMaxDate.js +13 -0
  115. package/lib/utils/dateGrid/isAfterMaxDate.js.map +1 -0
  116. package/lib/utils/dateGrid/isBeforeMinDate.js +13 -0
  117. package/lib/utils/dateGrid/isBeforeMinDate.js.map +1 -0
  118. package/lib/utils/dateGrid/isContiguous.js +19 -0
  119. package/lib/utils/dateGrid/isContiguous.js.map +1 -0
  120. package/lib/utils/dateGrid/isRestrictedDate.js +21 -0
  121. package/lib/utils/dateGrid/isRestrictedDate.js.map +1 -0
  122. package/lib/utils/dateMath/dateMath.js +358 -0
  123. package/lib/utils/dateMath/dateMath.js.map +1 -0
  124. package/lib/utils/dateMath/index.js +2 -0
  125. package/lib/utils/dateMath/index.js.map +1 -0
  126. package/lib/utils/dom.js +9 -0
  127. package/lib/utils/dom.js.map +1 -0
  128. package/lib/utils/focus.js +28 -0
  129. package/lib/utils/focus.js.map +1 -0
  130. package/lib/utils/index.js +8 -0
  131. package/lib/utils/index.js.map +1 -0
  132. package/lib/utils/usePopupPositioning.js +25 -0
  133. package/lib/utils/usePopupPositioning.js.map +1 -0
  134. package/lib-commonjs/Calendar.js +9 -0
  135. package/lib-commonjs/Calendar.js.map +1 -0
  136. package/lib-commonjs/CalendarDay.js +9 -0
  137. package/lib-commonjs/CalendarDay.js.map +1 -0
  138. package/lib-commonjs/CalendarDayGrid.js +9 -0
  139. package/lib-commonjs/CalendarDayGrid.js.map +1 -0
  140. package/lib-commonjs/CalendarMonth.js +9 -0
  141. package/lib-commonjs/CalendarMonth.js.map +1 -0
  142. package/lib-commonjs/CalendarPicker.js +9 -0
  143. package/lib-commonjs/CalendarPicker.js.map +1 -0
  144. package/lib-commonjs/CalendarYear.js +9 -0
  145. package/lib-commonjs/CalendarYear.js.map +1 -0
  146. package/lib-commonjs/DatePicker.js +9 -0
  147. package/lib-commonjs/DatePicker.js.map +1 -0
  148. package/lib-commonjs/components/Calendar/Calendar.js +306 -0
  149. package/lib-commonjs/components/Calendar/Calendar.js.map +1 -0
  150. package/lib-commonjs/components/Calendar/Calendar.types.js +21 -0
  151. package/lib-commonjs/components/Calendar/Calendar.types.js.map +1 -0
  152. package/lib-commonjs/components/Calendar/defaults.js +12 -0
  153. package/lib-commonjs/components/Calendar/defaults.js.map +1 -0
  154. package/lib-commonjs/components/Calendar/index.js +16 -0
  155. package/lib-commonjs/components/Calendar/index.js.map +1 -0
  156. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js +286 -0
  157. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +1 -0
  158. package/lib-commonjs/components/CalendarDay/CalendarDay.js +124 -0
  159. package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +1 -0
  160. package/lib-commonjs/components/CalendarDay/CalendarDay.types.js +9 -0
  161. package/lib-commonjs/components/CalendarDay/CalendarDay.types.js.map +1 -0
  162. package/lib-commonjs/components/CalendarDay/index.js +11 -0
  163. package/lib-commonjs/components/CalendarDay/index.js.map +1 -0
  164. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js +356 -0
  165. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -0
  166. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js +181 -0
  167. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -0
  168. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.types.js +9 -0
  169. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.types.js.map +1 -0
  170. package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js +173 -0
  171. package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -0
  172. package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js +35 -0
  173. package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js.map +1 -0
  174. package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js +45 -0
  175. package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +1 -0
  176. package/lib-commonjs/components/CalendarDayGrid/index.js +21 -0
  177. package/lib-commonjs/components/CalendarDayGrid/index.js.map +1 -0
  178. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +916 -0
  179. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -0
  180. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js +103 -0
  181. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -0
  182. package/lib-commonjs/components/CalendarDayGrid/useWeeks.js +54 -0
  183. package/lib-commonjs/components/CalendarDayGrid/useWeeks.js.map +1 -0
  184. package/lib-commonjs/components/CalendarMonth/CalendarMonth.js +271 -0
  185. package/lib-commonjs/components/CalendarMonth/CalendarMonth.js.map +1 -0
  186. package/lib-commonjs/components/CalendarMonth/CalendarMonth.types.js +9 -0
  187. package/lib-commonjs/components/CalendarMonth/CalendarMonth.types.js.map +1 -0
  188. package/lib-commonjs/components/CalendarMonth/index.js +11 -0
  189. package/lib-commonjs/components/CalendarMonth/index.js.map +1 -0
  190. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js +14 -0
  191. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js.map +1 -0
  192. package/lib-commonjs/components/CalendarPicker/CalendarPicker.types.js +7 -0
  193. package/lib-commonjs/components/CalendarPicker/CalendarPicker.types.js.map +1 -0
  194. package/lib-commonjs/components/CalendarPicker/index.js +10 -0
  195. package/lib-commonjs/components/CalendarPicker/index.js.map +1 -0
  196. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js +746 -0
  197. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -0
  198. package/lib-commonjs/components/CalendarYear/CalendarYear.js +307 -0
  199. package/lib-commonjs/components/CalendarYear/CalendarYear.js.map +1 -0
  200. package/lib-commonjs/components/CalendarYear/CalendarYear.types.js +9 -0
  201. package/lib-commonjs/components/CalendarYear/CalendarYear.types.js.map +1 -0
  202. package/lib-commonjs/components/CalendarYear/index.js +11 -0
  203. package/lib-commonjs/components/CalendarYear/index.js.map +1 -0
  204. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js +14 -0
  205. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -0
  206. package/lib-commonjs/components/DatePicker/DatePicker.js +21 -0
  207. package/lib-commonjs/components/DatePicker/DatePicker.js.map +1 -0
  208. package/lib-commonjs/components/DatePicker/DatePicker.types.js +9 -0
  209. package/lib-commonjs/components/DatePicker/DatePicker.types.js.map +1 -0
  210. package/lib-commonjs/components/DatePicker/defaults.js +30 -0
  211. package/lib-commonjs/components/DatePicker/defaults.js.map +1 -0
  212. package/lib-commonjs/components/DatePicker/index.js +14 -0
  213. package/lib-commonjs/components/DatePicker/index.js.map +1 -0
  214. package/lib-commonjs/components/DatePicker/renderDatePicker.js +20 -0
  215. package/lib-commonjs/components/DatePicker/renderDatePicker.js.map +1 -0
  216. package/lib-commonjs/components/DatePicker/useDatePicker.js +440 -0
  217. package/lib-commonjs/components/DatePicker/useDatePicker.js.map +1 -0
  218. package/lib-commonjs/components/DatePicker/useDatePickerStyles.styles.js +55 -0
  219. package/lib-commonjs/components/DatePicker/useDatePickerStyles.styles.js.map +1 -0
  220. package/lib-commonjs/index.js +50 -0
  221. package/lib-commonjs/index.js.map +1 -0
  222. package/lib-commonjs/utils/animations.js +126 -0
  223. package/lib-commonjs/utils/animations.js.map +1 -0
  224. package/lib-commonjs/utils/constants.js +82 -0
  225. package/lib-commonjs/utils/constants.js.map +1 -0
  226. package/lib-commonjs/utils/dateFormatting/dateFormatting.defaults.js +102 -0
  227. package/lib-commonjs/utils/dateFormatting/dateFormatting.defaults.js.map +1 -0
  228. package/lib-commonjs/utils/dateFormatting/dateFormatting.types.js +7 -0
  229. package/lib-commonjs/utils/dateFormatting/dateFormatting.types.js.map +1 -0
  230. package/lib-commonjs/utils/dateFormatting/index.js +10 -0
  231. package/lib-commonjs/utils/dateFormatting/index.js.map +1 -0
  232. package/lib-commonjs/utils/dateGrid/dateGrid.types.js +7 -0
  233. package/lib-commonjs/utils/dateGrid/dateGrid.types.js.map +1 -0
  234. package/lib-commonjs/utils/dateGrid/findAvailableDate.js +29 -0
  235. package/lib-commonjs/utils/dateGrid/findAvailableDate.js.map +1 -0
  236. package/lib-commonjs/utils/dateGrid/getBoundedDateRange.js +23 -0
  237. package/lib-commonjs/utils/dateGrid/getBoundedDateRange.js.map +1 -0
  238. package/lib-commonjs/utils/dateGrid/getDateRangeTypeToUse.js +20 -0
  239. package/lib-commonjs/utils/dateGrid/getDateRangeTypeToUse.js.map +1 -0
  240. package/lib-commonjs/utils/dateGrid/getDayGrid.js +76 -0
  241. package/lib-commonjs/utils/dateGrid/getDayGrid.js.map +1 -0
  242. package/lib-commonjs/utils/dateGrid/index.js +13 -0
  243. package/lib-commonjs/utils/dateGrid/index.js.map +1 -0
  244. package/lib-commonjs/utils/dateGrid/isAfterMaxDate.js +15 -0
  245. package/lib-commonjs/utils/dateGrid/isAfterMaxDate.js.map +1 -0
  246. package/lib-commonjs/utils/dateGrid/isBeforeMinDate.js +15 -0
  247. package/lib-commonjs/utils/dateGrid/isBeforeMinDate.js.map +1 -0
  248. package/lib-commonjs/utils/dateGrid/isContiguous.js +28 -0
  249. package/lib-commonjs/utils/dateGrid/isContiguous.js.map +1 -0
  250. package/lib-commonjs/utils/dateGrid/isRestrictedDate.js +21 -0
  251. package/lib-commonjs/utils/dateGrid/isRestrictedDate.js.map +1 -0
  252. package/lib-commonjs/utils/dateMath/dateMath.js +274 -0
  253. package/lib-commonjs/utils/dateMath/dateMath.js.map +1 -0
  254. package/lib-commonjs/utils/dateMath/index.js +9 -0
  255. package/lib-commonjs/utils/dateMath/index.js.map +1 -0
  256. package/lib-commonjs/utils/dom.js +18 -0
  257. package/lib-commonjs/utils/dom.js.map +1 -0
  258. package/lib-commonjs/utils/focus.js +31 -0
  259. package/lib-commonjs/utils/focus.js.map +1 -0
  260. package/lib-commonjs/utils/index.js +15 -0
  261. package/lib-commonjs/utils/index.js.map +1 -0
  262. package/lib-commonjs/utils/usePopupPositioning.js +26 -0
  263. package/lib-commonjs/utils/usePopupPositioning.js.map +1 -0
  264. package/package.json +19 -14
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tokens","__styles","mergeClasses","shorthands","calendarClassNames","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","base","mc9l5x","a9b677","normalize","E5pizo","B7ck84d","B6of3ja","t21cq0","jrapky","Frg6f3","z8tnut","z189sj","Byoj8tv","uwmqm3","monthPickerNotVisible","Beiy3e4","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","d","useDividerStyles","g2u3we","h3c5rm","B9xav0g","zhjwy3","Bekrc4i","vrafjx","Bhzewxz","useMonthPickerWrapperStyles","useGoTodayButtonStyles","qb2dma","De3pzq","icvyot","oivjwe","wvpqe5","B5kzvoi","sj55zd","Bahqtrf","Be2twd7","Bqenvij","Bg96gwp","B68tc82","Bmxbyg5","seuwu7","Jwef8y","Bi91k9c","eoavqd","B2d53fq","Dyrjrp","Be90el1","h","useLiveRegionStyles","B4j52fo","Bn0qgzm","ibv6hh","qhf8xq","useCalendarStyles_unstable","props","rootStyles","dividerStyles","monthPickerWrapperStyles","goTodayButtonStyles","liveRegionStyles","className","isDayPickerVisible","isMonthPickerVisible","showWeekNumbers"],"sources":["../../../src/components/Calendar/useCalendarStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarStyles, CalendarStyleProps } from './Calendar.types';\n\n/**\n * @internal\n */\nexport const calendarClassNames: SlotClassNames<CalendarStyles> = {\n root: 'fui-Calendar',\n divider: 'fui-Calendar__divider',\n goTodayButton: 'fui-Calendar__goTodayButton',\n monthPickerWrapper: 'fui-Calendar__monthPickerWrapper',\n liveRegion: 'fui-Calendar__liveRegion',\n};\n\nconst useRootStyles = makeStyles({\n base: {\n display: 'flex',\n width: '220px',\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n ...shorthands.margin(0),\n ...shorthands.padding(0),\n },\n monthPickerNotVisible: {\n flexDirection: 'column',\n },\n dayAndMonthPickersVisible: {\n width: '440px',\n },\n dayPickerVisibleAndWeekNumbersShown: {\n width: '250px',\n },\n dayAndMonthPickersVisibleAndWeekNumbersShown: {\n width: '470px',\n },\n});\n\nconst useDividerStyles = makeStyles({\n base: {\n ...shorthands.borderColor(tokens.colorNeutralStroke2),\n ...shorthands.borderRight('1px', 'solid'),\n top: 0,\n },\n});\n\nconst useMonthPickerWrapperStyles = makeStyles({\n base: {\n display: 'flex',\n flexDirection: 'column',\n },\n});\n\nconst useGoTodayButtonStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n bottom: 0,\n boxSizing: 'content-box',\n color: tokens.colorNeutralForeground1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '30px',\n lineHeight: '30px',\n marginRight: '16px',\n marginTop: '3px',\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0, '4px'),\n\n '& div': {\n fontSize: tokens.fontSizeBase200,\n },\n '&:hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorBrandForeground1,\n cursor: 'pointer',\n },\n '&:hover:active': {\n color: tokens.colorBrandForeground2,\n },\n '&:disabled': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n },\n});\n\nconst useLiveRegionStyles = makeStyles({\n base: {\n ...shorthands.border(0),\n height: '1px',\n ...shorthands.margin('-1px'),\n ...shorthands.overflow('hidden'),\n ...shorthands.padding(0),\n position: 'absolute',\n width: '1px',\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the Calendar slots based on the state\n */\nexport const useCalendarStyles_unstable = (props: CalendarStyleProps): CalendarStyles => {\n const rootStyles = useRootStyles();\n const dividerStyles = useDividerStyles();\n const monthPickerWrapperStyles = useMonthPickerWrapperStyles();\n const goTodayButtonStyles = useGoTodayButtonStyles();\n const liveRegionStyles = useLiveRegionStyles();\n\n const { className, isDayPickerVisible, isMonthPickerVisible, showWeekNumbers } = props;\n\n return {\n root: mergeClasses(\n calendarClassNames.root,\n rootStyles.base,\n rootStyles.normalize,\n !isMonthPickerVisible && rootStyles.monthPickerNotVisible,\n isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible,\n isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown,\n isDayPickerVisible &&\n isMonthPickerVisible &&\n showWeekNumbers &&\n rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown,\n className,\n ),\n divider: mergeClasses(calendarClassNames.divider, dividerStyles.base),\n monthPickerWrapper: mergeClasses(calendarClassNames.monthPickerWrapper, monthPickerWrapperStyles.base),\n goTodayButton: mergeClasses(calendarClassNames.goTodayButton, goTodayButtonStyles.base),\n liveRegion: mergeClasses(calendarClassNames.liveRegion, liveRegionStyles.base),\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import * as React from 'react';
2
+ import { Enter } from '@fluentui/keyboard-keys';
3
+ import { ArrowDownRegular, ArrowUpRegular, DismissRegular } from '@fluentui/react-icons';
4
+ import { useId } from '@fluentui/react-utilities';
5
+ import { mergeClasses } from '@griffel/react';
6
+ import { addMonths, compareDatePart, getMonthEnd, getMonthStart } from '../../utils';
7
+ import { CalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid';
8
+ import { useCalendarDayStyles_unstable } from './useCalendarDayStyles.styles';
9
+ /**
10
+ * @internal
11
+ */
12
+ export const CalendarDay = props => {
13
+ const dayGrid = React.useRef(null);
14
+ React.useImperativeHandle(props.componentRef, () => {
15
+ return {
16
+ focus() {
17
+ var _dayGrid_current, _dayGrid_current_focus;
18
+ (_dayGrid_current = dayGrid.current) === null || _dayGrid_current === void 0 ? void 0 : (_dayGrid_current_focus = _dayGrid_current.focus) === null || _dayGrid_current_focus === void 0 ? void 0 : _dayGrid_current_focus.call(_dayGrid_current);
19
+ }
20
+ };
21
+ }, []);
22
+ const {
23
+ strings,
24
+ navigatedDate,
25
+ dateTimeFormatter,
26
+ className,
27
+ onHeaderSelect,
28
+ showSixWeeksByDefault,
29
+ minDate,
30
+ maxDate,
31
+ restrictedDates,
32
+ onNavigateDate,
33
+ showWeekNumbers,
34
+ dateRangeType,
35
+ animationDirection
36
+ } = props;
37
+ const monthAndYearId = useId();
38
+ const classNames = useCalendarDayStyles_unstable({
39
+ className,
40
+ headerIsClickable: !!onHeaderSelect,
41
+ showWeekNumbers,
42
+ animationDirection
43
+ });
44
+ const monthAndYear = dateTimeFormatter.formatMonthYear(navigatedDate, strings);
45
+ const HeaderButtonComponentType = onHeaderSelect ? 'button' : 'div';
46
+ const headerAriaLabel = strings.yearPickerHeaderAriaLabel ? strings.yearPickerHeaderAriaLabel.replace('{0}', monthAndYear) : monthAndYear;
47
+ const {
48
+ ...propsWithoutStyles
49
+ } = props;
50
+ return /*#__PURE__*/React.createElement("div", {
51
+ className: classNames.root
52
+ }, /*#__PURE__*/React.createElement("div", {
53
+ className: classNames.header
54
+ }, /*#__PURE__*/React.createElement(HeaderButtonComponentType, {
55
+ "aria-label": onHeaderSelect ? headerAriaLabel : undefined,
56
+ className: classNames.monthAndYear,
57
+ onClick: onHeaderSelect,
58
+ tabIndex: onHeaderSelect ? 0 : -1,
59
+ onKeyDown: onButtonKeyDown(onHeaderSelect),
60
+ type: "button"
61
+ }, /*#__PURE__*/React.createElement("span", {
62
+ id: monthAndYearId,
63
+ "aria-live": "polite",
64
+ "aria-atomic": "true"
65
+ }, monthAndYear)), /*#__PURE__*/React.createElement(CalendarDayNavigationButtons, {
66
+ ...props,
67
+ classNames: classNames
68
+ })), /*#__PURE__*/React.createElement(CalendarDayGrid, {
69
+ ...propsWithoutStyles,
70
+ componentRef: dayGrid,
71
+ strings: strings,
72
+ navigatedDate: navigatedDate,
73
+ weeksToShow: showSixWeeksByDefault ? 6 : undefined,
74
+ dateTimeFormatter: dateTimeFormatter,
75
+ minDate: minDate,
76
+ maxDate: maxDate,
77
+ restrictedDates: restrictedDates,
78
+ onNavigateDate: onNavigateDate,
79
+ labelledBy: monthAndYearId,
80
+ dateRangeType: dateRangeType
81
+ }));
82
+ };
83
+ CalendarDay.displayName = 'CalendarDay';
84
+ const CalendarDayNavigationButtons = props => {
85
+ const {
86
+ minDate,
87
+ maxDate,
88
+ navigatedDate,
89
+ allFocusable,
90
+ strings,
91
+ showCloseButton,
92
+ classNames,
93
+ onNavigateDate,
94
+ onDismiss
95
+ } = props;
96
+ const onSelectNextMonth = () => {
97
+ onNavigateDate(addMonths(navigatedDate, 1), false);
98
+ };
99
+ const onSelectPrevMonth = () => {
100
+ onNavigateDate(addMonths(navigatedDate, -1), false);
101
+ };
102
+ // determine if previous/next months are in bounds
103
+ const prevMonthInBounds = minDate ? compareDatePart(minDate, getMonthStart(navigatedDate)) < 0 : true;
104
+ const nextMonthInBounds = maxDate ? compareDatePart(getMonthEnd(navigatedDate), maxDate) < 0 : true;
105
+ // use aria-disabled instead of disabled so focus is not lost
106
+ // when a prev/next button becomes disabled after being clicked
107
+ return /*#__PURE__*/React.createElement("div", {
108
+ className: classNames.monthComponents
109
+ }, /*#__PURE__*/React.createElement("button", {
110
+ className: mergeClasses(classNames.headerIconButton, !prevMonthInBounds && classNames.disabledStyle),
111
+ tabIndex: prevMonthInBounds ? undefined : allFocusable ? 0 : -1,
112
+ "aria-disabled": !prevMonthInBounds,
113
+ onClick: prevMonthInBounds ? onSelectPrevMonth : undefined,
114
+ onKeyDown: prevMonthInBounds ? onButtonKeyDown(onSelectPrevMonth) : undefined,
115
+ title: strings.prevMonthAriaLabel ? strings.prevMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, -1).getMonth()] : undefined,
116
+ type: "button"
117
+ }, /*#__PURE__*/React.createElement(ArrowUpRegular, null)), /*#__PURE__*/React.createElement("button", {
118
+ className: mergeClasses(classNames.headerIconButton, !nextMonthInBounds && classNames.disabledStyle),
119
+ tabIndex: nextMonthInBounds ? undefined : allFocusable ? 0 : -1,
120
+ "aria-disabled": !nextMonthInBounds,
121
+ onClick: nextMonthInBounds ? onSelectNextMonth : undefined,
122
+ onKeyDown: nextMonthInBounds ? onButtonKeyDown(onSelectNextMonth) : undefined,
123
+ title: strings.nextMonthAriaLabel ? strings.nextMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, 1).getMonth()] : undefined,
124
+ type: "button"
125
+ }, /*#__PURE__*/React.createElement(ArrowDownRegular, null)), showCloseButton && /*#__PURE__*/React.createElement("button", {
126
+ className: classNames.headerIconButton,
127
+ onClick: onDismiss,
128
+ onKeyDown: onButtonKeyDown(onDismiss),
129
+ title: strings.closeButtonAriaLabel,
130
+ type: "button"
131
+ }, /*#__PURE__*/React.createElement(DismissRegular, null)));
132
+ };
133
+ CalendarDayNavigationButtons.displayName = 'CalendarDayNavigationButtons';
134
+ const onButtonKeyDown = callback => {
135
+ return ev => {
136
+ switch (ev.key) {
137
+ case Enter:
138
+ callback === null || callback === void 0 ? void 0 : callback();
139
+ break;
140
+ }
141
+ };
142
+ };
143
+ //# sourceMappingURL=CalendarDay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Enter","ArrowDownRegular","ArrowUpRegular","DismissRegular","useId","mergeClasses","addMonths","compareDatePart","getMonthEnd","getMonthStart","CalendarDayGrid","useCalendarDayStyles_unstable","CalendarDay","props","dayGrid","useRef","useImperativeHandle","componentRef","focus","_dayGrid_current","_dayGrid_current_focus","current","call","strings","navigatedDate","dateTimeFormatter","className","onHeaderSelect","showSixWeeksByDefault","minDate","maxDate","restrictedDates","onNavigateDate","showWeekNumbers","dateRangeType","animationDirection","monthAndYearId","classNames","headerIsClickable","monthAndYear","formatMonthYear","HeaderButtonComponentType","headerAriaLabel","yearPickerHeaderAriaLabel","replace","propsWithoutStyles","createElement","root","header","undefined","onClick","tabIndex","onKeyDown","onButtonKeyDown","type","id","CalendarDayNavigationButtons","weeksToShow","labelledBy","displayName","allFocusable","showCloseButton","onDismiss","onSelectNextMonth","onSelectPrevMonth","prevMonthInBounds","nextMonthInBounds","monthComponents","headerIconButton","disabledStyle","title","prevMonthAriaLabel","months","getMonth","nextMonthAriaLabel","closeButtonAriaLabel","callback","ev","key"],"sources":["../../../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Enter } from '@fluentui/keyboard-keys';\nimport { ArrowDownRegular, ArrowUpRegular, DismissRegular } from '@fluentui/react-icons';\nimport { useId } from '@fluentui/react-utilities';\nimport { mergeClasses } from '@griffel/react';\nimport { addMonths, compareDatePart, getMonthEnd, getMonthStart } from '../../utils';\nimport { CalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid';\nimport { useCalendarDayStyles_unstable } from './useCalendarDayStyles.styles';\nimport type { ICalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid.types';\nimport type { CalendarDayProps, CalendarDayStyles } from './CalendarDay.types';\n\n/**\n * @internal\n */\nexport const CalendarDay: React.FunctionComponent<CalendarDayProps> = props => {\n const dayGrid = React.useRef<ICalendarDayGrid>(null);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n dayGrid.current?.focus?.();\n },\n }),\n [],\n );\n\n const {\n strings,\n navigatedDate,\n dateTimeFormatter,\n className,\n onHeaderSelect,\n showSixWeeksByDefault,\n minDate,\n maxDate,\n restrictedDates,\n onNavigateDate,\n showWeekNumbers,\n dateRangeType,\n animationDirection,\n } = props;\n const monthAndYearId = useId();\n\n const classNames = useCalendarDayStyles_unstable({\n className,\n headerIsClickable: !!onHeaderSelect,\n showWeekNumbers,\n animationDirection,\n });\n\n const monthAndYear = dateTimeFormatter.formatMonthYear(navigatedDate, strings);\n const HeaderButtonComponentType = onHeaderSelect ? 'button' : 'div';\n const headerAriaLabel = strings.yearPickerHeaderAriaLabel\n ? strings.yearPickerHeaderAriaLabel.replace('{0}', monthAndYear)\n : monthAndYear;\n\n const { ...propsWithoutStyles } = props;\n\n return (\n <div className={classNames.root}>\n <div className={classNames.header}>\n <HeaderButtonComponentType\n aria-label={onHeaderSelect ? headerAriaLabel : undefined}\n className={classNames.monthAndYear}\n onClick={onHeaderSelect}\n tabIndex={onHeaderSelect ? 0 : -1} // prevent focus if there's no action for the button\n onKeyDown={onButtonKeyDown(onHeaderSelect)}\n type=\"button\"\n >\n <span id={monthAndYearId} aria-live=\"polite\" aria-atomic=\"true\">\n {monthAndYear}\n </span>\n </HeaderButtonComponentType>\n <CalendarDayNavigationButtons {...props} classNames={classNames} />\n </div>\n <CalendarDayGrid\n {...propsWithoutStyles}\n componentRef={dayGrid}\n strings={strings}\n navigatedDate={navigatedDate!}\n weeksToShow={showSixWeeksByDefault ? 6 : undefined}\n dateTimeFormatter={dateTimeFormatter!}\n minDate={minDate}\n maxDate={maxDate}\n restrictedDates={restrictedDates}\n onNavigateDate={onNavigateDate}\n labelledBy={monthAndYearId}\n dateRangeType={dateRangeType}\n />\n </div>\n );\n};\nCalendarDay.displayName = 'CalendarDay';\n\ninterface CalendarDayNavigationButtonsProps extends CalendarDayProps {\n classNames: Record<keyof CalendarDayStyles, string>;\n}\n\nconst CalendarDayNavigationButtons = (props: CalendarDayNavigationButtonsProps): JSX.Element => {\n const {\n minDate,\n maxDate,\n navigatedDate,\n allFocusable,\n strings,\n showCloseButton,\n classNames,\n onNavigateDate,\n onDismiss,\n } = props;\n\n const onSelectNextMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, 1), false);\n };\n\n const onSelectPrevMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, -1), false);\n };\n\n // determine if previous/next months are in bounds\n const prevMonthInBounds = minDate ? compareDatePart(minDate, getMonthStart(navigatedDate)) < 0 : true;\n const nextMonthInBounds = maxDate ? compareDatePart(getMonthEnd(navigatedDate), maxDate) < 0 : true;\n\n // use aria-disabled instead of disabled so focus is not lost\n // when a prev/next button becomes disabled after being clicked\n return (\n <div className={classNames.monthComponents}>\n <button\n className={mergeClasses(classNames.headerIconButton, !prevMonthInBounds && classNames.disabledStyle)}\n tabIndex={prevMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!prevMonthInBounds}\n onClick={prevMonthInBounds ? onSelectPrevMonth : undefined}\n onKeyDown={prevMonthInBounds ? onButtonKeyDown(onSelectPrevMonth) : undefined}\n title={\n strings.prevMonthAriaLabel\n ? strings.prevMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, -1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n <ArrowUpRegular />\n </button>\n <button\n className={mergeClasses(classNames.headerIconButton, !nextMonthInBounds && classNames.disabledStyle)}\n tabIndex={nextMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!nextMonthInBounds}\n onClick={nextMonthInBounds ? onSelectNextMonth : undefined}\n onKeyDown={nextMonthInBounds ? onButtonKeyDown(onSelectNextMonth) : undefined}\n title={\n strings.nextMonthAriaLabel\n ? strings.nextMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, 1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n <ArrowDownRegular />\n </button>\n {showCloseButton && (\n <button\n className={classNames.headerIconButton}\n onClick={onDismiss}\n onKeyDown={onButtonKeyDown(onDismiss)}\n title={strings.closeButtonAriaLabel}\n type=\"button\"\n >\n <DismissRegular />\n </button>\n )}\n </div>\n );\n};\nCalendarDayNavigationButtons.displayName = 'CalendarDayNavigationButtons';\n\nconst onButtonKeyDown =\n (callback?: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => void) =>\n (ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n switch (ev.key) {\n case Enter:\n callback?.();\n break;\n }\n };\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ //# sourceMappingURL=CalendarDay.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React"],"sources":["../../../src/components/CalendarDay/CalendarDay.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { CalendarStrings, DateFormatting } from '../../utils';\nimport type { CalendarDayGridProps, CalendarDayGridStyleProps } from '../CalendarDayGrid/CalendarDayGrid.types';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface ICalendarDay {\n focus(): void;\n}\n\nexport interface CalendarDayProps extends CalendarDayGridProps {\n /**\n * Optional callback to access the ICalendarDay interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: React.RefObject<ICalendarDay>;\n\n /**\n * Additional CSS class(es) to apply to the CalendarDay.\n */\n className?: string;\n\n /**\n * Localized strings to use in the Calendar\n */\n strings: CalendarStrings;\n\n /**\n * The currently navigated date\n */\n navigatedDate: Date;\n\n /**\n * Callback issued when a date in the calendar is navigated\n * @param date - The date that is navigated to\n * @param focusOnNavigatedDay - Whether to set the focus to the navigated date.\n */\n onNavigateDate: (date: Date, focusOnNavigatedDay: boolean) => void;\n\n /**\n * Callback issued when calendar day is closed\n */\n onDismiss?: () => void;\n\n /**\n * Callback function when the header is selected\n */\n onHeaderSelect?: () => void;\n\n /**\n * Whether the calendar should show the week number (weeks 1 to 53) before each week row\n * @default false\n */\n showWeekNumbers?: boolean;\n\n /**\n * Apply additional formatting to dates, for example localized date formatting.\n */\n dateTimeFormatter: DateFormatting;\n\n /**\n * Whether the calendar should show 6 weeks by default.\n * @default false\n */\n showSixWeeksByDefault?: boolean;\n\n /**\n * If set the Calendar will not allow navigation to or selection of a date earlier than this value.\n */\n minDate?: Date;\n\n /**\n * If set the Calendar will not allow navigation to or selection of a date later than this value.\n */\n maxDate?: Date;\n\n /**\n * If set the Calendar will not allow selection of dates in this array.\n */\n restrictedDates?: Date[];\n\n /**\n * Whether the close button should be shown or not\n * @default false\n */\n showCloseButton?: boolean;\n\n /**\n * Allows all dates and buttons to be focused, including disabled ones\n * @default false\n */\n allFocusable?: boolean;\n}\n\n/**\n * @internal\n */\nexport interface CalendarDayStyleProps extends CalendarDayGridStyleProps {\n /**\n * Accept custom classNames\n */\n className?: string;\n\n /**\n * Whether the header is clickable\n */\n headerIsClickable?: boolean;\n\n /**\n * Whether week numbers are being shown\n */\n showWeekNumbers?: boolean;\n}\n\n/**\n * @internal\n */\nexport interface CalendarDayStyles {\n /**\n * Style for the root element.\n */\n root: string;\n\n /**\n * The style for the header button and forward/back navigation button container\n */\n header: string;\n\n /**\n * The style for the title text inside the header\n */\n monthAndYear: string;\n\n /**\n * The style for the wrapper around forward/back/close buttons\n */\n monthComponents: string;\n\n /**\n * The style for the forward/back/close buttons\n */\n headerIconButton: string;\n\n /**\n * The style to apply for disabled elements\n */\n disabledStyle: string;\n}\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW"}
@@ -0,0 +1,4 @@
1
+ export * from './CalendarDay';
2
+ export * from './CalendarDay.types';
3
+ export * from './useCalendarDayStyles.styles';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/components/CalendarDay/index.ts"],"sourcesContent":["export * from './CalendarDay';\nexport * from './CalendarDay.types';\nexport * from './useCalendarDayStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc"}
@@ -0,0 +1,180 @@
1
+ import { tokens } from '@fluentui/react-theme';
2
+ import { __styles, mergeClasses, shorthands } from '@griffel/react';
3
+ import { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';
4
+ /**
5
+ * @internal
6
+ */
7
+ export const calendarDayClassNames = {
8
+ root: 'fui-CalendarDay',
9
+ header: 'fui-CalendarDay__header',
10
+ monthAndYear: 'fui-CalendarDay__monthAndYear',
11
+ monthComponents: 'fui-CalendarDay__monthComponents',
12
+ headerIconButton: 'fui-CalendarDay__headerIconButton',
13
+ disabledStyle: 'fui-CalendarDay__disabledStyle'
14
+ };
15
+ const useRootStyles = /*#__PURE__*/__styles({
16
+ base: {
17
+ B7ck84d: "f1e4lqlz",
18
+ z8tnut: "f1kcqot9",
19
+ z189sj: ["f11qrl6u", "fjlbh76"],
20
+ Byoj8tv: "fpe6lb7",
21
+ uwmqm3: ["fjlbh76", "f11qrl6u"],
22
+ a9b677: "f4m2ahc"
23
+ },
24
+ normalize: {
25
+ E5pizo: "f1couhl3",
26
+ B7ck84d: "f1ewtqcl",
27
+ B6of3ja: "f1hu3pq6",
28
+ t21cq0: ["f11qmguv", "f1tyq0we"],
29
+ jrapky: "f19f4twv",
30
+ Frg6f3: ["f1tyq0we", "f11qmguv"],
31
+ z8tnut: "f1g0x7ka",
32
+ z189sj: ["fhxju0i", "f1cnd47f"],
33
+ Byoj8tv: "f1qch9an",
34
+ uwmqm3: ["f1cnd47f", "fhxju0i"]
35
+ },
36
+ showWeekNumbers: {
37
+ a9b677: "fl524qk"
38
+ }
39
+ }, {
40
+ d: [".f1e4lqlz{box-sizing:content-box;}", ".f1kcqot9{padding-top:12px;}", ".f11qrl6u{padding-right:12px;}", ".fjlbh76{padding-left:12px;}", ".fpe6lb7{padding-bottom:12px;}", ".f4m2ahc{width:196px;}", ".f1couhl3{box-shadow:none;}", ".f1ewtqcl{box-sizing:border-box;}", ".f1hu3pq6{margin-top:0;}", ".f11qmguv{margin-right:0;}", ".f1tyq0we{margin-left:0;}", ".f19f4twv{margin-bottom:0;}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".fl524qk{width:226px;}"]
41
+ });
42
+ const useHeaderStyles = /*#__PURE__*/__styles({
43
+ base: {
44
+ mc9l5x: "ftuwxu6",
45
+ Bqenvij: "fxldao9",
46
+ Bg96gwp: "f1vzymgo",
47
+ qhf8xq: "f10pi13n",
48
+ a9b677: "fly5x3f"
49
+ }
50
+ }, {
51
+ d: [".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".fxldao9{height:28px;}", ".f1vzymgo{line-height:44px;}", ".f10pi13n{position:relative;}", ".fly5x3f{width:100%;}"]
52
+ });
53
+ const useMonthAndYearStyles = /*#__PURE__*/__styles({
54
+ base: {
55
+ Bt984gj: "f122n59",
56
+ De3pzq: "f1c21dwh",
57
+ icvyot: "f1ern45e",
58
+ vrafjx: ["f1n71otn", "f1deefiw"],
59
+ oivjwe: "f1h8hb77",
60
+ wvpqe5: ["f1deefiw", "f1n71otn"],
61
+ Bbmb7ep: ["f2i1086", "f1rlsnju"],
62
+ Beyfa6y: ["f1rlsnju", "f2i1086"],
63
+ B7oj6ja: ["f1stktl2", "f1127022"],
64
+ Btl43ni: ["f1127022", "f1stktl2"],
65
+ sj55zd: "f19n0e5",
66
+ mc9l5x: "f14t3ns0",
67
+ Bh6795r: "fqerorx",
68
+ Bahqtrf: "f1mo0ibp",
69
+ Be2twd7: "fkhj508",
70
+ Bhrd7zp: "fl43uef",
71
+ Bg96gwp: "f336tjw",
72
+ B68tc82: "f1p9o1ba",
73
+ Bmxbyg5: "f1sil6mw",
74
+ z8tnut: "f1g0x7ka",
75
+ z189sj: ["f8wuabp", "fycuoez"],
76
+ Byoj8tv: "f1qch9an",
77
+ uwmqm3: ["frdkuqy", "f81rol6"],
78
+ fsow6f: ["f1o700av", "fes3tcz"],
79
+ ygn44y: "f1cmbuwj",
80
+ Huce71: "fz5stix"
81
+ },
82
+ animation: {
83
+ vin17d: "fhsqnsn",
84
+ Bf5fcs: "fywypte",
85
+ Bv12yb3: "f1h7u52p",
86
+ Ezkn3b: "fjq4c94"
87
+ },
88
+ headerIsClickable: {
89
+ Jwef8y: "f121v1wq",
90
+ Bi91k9c: "feu1g3u",
91
+ eoavqd: "f8491dx",
92
+ iro3zm: "f6r9z65"
93
+ }
94
+ }, {
95
+ d: [".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".f1ern45e{border-top-style:none;}", ".f1n71otn{border-right-style:none;}", ".f1deefiw{border-left-style:none;}", ".f1h8hb77{border-bottom-style:none;}", ".f2i1086{border-bottom-right-radius:2px;}", ".f1rlsnju{border-bottom-left-radius:2px;}", ".f1stktl2{border-top-right-radius:2px;}", ".f1127022{border-top-left-radius:2px;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".f14t3ns0{display:inline-block;}", ".fqerorx{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".f1mo0ibp{font-family:inherit;}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".f336tjw{line-height:28px;}", ".f1p9o1ba{overflow-x:hidden;}", ".f1sil6mw{overflow-y:hidden;}", ".f1g0x7ka{padding-top:0;}", ".f8wuabp{padding-right:4px;}", ".fycuoez{padding-left:4px;}", ".f1qch9an{padding-bottom:0;}", ".frdkuqy{padding-left:10px;}", ".f81rol6{padding-right:10px;}", ".f1o700av{text-align:left;}", ".fes3tcz{text-align:right;}", ".f1cmbuwj{text-overflow:ellipsis;}", ".fz5stix{white-space:nowrap;}", ".fhsqnsn{-webkit-animation-duration:0.267s;animation-duration:0.267s;}", ".fywypte{-webkit-animation-fill-mode:both;animation-fill-mode:both;}", ".f1h7u52p{-webkit-animation-name:f5j8bii;animation-name:f5j8bii;}", ".fjq4c94{-webkit-animation-timing-function:cubic-bezier(.1,.25,.75,.9);animation-timing-function:cubic-bezier(.1,.25,.75,.9);}"],
96
+ k: ["@-webkit-keyframes f5j8bii{from{opacity:0;}to{opacity:1;}}", "@keyframes f5j8bii{from{opacity:0;}to{opacity:1;}}"],
97
+ h: [".f121v1wq:hover{background-color:var(--colorBrandBackground2);}", ".feu1g3u:hover{color:var(--colorNeutralForeground1Hover);}", ".f8491dx:hover{cursor:pointer;}", ".f6r9z65:hover:active{background-color:var(--colorBrandBackground2);}"]
98
+ });
99
+ const useMonthComponentsStyles = /*#__PURE__*/__styles({
100
+ base: {
101
+ qb2dma: "fpydfdc",
102
+ mc9l5x: "ftuwxu6"
103
+ }
104
+ }, {
105
+ d: [".fpydfdc{-webkit-align-self:flex-end;-ms-flex-item-align:flex-end;align-self:flex-end;}", ".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}"]
106
+ });
107
+ const useHeaderIconButtonStyles = /*#__PURE__*/__styles({
108
+ base: {
109
+ De3pzq: "f1c21dwh",
110
+ icvyot: "f1ern45e",
111
+ vrafjx: ["f1n71otn", "f1deefiw"],
112
+ oivjwe: "f1h8hb77",
113
+ wvpqe5: ["f1deefiw", "f1n71otn"],
114
+ Bbmb7ep: ["f2i1086", "f1rlsnju"],
115
+ Beyfa6y: ["f1rlsnju", "f2i1086"],
116
+ B7oj6ja: ["f1stktl2", "f1127022"],
117
+ Btl43ni: ["f1127022", "f1stktl2"],
118
+ sj55zd: "f11d4kpn",
119
+ mc9l5x: "ftgm304",
120
+ Bahqtrf: "f1mo0ibp",
121
+ Be2twd7: "fy9rknc",
122
+ Bqenvij: "fxldao9",
123
+ Bg96gwp: "f336tjw",
124
+ B68tc82: "f1mtd64y",
125
+ Bmxbyg5: "f1y7q3j9",
126
+ z8tnut: "f1g0x7ka",
127
+ z189sj: ["fhxju0i", "f1cnd47f"],
128
+ Byoj8tv: "f1qch9an",
129
+ uwmqm3: ["f1cnd47f", "fhxju0i"],
130
+ qhf8xq: "f10pi13n",
131
+ fsow6f: "f17mccla",
132
+ a9b677: "f1w9dchk",
133
+ Jwef8y: "f18a0fwf",
134
+ Bi91k9c: "f3sdaeg",
135
+ eoavqd: "f8491dx",
136
+ Dwtyhm: "f14gx60i",
137
+ ukgb2i: "f1o3croz",
138
+ pugfm4: "f11jyo21",
139
+ iro3zm: "f1wvkgvo",
140
+ B2d53fq: "f1wdoaqd"
141
+ }
142
+ }, {
143
+ d: [".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".f1ern45e{border-top-style:none;}", ".f1n71otn{border-right-style:none;}", ".f1deefiw{border-left-style:none;}", ".f1h8hb77{border-bottom-style:none;}", ".f2i1086{border-bottom-right-radius:2px;}", ".f1rlsnju{border-bottom-left-radius:2px;}", ".f1stktl2{border-top-right-radius:2px;}", ".f1127022{border-top-left-radius:2px;}", ".f11d4kpn{color:var(--colorNeutralForeground3);}", ".ftgm304{display:block;}", ".f1mo0ibp{font-family:inherit;}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fxldao9{height:28px;}", ".f336tjw{line-height:28px;}", ".f1mtd64y{overflow-x:visible;}", ".f1y7q3j9{overflow-y:visible;}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".f10pi13n{position:relative;}", ".f17mccla{text-align:center;}", ".f1w9dchk{width:28px;}"],
144
+ h: [".f18a0fwf:hover{background-color:var(--colorBrandBackgroundInvertedHover);}", ".f3sdaeg:hover{color:var(--colorBrandForegroundOnLightHover);}", ".f8491dx:hover{cursor:pointer;}", ".f14gx60i:hover{outline-width:1px;}", ".f1o3croz:hover{outline-style:solid;}", ".f11jyo21:hover{outline-color:var(--colorTransparentStroke);}", ".f1wvkgvo:hover:active{background-color:var(--colorBrandBackgroundInvertedPressed);}", ".f1wdoaqd:hover:active{color:var(--colorBrandForegroundOnLightPressed);}"]
145
+ });
146
+ const useDisabledStyleStyles = /*#__PURE__*/__styles({
147
+ base: {
148
+ Bg33ivm: "f1oelgmz",
149
+ t69wg0: "fhh1ekj"
150
+ }
151
+ }, {
152
+ d: [".f1oelgmz,.f1oelgmz:disabled,.f1oelgmz button{color:var(--colorNeutralForegroundDisabled);}", ".fhh1ekj,.fhh1ekj:disabled,.fhh1ekj button{pointer-events:none;}"]
153
+ });
154
+ /**
155
+ * @internal
156
+ *
157
+ * Apply styling to the CalendarDay slots based on the state
158
+ */
159
+ export const useCalendarDayStyles_unstable = props => {
160
+ const rootStyles = useRootStyles();
161
+ const headerStyles = useHeaderStyles();
162
+ const monthAndYearStyles = useMonthAndYearStyles();
163
+ const monthComponentsStyles = useMonthComponentsStyles();
164
+ const headerIconButtonStyles = useHeaderIconButtonStyles();
165
+ const disabledStyleStyles = useDisabledStyleStyles();
166
+ const {
167
+ className,
168
+ headerIsClickable,
169
+ showWeekNumbers
170
+ } = props;
171
+ return {
172
+ root: mergeClasses(calendarDayClassNames.root, rootStyles.normalize, rootStyles.base, showWeekNumbers && rootStyles.showWeekNumbers, className),
173
+ header: mergeClasses(calendarDayClassNames.header, headerStyles.base),
174
+ monthAndYear: mergeClasses(calendarDayClassNames.monthAndYear, monthAndYearStyles.base, monthAndYearStyles.animation, headerIsClickable && monthAndYearStyles.headerIsClickable),
175
+ monthComponents: mergeClasses(calendarDayClassNames.monthComponents, monthComponentsStyles.base),
176
+ headerIconButton: mergeClasses(calendarDayClassNames.headerIconButton, headerIconButtonStyles.base),
177
+ disabledStyle: mergeClasses(calendarDayClassNames.disabledStyle, disabledStyleStyles.base)
178
+ };
179
+ };
180
+ //# sourceMappingURL=useCalendarDayStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tokens","__styles","mergeClasses","shorthands","DURATION_2","EASING_FUNCTION_2","FADE_IN","calendarDayClassNames","root","header","monthAndYear","monthComponents","headerIconButton","disabledStyle","useRootStyles","base","B7ck84d","z8tnut","z189sj","Byoj8tv","uwmqm3","a9b677","normalize","E5pizo","B6of3ja","t21cq0","jrapky","Frg6f3","showWeekNumbers","d","useHeaderStyles","mc9l5x","Bqenvij","Bg96gwp","qhf8xq","useMonthAndYearStyles","Bt984gj","De3pzq","icvyot","vrafjx","oivjwe","wvpqe5","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","sj55zd","Bh6795r","Bahqtrf","Be2twd7","Bhrd7zp","B68tc82","Bmxbyg5","fsow6f","ygn44y","Huce71","animation","vin17d","Bf5fcs","Bv12yb3","Ezkn3b","headerIsClickable","Jwef8y","Bi91k9c","eoavqd","iro3zm","k","h","useMonthComponentsStyles","qb2dma","useHeaderIconButtonStyles","Dwtyhm","ukgb2i","pugfm4","B2d53fq","useDisabledStyleStyles","Bg33ivm","t69wg0","useCalendarDayStyles_unstable","props","rootStyles","headerStyles","monthAndYearStyles","monthComponentsStyles","headerIconButtonStyles","disabledStyleStyles","className"],"sources":["../../../src/components/CalendarDay/useCalendarDayStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarDayStyles, CalendarDayStyleProps } from './CalendarDay.types';\n\n/**\n * @internal\n */\nexport const calendarDayClassNames: SlotClassNames<CalendarDayStyles> = {\n root: 'fui-CalendarDay',\n header: 'fui-CalendarDay__header',\n monthAndYear: 'fui-CalendarDay__monthAndYear',\n monthComponents: 'fui-CalendarDay__monthComponents',\n headerIconButton: 'fui-CalendarDay__headerIconButton',\n disabledStyle: 'fui-CalendarDay__disabledStyle',\n};\n\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'content-box',\n ...shorthands.padding('12px'),\n width: '196px',\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n ...shorthands.margin(0),\n ...shorthands.padding(0),\n },\n showWeekNumbers: {\n width: '226px',\n },\n});\n\nconst useHeaderStyles = makeStyles({\n base: {\n display: 'inline-flex',\n height: '28px',\n lineHeight: '44px',\n position: 'relative',\n width: '100%',\n },\n});\n\nconst useMonthAndYearStyles = makeStyles({\n base: {\n alignItems: 'center',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n ...shorthands.borderRadius('2px'),\n color: tokens.colorNeutralForeground1,\n display: 'inline-block',\n flexGrow: 1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: '28px',\n ...shorthands.overflow('hidden'),\n ...shorthands.padding(0, '4px', 0, '10px'),\n textAlign: 'left',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n animation: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2,\n },\n headerIsClickable: {\n '&:hover': {\n backgroundColor: tokens.colorBrandBackground2,\n color: tokens.colorNeutralForeground1Hover,\n cursor: 'pointer',\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackground2,\n },\n },\n});\n\nconst useMonthComponentsStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n display: 'inline-flex',\n },\n});\n\nconst useHeaderIconButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n ...shorthands.borderRadius('2px'),\n color: tokens.colorNeutralForeground3,\n display: 'block',\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '28px',\n lineHeight: '28px',\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0),\n position: 'relative',\n textAlign: 'center',\n width: '28px',\n\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n ...shorthands.outline('1px', 'solid', tokens.colorTransparentStroke),\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n },\n },\n});\n\nconst useDisabledStyleStyles = makeStyles({\n base: {\n '&, &:disabled, & button': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the CalendarDay slots based on the state\n */\nexport const useCalendarDayStyles_unstable = (props: CalendarDayStyleProps): CalendarDayStyles => {\n const rootStyles = useRootStyles();\n const headerStyles = useHeaderStyles();\n const monthAndYearStyles = useMonthAndYearStyles();\n const monthComponentsStyles = useMonthComponentsStyles();\n const headerIconButtonStyles = useHeaderIconButtonStyles();\n const disabledStyleStyles = useDisabledStyleStyles();\n\n const { className, headerIsClickable, showWeekNumbers } = props;\n\n return {\n root: mergeClasses(\n calendarDayClassNames.root,\n rootStyles.normalize,\n rootStyles.base,\n showWeekNumbers && rootStyles.showWeekNumbers,\n className,\n ),\n header: mergeClasses(calendarDayClassNames.header, headerStyles.base),\n monthAndYear: mergeClasses(\n calendarDayClassNames.monthAndYear,\n monthAndYearStyles.base,\n monthAndYearStyles.animation,\n headerIsClickable && monthAndYearStyles.headerIsClickable,\n ),\n monthComponents: mergeClasses(calendarDayClassNames.monthComponents, monthComponentsStyles.base),\n headerIconButton: mergeClasses(calendarDayClassNames.headerIconButton, headerIconButtonStyles.base),\n disabledStyle: mergeClasses(calendarDayClassNames.disabledStyle, disabledStyleStyles.base),\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ import * as React from 'react';
2
+ import { useArrowNavigationGroup } from '@fluentui/react-tabster';
3
+ import { useId } from '@fluentui/react-utilities';
4
+ import { getBoundedDateRange, getDateRangeArray, isRestrictedDate, DateRangeType } from '../../utils';
5
+ import { useCalendarDayGridStyles_unstable } from './useCalendarDayGridStyles.styles';
6
+ import { CalendarMonthHeaderRow } from './CalendarMonthHeaderRow';
7
+ import { CalendarGridRow } from './CalendarGridRow';
8
+ import { useWeeks } from './useWeeks';
9
+ import { useWeekCornerStyles } from './useWeekCornerStyles.styles';
10
+ import { mergeClasses } from '@griffel/react';
11
+ function useDayRefs() {
12
+ const daysRef = React.useRef({});
13
+ const getSetRefCallback = dayKey => element => {
14
+ if (element === null) {
15
+ delete daysRef.current[dayKey];
16
+ } else {
17
+ daysRef.current[dayKey] = element;
18
+ }
19
+ };
20
+ return [daysRef, getSetRefCallback];
21
+ }
22
+ function useAnimateBackwards(weeks) {
23
+ const previousNavigatedDateRef = React.useRef();
24
+ React.useEffect(() => {
25
+ previousNavigatedDateRef.current = weeks[0][0].originalDate;
26
+ });
27
+ const previousNavigatedDate = previousNavigatedDateRef.current;
28
+ if (!previousNavigatedDate || previousNavigatedDate.getTime() === weeks[0][0].originalDate.getTime()) {
29
+ return undefined;
30
+ } else if (previousNavigatedDate <= weeks[0][0].originalDate) {
31
+ return false;
32
+ } else {
33
+ return true;
34
+ }
35
+ }
36
+ export const CalendarDayGrid = props => {
37
+ const navigatedDayRef = React.useRef(null);
38
+ const activeDescendantId = useId();
39
+ const onSelectDate = selectedDate => {
40
+ var _props_onSelectDate, _props_onNavigateDate;
41
+ const {
42
+ firstDayOfWeek,
43
+ minDate,
44
+ maxDate,
45
+ workWeekDays,
46
+ daysToSelectInDayView,
47
+ restrictedDates
48
+ } = props;
49
+ const restrictedDatesOptions = {
50
+ minDate,
51
+ maxDate,
52
+ restrictedDates
53
+ };
54
+ let dateRange = getDateRangeArray(selectedDate, dateRangeType, firstDayOfWeek, workWeekDays, daysToSelectInDayView);
55
+ dateRange = getBoundedDateRange(dateRange, minDate, maxDate);
56
+ dateRange = dateRange.filter(d => {
57
+ return !isRestrictedDate(d, restrictedDatesOptions);
58
+ });
59
+ (_props_onSelectDate = props.onSelectDate) === null || _props_onSelectDate === void 0 ? void 0 : _props_onSelectDate.call(props, selectedDate, dateRange);
60
+ (_props_onNavigateDate = props.onNavigateDate) === null || _props_onNavigateDate === void 0 ? void 0 : _props_onNavigateDate.call(props, selectedDate, true);
61
+ };
62
+ const [daysRef, getSetRefCallback] = useDayRefs();
63
+ const weeks = useWeeks(props, onSelectDate, getSetRefCallback);
64
+ const animateBackwards = useAnimateBackwards(weeks);
65
+ const [getWeekCornerStyles, calculateRoundedStyles] = useWeekCornerStyles(props);
66
+ React.useImperativeHandle(props.componentRef, () => {
67
+ return {
68
+ focus() {
69
+ var _navigatedDayRef_current, _navigatedDayRef_current_focus;
70
+ (_navigatedDayRef_current = navigatedDayRef.current) === null || _navigatedDayRef_current === void 0 ? void 0 : (_navigatedDayRef_current_focus = _navigatedDayRef_current.focus) === null || _navigatedDayRef_current_focus === void 0 ? void 0 : _navigatedDayRef_current_focus.call(_navigatedDayRef_current);
71
+ }
72
+ };
73
+ }, []);
74
+ /**
75
+ *
76
+ * Section for setting hover/pressed styles. Because we want arbitrary blobs of days to be selectable, to support
77
+ * highlighting every day in the month for month view, css :hover style isn't enough, so we need mouse callbacks
78
+ * to set classnames on all relevant child refs to apply the styling
79
+ *
80
+ */
81
+ const getDayInfosInRangeOfDay = dayToCompare => {
82
+ // The hover state looks weird with non-contiguous days in work week view. In work week, show week hover state
83
+ const dateRangeHoverType = getDateRangeTypeToUse(props.dateRangeType, props.workWeekDays);
84
+ // gets all the dates for the given date range type that are in the same date range as the given day
85
+ const dateRange = getDateRangeArray(dayToCompare.originalDate, dateRangeHoverType, props.firstDayOfWeek, props.workWeekDays, props.daysToSelectInDayView).map(date => date.getTime());
86
+ // gets all the day refs for the given dates
87
+ const dayInfosInRange = weeks.reduce((accumulatedValue, currentWeek) => {
88
+ return accumulatedValue.concat(currentWeek.filter(weekDay => dateRange.indexOf(weekDay.originalDate.getTime()) !== -1));
89
+ }, []);
90
+ return dayInfosInRange;
91
+ };
92
+ const getRefsFromDayInfos = dayInfosInRange => {
93
+ let dayRefs = [];
94
+ dayRefs = dayInfosInRange.map(dayInfo => daysRef.current[dayInfo.key]);
95
+ return dayRefs;
96
+ };
97
+ const {
98
+ dateRangeType,
99
+ showWeekNumbers,
100
+ labelledBy,
101
+ lightenDaysOutsideNavigatedMonth,
102
+ animationDirection
103
+ } = props;
104
+ const classNames = useCalendarDayGridStyles_unstable({
105
+ animateBackwards,
106
+ animationDirection,
107
+ dateRangeType,
108
+ lightenDaysOutsideNavigatedMonth: lightenDaysOutsideNavigatedMonth === undefined ? true : lightenDaysOutsideNavigatedMonth,
109
+ showWeekNumbers
110
+ });
111
+ // When the month is highlighted get the corner dates so that styles can be added to them
112
+ const weekCorners = getWeekCornerStyles(weeks);
113
+ const partialWeekProps = {
114
+ weeks,
115
+ navigatedDayRef,
116
+ calculateRoundedStyles,
117
+ activeDescendantId,
118
+ classNames,
119
+ weekCorners,
120
+ getDayInfosInRangeOfDay,
121
+ getRefsFromDayInfos
122
+ };
123
+ const arrowNavigationAttributes = useArrowNavigationGroup({
124
+ axis: 'grid'
125
+ });
126
+ return /*#__PURE__*/React.createElement("table", {
127
+ className: mergeClasses(classNames.table, props.className),
128
+ "aria-multiselectable": "false",
129
+ "aria-labelledby": labelledBy,
130
+ "aria-activedescendant": activeDescendantId,
131
+ role: "grid",
132
+ ...arrowNavigationAttributes
133
+ }, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement(CalendarMonthHeaderRow, {
134
+ ...props,
135
+ classNames: classNames,
136
+ weeks: weeks
137
+ }), /*#__PURE__*/React.createElement(CalendarGridRow, {
138
+ ...props,
139
+ ...partialWeekProps,
140
+ week: weeks[0],
141
+ weekIndex: -1,
142
+ rowClassName: classNames.firstTransitionWeek,
143
+ "aria-role": "presentation",
144
+ ariaHidden: true
145
+ }), weeks.slice(1, weeks.length - 1).map((week, weekIndex) => /*#__PURE__*/React.createElement(CalendarGridRow, {
146
+ ...props,
147
+ ...partialWeekProps,
148
+ key: weekIndex,
149
+ week: week,
150
+ weekIndex: weekIndex,
151
+ rowClassName: classNames.weekRow
152
+ })), /*#__PURE__*/React.createElement(CalendarGridRow, {
153
+ ...props,
154
+ ...partialWeekProps,
155
+ week: weeks[weeks.length - 1],
156
+ weekIndex: -2,
157
+ rowClassName: classNames.lastTransitionWeek,
158
+ "aria-role": "presentation",
159
+ ariaHidden: true
160
+ })));
161
+ };
162
+ CalendarDayGrid.displayName = 'CalendarDayGrid';
163
+ /**
164
+ * When given work week, if the days are non-contiguous, the hover states look really weird. So for non-contiguous
165
+ * work weeks, we'll just show week view instead.
166
+ */
167
+ function getDateRangeTypeToUse(dateRangeType, workWeekDays) {
168
+ if (workWeekDays && dateRangeType === DateRangeType.WorkWeek) {
169
+ const sortedWWDays = workWeekDays.slice().sort();
170
+ let isContiguous = true;
171
+ for (let i = 1; i < sortedWWDays.length; i++) {
172
+ if (sortedWWDays[i] !== sortedWWDays[i - 1] + 1) {
173
+ isContiguous = false;
174
+ break;
175
+ }
176
+ }
177
+ if (!isContiguous || workWeekDays.length === 0) {
178
+ return DateRangeType.Week;
179
+ }
180
+ }
181
+ return dateRangeType;
182
+ }
183
+ //# sourceMappingURL=CalendarDayGrid.js.map