@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,"sources":["../../../lib/components/DatePicker/renderDatePicker.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsxFrag React.Fragment */ /** @jsx createElement */import * as React from 'react';\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { Portal } from '@fluentui/react-portal';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DatePicker\n */\nexport const renderDatePicker_unstable = state => {\n const {\n slots,\n slotProps\n } = getSlotsNext(state);\n const {\n inlinePopup\n } = state;\n return /*#__PURE__*/createElement(React.Fragment, null, /*#__PURE__*/createElement(slots.root, slotProps.root), slots.popupSurface && (inlinePopup ? /*#__PURE__*/createElement(slots.popupSurface, slotProps.popupSurface, /*#__PURE__*/createElement(slots.calendar, slotProps.calendar)) : /*#__PURE__*/createElement(Portal, null, /*#__PURE__*/createElement(slots.popupSurface, slotProps.popupSurface, /*#__PURE__*/createElement(slots.calendar, slotProps.calendar)))));\n};\n//# sourceMappingURL=renderDatePicker.js.map"],"names":["renderDatePicker_unstable","state","slots","slotProps","getSlotsNext","inlinePopup","createElement","React","Fragment","root","popupSurface","calendar","Portal"],"mappings":"AAAA,wBAAwB,GAAG,4BAA4B,GAAG,uBAAuB;;;;+BAOpEA;;aAAAA;;;6DAP6F;iCAC5E;6BACP;gCACM;AAItB,MAAMA,4BAA4BC,CAAAA,QAAS;IAChD,MAAM,EACJC,MAAK,EACLC,UAAS,EACV,GAAGC,IAAAA,4BAAY,EAACH;IACjB,MAAM,EACJI,YAAW,EACZ,GAAGJ;IACJ,OAAO,WAAW,GAAEK,IAAAA,8BAAa,EAACC,OAAMC,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAEF,IAAAA,8BAAa,EAACJ,MAAMO,IAAI,EAAEN,UAAUM,IAAI,GAAGP,MAAMQ,YAAY,IAAKL,CAAAA,cAAc,WAAW,GAAEC,IAAAA,8BAAa,EAACJ,MAAMQ,YAAY,EAAEP,UAAUO,YAAY,EAAE,WAAW,GAAEJ,IAAAA,8BAAa,EAACJ,MAAMS,QAAQ,EAAER,UAAUQ,QAAQ,KAAK,WAAW,GAAEL,IAAAA,8BAAa,EAACM,mBAAM,EAAE,IAAI,EAAE,WAAW,GAAEN,IAAAA,8BAAa,EAACJ,MAAMQ,YAAY,EAAEP,UAAUO,YAAY,EAAE,WAAW,GAAEJ,IAAAA,8BAAa,EAACJ,MAAMS,QAAQ,EAAER,UAAUQ,QAAQ,GAAG,AAAD;AAC/c,GACA,4CAA4C"}
@@ -0,0 +1,440 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useDatePicker_unstable", {
6
+ enumerable: true,
7
+ get: ()=>useDatePicker_unstable
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _keyboardKeys = require("@fluentui/keyboard-keys");
12
+ const _calendar = require("../Calendar/Calendar");
13
+ const _reactIcons = require("@fluentui/react-icons");
14
+ const _utils = require("../../utils");
15
+ const _defaults = require("./defaults");
16
+ const _reactInput = require("@fluentui/react-input");
17
+ const _reactUtilities = require("@fluentui/react-utilities");
18
+ const _reactField = require("@fluentui/react-field");
19
+ const _reactSharedContexts = require("@fluentui/react-shared-contexts");
20
+ const _reactTabster = require("@fluentui/react-tabster");
21
+ const _usePopupPositioning = require("../../utils/usePopupPositioning");
22
+ function isDateOutOfBounds(date, minDate, maxDate) {
23
+ return !!minDate && (0, _utils.compareDatePart)(minDate, date) > 0 || !!maxDate && (0, _utils.compareDatePart)(maxDate, date) < 0;
24
+ }
25
+ function useFocusLogic() {
26
+ const inputRef = _react.useRef(null);
27
+ const preventFocusOpeningPicker = _react.useRef(false);
28
+ const focus = ()=>{
29
+ var _inputRef_current, _inputRef_current_focus;
30
+ (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : (_inputRef_current_focus = _inputRef_current.focus) === null || _inputRef_current_focus === void 0 ? void 0 : _inputRef_current_focus.call(_inputRef_current);
31
+ };
32
+ const preventNextFocusOpeningPicker = ()=>{
33
+ preventFocusOpeningPicker.current = true;
34
+ };
35
+ return [
36
+ focus,
37
+ inputRef,
38
+ preventFocusOpeningPicker,
39
+ preventNextFocusOpeningPicker
40
+ ];
41
+ }
42
+ function usePopupVisibility(props) {
43
+ const [open, setOpen] = (0, _reactUtilities.useControllableState)({
44
+ initialState: false,
45
+ defaultState: props.defaultOpen,
46
+ state: props.open
47
+ });
48
+ const isMounted = _react.useRef(false);
49
+ _react.useEffect(()=>{
50
+ if (isMounted.current && !open) {
51
+ var // If DatePicker's menu (Calendar) is closed, run onAfterMenuDismiss
52
+ _props_onOpenChange;
53
+ (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, false);
54
+ }
55
+ isMounted.current = true;
56
+ }, // Should only run on allowTextInput or open change
57
+ // eslint-disable-next-line react-hooks/exhaustive-deps
58
+ [
59
+ props.allowTextInput,
60
+ open
61
+ ]);
62
+ return [
63
+ open,
64
+ setOpen
65
+ ];
66
+ }
67
+ function useSelectedDate({ formatDate , onSelectDate , value }) {
68
+ const [selectedDate, setSelectedDateState] = (0, _reactUtilities.useControllableState)({
69
+ initialState: undefined,
70
+ state: value
71
+ });
72
+ const [formattedDate, setFormattedDate] = _react.useState(()=>value && formatDate ? formatDate(value) : '');
73
+ const setSelectedDate = (newDate)=>{
74
+ if (selectedDate === undefined && newDate !== undefined || selectedDate !== undefined && newDate === undefined || newDate && selectedDate && (newDate > selectedDate || newDate < selectedDate)) {
75
+ onSelectDate === null || onSelectDate === void 0 ? void 0 : onSelectDate(newDate);
76
+ }
77
+ setSelectedDateState(newDate);
78
+ setFormattedDate(newDate && formatDate ? formatDate(newDate) : '');
79
+ };
80
+ _react.useEffect(()=>{
81
+ setFormattedDate(value && formatDate ? formatDate(value) : '');
82
+ }, [
83
+ formatDate,
84
+ value
85
+ ]);
86
+ return [
87
+ selectedDate,
88
+ formattedDate,
89
+ setSelectedDate,
90
+ setFormattedDate
91
+ ];
92
+ }
93
+ const defaultFormatDate = (date)=>date ? date.toDateString() : '';
94
+ const defaultParseDateFromString = (dateStr)=>{
95
+ const date = Date.parse(dateStr);
96
+ return date ? new Date(date) : null;
97
+ };
98
+ const useDatePicker_unstable = (props, ref)=>{
99
+ const { allowTextInput =false , allFocusable =false , borderless =false , dateTimeFormatter , defaultOpen =false , disableAutoFocus =true , firstDayOfWeek =_utils.DayOfWeek.Sunday , firstWeekOfYear =_utils.FirstWeekOfYear.FirstDay , formatDate =defaultFormatDate , highlightCurrentMonth =false , highlightSelectedMonth =false , initialPickerDate =new Date() , inlinePopup =false , isMonthPickerVisible =true , maxDate , minDate , onOpenChange , onSelectDate: onUserSelectDate , openOnClick =true , onValidationResult , parseDateFromString =defaultParseDateFromString , showCloseButton =false , showGoToToday =true , showMonthPickerAsOverlay =false , showWeekNumbers =false , strings =_defaults.defaultDatePickerStrings , today , underlined =false , value , ...restOfProps } = props;
100
+ const calendar = _react.useRef(null);
101
+ const [focus, rootRef, preventFocusOpeningPicker, preventNextFocusOpeningPicker] = useFocusLogic();
102
+ const [selectedDate, formattedDate, setSelectedDate, setFormattedDate] = useSelectedDate({
103
+ formatDate,
104
+ onSelectDate: onUserSelectDate,
105
+ value
106
+ });
107
+ const [open, setOpenState] = usePopupVisibility(props);
108
+ const fieldContext = (0, _reactField.useFieldContext_unstable)();
109
+ var _fieldContext_required;
110
+ const required = (_fieldContext_required = fieldContext === null || fieldContext === void 0 ? void 0 : fieldContext.required) !== null && _fieldContext_required !== void 0 ? _fieldContext_required : props.required;
111
+ const popupSurfaceId = (0, _reactUtilities.useId)('datePicker-popoverSurface');
112
+ const validateTextInput = _react.useCallback((date = null)=>{
113
+ let error;
114
+ if (allowTextInput) {
115
+ if (formattedDate || date) {
116
+ // Don't parse if the selected date has the same formatted string as what we're about to parse.
117
+ // The formatted string might be ambiguous (ex: "1/2/3" or "New Year Eve") and the parser might
118
+ // not be able to come up with the exact same date.
119
+ if (selectedDate && formatDate && formatDate(date !== null && date !== void 0 ? date : selectedDate) === formattedDate) {
120
+ return;
121
+ }
122
+ date = date || parseDateFromString(formattedDate);
123
+ // Check if date is null or date is an invalid date
124
+ if (!date || isNaN(date.getTime())) {
125
+ // Reset input if formatting is available
126
+ setSelectedDate(selectedDate);
127
+ error = 'invalid-input';
128
+ } else {
129
+ if (isDateOutOfBounds(date, minDate, maxDate)) {
130
+ error = 'out-of-bounds';
131
+ } else {
132
+ setSelectedDate(date);
133
+ }
134
+ }
135
+ } else {
136
+ if (required) {
137
+ error = 'required-input';
138
+ }
139
+ onUserSelectDate === null || onUserSelectDate === void 0 ? void 0 : onUserSelectDate(date);
140
+ }
141
+ } else if (required && !formattedDate) {
142
+ error = 'required-input';
143
+ }
144
+ onValidationResult === null || onValidationResult === void 0 ? void 0 : onValidationResult({
145
+ error
146
+ });
147
+ }, [
148
+ allowTextInput,
149
+ formatDate,
150
+ formattedDate,
151
+ maxDate,
152
+ minDate,
153
+ onUserSelectDate,
154
+ onValidationResult,
155
+ parseDateFromString,
156
+ required,
157
+ selectedDate,
158
+ setSelectedDate
159
+ ]);
160
+ const setOpen = _react.useCallback((newState)=>{
161
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(newState);
162
+ setOpenState(newState);
163
+ }, [
164
+ onOpenChange,
165
+ setOpenState
166
+ ]);
167
+ const dismissDatePickerPopup = _react.useCallback((newlySelectedDate)=>{
168
+ if (open) {
169
+ setOpen(false);
170
+ validateTextInput(newlySelectedDate);
171
+ if (!allowTextInput && newlySelectedDate) {
172
+ setSelectedDate(newlySelectedDate);
173
+ }
174
+ }
175
+ }, [
176
+ allowTextInput,
177
+ open,
178
+ setOpen,
179
+ setSelectedDate,
180
+ validateTextInput
181
+ ]);
182
+ const showDatePickerPopup = _react.useCallback(()=>{
183
+ if (!open) {
184
+ preventNextFocusOpeningPicker();
185
+ setOpen(true);
186
+ }
187
+ }, [
188
+ open,
189
+ preventNextFocusOpeningPicker,
190
+ setOpen
191
+ ]);
192
+ /**
193
+ * Callback for closing the calendar callout
194
+ */ const calendarDismissed = _react.useCallback((newlySelectedDate)=>{
195
+ preventNextFocusOpeningPicker();
196
+ dismissDatePickerPopup(newlySelectedDate);
197
+ }, [
198
+ dismissDatePickerPopup,
199
+ preventNextFocusOpeningPicker
200
+ ]);
201
+ const onInputChange = _react.useCallback((ev, data)=>{
202
+ const { value: newValue } = data;
203
+ if (allowTextInput) {
204
+ if (open) {
205
+ dismissDatePickerPopup();
206
+ }
207
+ setFormattedDate(newValue);
208
+ }
209
+ }, [
210
+ allowTextInput,
211
+ dismissDatePickerPopup,
212
+ open,
213
+ setFormattedDate
214
+ ]);
215
+ const onInputBlur = _react.useCallback(()=>{
216
+ validateTextInput();
217
+ }, [
218
+ validateTextInput
219
+ ]);
220
+ const onInputKeyDown = _react.useCallback((ev)=>{
221
+ switch(ev.key){
222
+ case _keyboardKeys.Enter:
223
+ ev.preventDefault();
224
+ ev.stopPropagation();
225
+ if (!open) {
226
+ validateTextInput();
227
+ showDatePickerPopup();
228
+ } else {
229
+ // When DatePicker allows input date string directly,
230
+ // it is expected to hit another enter to close the popup
231
+ if (props.allowTextInput) {
232
+ dismissDatePickerPopup();
233
+ }
234
+ }
235
+ break;
236
+ case _keyboardKeys.Escape:
237
+ ev.stopPropagation();
238
+ ev.preventDefault();
239
+ if (open) {
240
+ calendarDismissed();
241
+ }
242
+ break;
243
+ case _keyboardKeys.ArrowDown:
244
+ ev.preventDefault();
245
+ if (ev.altKey && !open) {
246
+ showDatePickerPopup();
247
+ }
248
+ break;
249
+ default:
250
+ break;
251
+ }
252
+ }, [
253
+ calendarDismissed,
254
+ dismissDatePickerPopup,
255
+ open,
256
+ props.allowTextInput,
257
+ showDatePickerPopup,
258
+ validateTextInput
259
+ ]);
260
+ const onInputFocus = _react.useCallback(()=>{
261
+ if (disableAutoFocus) {
262
+ return;
263
+ }
264
+ if (!allowTextInput) {
265
+ if (!preventFocusOpeningPicker.current) {
266
+ showDatePickerPopup();
267
+ }
268
+ preventFocusOpeningPicker.current = false;
269
+ }
270
+ }, [
271
+ allowTextInput,
272
+ disableAutoFocus,
273
+ preventFocusOpeningPicker,
274
+ showDatePickerPopup
275
+ ]);
276
+ const onInputClick = _react.useCallback(()=>{
277
+ // default openOnClick to !props.disableAutoFocus for legacy support of disableAutoFocus behavior
278
+ if ((openOnClick || !disableAutoFocus) && !open && !props.disabled) {
279
+ showDatePickerPopup();
280
+ return;
281
+ }
282
+ if (allowTextInput) {
283
+ dismissDatePickerPopup();
284
+ }
285
+ }, [
286
+ allowTextInput,
287
+ disableAutoFocus,
288
+ dismissDatePickerPopup,
289
+ openOnClick,
290
+ open,
291
+ props.disabled,
292
+ showDatePickerPopup
293
+ ]);
294
+ const onIconClick = (ev)=>{
295
+ ev.stopPropagation();
296
+ if (!open && !props.disabled) {
297
+ showDatePickerPopup();
298
+ } else if (props.allowTextInput) {
299
+ dismissDatePickerPopup();
300
+ }
301
+ };
302
+ const inputAppearance = underlined ? 'underline' : borderless ? 'filled-lighter' : 'outline';
303
+ const [triggerWrapperRef, popupRef] = (0, _usePopupPositioning.usePopupPositioning)(props);
304
+ const rootShorthand = (0, _reactUtilities.resolveShorthand)(restOfProps, {
305
+ required: true,
306
+ defaultProps: {
307
+ appearance: inputAppearance,
308
+ 'aria-controls': open ? popupSurfaceId : undefined,
309
+ 'aria-expanded': open,
310
+ 'aria-haspopup': 'dialog',
311
+ contentAfter: /*#__PURE__*/ _react.createElement(_reactIcons.CalendarMonthRegular, {
312
+ onClick: onIconClick
313
+ }),
314
+ readOnly: !allowTextInput,
315
+ role: 'combobox',
316
+ root: {
317
+ ref: (0, _reactUtilities.useMergedRefs)(triggerWrapperRef, ref),
318
+ 'aria-owns': popupSurfaceId
319
+ },
320
+ input: {
321
+ ref: rootRef
322
+ }
323
+ }
324
+ });
325
+ rootShorthand.onChange = (0, _reactUtilities.mergeCallbacks)(rootShorthand.onChange, onInputChange);
326
+ rootShorthand.onBlur = (0, _reactUtilities.mergeCallbacks)(rootShorthand.onBlur, onInputBlur);
327
+ rootShorthand.onKeyDown = (0, _reactUtilities.mergeCallbacks)(rootShorthand.onKeyDown, onInputKeyDown);
328
+ rootShorthand.onFocus = (0, _reactUtilities.mergeCallbacks)(rootShorthand.onFocus, onInputFocus);
329
+ rootShorthand.onClick = (0, _reactUtilities.mergeCallbacks)(rootShorthand.onClick, onInputClick);
330
+ const { modalAttributes } = (0, _reactTabster.useModalAttributes)({
331
+ trapFocus: true,
332
+ alwaysFocusable: true,
333
+ legacyTrapFocus: false
334
+ });
335
+ const popupSurfaceShorthand = open ? (0, _reactUtilities.resolveShorthand)(props.popupSurface, {
336
+ required: true,
337
+ defaultProps: {
338
+ 'aria-label': 'Calendar',
339
+ 'aria-modal': true,
340
+ id: popupSurfaceId,
341
+ role: 'dialog',
342
+ ref: popupRef,
343
+ ...modalAttributes
344
+ }
345
+ }) : undefined;
346
+ const { targetDocument } = (0, _reactSharedContexts.useFluent_unstable)();
347
+ (0, _reactUtilities.useOnClickOutside)({
348
+ element: targetDocument,
349
+ callback: (ev)=>dismissDatePickerPopup(),
350
+ refs: [
351
+ triggerWrapperRef,
352
+ popupRef
353
+ ],
354
+ disabled: !open
355
+ });
356
+ (0, _reactUtilities.useOnScrollOutside)({
357
+ element: targetDocument,
358
+ callback: (ev)=>dismissDatePickerPopup(),
359
+ refs: [
360
+ triggerWrapperRef,
361
+ popupRef
362
+ ],
363
+ disabled: !open
364
+ });
365
+ const { findFirstFocusable } = (0, _reactTabster.useFocusFinders)();
366
+ _react.useEffect(()=>{
367
+ if (disableAutoFocus) {
368
+ return;
369
+ }
370
+ if (open && popupRef.current) {
371
+ const firstFocusable = findFirstFocusable(popupRef.current);
372
+ firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
373
+ }
374
+ }, [
375
+ disableAutoFocus,
376
+ findFirstFocusable,
377
+ open,
378
+ popupRef
379
+ ]);
380
+ const popupOnClick = (0, _reactUtilities.useEventCallback)((0, _reactUtilities.mergeCallbacks)((ev)=>{
381
+ var _rootRef_current;
382
+ (_rootRef_current = rootRef.current) === null || _rootRef_current === void 0 ? void 0 : _rootRef_current.focus();
383
+ }, popupSurfaceShorthand === null || popupSurfaceShorthand === void 0 ? void 0 : popupSurfaceShorthand.onClick));
384
+ if (popupSurfaceShorthand) {
385
+ popupSurfaceShorthand.onClick = popupOnClick;
386
+ }
387
+ const calendarShorthand = (0, _reactUtilities.resolveShorthand)(props.calendar, {
388
+ required: true,
389
+ defaultProps: {
390
+ allFocusable,
391
+ componentRef: calendar,
392
+ dateTimeFormatter,
393
+ firstDayOfWeek,
394
+ firstWeekOfYear,
395
+ highlightCurrentMonth,
396
+ highlightSelectedMonth,
397
+ isMonthPickerVisible,
398
+ maxDate,
399
+ minDate,
400
+ onDismiss: calendarDismissed,
401
+ showCloseButton,
402
+ showGoToToday,
403
+ showMonthPickerAsOverlay,
404
+ showWeekNumbers,
405
+ strings,
406
+ today,
407
+ value: selectedDate || initialPickerDate
408
+ }
409
+ });
410
+ _react.useImperativeHandle(props.componentRef, ()=>({
411
+ focus,
412
+ reset () {
413
+ setOpen(false);
414
+ setSelectedDate(undefined);
415
+ },
416
+ showDatePickerPopup
417
+ }), [
418
+ focus,
419
+ setOpen,
420
+ setSelectedDate,
421
+ showDatePickerPopup
422
+ ]);
423
+ const state = {
424
+ disabled: !!props.disabled,
425
+ inlinePopup,
426
+ components: {
427
+ root: _reactInput.Input,
428
+ calendar: _calendar.Calendar,
429
+ popupSurface: 'div'
430
+ },
431
+ calendar: calendarShorthand,
432
+ root: rootShorthand,
433
+ popupSurface: popupSurfaceShorthand
434
+ };
435
+ state.root.value = formattedDate;
436
+ state.calendar.onSelectDate = (0, _reactUtilities.mergeCallbacks)(state.calendar.onSelectDate, calendarDismissed);
437
+ return state;
438
+ }; //# sourceMappingURL=useDatePicker.js.map
439
+
440
+ //# sourceMappingURL=useDatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../lib/components/DatePicker/useDatePicker.js"],"sourcesContent":["import * as React from 'react';\nimport { ArrowDown, Enter, Escape } from '@fluentui/keyboard-keys';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarMonthRegular } from '@fluentui/react-icons';\nimport { compareDatePart, DayOfWeek, FirstWeekOfYear } from '../../utils';\nimport { defaultDatePickerStrings } from './defaults';\nimport { Input } from '@fluentui/react-input';\nimport { mergeCallbacks, resolveShorthand, useControllableState, useEventCallback, useId, useMergedRefs, useOnClickOutside, useOnScrollOutside } from '@fluentui/react-utilities';\nimport { useFieldContext_unstable as useFieldContext } from '@fluentui/react-field';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useFocusFinders, useModalAttributes } from '@fluentui/react-tabster';\nimport { usePopupPositioning } from '../../utils/usePopupPositioning';\nfunction isDateOutOfBounds(date, minDate, maxDate) {\n return !!minDate && compareDatePart(minDate, date) > 0 || !!maxDate && compareDatePart(maxDate, date) < 0;\n}\nfunction useFocusLogic() {\n const inputRef = React.useRef(null);\n const preventFocusOpeningPicker = React.useRef(false);\n const focus = () => {\n var _inputRef_current, _inputRef_current_focus;\n (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : (_inputRef_current_focus = _inputRef_current.focus) === null || _inputRef_current_focus === void 0 ? void 0 : _inputRef_current_focus.call(_inputRef_current);\n };\n const preventNextFocusOpeningPicker = () => {\n preventFocusOpeningPicker.current = true;\n };\n return [focus, inputRef, preventFocusOpeningPicker, preventNextFocusOpeningPicker];\n}\nfunction usePopupVisibility(props) {\n const [open, setOpen] = useControllableState({\n initialState: false,\n defaultState: props.defaultOpen,\n state: props.open\n });\n const isMounted = React.useRef(false);\n React.useEffect(() => {\n if (isMounted.current && !open) {\n var\n // If DatePicker's menu (Calendar) is closed, run onAfterMenuDismiss\n _props_onOpenChange;\n (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, false);\n }\n isMounted.current = true;\n },\n // Should only run on allowTextInput or open change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.allowTextInput, open]);\n return [open, setOpen];\n}\nfunction useSelectedDate({\n formatDate,\n onSelectDate,\n value\n}) {\n const [selectedDate, setSelectedDateState] = useControllableState({\n initialState: undefined,\n state: value\n });\n const [formattedDate, setFormattedDate] = React.useState(() => value && formatDate ? formatDate(value) : '');\n const setSelectedDate = newDate => {\n if (selectedDate === undefined && newDate !== undefined || selectedDate !== undefined && newDate === undefined || newDate && selectedDate && (newDate > selectedDate || newDate < selectedDate)) {\n onSelectDate === null || onSelectDate === void 0 ? void 0 : onSelectDate(newDate);\n }\n setSelectedDateState(newDate);\n setFormattedDate(newDate && formatDate ? formatDate(newDate) : '');\n };\n React.useEffect(() => {\n setFormattedDate(value && formatDate ? formatDate(value) : '');\n }, [formatDate, value]);\n return [selectedDate, formattedDate, setSelectedDate, setFormattedDate];\n}\nconst defaultFormatDate = date => date ? date.toDateString() : '';\nconst defaultParseDateFromString = dateStr => {\n const date = Date.parse(dateStr);\n return date ? new Date(date) : null;\n};\n/**\n * Create the state required to render DatePicker.\n *\n * The returned state can be modified with hooks such as useDatePickerStyles_unstable,\n * before being passed to renderDatePicker_unstable.\n *\n * @param props - props from this instance of DatePicker\n * @param ref - reference to root Input slot\n */\nexport const useDatePicker_unstable = (props, ref) => {\n const {\n allowTextInput = false,\n allFocusable = false,\n borderless = false,\n dateTimeFormatter,\n defaultOpen = false,\n disableAutoFocus = true,\n firstDayOfWeek = DayOfWeek.Sunday,\n firstWeekOfYear = FirstWeekOfYear.FirstDay,\n formatDate = defaultFormatDate,\n highlightCurrentMonth = false,\n highlightSelectedMonth = false,\n initialPickerDate = new Date(),\n inlinePopup = false,\n isMonthPickerVisible = true,\n maxDate,\n minDate,\n onOpenChange,\n onSelectDate: onUserSelectDate,\n openOnClick = true,\n onValidationResult,\n parseDateFromString = defaultParseDateFromString,\n showCloseButton = false,\n showGoToToday = true,\n showMonthPickerAsOverlay = false,\n showWeekNumbers = false,\n strings = defaultDatePickerStrings,\n today,\n underlined = false,\n value,\n ...restOfProps\n } = props;\n const calendar = React.useRef(null);\n const [focus, rootRef, preventFocusOpeningPicker, preventNextFocusOpeningPicker] = useFocusLogic();\n const [selectedDate, formattedDate, setSelectedDate, setFormattedDate] = useSelectedDate({\n formatDate,\n onSelectDate: onUserSelectDate,\n value\n });\n const [open, setOpenState] = usePopupVisibility(props);\n const fieldContext = useFieldContext();\n var _fieldContext_required;\n const required = (_fieldContext_required = fieldContext === null || fieldContext === void 0 ? void 0 : fieldContext.required) !== null && _fieldContext_required !== void 0 ? _fieldContext_required : props.required;\n const popupSurfaceId = useId('datePicker-popoverSurface');\n const validateTextInput = React.useCallback((date = null) => {\n let error;\n if (allowTextInput) {\n if (formattedDate || date) {\n // Don't parse if the selected date has the same formatted string as what we're about to parse.\n // The formatted string might be ambiguous (ex: \"1/2/3\" or \"New Year Eve\") and the parser might\n // not be able to come up with the exact same date.\n if (selectedDate && formatDate && formatDate(date !== null && date !== void 0 ? date : selectedDate) === formattedDate) {\n return;\n }\n date = date || parseDateFromString(formattedDate);\n // Check if date is null or date is an invalid date\n if (!date || isNaN(date.getTime())) {\n // Reset input if formatting is available\n setSelectedDate(selectedDate);\n error = 'invalid-input';\n } else {\n if (isDateOutOfBounds(date, minDate, maxDate)) {\n error = 'out-of-bounds';\n } else {\n setSelectedDate(date);\n }\n }\n } else {\n if (required) {\n error = 'required-input';\n }\n onUserSelectDate === null || onUserSelectDate === void 0 ? void 0 : onUserSelectDate(date);\n }\n } else if (required && !formattedDate) {\n error = 'required-input';\n }\n onValidationResult === null || onValidationResult === void 0 ? void 0 : onValidationResult({\n error\n });\n }, [allowTextInput, formatDate, formattedDate, maxDate, minDate, onUserSelectDate, onValidationResult, parseDateFromString, required, selectedDate, setSelectedDate]);\n const setOpen = React.useCallback(newState => {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(newState);\n setOpenState(newState);\n }, [onOpenChange, setOpenState]);\n const dismissDatePickerPopup = React.useCallback(newlySelectedDate => {\n if (open) {\n setOpen(false);\n validateTextInput(newlySelectedDate);\n if (!allowTextInput && newlySelectedDate) {\n setSelectedDate(newlySelectedDate);\n }\n }\n }, [allowTextInput, open, setOpen, setSelectedDate, validateTextInput]);\n const showDatePickerPopup = React.useCallback(() => {\n if (!open) {\n preventNextFocusOpeningPicker();\n setOpen(true);\n }\n }, [open, preventNextFocusOpeningPicker, setOpen]);\n /**\n * Callback for closing the calendar callout\n */\n const calendarDismissed = React.useCallback(newlySelectedDate => {\n preventNextFocusOpeningPicker();\n dismissDatePickerPopup(newlySelectedDate);\n }, [dismissDatePickerPopup, preventNextFocusOpeningPicker]);\n const onInputChange = React.useCallback((ev, data) => {\n const {\n value: newValue\n } = data;\n if (allowTextInput) {\n if (open) {\n dismissDatePickerPopup();\n }\n setFormattedDate(newValue);\n }\n }, [allowTextInput, dismissDatePickerPopup, open, setFormattedDate]);\n const onInputBlur = React.useCallback(() => {\n validateTextInput();\n }, [validateTextInput]);\n const onInputKeyDown = React.useCallback(ev => {\n switch (ev.key) {\n case Enter:\n ev.preventDefault();\n ev.stopPropagation();\n if (!open) {\n validateTextInput();\n showDatePickerPopup();\n } else {\n // When DatePicker allows input date string directly,\n // it is expected to hit another enter to close the popup\n if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n }\n break;\n case Escape:\n ev.stopPropagation();\n ev.preventDefault();\n if (open) {\n calendarDismissed();\n }\n break;\n case ArrowDown:\n ev.preventDefault();\n if (ev.altKey && !open) {\n showDatePickerPopup();\n }\n break;\n default:\n break;\n }\n }, [calendarDismissed, dismissDatePickerPopup, open, props.allowTextInput, showDatePickerPopup, validateTextInput]);\n const onInputFocus = React.useCallback(() => {\n if (disableAutoFocus) {\n return;\n }\n if (!allowTextInput) {\n if (!preventFocusOpeningPicker.current) {\n showDatePickerPopup();\n }\n preventFocusOpeningPicker.current = false;\n }\n }, [allowTextInput, disableAutoFocus, preventFocusOpeningPicker, showDatePickerPopup]);\n const onInputClick = React.useCallback(() => {\n // default openOnClick to !props.disableAutoFocus for legacy support of disableAutoFocus behavior\n if ((openOnClick || !disableAutoFocus) && !open && !props.disabled) {\n showDatePickerPopup();\n return;\n }\n if (allowTextInput) {\n dismissDatePickerPopup();\n }\n }, [allowTextInput, disableAutoFocus, dismissDatePickerPopup, openOnClick, open, props.disabled, showDatePickerPopup]);\n const onIconClick = ev => {\n ev.stopPropagation();\n if (!open && !props.disabled) {\n showDatePickerPopup();\n } else if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n };\n const inputAppearance = underlined ? 'underline' : borderless ? 'filled-lighter' : 'outline';\n const [triggerWrapperRef, popupRef] = usePopupPositioning(props);\n const rootShorthand = resolveShorthand(restOfProps, {\n required: true,\n defaultProps: {\n appearance: inputAppearance,\n 'aria-controls': open ? popupSurfaceId : undefined,\n 'aria-expanded': open,\n 'aria-haspopup': 'dialog',\n contentAfter: /*#__PURE__*/React.createElement(CalendarMonthRegular, {\n onClick: onIconClick\n }),\n readOnly: !allowTextInput,\n role: 'combobox',\n root: {\n ref: useMergedRefs(triggerWrapperRef, ref),\n 'aria-owns': popupSurfaceId\n },\n input: {\n ref: rootRef\n }\n }\n });\n rootShorthand.onChange = mergeCallbacks(rootShorthand.onChange, onInputChange);\n rootShorthand.onBlur = mergeCallbacks(rootShorthand.onBlur, onInputBlur);\n rootShorthand.onKeyDown = mergeCallbacks(rootShorthand.onKeyDown, onInputKeyDown);\n rootShorthand.onFocus = mergeCallbacks(rootShorthand.onFocus, onInputFocus);\n rootShorthand.onClick = mergeCallbacks(rootShorthand.onClick, onInputClick);\n const {\n modalAttributes\n } = useModalAttributes({\n trapFocus: true,\n alwaysFocusable: true,\n legacyTrapFocus: false\n });\n const popupSurfaceShorthand = open ? resolveShorthand(props.popupSurface, {\n required: true,\n defaultProps: {\n 'aria-label': 'Calendar',\n 'aria-modal': true,\n id: popupSurfaceId,\n role: 'dialog',\n ref: popupRef,\n ...modalAttributes\n }\n }) : undefined;\n const {\n targetDocument\n } = useFluent();\n useOnClickOutside({\n element: targetDocument,\n callback: ev => dismissDatePickerPopup(),\n refs: [triggerWrapperRef, popupRef],\n disabled: !open\n });\n useOnScrollOutside({\n element: targetDocument,\n callback: ev => dismissDatePickerPopup(),\n refs: [triggerWrapperRef, popupRef],\n disabled: !open\n });\n const {\n findFirstFocusable\n } = useFocusFinders();\n React.useEffect(() => {\n if (disableAutoFocus) {\n return;\n }\n if (open && popupRef.current) {\n const firstFocusable = findFirstFocusable(popupRef.current);\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }\n }, [disableAutoFocus, findFirstFocusable, open, popupRef]);\n const popupOnClick = useEventCallback(mergeCallbacks(ev => {\n var _rootRef_current;\n (_rootRef_current = rootRef.current) === null || _rootRef_current === void 0 ? void 0 : _rootRef_current.focus();\n }, popupSurfaceShorthand === null || popupSurfaceShorthand === void 0 ? void 0 : popupSurfaceShorthand.onClick));\n if (popupSurfaceShorthand) {\n popupSurfaceShorthand.onClick = popupOnClick;\n }\n const calendarShorthand = resolveShorthand(props.calendar, {\n required: true,\n defaultProps: {\n allFocusable,\n componentRef: calendar,\n dateTimeFormatter,\n firstDayOfWeek,\n firstWeekOfYear,\n highlightCurrentMonth,\n highlightSelectedMonth,\n isMonthPickerVisible,\n maxDate,\n minDate,\n onDismiss: calendarDismissed,\n showCloseButton,\n showGoToToday,\n showMonthPickerAsOverlay,\n showWeekNumbers,\n strings,\n today,\n value: selectedDate || initialPickerDate\n }\n });\n React.useImperativeHandle(props.componentRef, () => ({\n focus,\n reset() {\n setOpen(false);\n setSelectedDate(undefined);\n },\n showDatePickerPopup\n }), [focus, setOpen, setSelectedDate, showDatePickerPopup]);\n const state = {\n disabled: !!props.disabled,\n inlinePopup,\n components: {\n root: Input,\n calendar: Calendar,\n popupSurface: 'div'\n },\n calendar: calendarShorthand,\n root: rootShorthand,\n popupSurface: popupSurfaceShorthand\n };\n state.root.value = formattedDate;\n state.calendar.onSelectDate = mergeCallbacks(state.calendar.onSelectDate, calendarDismissed);\n return state;\n};\n//# sourceMappingURL=useDatePicker.js.map"],"names":["useDatePicker_unstable","isDateOutOfBounds","date","minDate","maxDate","compareDatePart","useFocusLogic","inputRef","React","useRef","preventFocusOpeningPicker","focus","_inputRef_current","_inputRef_current_focus","current","call","preventNextFocusOpeningPicker","usePopupVisibility","props","open","setOpen","useControllableState","initialState","defaultState","defaultOpen","state","isMounted","useEffect","_props_onOpenChange","onOpenChange","allowTextInput","useSelectedDate","formatDate","onSelectDate","value","selectedDate","setSelectedDateState","undefined","formattedDate","setFormattedDate","useState","setSelectedDate","newDate","defaultFormatDate","toDateString","defaultParseDateFromString","dateStr","Date","parse","ref","allFocusable","borderless","dateTimeFormatter","disableAutoFocus","firstDayOfWeek","DayOfWeek","Sunday","firstWeekOfYear","FirstWeekOfYear","FirstDay","highlightCurrentMonth","highlightSelectedMonth","initialPickerDate","inlinePopup","isMonthPickerVisible","onUserSelectDate","openOnClick","onValidationResult","parseDateFromString","showCloseButton","showGoToToday","showMonthPickerAsOverlay","showWeekNumbers","strings","defaultDatePickerStrings","today","underlined","restOfProps","calendar","rootRef","setOpenState","fieldContext","useFieldContext","_fieldContext_required","required","popupSurfaceId","useId","validateTextInput","useCallback","error","isNaN","getTime","newState","dismissDatePickerPopup","newlySelectedDate","showDatePickerPopup","calendarDismissed","onInputChange","ev","data","newValue","onInputBlur","onInputKeyDown","key","Enter","preventDefault","stopPropagation","Escape","ArrowDown","altKey","onInputFocus","onInputClick","disabled","onIconClick","inputAppearance","triggerWrapperRef","popupRef","usePopupPositioning","rootShorthand","resolveShorthand","defaultProps","appearance","contentAfter","createElement","CalendarMonthRegular","onClick","readOnly","role","root","useMergedRefs","input","onChange","mergeCallbacks","onBlur","onKeyDown","onFocus","modalAttributes","useModalAttributes","trapFocus","alwaysFocusable","legacyTrapFocus","popupSurfaceShorthand","popupSurface","id","targetDocument","useFluent","useOnClickOutside","element","callback","refs","useOnScrollOutside","findFirstFocusable","useFocusFinders","firstFocusable","popupOnClick","useEventCallback","_rootRef_current","calendarShorthand","componentRef","onDismiss","useImperativeHandle","reset","components","Input","Calendar"],"mappings":";;;;+BAoFaA;;aAAAA;;;6DApFU;8BACkB;0BAChB;4BACY;uBACuB;0BACnB;4BACnB;gCACgI;4BAC1F;qCACZ;8BACI;qCAChB;AACpC,SAASC,kBAAkBC,IAAI,EAAEC,OAAO,EAAEC,OAAO,EAAE;IACjD,OAAO,CAAC,CAACD,WAAWE,IAAAA,sBAAe,EAACF,SAASD,QAAQ,KAAK,CAAC,CAACE,WAAWC,IAAAA,sBAAe,EAACD,SAASF,QAAQ;AAC1G;AACA,SAASI,gBAAgB;IACvB,MAAMC,WAAWC,OAAMC,MAAM,CAAC,IAAI;IAClC,MAAMC,4BAA4BF,OAAMC,MAAM,CAAC,KAAK;IACpD,MAAME,QAAQ,IAAM;QAClB,IAAIC,mBAAmBC;QACtBD,CAAAA,oBAAoBL,SAASO,OAAO,AAAD,MAAO,IAAI,IAAIF,sBAAsB,KAAK,IAAI,KAAK,IAAI,AAACC,CAAAA,0BAA0BD,kBAAkBD,KAAK,AAAD,MAAO,IAAI,IAAIE,4BAA4B,KAAK,IAAI,KAAK,IAAIA,wBAAwBE,IAAI,CAACH,kBAAkB;IAC1P;IACA,MAAMI,gCAAgC,IAAM;QAC1CN,0BAA0BI,OAAO,GAAG,IAAI;IAC1C;IACA,OAAO;QAACH;QAAOJ;QAAUG;QAA2BM;KAA8B;AACpF;AACA,SAASC,mBAAmBC,KAAK,EAAE;IACjC,MAAM,CAACC,MAAMC,QAAQ,GAAGC,IAAAA,oCAAoB,EAAC;QAC3CC,cAAc,KAAK;QACnBC,cAAcL,MAAMM,WAAW;QAC/BC,OAAOP,MAAMC,IAAI;IACnB;IACA,MAAMO,YAAYlB,OAAMC,MAAM,CAAC,KAAK;IACpCD,OAAMmB,SAAS,CAAC,IAAM;QACpB,IAAID,UAAUZ,OAAO,IAAI,CAACK,MAAM;YAC9B,IACA,oEAAoE;YACpES;YACCA,CAAAA,sBAAsBV,MAAMW,YAAY,AAAD,MAAO,IAAI,IAAID,wBAAwB,KAAK,IAAI,KAAK,IAAIA,oBAAoBb,IAAI,CAACG,OAAO,KAAK,CAAC;QACzI,CAAC;QACDQ,UAAUZ,OAAO,GAAG,IAAI;IAC1B,GACA,mDAAmD;IACnD,uDAAuD;IACvD;QAACI,MAAMY,cAAc;QAAEX;KAAK;IAC5B,OAAO;QAACA;QAAMC;KAAQ;AACxB;AACA,SAASW,gBAAgB,EACvBC,WAAU,EACVC,aAAY,EACZC,MAAK,EACN,EAAE;IACD,MAAM,CAACC,cAAcC,qBAAqB,GAAGf,IAAAA,oCAAoB,EAAC;QAChEC,cAAce;QACdZ,OAAOS;IACT;IACA,MAAM,CAACI,eAAeC,iBAAiB,GAAG/B,OAAMgC,QAAQ,CAAC,IAAMN,SAASF,aAAaA,WAAWE,SAAS,EAAE;IAC3G,MAAMO,kBAAkBC,CAAAA,UAAW;QACjC,IAAIP,iBAAiBE,aAAaK,YAAYL,aAAaF,iBAAiBE,aAAaK,YAAYL,aAAaK,WAAWP,gBAAiBO,CAAAA,UAAUP,gBAAgBO,UAAUP,YAAW,GAAI;YAC/LF,iBAAiB,IAAI,IAAIA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAaS,QAAQ;QACnF,CAAC;QACDN,qBAAqBM;QACrBH,iBAAiBG,WAAWV,aAAaA,WAAWU,WAAW,EAAE;IACnE;IACAlC,OAAMmB,SAAS,CAAC,IAAM;QACpBY,iBAAiBL,SAASF,aAAaA,WAAWE,SAAS,EAAE;IAC/D,GAAG;QAACF;QAAYE;KAAM;IACtB,OAAO;QAACC;QAAcG;QAAeG;QAAiBF;KAAiB;AACzE;AACA,MAAMI,oBAAoBzC,CAAAA,OAAQA,OAAOA,KAAK0C,YAAY,KAAK,EAAE;AACjE,MAAMC,6BAA6BC,CAAAA,UAAW;IAC5C,MAAM5C,OAAO6C,KAAKC,KAAK,CAACF;IACxB,OAAO5C,OAAO,IAAI6C,KAAK7C,QAAQ,IAAI;AACrC;AAUO,MAAMF,yBAAyB,CAACkB,OAAO+B,MAAQ;IACpD,MAAM,EACJnB,gBAAiB,KAAK,CAAA,EACtBoB,cAAe,KAAK,CAAA,EACpBC,YAAa,KAAK,CAAA,EAClBC,kBAAiB,EACjB5B,aAAc,KAAK,CAAA,EACnB6B,kBAAmB,IAAI,CAAA,EACvBC,gBAAiBC,gBAAS,CAACC,MAAM,CAAA,EACjCC,iBAAkBC,sBAAe,CAACC,QAAQ,CAAA,EAC1C3B,YAAaW,kBAAiB,EAC9BiB,uBAAwB,KAAK,CAAA,EAC7BC,wBAAyB,KAAK,CAAA,EAC9BC,mBAAoB,IAAIf,OAAM,EAC9BgB,aAAc,KAAK,CAAA,EACnBC,sBAAuB,IAAI,CAAA,EAC3B5D,QAAO,EACPD,QAAO,EACP0B,aAAY,EACZI,cAAcgC,iBAAgB,EAC9BC,aAAc,IAAI,CAAA,EAClBC,mBAAkB,EAClBC,qBAAsBvB,2BAA0B,EAChDwB,iBAAkB,KAAK,CAAA,EACvBC,eAAgB,IAAI,CAAA,EACpBC,0BAA2B,KAAK,CAAA,EAChCC,iBAAkB,KAAK,CAAA,EACvBC,SAAUC,kCAAwB,CAAA,EAClCC,MAAK,EACLC,YAAa,KAAK,CAAA,EAClB1C,MAAK,EACL,GAAG2C,aACJ,GAAG3D;IACJ,MAAM4D,WAAWtE,OAAMC,MAAM,CAAC,IAAI;IAClC,MAAM,CAACE,OAAOoE,SAASrE,2BAA2BM,8BAA8B,GAAGV;IACnF,MAAM,CAAC6B,cAAcG,eAAeG,iBAAiBF,iBAAiB,GAAGR,gBAAgB;QACvFC;QACAC,cAAcgC;QACd/B;IACF;IACA,MAAM,CAACf,MAAM6D,aAAa,GAAG/D,mBAAmBC;IAChD,MAAM+D,eAAeC,IAAAA,oCAAe;IACpC,IAAIC;IACJ,MAAMC,WAAW,AAACD,CAAAA,yBAAyBF,iBAAiB,IAAI,IAAIA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAaG,QAAQ,AAAD,MAAO,IAAI,IAAID,2BAA2B,KAAK,IAAIA,yBAAyBjE,MAAMkE,QAAQ;IACrN,MAAMC,iBAAiBC,IAAAA,qBAAK,EAAC;IAC7B,MAAMC,oBAAoB/E,OAAMgF,WAAW,CAAC,CAACtF,OAAO,IAAI,GAAK;QAC3D,IAAIuF;QACJ,IAAI3D,gBAAgB;YAClB,IAAIQ,iBAAiBpC,MAAM;gBACzB,+FAA+F;gBAC/F,+FAA+F;gBAC/F,mDAAmD;gBACnD,IAAIiC,gBAAgBH,cAAcA,WAAW9B,SAAS,IAAI,IAAIA,SAAS,KAAK,IAAIA,OAAOiC,YAAY,MAAMG,eAAe;oBACtH;gBACF,CAAC;gBACDpC,OAAOA,QAAQkE,oBAAoB9B;gBACnC,mDAAmD;gBACnD,IAAI,CAACpC,QAAQwF,MAAMxF,KAAKyF,OAAO,KAAK;oBAClC,yCAAyC;oBACzClD,gBAAgBN;oBAChBsD,QAAQ;gBACV,OAAO;oBACL,IAAIxF,kBAAkBC,MAAMC,SAASC,UAAU;wBAC7CqF,QAAQ;oBACV,OAAO;wBACLhD,gBAAgBvC;oBAClB,CAAC;gBACH,CAAC;YACH,OAAO;gBACL,IAAIkF,UAAU;oBACZK,QAAQ;gBACV,CAAC;gBACDxB,qBAAqB,IAAI,IAAIA,qBAAqB,KAAK,IAAI,KAAK,IAAIA,iBAAiB/D,KAAK;YAC5F,CAAC;QACH,OAAO,IAAIkF,YAAY,CAAC9C,eAAe;YACrCmD,QAAQ;QACV,CAAC;QACDtB,uBAAuB,IAAI,IAAIA,uBAAuB,KAAK,IAAI,KAAK,IAAIA,mBAAmB;YACzFsB;QACF,EAAE;IACJ,GAAG;QAAC3D;QAAgBE;QAAYM;QAAelC;QAASD;QAAS8D;QAAkBE;QAAoBC;QAAqBgB;QAAUjD;QAAcM;KAAgB;IACpK,MAAMrB,UAAUZ,OAAMgF,WAAW,CAACI,CAAAA,WAAY;QAC5C/D,iBAAiB,IAAI,IAAIA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAa+D,SAAS;QAClFZ,aAAaY;IACf,GAAG;QAAC/D;QAAcmD;KAAa;IAC/B,MAAMa,yBAAyBrF,OAAMgF,WAAW,CAACM,CAAAA,oBAAqB;QACpE,IAAI3E,MAAM;YACRC,QAAQ,KAAK;YACbmE,kBAAkBO;YAClB,IAAI,CAAChE,kBAAkBgE,mBAAmB;gBACxCrD,gBAAgBqD;YAClB,CAAC;QACH,CAAC;IACH,GAAG;QAAChE;QAAgBX;QAAMC;QAASqB;QAAiB8C;KAAkB;IACtE,MAAMQ,sBAAsBvF,OAAMgF,WAAW,CAAC,IAAM;QAClD,IAAI,CAACrE,MAAM;YACTH;YACAI,QAAQ,IAAI;QACd,CAAC;IACH,GAAG;QAACD;QAAMH;QAA+BI;KAAQ;IACjD;;EAEA,GACA,MAAM4E,oBAAoBxF,OAAMgF,WAAW,CAACM,CAAAA,oBAAqB;QAC/D9E;QACA6E,uBAAuBC;IACzB,GAAG;QAACD;QAAwB7E;KAA8B;IAC1D,MAAMiF,gBAAgBzF,OAAMgF,WAAW,CAAC,CAACU,IAAIC,OAAS;QACpD,MAAM,EACJjE,OAAOkE,SAAQ,EAChB,GAAGD;QACJ,IAAIrE,gBAAgB;YAClB,IAAIX,MAAM;gBACR0E;YACF,CAAC;YACDtD,iBAAiB6D;QACnB,CAAC;IACH,GAAG;QAACtE;QAAgB+D;QAAwB1E;QAAMoB;KAAiB;IACnE,MAAM8D,cAAc7F,OAAMgF,WAAW,CAAC,IAAM;QAC1CD;IACF,GAAG;QAACA;KAAkB;IACtB,MAAMe,iBAAiB9F,OAAMgF,WAAW,CAACU,CAAAA,KAAM;QAC7C,OAAQA,GAAGK,GAAG;YACZ,KAAKC,mBAAK;gBACRN,GAAGO,cAAc;gBACjBP,GAAGQ,eAAe;gBAClB,IAAI,CAACvF,MAAM;oBACToE;oBACAQ;gBACF,OAAO;oBACL,qDAAqD;oBACrD,yDAAyD;oBACzD,IAAI7E,MAAMY,cAAc,EAAE;wBACxB+D;oBACF,CAAC;gBACH,CAAC;gBACD,KAAM;YACR,KAAKc,oBAAM;gBACTT,GAAGQ,eAAe;gBAClBR,GAAGO,cAAc;gBACjB,IAAItF,MAAM;oBACR6E;gBACF,CAAC;gBACD,KAAM;YACR,KAAKY,uBAAS;gBACZV,GAAGO,cAAc;gBACjB,IAAIP,GAAGW,MAAM,IAAI,CAAC1F,MAAM;oBACtB4E;gBACF,CAAC;gBACD,KAAM;YACR;gBACE,KAAM;QACV;IACF,GAAG;QAACC;QAAmBH;QAAwB1E;QAAMD,MAAMY,cAAc;QAAEiE;QAAqBR;KAAkB;IAClH,MAAMuB,eAAetG,OAAMgF,WAAW,CAAC,IAAM;QAC3C,IAAInC,kBAAkB;YACpB;QACF,CAAC;QACD,IAAI,CAACvB,gBAAgB;YACnB,IAAI,CAACpB,0BAA0BI,OAAO,EAAE;gBACtCiF;YACF,CAAC;YACDrF,0BAA0BI,OAAO,GAAG,KAAK;QAC3C,CAAC;IACH,GAAG;QAACgB;QAAgBuB;QAAkB3C;QAA2BqF;KAAoB;IACrF,MAAMgB,eAAevG,OAAMgF,WAAW,CAAC,IAAM;QAC3C,iGAAiG;QACjG,IAAI,AAACtB,CAAAA,eAAe,CAACb,gBAAe,KAAM,CAAClC,QAAQ,CAACD,MAAM8F,QAAQ,EAAE;YAClEjB;YACA;QACF,CAAC;QACD,IAAIjE,gBAAgB;YAClB+D;QACF,CAAC;IACH,GAAG;QAAC/D;QAAgBuB;QAAkBwC;QAAwB3B;QAAa/C;QAAMD,MAAM8F,QAAQ;QAAEjB;KAAoB;IACrH,MAAMkB,cAAcf,CAAAA,KAAM;QACxBA,GAAGQ,eAAe;QAClB,IAAI,CAACvF,QAAQ,CAACD,MAAM8F,QAAQ,EAAE;YAC5BjB;QACF,OAAO,IAAI7E,MAAMY,cAAc,EAAE;YAC/B+D;QACF,CAAC;IACH;IACA,MAAMqB,kBAAkBtC,aAAa,cAAczB,aAAa,mBAAmB,SAAS;IAC5F,MAAM,CAACgE,mBAAmBC,SAAS,GAAGC,IAAAA,wCAAmB,EAACnG;IAC1D,MAAMoG,gBAAgBC,IAAAA,gCAAgB,EAAC1C,aAAa;QAClDO,UAAU,IAAI;QACdoC,cAAc;YACZC,YAAYP;YACZ,iBAAiB/F,OAAOkE,iBAAiBhD,SAAS;YAClD,iBAAiBlB;YACjB,iBAAiB;YACjBuG,cAAc,WAAW,GAAElH,OAAMmH,aAAa,CAACC,gCAAoB,EAAE;gBACnEC,SAASZ;YACX;YACAa,UAAU,CAAChG;YACXiG,MAAM;YACNC,MAAM;gBACJ/E,KAAKgF,IAAAA,6BAAa,EAACd,mBAAmBlE;gBACtC,aAAaoC;YACf;YACA6C,OAAO;gBACLjF,KAAK8B;YACP;QACF;IACF;IACAuC,cAAca,QAAQ,GAAGC,IAAAA,8BAAc,EAACd,cAAca,QAAQ,EAAElC;IAChEqB,cAAce,MAAM,GAAGD,IAAAA,8BAAc,EAACd,cAAce,MAAM,EAAEhC;IAC5DiB,cAAcgB,SAAS,GAAGF,IAAAA,8BAAc,EAACd,cAAcgB,SAAS,EAAEhC;IAClEgB,cAAciB,OAAO,GAAGH,IAAAA,8BAAc,EAACd,cAAciB,OAAO,EAAEzB;IAC9DQ,cAAcO,OAAO,GAAGO,IAAAA,8BAAc,EAACd,cAAcO,OAAO,EAAEd;IAC9D,MAAM,EACJyB,gBAAe,EAChB,GAAGC,IAAAA,gCAAkB,EAAC;QACrBC,WAAW,IAAI;QACfC,iBAAiB,IAAI;QACrBC,iBAAiB,KAAK;IACxB;IACA,MAAMC,wBAAwB1H,OAAOoG,IAAAA,gCAAgB,EAACrG,MAAM4H,YAAY,EAAE;QACxE1D,UAAU,IAAI;QACdoC,cAAc;YACZ,cAAc;YACd,cAAc,IAAI;YAClBuB,IAAI1D;YACJ0C,MAAM;YACN9E,KAAKmE;YACL,GAAGoB,eAAe;QACpB;IACF,KAAKnG,SAAS;IACd,MAAM,EACJ2G,eAAc,EACf,GAAGC,IAAAA,uCAAS;IACbC,IAAAA,iCAAiB,EAAC;QAChBC,SAASH;QACTI,UAAUlD,CAAAA,KAAML;QAChBwD,MAAM;YAAClC;YAAmBC;SAAS;QACnCJ,UAAU,CAAC7F;IACb;IACAmI,IAAAA,kCAAkB,EAAC;QACjBH,SAASH;QACTI,UAAUlD,CAAAA,KAAML;QAChBwD,MAAM;YAAClC;YAAmBC;SAAS;QACnCJ,UAAU,CAAC7F;IACb;IACA,MAAM,EACJoI,mBAAkB,EACnB,GAAGC,IAAAA,6BAAe;IACnBhJ,OAAMmB,SAAS,CAAC,IAAM;QACpB,IAAI0B,kBAAkB;YACpB;QACF,CAAC;QACD,IAAIlC,QAAQiG,SAAStG,OAAO,EAAE;YAC5B,MAAM2I,iBAAiBF,mBAAmBnC,SAAStG,OAAO;YAC1D2I,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAe9I,KAAK,EAAE;QACxF,CAAC;IACH,GAAG;QAAC0C;QAAkBkG;QAAoBpI;QAAMiG;KAAS;IACzD,MAAMsC,eAAeC,IAAAA,gCAAgB,EAACvB,IAAAA,8BAAc,EAAClC,CAAAA,KAAM;QACzD,IAAI0D;QACHA,CAAAA,mBAAmB7E,QAAQjE,OAAO,AAAD,MAAO,IAAI,IAAI8I,qBAAqB,KAAK,IAAI,KAAK,IAAIA,iBAAiBjJ,KAAK,EAAE;IAClH,GAAGkI,0BAA0B,IAAI,IAAIA,0BAA0B,KAAK,IAAI,KAAK,IAAIA,sBAAsBhB,OAAO;IAC9G,IAAIgB,uBAAuB;QACzBA,sBAAsBhB,OAAO,GAAG6B;IAClC,CAAC;IACD,MAAMG,oBAAoBtC,IAAAA,gCAAgB,EAACrG,MAAM4D,QAAQ,EAAE;QACzDM,UAAU,IAAI;QACdoC,cAAc;YACZtE;YACA4G,cAAchF;YACd1B;YACAE;YACAG;YACAG;YACAC;YACAG;YACA5D;YACAD;YACA4J,WAAW/D;YACX3B;YACAC;YACAC;YACAC;YACAC;YACAE;YACAzC,OAAOC,gBAAgB2B;QACzB;IACF;IACAtD,OAAMwJ,mBAAmB,CAAC9I,MAAM4I,YAAY,EAAE,IAAO,CAAA;YACnDnJ;YACAsJ,SAAQ;gBACN7I,QAAQ,KAAK;gBACbqB,gBAAgBJ;YAClB;YACA0D;QACF,CAAA,GAAI;QAACpF;QAAOS;QAASqB;QAAiBsD;KAAoB;IAC1D,MAAMtE,QAAQ;QACZuF,UAAU,CAAC,CAAC9F,MAAM8F,QAAQ;QAC1BjD;QACAmG,YAAY;YACVlC,MAAMmC,iBAAK;YACXrF,UAAUsF,kBAAQ;YAClBtB,cAAc;QAChB;QACAhE,UAAU+E;QACV7B,MAAMV;QACNwB,cAAcD;IAChB;IACApH,MAAMuG,IAAI,CAAC9F,KAAK,GAAGI;IACnBb,MAAMqD,QAAQ,CAAC7C,YAAY,GAAGmG,IAAAA,8BAAc,EAAC3G,MAAMqD,QAAQ,CAAC7C,YAAY,EAAE+D;IAC1E,OAAOvE;AACT,GACA,yCAAyC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ datePickerClassNames: ()=>datePickerClassNames,
13
+ useDatePickerStyles_unstable: ()=>useDatePickerStyles_unstable
14
+ });
15
+ const _react = require("@griffel/react");
16
+ const datePickerClassNames = {
17
+ root: 'fui-DatePicker',
18
+ calendar: 'fui-DatePicker__calendar',
19
+ popupSurface: 'fui-DatePicker__popupSurface'
20
+ };
21
+ const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
22
+ base: {
23
+ qhf8xq: "f10pi13n",
24
+ Bceei9c: "f1k6fduh",
25
+ xfaavh: "faxec97"
26
+ },
27
+ disabled: {
28
+ Bceei9c: "f158kwzp",
29
+ xfaavh: "f19qwlmg"
30
+ }
31
+ }, {
32
+ d: [
33
+ ".f10pi13n{position:relative;}",
34
+ ".f1k6fduh{cursor:pointer;}",
35
+ ".faxec97 input{cursor:pointer;}",
36
+ ".f158kwzp{cursor:default;}",
37
+ ".f19qwlmg input{cursor:default;}"
38
+ ]
39
+ });
40
+ const usePopupSurfaceClassName = /*#__PURE__*/ (0, _react["__resetStyles"])("r1ytv1z8", null, [
41
+ ".r1ytv1z8{background-color:var(--colorNeutralBackground1);box-shadow:var(--shadow16);border-radius:var(--borderRadiusMedium);border-width:1px;border-style:solid;border-color:var(--colorTransparentStroke);display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;color:var(--colorNeutralForeground1);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);}"
42
+ ]);
43
+ const useDatePickerStyles_unstable = (state)=>{
44
+ const styles = useStyles();
45
+ const popupSurfaceClassName = usePopupSurfaceClassName();
46
+ const { disabled } = state;
47
+ state.root.className = (0, _react.mergeClasses)(datePickerClassNames.root, styles.base, disabled && styles.disabled, state.root.className);
48
+ if (state.popupSurface) {
49
+ state.popupSurface.className = (0, _react.mergeClasses)(datePickerClassNames.popupSurface, popupSurfaceClassName, state.popupSurface.className);
50
+ }
51
+ state.calendar.className = (0, _react.mergeClasses)(datePickerClassNames.calendar, state.calendar.className);
52
+ return state;
53
+ }; //# sourceMappingURL=useDatePickerStyles.styles.js.map
54
+
55
+ //# sourceMappingURL=useDatePickerStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../lib/components/DatePicker/useDatePickerStyles.styles.js"],"sourcesContent":["import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const datePickerClassNames = {\n root: 'fui-DatePicker',\n calendar: 'fui-DatePicker__calendar',\n popupSurface: 'fui-DatePicker__popupSurface'\n};\nconst useStyles = /*#__PURE__*/__styles({\n base: {\n qhf8xq: \"f10pi13n\",\n Bceei9c: \"f1k6fduh\",\n xfaavh: \"faxec97\"\n },\n disabled: {\n Bceei9c: \"f158kwzp\",\n xfaavh: \"f19qwlmg\"\n }\n}, {\n d: [\".f10pi13n{position:relative;}\", \".f1k6fduh{cursor:pointer;}\", \".faxec97 input{cursor:pointer;}\", \".f158kwzp{cursor:default;}\", \".f19qwlmg input{cursor:default;}\"]\n});\nconst usePopupSurfaceClassName = /*#__PURE__*/__resetStyles(\"r1ytv1z8\", null, [\".r1ytv1z8{background-color:var(--colorNeutralBackground1);box-shadow:var(--shadow16);border-radius:var(--borderRadiusMedium);border-width:1px;border-style:solid;border-color:var(--colorTransparentStroke);display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;color:var(--colorNeutralForeground1);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);}\"]);\n/**\n * Apply styling to the DatePicker slots based on the state\n */\nexport const useDatePickerStyles_unstable = state => {\n const styles = useStyles();\n const popupSurfaceClassName = usePopupSurfaceClassName();\n const {\n disabled\n } = state;\n state.root.className = mergeClasses(datePickerClassNames.root, styles.base, disabled && styles.disabled, state.root.className);\n if (state.popupSurface) {\n state.popupSurface.className = mergeClasses(datePickerClassNames.popupSurface, popupSurfaceClassName, state.popupSurface.className);\n }\n state.calendar.className = mergeClasses(datePickerClassNames.calendar, state.calendar.className);\n return state;\n};\n//# sourceMappingURL=useDatePickerStyles.styles.js.map"],"names":["datePickerClassNames","useDatePickerStyles_unstable","root","calendar","popupSurface","useStyles","__styles","base","qhf8xq","Bceei9c","xfaavh","disabled","d","usePopupSurfaceClassName","__resetStyles","state","styles","popupSurfaceClassName","className","mergeClasses"],"mappings":";;;;;;;;;;;IAEaA,oBAAoB,MAApBA;IAsBAC,4BAA4B,MAA5BA;;uBAxByC;AAE/C,MAAMD,uBAAuB;IAClCE,MAAM;IACNC,UAAU;IACVC,cAAc;AAChB;AACA,MAAMC,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCC,MAAM;QACJC,QAAQ;QACRC,SAAS;QACTC,QAAQ;IACV;IACAC,UAAU;QACRF,SAAS;QACTC,QAAQ;IACV;AACF,GAAG;IACDE,GAAG;QAAC;QAAiC;QAA8B;QAAmC;QAA8B;KAAmC;AACzK;AACA,MAAMC,2BAA2B,WAAW,GAAEC,IAAAA,uBAAa,EAAC,YAAY,IAAI,EAAE;IAAC;CAAwe;AAIhjB,MAAMb,+BAA+Bc,CAAAA,QAAS;IACnD,MAAMC,SAASX;IACf,MAAMY,wBAAwBJ;IAC9B,MAAM,EACJF,SAAQ,EACT,GAAGI;IACJA,MAAMb,IAAI,CAACgB,SAAS,GAAGC,IAAAA,mBAAY,EAACnB,qBAAqBE,IAAI,EAAEc,OAAOT,IAAI,EAAEI,YAAYK,OAAOL,QAAQ,EAAEI,MAAMb,IAAI,CAACgB,SAAS;IAC7H,IAAIH,MAAMX,YAAY,EAAE;QACtBW,MAAMX,YAAY,CAACc,SAAS,GAAGC,IAAAA,mBAAY,EAACnB,qBAAqBI,YAAY,EAAEa,uBAAuBF,MAAMX,YAAY,CAACc,SAAS;IACpI,CAAC;IACDH,MAAMZ,QAAQ,CAACe,SAAS,GAAGC,IAAAA,mBAAY,EAACnB,qBAAqBG,QAAQ,EAAEY,MAAMZ,QAAQ,CAACe,SAAS;IAC/F,OAAOH;AACT,GACA,sDAAsD"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ AnimationDirection: ()=>_calendar.AnimationDirection,
13
+ DatePicker: ()=>_datePicker.DatePicker,
14
+ datePickerClassNames: ()=>_datePicker.datePickerClassNames,
15
+ defaultDatePickerErrorStrings: ()=>_datePicker.defaultDatePickerErrorStrings,
16
+ defaultDatePickerStrings: ()=>_datePicker.defaultDatePickerStrings,
17
+ renderDatePicker_unstable: ()=>_datePicker.renderDatePicker_unstable,
18
+ useDatePicker_unstable: ()=>_datePicker.useDatePicker_unstable,
19
+ useDatePickerStyles_unstable: ()=>_datePicker.useDatePickerStyles_unstable,
20
+ DAYS_IN_WEEK: ()=>_utils.DAYS_IN_WEEK,
21
+ DateRangeType: ()=>_utils.DateRangeType,
22
+ DayOfWeek: ()=>_utils.DayOfWeek,
23
+ FirstWeekOfYear: ()=>_utils.FirstWeekOfYear,
24
+ MonthOfYear: ()=>_utils.MonthOfYear,
25
+ TimeConstants: ()=>_utils.TimeConstants,
26
+ addDays: ()=>_utils.addDays,
27
+ addMonths: ()=>_utils.addMonths,
28
+ addWeeks: ()=>_utils.addWeeks,
29
+ addYears: ()=>_utils.addYears,
30
+ compareDatePart: ()=>_utils.compareDatePart,
31
+ compareDates: ()=>_utils.compareDates,
32
+ getDatePartHashValue: ()=>_utils.getDatePartHashValue,
33
+ getDateRangeArray: ()=>_utils.getDateRangeArray,
34
+ getEndDateOfWeek: ()=>_utils.getEndDateOfWeek,
35
+ getMonthEnd: ()=>_utils.getMonthEnd,
36
+ getMonthStart: ()=>_utils.getMonthStart,
37
+ getStartDateOfWeek: ()=>_utils.getStartDateOfWeek,
38
+ getWeekNumber: ()=>_utils.getWeekNumber,
39
+ getWeekNumbersInMonth: ()=>_utils.getWeekNumbersInMonth,
40
+ getYearEnd: ()=>_utils.getYearEnd,
41
+ getYearStart: ()=>_utils.getYearStart,
42
+ isInDateRangeArray: ()=>_utils.isInDateRangeArray,
43
+ setMonth: ()=>_utils.setMonth
44
+ });
45
+ const _calendar = require("./Calendar");
46
+ const _datePicker = require("./DatePicker");
47
+ const _utils = require("./utils");
48
+ //# sourceMappingURL=index.js.map
49
+
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/index.js"],"sourcesContent":["export { AnimationDirection } from './Calendar';\nexport { DatePicker, datePickerClassNames, defaultDatePickerErrorStrings, defaultDatePickerStrings, renderDatePicker_unstable, useDatePicker_unstable, useDatePickerStyles_unstable } from './DatePicker';\nexport { DAYS_IN_WEEK, DateRangeType, DayOfWeek, FirstWeekOfYear, MonthOfYear, TimeConstants, addDays, addMonths, addWeeks, addYears, compareDatePart, compareDates, getDatePartHashValue, getDateRangeArray, getEndDateOfWeek, getMonthEnd, getMonthStart, getStartDateOfWeek, getWeekNumber, getWeekNumbersInMonth, getYearEnd, getYearStart, isInDateRangeArray, setMonth } from './utils';\n//# sourceMappingURL=index.js.map"],"names":["AnimationDirection","DatePicker","datePickerClassNames","defaultDatePickerErrorStrings","defaultDatePickerStrings","renderDatePicker_unstable","useDatePicker_unstable","useDatePickerStyles_unstable","DAYS_IN_WEEK","DateRangeType","DayOfWeek","FirstWeekOfYear","MonthOfYear","TimeConstants","addDays","addMonths","addWeeks","addYears","compareDatePart","compareDates","getDatePartHashValue","getDateRangeArray","getEndDateOfWeek","getMonthEnd","getMonthStart","getStartDateOfWeek","getWeekNumber","getWeekNumbersInMonth","getYearEnd","getYearStart","isInDateRangeArray","setMonth"],"mappings":";;;;;;;;;;;IAASA,kBAAkB,MAAlBA,4BAAkB;IAClBC,UAAU,MAAVA,sBAAU;IAAEC,oBAAoB,MAApBA,gCAAoB;IAAEC,6BAA6B,MAA7BA,yCAA6B;IAAEC,wBAAwB,MAAxBA,oCAAwB;IAAEC,yBAAyB,MAAzBA,qCAAyB;IAAEC,sBAAsB,MAAtBA,kCAAsB;IAAEC,4BAA4B,MAA5BA,wCAA4B;IAC1KC,YAAY,MAAZA,mBAAY;IAAEC,aAAa,MAAbA,oBAAa;IAAEC,SAAS,MAATA,gBAAS;IAAEC,eAAe,MAAfA,sBAAe;IAAEC,WAAW,MAAXA,kBAAW;IAAEC,aAAa,MAAbA,oBAAa;IAAEC,OAAO,MAAPA,cAAO;IAAEC,SAAS,MAATA,gBAAS;IAAEC,QAAQ,MAARA,eAAQ;IAAEC,QAAQ,MAARA,eAAQ;IAAEC,eAAe,MAAfA,sBAAe;IAAEC,YAAY,MAAZA,mBAAY;IAAEC,oBAAoB,MAApBA,2BAAoB;IAAEC,iBAAiB,MAAjBA,wBAAiB;IAAEC,gBAAgB,MAAhBA,uBAAgB;IAAEC,WAAW,MAAXA,kBAAW;IAAEC,aAAa,MAAbA,oBAAa;IAAEC,kBAAkB,MAAlBA,yBAAkB;IAAEC,aAAa,MAAbA,oBAAa;IAAEC,qBAAqB,MAArBA,4BAAqB;IAAEC,UAAU,MAAVA,iBAAU;IAAEC,YAAY,MAAZA,mBAAY;IAAEC,kBAAkB,MAAlBA,yBAAkB;IAAEC,QAAQ,MAARA,eAAQ;;0BAFzU;4BACwJ;uBACyL;CACpX,iCAAiC"}