@adamosuiteservices/ui 1.0.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 (313) hide show
  1. package/README.md +1 -0
  2. package/dist/accordion-rounded.cjs +6 -0
  3. package/dist/accordion-rounded.js +85 -0
  4. package/dist/accordion.cjs +1 -0
  5. package/dist/accordion.js +65 -0
  6. package/dist/alert.cjs +1 -0
  7. package/dist/alert.js +69 -0
  8. package/dist/avatar.cjs +17 -0
  9. package/dist/avatar.js +248 -0
  10. package/dist/badge.cjs +1 -0
  11. package/dist/badge.js +54 -0
  12. package/dist/button-BFK0LYE1.js +58 -0
  13. package/dist/button-BnuVhhWO.cjs +1 -0
  14. package/dist/button-group.cjs +1 -0
  15. package/dist/button-group.js +76 -0
  16. package/dist/button.cjs +1 -0
  17. package/dist/button.js +5 -0
  18. package/dist/calendar.cjs +1 -0
  19. package/dist/calendar.js +2852 -0
  20. package/dist/card.cjs +1 -0
  21. package/dist/card.js +112 -0
  22. package/dist/check-CLxNVljQ.cjs +6 -0
  23. package/dist/check-Ci0GjV-B.js +11 -0
  24. package/dist/checkbox-BlfeC4MI.js +271 -0
  25. package/dist/checkbox-uByYIkZe.cjs +1 -0
  26. package/dist/checkbox.cjs +1 -0
  27. package/dist/checkbox.js +4 -0
  28. package/dist/chevron-down-BqEHzml5.cjs +6 -0
  29. package/dist/chevron-down-CpVS2Z7w.js +11 -0
  30. package/dist/chevron-left-B8QsBNvc.cjs +6 -0
  31. package/dist/chevron-left-Eal-WYLp.js +11 -0
  32. package/dist/chevron-right-BpzggHsr.cjs +6 -0
  33. package/dist/chevron-right-Cnc2tB4-.js +11 -0
  34. package/dist/circle-CX7JIirj.cjs +6 -0
  35. package/dist/circle-DYv-7Qb9.js +11 -0
  36. package/dist/collapsible.cjs +1 -0
  37. package/dist/collapsible.js +34 -0
  38. package/dist/colors.css +1 -0
  39. package/dist/combobox.cjs +6 -0
  40. package/dist/combobox.js +515 -0
  41. package/dist/components/layout/sidebar/index.d.ts +1 -0
  42. package/dist/components/layout/sidebar/sidebar.d.ts +17 -0
  43. package/dist/components/layout/sidebar/sidebar.stories.d.ts +6 -0
  44. package/dist/components/layout/toaster/index.d.ts +2 -0
  45. package/dist/components/layout/toaster/toaster.d.ts +26 -0
  46. package/dist/components/layout/toaster/toaster.stories.d.ts +15 -0
  47. package/dist/components/layout/toaster/use-toast.d.ts +1 -0
  48. package/dist/components/ui/accordion/accordion.d.ts +7 -0
  49. package/dist/components/ui/accordion/accordion.stories.d.ts +17 -0
  50. package/dist/components/ui/accordion/index.d.ts +1 -0
  51. package/dist/components/ui/accordion-rounded/accordion-rounded.d.ts +11 -0
  52. package/dist/components/ui/accordion-rounded/accordion-rounded.stories.d.ts +21 -0
  53. package/dist/components/ui/accordion-rounded/index.d.ts +1 -0
  54. package/dist/components/ui/alert/alert.d.ts +9 -0
  55. package/dist/components/ui/alert/alert.stories.d.ts +24 -0
  56. package/dist/components/ui/alert/index.d.ts +1 -0
  57. package/dist/components/ui/avatar/avatar.d.ts +6 -0
  58. package/dist/components/ui/avatar/avatar.stories.d.ts +14 -0
  59. package/dist/components/ui/avatar/index.d.ts +1 -0
  60. package/dist/components/ui/badge/badge.d.ts +10 -0
  61. package/dist/components/ui/badge/badge.stories.d.ts +41 -0
  62. package/dist/components/ui/badge/index.d.ts +1 -0
  63. package/dist/components/ui/button/button.d.ts +10 -0
  64. package/dist/components/ui/button/button.stories.d.ts +38 -0
  65. package/dist/components/ui/button/index.d.ts +1 -0
  66. package/dist/components/ui/button-group/button-group.d.ts +11 -0
  67. package/dist/components/ui/button-group/button-group.stories.d.ts +19 -0
  68. package/dist/components/ui/button-group/index.d.ts +1 -0
  69. package/dist/components/ui/calendar/calendar.d.ts +8 -0
  70. package/dist/components/ui/calendar/calendar.stories.d.ts +27 -0
  71. package/dist/components/ui/calendar/index.d.ts +1 -0
  72. package/dist/components/ui/card/card.d.ts +13 -0
  73. package/dist/components/ui/card/card.stories.d.ts +18 -0
  74. package/dist/components/ui/card/index.d.ts +1 -0
  75. package/dist/components/ui/checkbox/checkbox.d.ts +4 -0
  76. package/dist/components/ui/checkbox/checkbox.stories.d.ts +15 -0
  77. package/dist/components/ui/checkbox/index.d.ts +1 -0
  78. package/dist/components/ui/collapsible/collapsible.d.ts +5 -0
  79. package/dist/components/ui/collapsible/collapsible.stories.d.ts +12 -0
  80. package/dist/components/ui/collapsible/index.d.ts +1 -0
  81. package/dist/components/ui/combobox/combobox.d.ts +35 -0
  82. package/dist/components/ui/combobox/combobox.stories.d.ts +27 -0
  83. package/dist/components/ui/combobox/index.d.ts +1 -0
  84. package/dist/components/ui/command/command.d.ts +18 -0
  85. package/dist/components/ui/command/index.d.ts +1 -0
  86. package/dist/components/ui/context-menu/context-menu.d.ts +25 -0
  87. package/dist/components/ui/context-menu/context-menu.stories.d.ts +10 -0
  88. package/dist/components/ui/context-menu/index.d.ts +1 -0
  89. package/dist/components/ui/dialog/dialog.d.ts +17 -0
  90. package/dist/components/ui/dialog/dialog.stories.d.ts +13 -0
  91. package/dist/components/ui/dialog/index.d.ts +1 -0
  92. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +25 -0
  93. package/dist/components/ui/dropdown-menu/dropdown-menu.stories.d.ts +14 -0
  94. package/dist/components/ui/dropdown-menu/index.d.ts +1 -0
  95. package/dist/components/ui/field/field.d.ts +24 -0
  96. package/dist/components/ui/field/field.stories.d.ts +18 -0
  97. package/dist/components/ui/field/index.d.ts +1 -0
  98. package/dist/components/ui/hover-card/hover-card.d.ts +6 -0
  99. package/dist/components/ui/hover-card/hover-card.stories.d.ts +25 -0
  100. package/dist/components/ui/hover-card/index.d.ts +1 -0
  101. package/dist/components/ui/input/index.d.ts +1 -0
  102. package/dist/components/ui/input/input.d.ts +3 -0
  103. package/dist/components/ui/input/input.stories.d.ts +23 -0
  104. package/dist/components/ui/input-group/Input-group.stories.d.ts +28 -0
  105. package/dist/components/ui/input-group/index.d.ts +1 -0
  106. package/dist/components/ui/input-group/input-group.d.ts +16 -0
  107. package/dist/components/ui/kbd/index.d.ts +1 -0
  108. package/dist/components/ui/kbd/kbd.d.ts +3 -0
  109. package/dist/components/ui/kbd/kbd.stories.d.ts +26 -0
  110. package/dist/components/ui/label/index.d.ts +1 -0
  111. package/dist/components/ui/label/label.d.ts +4 -0
  112. package/dist/components/ui/label/label.stories.d.ts +24 -0
  113. package/dist/components/ui/pagination/index.d.ts +1 -0
  114. package/dist/components/ui/pagination/pagination.d.ts +13 -0
  115. package/dist/components/ui/pagination/pagination.stories.d.ts +28 -0
  116. package/dist/components/ui/popover/index.d.ts +1 -0
  117. package/dist/components/ui/popover/popover.d.ts +7 -0
  118. package/dist/components/ui/popover/popover.stories.d.ts +26 -0
  119. package/dist/components/ui/progress/index.d.ts +1 -0
  120. package/dist/components/ui/progress/progress.d.ts +9 -0
  121. package/dist/components/ui/progress/progress.stories.d.ts +29 -0
  122. package/dist/components/ui/radio-group/index.d.ts +1 -0
  123. package/dist/components/ui/radio-group/radio-group.d.ts +5 -0
  124. package/dist/components/ui/radio-group/radio-group.stories.d.ts +18 -0
  125. package/dist/components/ui/select/index.d.ts +1 -0
  126. package/dist/components/ui/select/select.d.ts +15 -0
  127. package/dist/components/ui/select/select.stories.d.ts +19 -0
  128. package/dist/components/ui/separator/index.d.ts +1 -0
  129. package/dist/components/ui/separator/separator.d.ts +4 -0
  130. package/dist/components/ui/separator/separator.stories.d.ts +18 -0
  131. package/dist/components/ui/sheet/index.d.ts +1 -0
  132. package/dist/components/ui/sheet/sheet.d.ts +14 -0
  133. package/dist/components/ui/sheet/sheet.stories.d.ts +17 -0
  134. package/dist/components/ui/skeleton/index.d.ts +1 -0
  135. package/dist/components/ui/skeleton/skeleton.d.ts +2 -0
  136. package/dist/components/ui/skeleton/skeleton.stories.d.ts +22 -0
  137. package/dist/components/ui/slider/index.d.ts +1 -0
  138. package/dist/components/ui/slider/slider.d.ts +7 -0
  139. package/dist/components/ui/slider/slider.stories.d.ts +21 -0
  140. package/dist/components/ui/spinner/index.d.ts +1 -0
  141. package/dist/components/ui/spinner/spinner.d.ts +2 -0
  142. package/dist/components/ui/spinner/spinner.stories.d.ts +20 -0
  143. package/dist/components/ui/switch/index.d.ts +1 -0
  144. package/dist/components/ui/switch/switch.d.ts +4 -0
  145. package/dist/components/ui/switch/switch.stories.d.ts +17 -0
  146. package/dist/components/ui/table/index.d.ts +1 -0
  147. package/dist/components/ui/table/table.d.ts +10 -0
  148. package/dist/components/ui/table/table.stories.d.ts +11 -0
  149. package/dist/components/ui/tabs/index.d.ts +1 -0
  150. package/dist/components/ui/tabs/tabs.d.ts +7 -0
  151. package/dist/components/ui/tabs/tabs.stories.d.ts +16 -0
  152. package/dist/components/ui/tabs-underline/index.d.ts +1 -0
  153. package/dist/components/ui/tabs-underline/tabs-underline.d.ts +7 -0
  154. package/dist/components/ui/tabs-underline/tabs-underline.stories.d.ts +16 -0
  155. package/dist/components/ui/textarea/index.d.ts +1 -0
  156. package/dist/components/ui/textarea/textarea.d.ts +3 -0
  157. package/dist/components/ui/textarea/textarea.stories.d.ts +21 -0
  158. package/dist/components/ui/toggle/index.d.ts +1 -0
  159. package/dist/components/ui/toggle/toggle.d.ts +9 -0
  160. package/dist/components/ui/toggle/toggle.stories.d.ts +21 -0
  161. package/dist/components/ui/tooltip/index.d.ts +1 -0
  162. package/dist/components/ui/tooltip/tooltip.d.ts +7 -0
  163. package/dist/components/ui/tooltip/tooltip.stories.d.ts +19 -0
  164. package/dist/components/ui/typography/index.d.ts +1 -0
  165. package/dist/components/ui/typography/typography.d.ts +8 -0
  166. package/dist/components/ui/typography/typography.stories.d.ts +33 -0
  167. package/dist/context-menu.cjs +1 -0
  168. package/dist/context-menu.js +427 -0
  169. package/dist/createLucideIcon-B_8CJpcQ.js +94 -0
  170. package/dist/createLucideIcon-CAtnV-yz.cjs +21 -0
  171. package/dist/custom-layered-styles.css +1 -0
  172. package/dist/dialog.cjs +1 -0
  173. package/dist/dialog.js +139 -0
  174. package/dist/dropdown-menu.cjs +1 -0
  175. package/dist/dropdown-menu.js +423 -0
  176. package/dist/field.cjs +1 -0
  177. package/dist/field.js +221 -0
  178. package/dist/fonts.css +1 -0
  179. package/dist/hooks/index.d.ts +1 -0
  180. package/dist/hooks/use-portal-container.d.ts +31 -0
  181. package/dist/hover-card.cjs +1 -0
  182. package/dist/hover-card.js +210 -0
  183. package/dist/index-0ioNhtNM.js +10 -0
  184. package/dist/index-6oTEokEx.js +82 -0
  185. package/dist/index-B-NyefE0.js +243 -0
  186. package/dist/index-B-ZRqW0J.js +118 -0
  187. package/dist/index-B-cHTKrs.js +158 -0
  188. package/dist/index-BGQepRFJ.js +27 -0
  189. package/dist/index-BGiGvaq8.cjs +1 -0
  190. package/dist/index-BKbK2GzY.cjs +1 -0
  191. package/dist/index-BMitW9UR.cjs +1 -0
  192. package/dist/index-BRLtxFFr.cjs +1 -0
  193. package/dist/index-BWaO7kQK.cjs +1 -0
  194. package/dist/index-BZPx6jYI.js +8 -0
  195. package/dist/index-BpvjJ_T6.cjs +5 -0
  196. package/dist/index-C0UREtMP.js +59 -0
  197. package/dist/index-C329e3yQ.js +134 -0
  198. package/dist/index-C5wjudc-.js +36 -0
  199. package/dist/index-C8ni3LLa.cjs +1 -0
  200. package/dist/index-CAOY367Y.js +1540 -0
  201. package/dist/index-CCKe-Mpx.js +6 -0
  202. package/dist/index-CQhYMnjT.js +34 -0
  203. package/dist/index-Ce3QBKyj.cjs +1 -0
  204. package/dist/index-CezwiPd_.js +615 -0
  205. package/dist/index-Cv867SGx.js +13 -0
  206. package/dist/index-CwUFT-GQ.js +228 -0
  207. package/dist/index-CzY-WZXL.cjs +1 -0
  208. package/dist/index-D02K8KOB.js +54 -0
  209. package/dist/index-D3S7dBDI.cjs +1 -0
  210. package/dist/index-D3wSWKST.cjs +1 -0
  211. package/dist/index-D7hQvndv.cjs +1 -0
  212. package/dist/index-DQvx1rG_.cjs +1 -0
  213. package/dist/index-DXQ-7kNJ.cjs +41 -0
  214. package/dist/index-DYxWvftI.cjs +1 -0
  215. package/dist/index-DnS_sBBe.cjs +1 -0
  216. package/dist/index-DulPG3F9.js +179 -0
  217. package/dist/index-EUea2gfp.js +70 -0
  218. package/dist/index-FxyLF8MY.js +68 -0
  219. package/dist/index-IKJMQref.cjs +1 -0
  220. package/dist/index-MQ0c3ZX_.cjs +1 -0
  221. package/dist/index-P1sVIHE3.js +32 -0
  222. package/dist/index-VIUqZjyP.cjs +1 -0
  223. package/dist/index-WIv2ndLu.cjs +1 -0
  224. package/dist/index-bSPhqlcX.cjs +1 -0
  225. package/dist/index-cwZN7ZY3.cjs +1 -0
  226. package/dist/index-gO_QEiaK.cjs +1 -0
  227. package/dist/index-iAvn1gzj.cjs +1 -0
  228. package/dist/index-o0sNTcKe.js +674 -0
  229. package/dist/index-rKs9bXHr.js +6 -0
  230. package/dist/index-yR-v1A4G.js +15 -0
  231. package/dist/input-3MDa_DYk.cjs +1 -0
  232. package/dist/input-Cl7xmQYQ.js +22 -0
  233. package/dist/input-group.cjs +1 -0
  234. package/dist/input-group.js +152 -0
  235. package/dist/input.cjs +1 -0
  236. package/dist/input.js +4 -0
  237. package/dist/jsx-runtime-BB_1_6y_.cjs +22 -0
  238. package/dist/jsx-runtime-BzflLqGi.js +282 -0
  239. package/dist/kbd.cjs +1 -0
  240. package/dist/kbd.js +31 -0
  241. package/dist/label-MxqN87DQ.cjs +1 -0
  242. package/dist/label-hg_jN6Y8.js +35 -0
  243. package/dist/label.cjs +1 -0
  244. package/dist/label.js +4 -0
  245. package/dist/lib/utils.d.ts +2 -0
  246. package/dist/minus-C0pHPx21.cjs +6 -0
  247. package/dist/minus-DE-onYs2.js +11 -0
  248. package/dist/pagination.cjs +6 -0
  249. package/dist/pagination.js +134 -0
  250. package/dist/popover-BBXe2myL.cjs +1 -0
  251. package/dist/popover-DNiRNCdn.js +263 -0
  252. package/dist/popover.cjs +1 -0
  253. package/dist/popover.js +7 -0
  254. package/dist/progress.cjs +6 -0
  255. package/dist/progress.js +137 -0
  256. package/dist/radio-group.cjs +1 -0
  257. package/dist/radio-group.js +271 -0
  258. package/dist/radius.css +1 -0
  259. package/dist/select.cjs +6 -0
  260. package/dist/select.js +987 -0
  261. package/dist/separator-C9kqOQR-.js +44 -0
  262. package/dist/separator-Dbx-SVIs.cjs +1 -0
  263. package/dist/separator.cjs +1 -0
  264. package/dist/separator.js +4 -0
  265. package/dist/sheet-0jRbqkzj.cjs +1 -0
  266. package/dist/sheet-RAbg4M5A.js +128 -0
  267. package/dist/sheet.cjs +1 -0
  268. package/dist/sheet.js +11 -0
  269. package/dist/sidebar.cjs +6 -0
  270. package/dist/sidebar.js +139 -0
  271. package/dist/skeleton.cjs +1 -0
  272. package/dist/skeleton.js +15 -0
  273. package/dist/slider.cjs +1 -0
  274. package/dist/slider.js +486 -0
  275. package/dist/space.css +1 -0
  276. package/dist/spinner.cjs +6 -0
  277. package/dist/spinner.js +24 -0
  278. package/dist/styles.css +1 -0
  279. package/dist/switch.cjs +1 -0
  280. package/dist/switch.js +154 -0
  281. package/dist/table.cjs +1 -0
  282. package/dist/table.js +115 -0
  283. package/dist/tabs-underline.cjs +1 -0
  284. package/dist/tabs-underline.js +68 -0
  285. package/dist/tabs.cjs +1 -0
  286. package/dist/tabs.js +68 -0
  287. package/dist/tailwind-animations.css +1 -0
  288. package/dist/tailwind-colors.css +1 -0
  289. package/dist/tailwind-fonts.css +1 -0
  290. package/dist/tailwind-radius.css +1 -0
  291. package/dist/tailwind-spacing.css +1 -0
  292. package/dist/tailwind-theme.css +1 -0
  293. package/dist/textarea-D76719tg.js +19 -0
  294. package/dist/textarea-UdELO_Jn.cjs +1 -0
  295. package/dist/textarea.cjs +1 -0
  296. package/dist/textarea.js +4 -0
  297. package/dist/themes.css +1 -0
  298. package/dist/toaster.cjs +1 -0
  299. package/dist/toaster.js +87 -0
  300. package/dist/toggle.cjs +1 -0
  301. package/dist/toggle.js +69 -0
  302. package/dist/tooltip.cjs +1 -0
  303. package/dist/tooltip.js +375 -0
  304. package/dist/types/theme.type.d.ts +2 -0
  305. package/dist/typography.cjs +1 -0
  306. package/dist/typography.js +34 -0
  307. package/dist/use-portal-container.cjs +1 -0
  308. package/dist/use-portal-container.js +21 -0
  309. package/dist/utils-CRiPKpXj.js +2743 -0
  310. package/dist/utils-DoxiiusW.cjs +1 -0
  311. package/dist/x-CBKgg4YL.cjs +6 -0
  312. package/dist/x-Dl66o_vF.js +14 -0
  313. package/package.json +275 -0
@@ -0,0 +1,2852 @@
1
+ import { j as ne } from "./jsx-runtime-BzflLqGi.js";
2
+ import * as Qe from "react";
3
+ import f, { createContext as dn, useContext as un, useCallback as $, useRef as De, useLayoutEffect as ln, useState as Ie, useEffect as fn, useMemo as Te } from "react";
4
+ import { c as x } from "./utils-CRiPKpXj.js";
5
+ import { b as Xe, B as mn } from "./button-BFK0LYE1.js";
6
+ import { C as hn } from "./chevron-left-Eal-WYLp.js";
7
+ import { C as yn } from "./chevron-right-Cnc2tB4-.js";
8
+ import { C as gn } from "./chevron-down-CpVS2Z7w.js";
9
+ function pn(e, t, n = "long") {
10
+ return new Intl.DateTimeFormat("en-US", {
11
+ // Enforces engine to render the time. Without the option JavaScriptCore omits it.
12
+ hour: "numeric",
13
+ timeZone: e,
14
+ timeZoneName: n
15
+ }).format(t).split(/\s/g).slice(2).join(" ");
16
+ }
17
+ const wn = {}, me = {};
18
+ function oe(e, t) {
19
+ try {
20
+ const r = (wn[e] ||= new Intl.DateTimeFormat("en-US", {
21
+ timeZone: e,
22
+ timeZoneName: "longOffset"
23
+ }).format)(t).split("GMT")[1];
24
+ return r in me ? me[r] : Ue(r, r.split(":"));
25
+ } catch {
26
+ if (e in me) return me[e];
27
+ const n = e?.match(bn);
28
+ return n ? Ue(e, n.slice(1)) : NaN;
29
+ }
30
+ }
31
+ const bn = /([+-]\d\d):?(\d\d)?/;
32
+ function Ue(e, t) {
33
+ const n = +(t[0] || 0), r = +(t[1] || 0), o = +(t[2] || 0) / 60;
34
+ return me[e] = n * 60 + r > 0 ? n * 60 + r + o : n * 60 - r - o;
35
+ }
36
+ class U extends Date {
37
+ //#region static
38
+ constructor(...t) {
39
+ super(), t.length > 1 && typeof t[t.length - 1] == "string" && (this.timeZone = t.pop()), this.internal = /* @__PURE__ */ new Date(), isNaN(oe(this.timeZone, this)) ? this.setTime(NaN) : t.length ? typeof t[0] == "number" && (t.length === 1 || t.length === 2 && typeof t[1] != "number") ? this.setTime(t[0]) : typeof t[0] == "string" ? this.setTime(+new Date(t[0])) : t[0] instanceof Date ? this.setTime(+t[0]) : (this.setTime(+new Date(...t)), ct(this), He(this)) : this.setTime(Date.now());
40
+ }
41
+ static tz(t, ...n) {
42
+ return n.length ? new U(...n, t) : new U(Date.now(), t);
43
+ }
44
+ //#endregion
45
+ //#region time zone
46
+ withTimeZone(t) {
47
+ return new U(+this, t);
48
+ }
49
+ getTimezoneOffset() {
50
+ const t = -oe(this.timeZone, this);
51
+ return t > 0 ? Math.floor(t) : Math.ceil(t);
52
+ }
53
+ //#endregion
54
+ //#region time
55
+ setTime(t) {
56
+ return Date.prototype.setTime.apply(this, arguments), He(this), +this;
57
+ }
58
+ //#endregion
59
+ //#region date-fns integration
60
+ [Symbol.for("constructDateFrom")](t) {
61
+ return new U(+new Date(t), this.timeZone);
62
+ }
63
+ //#endregion
64
+ }
65
+ const Ve = /^(get|set)(?!UTC)/;
66
+ Object.getOwnPropertyNames(Date.prototype).forEach((e) => {
67
+ if (!Ve.test(e)) return;
68
+ const t = e.replace(Ve, "$1UTC");
69
+ U.prototype[t] && (e.startsWith("get") ? U.prototype[e] = function() {
70
+ return this.internal[t]();
71
+ } : (U.prototype[e] = function() {
72
+ return Date.prototype[t].apply(this.internal, arguments), Mn(this), +this;
73
+ }, U.prototype[t] = function() {
74
+ return Date.prototype[t].apply(this, arguments), He(this), +this;
75
+ }));
76
+ });
77
+ function He(e) {
78
+ e.internal.setTime(+e), e.internal.setUTCSeconds(e.internal.getUTCSeconds() - Math.round(-oe(e.timeZone, e) * 60));
79
+ }
80
+ function Mn(e) {
81
+ Date.prototype.setFullYear.call(e, e.internal.getUTCFullYear(), e.internal.getUTCMonth(), e.internal.getUTCDate()), Date.prototype.setHours.call(e, e.internal.getUTCHours(), e.internal.getUTCMinutes(), e.internal.getUTCSeconds(), e.internal.getUTCMilliseconds()), ct(e);
82
+ }
83
+ function ct(e) {
84
+ const t = oe(e.timeZone, e), n = t > 0 ? Math.floor(t) : Math.ceil(t), r = /* @__PURE__ */ new Date(+e);
85
+ r.setUTCHours(r.getUTCHours() - 1);
86
+ const o = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset(), a = -(/* @__PURE__ */ new Date(+r)).getTimezoneOffset(), i = o - a, s = Date.prototype.getHours.apply(e) !== e.internal.getUTCHours();
87
+ i && s && e.internal.setUTCMinutes(e.internal.getUTCMinutes() + i);
88
+ const c = o - n;
89
+ c && Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + c);
90
+ const u = /* @__PURE__ */ new Date(+e);
91
+ u.setUTCSeconds(0);
92
+ const l = o > 0 ? u.getSeconds() : (u.getSeconds() - 60) % 60, d = Math.round(-(oe(e.timeZone, e) * 60)) % 60;
93
+ (d || l) && (e.internal.setUTCSeconds(e.internal.getUTCSeconds() + d), Date.prototype.setUTCSeconds.call(e, Date.prototype.getUTCSeconds.call(e) + d + l));
94
+ const m = oe(e.timeZone, e), g = m > 0 ? Math.floor(m) : Math.ceil(m), W = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset() - g, M = g !== n, O = W - c;
95
+ if (M && O) {
96
+ Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + O);
97
+ const C = oe(e.timeZone, e), p = C > 0 ? Math.floor(C) : Math.ceil(C), T = g - p;
98
+ T && (e.internal.setUTCMinutes(e.internal.getUTCMinutes() + T), Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + T));
99
+ }
100
+ }
101
+ class H extends U {
102
+ //#region static
103
+ static tz(t, ...n) {
104
+ return n.length ? new H(...n, t) : new H(Date.now(), t);
105
+ }
106
+ //#endregion
107
+ //#region representation
108
+ toISOString() {
109
+ const [t, n, r] = this.tzComponents(), o = `${t}${n}:${r}`;
110
+ return this.internal.toISOString().slice(0, -1) + o;
111
+ }
112
+ toString() {
113
+ return `${this.toDateString()} ${this.toTimeString()}`;
114
+ }
115
+ toDateString() {
116
+ const [t, n, r, o] = this.internal.toUTCString().split(" ");
117
+ return `${t?.slice(0, -1)} ${r} ${n} ${o}`;
118
+ }
119
+ toTimeString() {
120
+ const t = this.internal.toUTCString().split(" ")[4], [n, r, o] = this.tzComponents();
121
+ return `${t} GMT${n}${r}${o} (${pn(this.timeZone, this)})`;
122
+ }
123
+ toLocaleString(t, n) {
124
+ return Date.prototype.toLocaleString.call(this, t, {
125
+ ...n,
126
+ timeZone: n?.timeZone || this.timeZone
127
+ });
128
+ }
129
+ toLocaleDateString(t, n) {
130
+ return Date.prototype.toLocaleDateString.call(this, t, {
131
+ ...n,
132
+ timeZone: n?.timeZone || this.timeZone
133
+ });
134
+ }
135
+ toLocaleTimeString(t, n) {
136
+ return Date.prototype.toLocaleTimeString.call(this, t, {
137
+ ...n,
138
+ timeZone: n?.timeZone || this.timeZone
139
+ });
140
+ }
141
+ //#endregion
142
+ //#region private
143
+ tzComponents() {
144
+ const t = this.getTimezoneOffset(), n = t > 0 ? "-" : "+", r = String(Math.floor(Math.abs(t) / 60)).padStart(2, "0"), o = String(Math.abs(t) % 60).padStart(2, "0");
145
+ return [n, r, o];
146
+ }
147
+ //#endregion
148
+ withTimeZone(t) {
149
+ return new H(+this, t);
150
+ }
151
+ //#region date-fns integration
152
+ [Symbol.for("constructDateFrom")](t) {
153
+ return new H(+new Date(t), this.timeZone);
154
+ }
155
+ //#endregion
156
+ }
157
+ const dt = 6048e5, kn = 864e5, Ke = Symbol.for("constructDateFrom");
158
+ function B(e, t) {
159
+ return typeof e == "function" ? e(t) : e && typeof e == "object" && Ke in e ? e[Ke](t) : e instanceof Date ? new e.constructor(t) : new Date(t);
160
+ }
161
+ function Y(e, t) {
162
+ return B(t || e, e);
163
+ }
164
+ function ut(e, t, n) {
165
+ const r = Y(e, n?.in);
166
+ return isNaN(t) ? B(e, NaN) : (t && r.setDate(r.getDate() + t), r);
167
+ }
168
+ function lt(e, t, n) {
169
+ const r = Y(e, n?.in);
170
+ if (isNaN(t)) return B(e, NaN);
171
+ if (!t)
172
+ return r;
173
+ const o = r.getDate(), a = B(e, r.getTime());
174
+ a.setMonth(r.getMonth() + t + 1, 0);
175
+ const i = a.getDate();
176
+ return o >= i ? a : (r.setFullYear(
177
+ a.getFullYear(),
178
+ a.getMonth(),
179
+ o
180
+ ), r);
181
+ }
182
+ let Dn = {};
183
+ function ge() {
184
+ return Dn;
185
+ }
186
+ function de(e, t) {
187
+ const n = ge(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, o = Y(e, t?.in), a = o.getDay(), i = (a < r ? 7 : 0) + a - r;
188
+ return o.setDate(o.getDate() - i), o.setHours(0, 0, 0, 0), o;
189
+ }
190
+ function he(e, t) {
191
+ return de(e, { ...t, weekStartsOn: 1 });
192
+ }
193
+ function ft(e, t) {
194
+ const n = Y(e, t?.in), r = n.getFullYear(), o = B(n, 0);
195
+ o.setFullYear(r + 1, 0, 4), o.setHours(0, 0, 0, 0);
196
+ const a = he(o), i = B(n, 0);
197
+ i.setFullYear(r, 0, 4), i.setHours(0, 0, 0, 0);
198
+ const s = he(i);
199
+ return n.getTime() >= a.getTime() ? r + 1 : n.getTime() >= s.getTime() ? r : r - 1;
200
+ }
201
+ function Je(e) {
202
+ const t = Y(e), n = new Date(
203
+ Date.UTC(
204
+ t.getFullYear(),
205
+ t.getMonth(),
206
+ t.getDate(),
207
+ t.getHours(),
208
+ t.getMinutes(),
209
+ t.getSeconds(),
210
+ t.getMilliseconds()
211
+ )
212
+ );
213
+ return n.setUTCFullYear(t.getFullYear()), +e - +n;
214
+ }
215
+ function ue(e, ...t) {
216
+ const n = B.bind(
217
+ null,
218
+ t.find((r) => typeof r == "object")
219
+ );
220
+ return t.map(n);
221
+ }
222
+ function ye(e, t) {
223
+ const n = Y(e, t?.in);
224
+ return n.setHours(0, 0, 0, 0), n;
225
+ }
226
+ function mt(e, t, n) {
227
+ const [r, o] = ue(
228
+ n?.in,
229
+ e,
230
+ t
231
+ ), a = ye(r), i = ye(o), s = +a - Je(a), c = +i - Je(i);
232
+ return Math.round((s - c) / kn);
233
+ }
234
+ function vn(e, t) {
235
+ const n = ft(e, t), r = B(e, 0);
236
+ return r.setFullYear(n, 0, 4), r.setHours(0, 0, 0, 0), he(r);
237
+ }
238
+ function On(e, t, n) {
239
+ return ut(e, t * 7, n);
240
+ }
241
+ function Wn(e, t, n) {
242
+ return lt(e, t * 12, n);
243
+ }
244
+ function Sn(e, t) {
245
+ let n, r = t?.in;
246
+ return e.forEach((o) => {
247
+ !r && typeof o == "object" && (r = B.bind(null, o));
248
+ const a = Y(o, r);
249
+ (!n || n < a || isNaN(+a)) && (n = a);
250
+ }), B(r, n || NaN);
251
+ }
252
+ function Cn(e, t) {
253
+ let n, r = t?.in;
254
+ return e.forEach((o) => {
255
+ !r && typeof o == "object" && (r = B.bind(null, o));
256
+ const a = Y(o, r);
257
+ (!n || n > a || isNaN(+a)) && (n = a);
258
+ }), B(r, n || NaN);
259
+ }
260
+ function Nn(e, t, n) {
261
+ const [r, o] = ue(
262
+ n?.in,
263
+ e,
264
+ t
265
+ );
266
+ return +ye(r) == +ye(o);
267
+ }
268
+ function ht(e) {
269
+ return e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]";
270
+ }
271
+ function xn(e) {
272
+ return !(!ht(e) && typeof e != "number" || isNaN(+Y(e)));
273
+ }
274
+ function _n(e, t, n) {
275
+ const [r, o] = ue(
276
+ n?.in,
277
+ e,
278
+ t
279
+ ), a = r.getFullYear() - o.getFullYear(), i = r.getMonth() - o.getMonth();
280
+ return a * 12 + i;
281
+ }
282
+ function Yn(e, t) {
283
+ const n = Y(e, t?.in), r = n.getMonth();
284
+ return n.setFullYear(n.getFullYear(), r + 1, 0), n.setHours(23, 59, 59, 999), n;
285
+ }
286
+ function yt(e, t) {
287
+ const [n, r] = ue(e, t.start, t.end);
288
+ return { start: n, end: r };
289
+ }
290
+ function Tn(e, t) {
291
+ const { start: n, end: r } = yt(t?.in, e);
292
+ let o = +n > +r;
293
+ const a = o ? +n : +r, i = o ? r : n;
294
+ i.setHours(0, 0, 0, 0), i.setDate(1);
295
+ let s = 1;
296
+ const c = [];
297
+ for (; +i <= a; )
298
+ c.push(B(n, i)), i.setMonth(i.getMonth() + s);
299
+ return o ? c.reverse() : c;
300
+ }
301
+ function En(e, t) {
302
+ const n = Y(e, t?.in);
303
+ return n.setDate(1), n.setHours(0, 0, 0, 0), n;
304
+ }
305
+ function Pn(e, t) {
306
+ const n = Y(e, t?.in), r = n.getFullYear();
307
+ return n.setFullYear(r + 1, 0, 0), n.setHours(23, 59, 59, 999), n;
308
+ }
309
+ function gt(e, t) {
310
+ const n = Y(e, t?.in);
311
+ return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n;
312
+ }
313
+ function Fn(e, t) {
314
+ const { start: n, end: r } = yt(t?.in, e);
315
+ let o = +n > +r;
316
+ const a = o ? +n : +r, i = o ? r : n;
317
+ i.setHours(0, 0, 0, 0), i.setMonth(0, 1);
318
+ let s = 1;
319
+ const c = [];
320
+ for (; +i <= a; )
321
+ c.push(B(n, i)), i.setFullYear(i.getFullYear() + s);
322
+ return o ? c.reverse() : c;
323
+ }
324
+ function pt(e, t) {
325
+ const n = ge(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, o = Y(e, t?.in), a = o.getDay(), i = (a < r ? -7 : 0) + 6 - (a - r);
326
+ return o.setDate(o.getDate() + i), o.setHours(23, 59, 59, 999), o;
327
+ }
328
+ function Bn(e, t) {
329
+ return pt(e, { ...t, weekStartsOn: 1 });
330
+ }
331
+ const In = {
332
+ lessThanXSeconds: {
333
+ one: "less than a second",
334
+ other: "less than {{count}} seconds"
335
+ },
336
+ xSeconds: {
337
+ one: "1 second",
338
+ other: "{{count}} seconds"
339
+ },
340
+ halfAMinute: "half a minute",
341
+ lessThanXMinutes: {
342
+ one: "less than a minute",
343
+ other: "less than {{count}} minutes"
344
+ },
345
+ xMinutes: {
346
+ one: "1 minute",
347
+ other: "{{count}} minutes"
348
+ },
349
+ aboutXHours: {
350
+ one: "about 1 hour",
351
+ other: "about {{count}} hours"
352
+ },
353
+ xHours: {
354
+ one: "1 hour",
355
+ other: "{{count}} hours"
356
+ },
357
+ xDays: {
358
+ one: "1 day",
359
+ other: "{{count}} days"
360
+ },
361
+ aboutXWeeks: {
362
+ one: "about 1 week",
363
+ other: "about {{count}} weeks"
364
+ },
365
+ xWeeks: {
366
+ one: "1 week",
367
+ other: "{{count}} weeks"
368
+ },
369
+ aboutXMonths: {
370
+ one: "about 1 month",
371
+ other: "about {{count}} months"
372
+ },
373
+ xMonths: {
374
+ one: "1 month",
375
+ other: "{{count}} months"
376
+ },
377
+ aboutXYears: {
378
+ one: "about 1 year",
379
+ other: "about {{count}} years"
380
+ },
381
+ xYears: {
382
+ one: "1 year",
383
+ other: "{{count}} years"
384
+ },
385
+ overXYears: {
386
+ one: "over 1 year",
387
+ other: "over {{count}} years"
388
+ },
389
+ almostXYears: {
390
+ one: "almost 1 year",
391
+ other: "almost {{count}} years"
392
+ }
393
+ }, Hn = (e, t, n) => {
394
+ let r;
395
+ const o = In[e];
396
+ return typeof o == "string" ? r = o : t === 1 ? r = o.one : r = o.other.replace("{{count}}", t.toString()), n?.addSuffix ? n.comparison && n.comparison > 0 ? "in " + r : r + " ago" : r;
397
+ };
398
+ function Ee(e) {
399
+ return (t = {}) => {
400
+ const n = t.width ? String(t.width) : e.defaultWidth;
401
+ return e.formats[n] || e.formats[e.defaultWidth];
402
+ };
403
+ }
404
+ const qn = {
405
+ full: "EEEE, MMMM do, y",
406
+ long: "MMMM do, y",
407
+ medium: "MMM d, y",
408
+ short: "MM/dd/yyyy"
409
+ }, An = {
410
+ full: "h:mm:ss a zzzz",
411
+ long: "h:mm:ss a z",
412
+ medium: "h:mm:ss a",
413
+ short: "h:mm a"
414
+ }, jn = {
415
+ full: "{{date}} 'at' {{time}}",
416
+ long: "{{date}} 'at' {{time}}",
417
+ medium: "{{date}}, {{time}}",
418
+ short: "{{date}}, {{time}}"
419
+ }, zn = {
420
+ date: Ee({
421
+ formats: qn,
422
+ defaultWidth: "full"
423
+ }),
424
+ time: Ee({
425
+ formats: An,
426
+ defaultWidth: "full"
427
+ }),
428
+ dateTime: Ee({
429
+ formats: jn,
430
+ defaultWidth: "full"
431
+ })
432
+ }, Rn = {
433
+ lastWeek: "'last' eeee 'at' p",
434
+ yesterday: "'yesterday at' p",
435
+ today: "'today at' p",
436
+ tomorrow: "'tomorrow at' p",
437
+ nextWeek: "eeee 'at' p",
438
+ other: "P"
439
+ }, $n = (e, t, n, r) => Rn[e];
440
+ function le(e) {
441
+ return (t, n) => {
442
+ const r = n?.context ? String(n.context) : "standalone";
443
+ let o;
444
+ if (r === "formatting" && e.formattingValues) {
445
+ const i = e.defaultFormattingWidth || e.defaultWidth, s = n?.width ? String(n.width) : i;
446
+ o = e.formattingValues[s] || e.formattingValues[i];
447
+ } else {
448
+ const i = e.defaultWidth, s = n?.width ? String(n.width) : e.defaultWidth;
449
+ o = e.values[s] || e.values[i];
450
+ }
451
+ const a = e.argumentCallback ? e.argumentCallback(t) : t;
452
+ return o[a];
453
+ };
454
+ }
455
+ const Zn = {
456
+ narrow: ["B", "A"],
457
+ abbreviated: ["BC", "AD"],
458
+ wide: ["Before Christ", "Anno Domini"]
459
+ }, Gn = {
460
+ narrow: ["1", "2", "3", "4"],
461
+ abbreviated: ["Q1", "Q2", "Q3", "Q4"],
462
+ wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
463
+ }, Ln = {
464
+ narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
465
+ abbreviated: [
466
+ "Jan",
467
+ "Feb",
468
+ "Mar",
469
+ "Apr",
470
+ "May",
471
+ "Jun",
472
+ "Jul",
473
+ "Aug",
474
+ "Sep",
475
+ "Oct",
476
+ "Nov",
477
+ "Dec"
478
+ ],
479
+ wide: [
480
+ "January",
481
+ "February",
482
+ "March",
483
+ "April",
484
+ "May",
485
+ "June",
486
+ "July",
487
+ "August",
488
+ "September",
489
+ "October",
490
+ "November",
491
+ "December"
492
+ ]
493
+ }, Qn = {
494
+ narrow: ["S", "M", "T", "W", "T", "F", "S"],
495
+ short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
496
+ abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
497
+ wide: [
498
+ "Sunday",
499
+ "Monday",
500
+ "Tuesday",
501
+ "Wednesday",
502
+ "Thursday",
503
+ "Friday",
504
+ "Saturday"
505
+ ]
506
+ }, Xn = {
507
+ narrow: {
508
+ am: "a",
509
+ pm: "p",
510
+ midnight: "mi",
511
+ noon: "n",
512
+ morning: "morning",
513
+ afternoon: "afternoon",
514
+ evening: "evening",
515
+ night: "night"
516
+ },
517
+ abbreviated: {
518
+ am: "AM",
519
+ pm: "PM",
520
+ midnight: "midnight",
521
+ noon: "noon",
522
+ morning: "morning",
523
+ afternoon: "afternoon",
524
+ evening: "evening",
525
+ night: "night"
526
+ },
527
+ wide: {
528
+ am: "a.m.",
529
+ pm: "p.m.",
530
+ midnight: "midnight",
531
+ noon: "noon",
532
+ morning: "morning",
533
+ afternoon: "afternoon",
534
+ evening: "evening",
535
+ night: "night"
536
+ }
537
+ }, Un = {
538
+ narrow: {
539
+ am: "a",
540
+ pm: "p",
541
+ midnight: "mi",
542
+ noon: "n",
543
+ morning: "in the morning",
544
+ afternoon: "in the afternoon",
545
+ evening: "in the evening",
546
+ night: "at night"
547
+ },
548
+ abbreviated: {
549
+ am: "AM",
550
+ pm: "PM",
551
+ midnight: "midnight",
552
+ noon: "noon",
553
+ morning: "in the morning",
554
+ afternoon: "in the afternoon",
555
+ evening: "in the evening",
556
+ night: "at night"
557
+ },
558
+ wide: {
559
+ am: "a.m.",
560
+ pm: "p.m.",
561
+ midnight: "midnight",
562
+ noon: "noon",
563
+ morning: "in the morning",
564
+ afternoon: "in the afternoon",
565
+ evening: "in the evening",
566
+ night: "at night"
567
+ }
568
+ }, Vn = (e, t) => {
569
+ const n = Number(e), r = n % 100;
570
+ if (r > 20 || r < 10)
571
+ switch (r % 10) {
572
+ case 1:
573
+ return n + "st";
574
+ case 2:
575
+ return n + "nd";
576
+ case 3:
577
+ return n + "rd";
578
+ }
579
+ return n + "th";
580
+ }, Kn = {
581
+ ordinalNumber: Vn,
582
+ era: le({
583
+ values: Zn,
584
+ defaultWidth: "wide"
585
+ }),
586
+ quarter: le({
587
+ values: Gn,
588
+ defaultWidth: "wide",
589
+ argumentCallback: (e) => e - 1
590
+ }),
591
+ month: le({
592
+ values: Ln,
593
+ defaultWidth: "wide"
594
+ }),
595
+ day: le({
596
+ values: Qn,
597
+ defaultWidth: "wide"
598
+ }),
599
+ dayPeriod: le({
600
+ values: Xn,
601
+ defaultWidth: "wide",
602
+ formattingValues: Un,
603
+ defaultFormattingWidth: "wide"
604
+ })
605
+ };
606
+ function fe(e) {
607
+ return (t, n = {}) => {
608
+ const r = n.width, o = r && e.matchPatterns[r] || e.matchPatterns[e.defaultMatchWidth], a = t.match(o);
609
+ if (!a)
610
+ return null;
611
+ const i = a[0], s = r && e.parsePatterns[r] || e.parsePatterns[e.defaultParseWidth], c = Array.isArray(s) ? er(s, (d) => d.test(i)) : (
612
+ // [TODO] -- I challenge you to fix the type
613
+ Jn(s, (d) => d.test(i))
614
+ );
615
+ let u;
616
+ u = e.valueCallback ? e.valueCallback(c) : c, u = n.valueCallback ? (
617
+ // [TODO] -- I challenge you to fix the type
618
+ n.valueCallback(u)
619
+ ) : u;
620
+ const l = t.slice(i.length);
621
+ return { value: u, rest: l };
622
+ };
623
+ }
624
+ function Jn(e, t) {
625
+ for (const n in e)
626
+ if (Object.prototype.hasOwnProperty.call(e, n) && t(e[n]))
627
+ return n;
628
+ }
629
+ function er(e, t) {
630
+ for (let n = 0; n < e.length; n++)
631
+ if (t(e[n]))
632
+ return n;
633
+ }
634
+ function tr(e) {
635
+ return (t, n = {}) => {
636
+ const r = t.match(e.matchPattern);
637
+ if (!r) return null;
638
+ const o = r[0], a = t.match(e.parsePattern);
639
+ if (!a) return null;
640
+ let i = e.valueCallback ? e.valueCallback(a[0]) : a[0];
641
+ i = n.valueCallback ? n.valueCallback(i) : i;
642
+ const s = t.slice(o.length);
643
+ return { value: i, rest: s };
644
+ };
645
+ }
646
+ const nr = /^(\d+)(th|st|nd|rd)?/i, rr = /\d+/i, or = {
647
+ narrow: /^(b|a)/i,
648
+ abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
649
+ wide: /^(before christ|before common era|anno domini|common era)/i
650
+ }, ar = {
651
+ any: [/^b/i, /^(a|c)/i]
652
+ }, sr = {
653
+ narrow: /^[1234]/i,
654
+ abbreviated: /^q[1234]/i,
655
+ wide: /^[1234](th|st|nd|rd)? quarter/i
656
+ }, ir = {
657
+ any: [/1/i, /2/i, /3/i, /4/i]
658
+ }, cr = {
659
+ narrow: /^[jfmasond]/i,
660
+ abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
661
+ wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
662
+ }, dr = {
663
+ narrow: [
664
+ /^j/i,
665
+ /^f/i,
666
+ /^m/i,
667
+ /^a/i,
668
+ /^m/i,
669
+ /^j/i,
670
+ /^j/i,
671
+ /^a/i,
672
+ /^s/i,
673
+ /^o/i,
674
+ /^n/i,
675
+ /^d/i
676
+ ],
677
+ any: [
678
+ /^ja/i,
679
+ /^f/i,
680
+ /^mar/i,
681
+ /^ap/i,
682
+ /^may/i,
683
+ /^jun/i,
684
+ /^jul/i,
685
+ /^au/i,
686
+ /^s/i,
687
+ /^o/i,
688
+ /^n/i,
689
+ /^d/i
690
+ ]
691
+ }, ur = {
692
+ narrow: /^[smtwf]/i,
693
+ short: /^(su|mo|tu|we|th|fr|sa)/i,
694
+ abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
695
+ wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
696
+ }, lr = {
697
+ narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
698
+ any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
699
+ }, fr = {
700
+ narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
701
+ any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
702
+ }, mr = {
703
+ any: {
704
+ am: /^a/i,
705
+ pm: /^p/i,
706
+ midnight: /^mi/i,
707
+ noon: /^no/i,
708
+ morning: /morning/i,
709
+ afternoon: /afternoon/i,
710
+ evening: /evening/i,
711
+ night: /night/i
712
+ }
713
+ }, hr = {
714
+ ordinalNumber: tr({
715
+ matchPattern: nr,
716
+ parsePattern: rr,
717
+ valueCallback: (e) => parseInt(e, 10)
718
+ }),
719
+ era: fe({
720
+ matchPatterns: or,
721
+ defaultMatchWidth: "wide",
722
+ parsePatterns: ar,
723
+ defaultParseWidth: "any"
724
+ }),
725
+ quarter: fe({
726
+ matchPatterns: sr,
727
+ defaultMatchWidth: "wide",
728
+ parsePatterns: ir,
729
+ defaultParseWidth: "any",
730
+ valueCallback: (e) => e + 1
731
+ }),
732
+ month: fe({
733
+ matchPatterns: cr,
734
+ defaultMatchWidth: "wide",
735
+ parsePatterns: dr,
736
+ defaultParseWidth: "any"
737
+ }),
738
+ day: fe({
739
+ matchPatterns: ur,
740
+ defaultMatchWidth: "wide",
741
+ parsePatterns: lr,
742
+ defaultParseWidth: "any"
743
+ }),
744
+ dayPeriod: fe({
745
+ matchPatterns: fr,
746
+ defaultMatchWidth: "any",
747
+ parsePatterns: mr,
748
+ defaultParseWidth: "any"
749
+ })
750
+ }, qe = {
751
+ code: "en-US",
752
+ formatDistance: Hn,
753
+ formatLong: zn,
754
+ formatRelative: $n,
755
+ localize: Kn,
756
+ match: hr,
757
+ options: {
758
+ weekStartsOn: 0,
759
+ firstWeekContainsDate: 1
760
+ }
761
+ };
762
+ function yr(e, t) {
763
+ const n = Y(e, t?.in);
764
+ return mt(n, gt(n)) + 1;
765
+ }
766
+ function wt(e, t) {
767
+ const n = Y(e, t?.in), r = +he(n) - +vn(n);
768
+ return Math.round(r / dt) + 1;
769
+ }
770
+ function bt(e, t) {
771
+ const n = Y(e, t?.in), r = n.getFullYear(), o = ge(), a = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? o.firstWeekContainsDate ?? o.locale?.options?.firstWeekContainsDate ?? 1, i = B(t?.in || e, 0);
772
+ i.setFullYear(r + 1, 0, a), i.setHours(0, 0, 0, 0);
773
+ const s = de(i, t), c = B(t?.in || e, 0);
774
+ c.setFullYear(r, 0, a), c.setHours(0, 0, 0, 0);
775
+ const u = de(c, t);
776
+ return +n >= +s ? r + 1 : +n >= +u ? r : r - 1;
777
+ }
778
+ function gr(e, t) {
779
+ const n = ge(), r = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? n.firstWeekContainsDate ?? n.locale?.options?.firstWeekContainsDate ?? 1, o = bt(e, t), a = B(t?.in || e, 0);
780
+ return a.setFullYear(o, 0, r), a.setHours(0, 0, 0, 0), de(a, t);
781
+ }
782
+ function Mt(e, t) {
783
+ const n = Y(e, t?.in), r = +de(n, t) - +gr(n, t);
784
+ return Math.round(r / dt) + 1;
785
+ }
786
+ function _(e, t) {
787
+ const n = e < 0 ? "-" : "", r = Math.abs(e).toString().padStart(t, "0");
788
+ return n + r;
789
+ }
790
+ const te = {
791
+ // Year
792
+ y(e, t) {
793
+ const n = e.getFullYear(), r = n > 0 ? n : 1 - n;
794
+ return _(t === "yy" ? r % 100 : r, t.length);
795
+ },
796
+ // Month
797
+ M(e, t) {
798
+ const n = e.getMonth();
799
+ return t === "M" ? String(n + 1) : _(n + 1, 2);
800
+ },
801
+ // Day of the month
802
+ d(e, t) {
803
+ return _(e.getDate(), t.length);
804
+ },
805
+ // AM or PM
806
+ a(e, t) {
807
+ const n = e.getHours() / 12 >= 1 ? "pm" : "am";
808
+ switch (t) {
809
+ case "a":
810
+ case "aa":
811
+ return n.toUpperCase();
812
+ case "aaa":
813
+ return n;
814
+ case "aaaaa":
815
+ return n[0];
816
+ case "aaaa":
817
+ default:
818
+ return n === "am" ? "a.m." : "p.m.";
819
+ }
820
+ },
821
+ // Hour [1-12]
822
+ h(e, t) {
823
+ return _(e.getHours() % 12 || 12, t.length);
824
+ },
825
+ // Hour [0-23]
826
+ H(e, t) {
827
+ return _(e.getHours(), t.length);
828
+ },
829
+ // Minute
830
+ m(e, t) {
831
+ return _(e.getMinutes(), t.length);
832
+ },
833
+ // Second
834
+ s(e, t) {
835
+ return _(e.getSeconds(), t.length);
836
+ },
837
+ // Fraction of second
838
+ S(e, t) {
839
+ const n = t.length, r = e.getMilliseconds(), o = Math.trunc(
840
+ r * Math.pow(10, n - 3)
841
+ );
842
+ return _(o, t.length);
843
+ }
844
+ }, ce = {
845
+ midnight: "midnight",
846
+ noon: "noon",
847
+ morning: "morning",
848
+ afternoon: "afternoon",
849
+ evening: "evening",
850
+ night: "night"
851
+ }, et = {
852
+ // Era
853
+ G: function(e, t, n) {
854
+ const r = e.getFullYear() > 0 ? 1 : 0;
855
+ switch (t) {
856
+ // AD, BC
857
+ case "G":
858
+ case "GG":
859
+ case "GGG":
860
+ return n.era(r, { width: "abbreviated" });
861
+ // A, B
862
+ case "GGGGG":
863
+ return n.era(r, { width: "narrow" });
864
+ // Anno Domini, Before Christ
865
+ case "GGGG":
866
+ default:
867
+ return n.era(r, { width: "wide" });
868
+ }
869
+ },
870
+ // Year
871
+ y: function(e, t, n) {
872
+ if (t === "yo") {
873
+ const r = e.getFullYear(), o = r > 0 ? r : 1 - r;
874
+ return n.ordinalNumber(o, { unit: "year" });
875
+ }
876
+ return te.y(e, t);
877
+ },
878
+ // Local week-numbering year
879
+ Y: function(e, t, n, r) {
880
+ const o = bt(e, r), a = o > 0 ? o : 1 - o;
881
+ if (t === "YY") {
882
+ const i = a % 100;
883
+ return _(i, 2);
884
+ }
885
+ return t === "Yo" ? n.ordinalNumber(a, { unit: "year" }) : _(a, t.length);
886
+ },
887
+ // ISO week-numbering year
888
+ R: function(e, t) {
889
+ const n = ft(e);
890
+ return _(n, t.length);
891
+ },
892
+ // Extended year. This is a single number designating the year of this calendar system.
893
+ // The main difference between `y` and `u` localizers are B.C. years:
894
+ // | Year | `y` | `u` |
895
+ // |------|-----|-----|
896
+ // | AC 1 | 1 | 1 |
897
+ // | BC 1 | 1 | 0 |
898
+ // | BC 2 | 2 | -1 |
899
+ // Also `yy` always returns the last two digits of a year,
900
+ // while `uu` pads single digit years to 2 characters and returns other years unchanged.
901
+ u: function(e, t) {
902
+ const n = e.getFullYear();
903
+ return _(n, t.length);
904
+ },
905
+ // Quarter
906
+ Q: function(e, t, n) {
907
+ const r = Math.ceil((e.getMonth() + 1) / 3);
908
+ switch (t) {
909
+ // 1, 2, 3, 4
910
+ case "Q":
911
+ return String(r);
912
+ // 01, 02, 03, 04
913
+ case "QQ":
914
+ return _(r, 2);
915
+ // 1st, 2nd, 3rd, 4th
916
+ case "Qo":
917
+ return n.ordinalNumber(r, { unit: "quarter" });
918
+ // Q1, Q2, Q3, Q4
919
+ case "QQQ":
920
+ return n.quarter(r, {
921
+ width: "abbreviated",
922
+ context: "formatting"
923
+ });
924
+ // 1, 2, 3, 4 (narrow quarter; could be not numerical)
925
+ case "QQQQQ":
926
+ return n.quarter(r, {
927
+ width: "narrow",
928
+ context: "formatting"
929
+ });
930
+ // 1st quarter, 2nd quarter, ...
931
+ case "QQQQ":
932
+ default:
933
+ return n.quarter(r, {
934
+ width: "wide",
935
+ context: "formatting"
936
+ });
937
+ }
938
+ },
939
+ // Stand-alone quarter
940
+ q: function(e, t, n) {
941
+ const r = Math.ceil((e.getMonth() + 1) / 3);
942
+ switch (t) {
943
+ // 1, 2, 3, 4
944
+ case "q":
945
+ return String(r);
946
+ // 01, 02, 03, 04
947
+ case "qq":
948
+ return _(r, 2);
949
+ // 1st, 2nd, 3rd, 4th
950
+ case "qo":
951
+ return n.ordinalNumber(r, { unit: "quarter" });
952
+ // Q1, Q2, Q3, Q4
953
+ case "qqq":
954
+ return n.quarter(r, {
955
+ width: "abbreviated",
956
+ context: "standalone"
957
+ });
958
+ // 1, 2, 3, 4 (narrow quarter; could be not numerical)
959
+ case "qqqqq":
960
+ return n.quarter(r, {
961
+ width: "narrow",
962
+ context: "standalone"
963
+ });
964
+ // 1st quarter, 2nd quarter, ...
965
+ case "qqqq":
966
+ default:
967
+ return n.quarter(r, {
968
+ width: "wide",
969
+ context: "standalone"
970
+ });
971
+ }
972
+ },
973
+ // Month
974
+ M: function(e, t, n) {
975
+ const r = e.getMonth();
976
+ switch (t) {
977
+ case "M":
978
+ case "MM":
979
+ return te.M(e, t);
980
+ // 1st, 2nd, ..., 12th
981
+ case "Mo":
982
+ return n.ordinalNumber(r + 1, { unit: "month" });
983
+ // Jan, Feb, ..., Dec
984
+ case "MMM":
985
+ return n.month(r, {
986
+ width: "abbreviated",
987
+ context: "formatting"
988
+ });
989
+ // J, F, ..., D
990
+ case "MMMMM":
991
+ return n.month(r, {
992
+ width: "narrow",
993
+ context: "formatting"
994
+ });
995
+ // January, February, ..., December
996
+ case "MMMM":
997
+ default:
998
+ return n.month(r, { width: "wide", context: "formatting" });
999
+ }
1000
+ },
1001
+ // Stand-alone month
1002
+ L: function(e, t, n) {
1003
+ const r = e.getMonth();
1004
+ switch (t) {
1005
+ // 1, 2, ..., 12
1006
+ case "L":
1007
+ return String(r + 1);
1008
+ // 01, 02, ..., 12
1009
+ case "LL":
1010
+ return _(r + 1, 2);
1011
+ // 1st, 2nd, ..., 12th
1012
+ case "Lo":
1013
+ return n.ordinalNumber(r + 1, { unit: "month" });
1014
+ // Jan, Feb, ..., Dec
1015
+ case "LLL":
1016
+ return n.month(r, {
1017
+ width: "abbreviated",
1018
+ context: "standalone"
1019
+ });
1020
+ // J, F, ..., D
1021
+ case "LLLLL":
1022
+ return n.month(r, {
1023
+ width: "narrow",
1024
+ context: "standalone"
1025
+ });
1026
+ // January, February, ..., December
1027
+ case "LLLL":
1028
+ default:
1029
+ return n.month(r, { width: "wide", context: "standalone" });
1030
+ }
1031
+ },
1032
+ // Local week of year
1033
+ w: function(e, t, n, r) {
1034
+ const o = Mt(e, r);
1035
+ return t === "wo" ? n.ordinalNumber(o, { unit: "week" }) : _(o, t.length);
1036
+ },
1037
+ // ISO week of year
1038
+ I: function(e, t, n) {
1039
+ const r = wt(e);
1040
+ return t === "Io" ? n.ordinalNumber(r, { unit: "week" }) : _(r, t.length);
1041
+ },
1042
+ // Day of the month
1043
+ d: function(e, t, n) {
1044
+ return t === "do" ? n.ordinalNumber(e.getDate(), { unit: "date" }) : te.d(e, t);
1045
+ },
1046
+ // Day of year
1047
+ D: function(e, t, n) {
1048
+ const r = yr(e);
1049
+ return t === "Do" ? n.ordinalNumber(r, { unit: "dayOfYear" }) : _(r, t.length);
1050
+ },
1051
+ // Day of week
1052
+ E: function(e, t, n) {
1053
+ const r = e.getDay();
1054
+ switch (t) {
1055
+ // Tue
1056
+ case "E":
1057
+ case "EE":
1058
+ case "EEE":
1059
+ return n.day(r, {
1060
+ width: "abbreviated",
1061
+ context: "formatting"
1062
+ });
1063
+ // T
1064
+ case "EEEEE":
1065
+ return n.day(r, {
1066
+ width: "narrow",
1067
+ context: "formatting"
1068
+ });
1069
+ // Tu
1070
+ case "EEEEEE":
1071
+ return n.day(r, {
1072
+ width: "short",
1073
+ context: "formatting"
1074
+ });
1075
+ // Tuesday
1076
+ case "EEEE":
1077
+ default:
1078
+ return n.day(r, {
1079
+ width: "wide",
1080
+ context: "formatting"
1081
+ });
1082
+ }
1083
+ },
1084
+ // Local day of week
1085
+ e: function(e, t, n, r) {
1086
+ const o = e.getDay(), a = (o - r.weekStartsOn + 8) % 7 || 7;
1087
+ switch (t) {
1088
+ // Numerical value (Nth day of week with current locale or weekStartsOn)
1089
+ case "e":
1090
+ return String(a);
1091
+ // Padded numerical value
1092
+ case "ee":
1093
+ return _(a, 2);
1094
+ // 1st, 2nd, ..., 7th
1095
+ case "eo":
1096
+ return n.ordinalNumber(a, { unit: "day" });
1097
+ case "eee":
1098
+ return n.day(o, {
1099
+ width: "abbreviated",
1100
+ context: "formatting"
1101
+ });
1102
+ // T
1103
+ case "eeeee":
1104
+ return n.day(o, {
1105
+ width: "narrow",
1106
+ context: "formatting"
1107
+ });
1108
+ // Tu
1109
+ case "eeeeee":
1110
+ return n.day(o, {
1111
+ width: "short",
1112
+ context: "formatting"
1113
+ });
1114
+ // Tuesday
1115
+ case "eeee":
1116
+ default:
1117
+ return n.day(o, {
1118
+ width: "wide",
1119
+ context: "formatting"
1120
+ });
1121
+ }
1122
+ },
1123
+ // Stand-alone local day of week
1124
+ c: function(e, t, n, r) {
1125
+ const o = e.getDay(), a = (o - r.weekStartsOn + 8) % 7 || 7;
1126
+ switch (t) {
1127
+ // Numerical value (same as in `e`)
1128
+ case "c":
1129
+ return String(a);
1130
+ // Padded numerical value
1131
+ case "cc":
1132
+ return _(a, t.length);
1133
+ // 1st, 2nd, ..., 7th
1134
+ case "co":
1135
+ return n.ordinalNumber(a, { unit: "day" });
1136
+ case "ccc":
1137
+ return n.day(o, {
1138
+ width: "abbreviated",
1139
+ context: "standalone"
1140
+ });
1141
+ // T
1142
+ case "ccccc":
1143
+ return n.day(o, {
1144
+ width: "narrow",
1145
+ context: "standalone"
1146
+ });
1147
+ // Tu
1148
+ case "cccccc":
1149
+ return n.day(o, {
1150
+ width: "short",
1151
+ context: "standalone"
1152
+ });
1153
+ // Tuesday
1154
+ case "cccc":
1155
+ default:
1156
+ return n.day(o, {
1157
+ width: "wide",
1158
+ context: "standalone"
1159
+ });
1160
+ }
1161
+ },
1162
+ // ISO day of week
1163
+ i: function(e, t, n) {
1164
+ const r = e.getDay(), o = r === 0 ? 7 : r;
1165
+ switch (t) {
1166
+ // 2
1167
+ case "i":
1168
+ return String(o);
1169
+ // 02
1170
+ case "ii":
1171
+ return _(o, t.length);
1172
+ // 2nd
1173
+ case "io":
1174
+ return n.ordinalNumber(o, { unit: "day" });
1175
+ // Tue
1176
+ case "iii":
1177
+ return n.day(r, {
1178
+ width: "abbreviated",
1179
+ context: "formatting"
1180
+ });
1181
+ // T
1182
+ case "iiiii":
1183
+ return n.day(r, {
1184
+ width: "narrow",
1185
+ context: "formatting"
1186
+ });
1187
+ // Tu
1188
+ case "iiiiii":
1189
+ return n.day(r, {
1190
+ width: "short",
1191
+ context: "formatting"
1192
+ });
1193
+ // Tuesday
1194
+ case "iiii":
1195
+ default:
1196
+ return n.day(r, {
1197
+ width: "wide",
1198
+ context: "formatting"
1199
+ });
1200
+ }
1201
+ },
1202
+ // AM or PM
1203
+ a: function(e, t, n) {
1204
+ const o = e.getHours() / 12 >= 1 ? "pm" : "am";
1205
+ switch (t) {
1206
+ case "a":
1207
+ case "aa":
1208
+ return n.dayPeriod(o, {
1209
+ width: "abbreviated",
1210
+ context: "formatting"
1211
+ });
1212
+ case "aaa":
1213
+ return n.dayPeriod(o, {
1214
+ width: "abbreviated",
1215
+ context: "formatting"
1216
+ }).toLowerCase();
1217
+ case "aaaaa":
1218
+ return n.dayPeriod(o, {
1219
+ width: "narrow",
1220
+ context: "formatting"
1221
+ });
1222
+ case "aaaa":
1223
+ default:
1224
+ return n.dayPeriod(o, {
1225
+ width: "wide",
1226
+ context: "formatting"
1227
+ });
1228
+ }
1229
+ },
1230
+ // AM, PM, midnight, noon
1231
+ b: function(e, t, n) {
1232
+ const r = e.getHours();
1233
+ let o;
1234
+ switch (r === 12 ? o = ce.noon : r === 0 ? o = ce.midnight : o = r / 12 >= 1 ? "pm" : "am", t) {
1235
+ case "b":
1236
+ case "bb":
1237
+ return n.dayPeriod(o, {
1238
+ width: "abbreviated",
1239
+ context: "formatting"
1240
+ });
1241
+ case "bbb":
1242
+ return n.dayPeriod(o, {
1243
+ width: "abbreviated",
1244
+ context: "formatting"
1245
+ }).toLowerCase();
1246
+ case "bbbbb":
1247
+ return n.dayPeriod(o, {
1248
+ width: "narrow",
1249
+ context: "formatting"
1250
+ });
1251
+ case "bbbb":
1252
+ default:
1253
+ return n.dayPeriod(o, {
1254
+ width: "wide",
1255
+ context: "formatting"
1256
+ });
1257
+ }
1258
+ },
1259
+ // in the morning, in the afternoon, in the evening, at night
1260
+ B: function(e, t, n) {
1261
+ const r = e.getHours();
1262
+ let o;
1263
+ switch (r >= 17 ? o = ce.evening : r >= 12 ? o = ce.afternoon : r >= 4 ? o = ce.morning : o = ce.night, t) {
1264
+ case "B":
1265
+ case "BB":
1266
+ case "BBB":
1267
+ return n.dayPeriod(o, {
1268
+ width: "abbreviated",
1269
+ context: "formatting"
1270
+ });
1271
+ case "BBBBB":
1272
+ return n.dayPeriod(o, {
1273
+ width: "narrow",
1274
+ context: "formatting"
1275
+ });
1276
+ case "BBBB":
1277
+ default:
1278
+ return n.dayPeriod(o, {
1279
+ width: "wide",
1280
+ context: "formatting"
1281
+ });
1282
+ }
1283
+ },
1284
+ // Hour [1-12]
1285
+ h: function(e, t, n) {
1286
+ if (t === "ho") {
1287
+ let r = e.getHours() % 12;
1288
+ return r === 0 && (r = 12), n.ordinalNumber(r, { unit: "hour" });
1289
+ }
1290
+ return te.h(e, t);
1291
+ },
1292
+ // Hour [0-23]
1293
+ H: function(e, t, n) {
1294
+ return t === "Ho" ? n.ordinalNumber(e.getHours(), { unit: "hour" }) : te.H(e, t);
1295
+ },
1296
+ // Hour [0-11]
1297
+ K: function(e, t, n) {
1298
+ const r = e.getHours() % 12;
1299
+ return t === "Ko" ? n.ordinalNumber(r, { unit: "hour" }) : _(r, t.length);
1300
+ },
1301
+ // Hour [1-24]
1302
+ k: function(e, t, n) {
1303
+ let r = e.getHours();
1304
+ return r === 0 && (r = 24), t === "ko" ? n.ordinalNumber(r, { unit: "hour" }) : _(r, t.length);
1305
+ },
1306
+ // Minute
1307
+ m: function(e, t, n) {
1308
+ return t === "mo" ? n.ordinalNumber(e.getMinutes(), { unit: "minute" }) : te.m(e, t);
1309
+ },
1310
+ // Second
1311
+ s: function(e, t, n) {
1312
+ return t === "so" ? n.ordinalNumber(e.getSeconds(), { unit: "second" }) : te.s(e, t);
1313
+ },
1314
+ // Fraction of second
1315
+ S: function(e, t) {
1316
+ return te.S(e, t);
1317
+ },
1318
+ // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
1319
+ X: function(e, t, n) {
1320
+ const r = e.getTimezoneOffset();
1321
+ if (r === 0)
1322
+ return "Z";
1323
+ switch (t) {
1324
+ // Hours and optional minutes
1325
+ case "X":
1326
+ return nt(r);
1327
+ // Hours, minutes and optional seconds without `:` delimiter
1328
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1329
+ // so this token always has the same output as `XX`
1330
+ case "XXXX":
1331
+ case "XX":
1332
+ return re(r);
1333
+ // Hours, minutes and optional seconds with `:` delimiter
1334
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1335
+ // so this token always has the same output as `XXX`
1336
+ case "XXXXX":
1337
+ case "XXX":
1338
+ // Hours and minutes with `:` delimiter
1339
+ default:
1340
+ return re(r, ":");
1341
+ }
1342
+ },
1343
+ // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
1344
+ x: function(e, t, n) {
1345
+ const r = e.getTimezoneOffset();
1346
+ switch (t) {
1347
+ // Hours and optional minutes
1348
+ case "x":
1349
+ return nt(r);
1350
+ // Hours, minutes and optional seconds without `:` delimiter
1351
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1352
+ // so this token always has the same output as `xx`
1353
+ case "xxxx":
1354
+ case "xx":
1355
+ return re(r);
1356
+ // Hours, minutes and optional seconds with `:` delimiter
1357
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1358
+ // so this token always has the same output as `xxx`
1359
+ case "xxxxx":
1360
+ case "xxx":
1361
+ // Hours and minutes with `:` delimiter
1362
+ default:
1363
+ return re(r, ":");
1364
+ }
1365
+ },
1366
+ // Timezone (GMT)
1367
+ O: function(e, t, n) {
1368
+ const r = e.getTimezoneOffset();
1369
+ switch (t) {
1370
+ // Short
1371
+ case "O":
1372
+ case "OO":
1373
+ case "OOO":
1374
+ return "GMT" + tt(r, ":");
1375
+ // Long
1376
+ case "OOOO":
1377
+ default:
1378
+ return "GMT" + re(r, ":");
1379
+ }
1380
+ },
1381
+ // Timezone (specific non-location)
1382
+ z: function(e, t, n) {
1383
+ const r = e.getTimezoneOffset();
1384
+ switch (t) {
1385
+ // Short
1386
+ case "z":
1387
+ case "zz":
1388
+ case "zzz":
1389
+ return "GMT" + tt(r, ":");
1390
+ // Long
1391
+ case "zzzz":
1392
+ default:
1393
+ return "GMT" + re(r, ":");
1394
+ }
1395
+ },
1396
+ // Seconds timestamp
1397
+ t: function(e, t, n) {
1398
+ const r = Math.trunc(+e / 1e3);
1399
+ return _(r, t.length);
1400
+ },
1401
+ // Milliseconds timestamp
1402
+ T: function(e, t, n) {
1403
+ return _(+e, t.length);
1404
+ }
1405
+ };
1406
+ function tt(e, t = "") {
1407
+ const n = e > 0 ? "-" : "+", r = Math.abs(e), o = Math.trunc(r / 60), a = r % 60;
1408
+ return a === 0 ? n + String(o) : n + String(o) + t + _(a, 2);
1409
+ }
1410
+ function nt(e, t) {
1411
+ return e % 60 === 0 ? (e > 0 ? "-" : "+") + _(Math.abs(e) / 60, 2) : re(e, t);
1412
+ }
1413
+ function re(e, t = "") {
1414
+ const n = e > 0 ? "-" : "+", r = Math.abs(e), o = _(Math.trunc(r / 60), 2), a = _(r % 60, 2);
1415
+ return n + o + t + a;
1416
+ }
1417
+ const rt = (e, t) => {
1418
+ switch (e) {
1419
+ case "P":
1420
+ return t.date({ width: "short" });
1421
+ case "PP":
1422
+ return t.date({ width: "medium" });
1423
+ case "PPP":
1424
+ return t.date({ width: "long" });
1425
+ case "PPPP":
1426
+ default:
1427
+ return t.date({ width: "full" });
1428
+ }
1429
+ }, kt = (e, t) => {
1430
+ switch (e) {
1431
+ case "p":
1432
+ return t.time({ width: "short" });
1433
+ case "pp":
1434
+ return t.time({ width: "medium" });
1435
+ case "ppp":
1436
+ return t.time({ width: "long" });
1437
+ case "pppp":
1438
+ default:
1439
+ return t.time({ width: "full" });
1440
+ }
1441
+ }, pr = (e, t) => {
1442
+ const n = e.match(/(P+)(p+)?/) || [], r = n[1], o = n[2];
1443
+ if (!o)
1444
+ return rt(e, t);
1445
+ let a;
1446
+ switch (r) {
1447
+ case "P":
1448
+ a = t.dateTime({ width: "short" });
1449
+ break;
1450
+ case "PP":
1451
+ a = t.dateTime({ width: "medium" });
1452
+ break;
1453
+ case "PPP":
1454
+ a = t.dateTime({ width: "long" });
1455
+ break;
1456
+ case "PPPP":
1457
+ default:
1458
+ a = t.dateTime({ width: "full" });
1459
+ break;
1460
+ }
1461
+ return a.replace("{{date}}", rt(r, t)).replace("{{time}}", kt(o, t));
1462
+ }, wr = {
1463
+ p: kt,
1464
+ P: pr
1465
+ }, br = /^D+$/, Mr = /^Y+$/, kr = ["D", "DD", "YY", "YYYY"];
1466
+ function Dr(e) {
1467
+ return br.test(e);
1468
+ }
1469
+ function vr(e) {
1470
+ return Mr.test(e);
1471
+ }
1472
+ function Or(e, t, n) {
1473
+ const r = Wr(e, t, n);
1474
+ if (console.warn(r), kr.includes(e)) throw new RangeError(r);
1475
+ }
1476
+ function Wr(e, t, n) {
1477
+ const r = e[0] === "Y" ? "years" : "days of the month";
1478
+ return `Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
1479
+ }
1480
+ const Sr = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, Cr = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Nr = /^'([^]*?)'?$/, xr = /''/g, _r = /[a-zA-Z]/;
1481
+ function Yr(e, t, n) {
1482
+ const r = ge(), o = n?.locale ?? r.locale ?? qe, a = n?.firstWeekContainsDate ?? n?.locale?.options?.firstWeekContainsDate ?? r.firstWeekContainsDate ?? r.locale?.options?.firstWeekContainsDate ?? 1, i = n?.weekStartsOn ?? n?.locale?.options?.weekStartsOn ?? r.weekStartsOn ?? r.locale?.options?.weekStartsOn ?? 0, s = Y(e, n?.in);
1483
+ if (!xn(s))
1484
+ throw new RangeError("Invalid time value");
1485
+ let c = t.match(Cr).map((l) => {
1486
+ const d = l[0];
1487
+ if (d === "p" || d === "P") {
1488
+ const m = wr[d];
1489
+ return m(l, o.formatLong);
1490
+ }
1491
+ return l;
1492
+ }).join("").match(Sr).map((l) => {
1493
+ if (l === "''")
1494
+ return { isToken: !1, value: "'" };
1495
+ const d = l[0];
1496
+ if (d === "'")
1497
+ return { isToken: !1, value: Tr(l) };
1498
+ if (et[d])
1499
+ return { isToken: !0, value: l };
1500
+ if (d.match(_r))
1501
+ throw new RangeError(
1502
+ "Format string contains an unescaped latin alphabet character `" + d + "`"
1503
+ );
1504
+ return { isToken: !1, value: l };
1505
+ });
1506
+ o.localize.preprocessor && (c = o.localize.preprocessor(s, c));
1507
+ const u = {
1508
+ firstWeekContainsDate: a,
1509
+ weekStartsOn: i,
1510
+ locale: o
1511
+ };
1512
+ return c.map((l) => {
1513
+ if (!l.isToken) return l.value;
1514
+ const d = l.value;
1515
+ (!n?.useAdditionalWeekYearTokens && vr(d) || !n?.useAdditionalDayOfYearTokens && Dr(d)) && Or(d, t, String(e));
1516
+ const m = et[d[0]];
1517
+ return m(s, d, o.localize, u);
1518
+ }).join("");
1519
+ }
1520
+ function Tr(e) {
1521
+ const t = e.match(Nr);
1522
+ return t ? t[1].replace(xr, "'") : e;
1523
+ }
1524
+ function Er(e, t) {
1525
+ const n = Y(e, t?.in), r = n.getFullYear(), o = n.getMonth(), a = B(n, 0);
1526
+ return a.setFullYear(r, o + 1, 0), a.setHours(0, 0, 0, 0), a.getDate();
1527
+ }
1528
+ function Pr(e, t) {
1529
+ return Y(e, t?.in).getMonth();
1530
+ }
1531
+ function Fr(e, t) {
1532
+ return Y(e, t?.in).getFullYear();
1533
+ }
1534
+ function Br(e, t) {
1535
+ return +Y(e) > +Y(t);
1536
+ }
1537
+ function Ir(e, t) {
1538
+ return +Y(e) < +Y(t);
1539
+ }
1540
+ function Hr(e, t, n) {
1541
+ const [r, o] = ue(
1542
+ n?.in,
1543
+ e,
1544
+ t
1545
+ );
1546
+ return r.getFullYear() === o.getFullYear() && r.getMonth() === o.getMonth();
1547
+ }
1548
+ function qr(e, t, n) {
1549
+ const [r, o] = ue(
1550
+ n?.in,
1551
+ e,
1552
+ t
1553
+ );
1554
+ return r.getFullYear() === o.getFullYear();
1555
+ }
1556
+ function Ar(e, t, n) {
1557
+ const r = Y(e, n?.in), o = r.getFullYear(), a = r.getDate(), i = B(e, 0);
1558
+ i.setFullYear(o, t, 15), i.setHours(0, 0, 0, 0);
1559
+ const s = Er(i);
1560
+ return r.setMonth(t, Math.min(a, s)), r;
1561
+ }
1562
+ function jr(e, t, n) {
1563
+ const r = Y(e, n?.in);
1564
+ return isNaN(+r) ? B(e, NaN) : (r.setFullYear(t), r);
1565
+ }
1566
+ const ot = 5, zr = 4;
1567
+ function Rr(e, t) {
1568
+ const n = t.startOfMonth(e), r = n.getDay() > 0 ? n.getDay() : 7, o = t.addDays(e, -r + 1), a = t.addDays(o, ot * 7 - 1);
1569
+ return t.getMonth(e) === t.getMonth(a) ? ot : zr;
1570
+ }
1571
+ function Dt(e, t) {
1572
+ const n = t.startOfMonth(e), r = n.getDay();
1573
+ return r === 1 ? n : r === 0 ? t.addDays(n, -6) : t.addDays(n, -1 * (r - 1));
1574
+ }
1575
+ function $r(e, t) {
1576
+ const n = Dt(e, t), r = Rr(e, t);
1577
+ return t.addDays(n, r * 7 - 1);
1578
+ }
1579
+ class R {
1580
+ /**
1581
+ * Creates an instance of `DateLib`.
1582
+ *
1583
+ * @param options Configuration options for the date library.
1584
+ * @param overrides Custom overrides for the date library functions.
1585
+ */
1586
+ constructor(t, n) {
1587
+ this.Date = Date, this.today = () => this.overrides?.today ? this.overrides.today() : this.options.timeZone ? H.tz(this.options.timeZone) : new this.Date(), this.newDate = (r, o, a) => this.overrides?.newDate ? this.overrides.newDate(r, o, a) : this.options.timeZone ? new H(r, o, a, this.options.timeZone) : new Date(r, o, a), this.addDays = (r, o) => this.overrides?.addDays ? this.overrides.addDays(r, o) : ut(r, o), this.addMonths = (r, o) => this.overrides?.addMonths ? this.overrides.addMonths(r, o) : lt(r, o), this.addWeeks = (r, o) => this.overrides?.addWeeks ? this.overrides.addWeeks(r, o) : On(r, o), this.addYears = (r, o) => this.overrides?.addYears ? this.overrides.addYears(r, o) : Wn(r, o), this.differenceInCalendarDays = (r, o) => this.overrides?.differenceInCalendarDays ? this.overrides.differenceInCalendarDays(r, o) : mt(r, o), this.differenceInCalendarMonths = (r, o) => this.overrides?.differenceInCalendarMonths ? this.overrides.differenceInCalendarMonths(r, o) : _n(r, o), this.eachMonthOfInterval = (r) => this.overrides?.eachMonthOfInterval ? this.overrides.eachMonthOfInterval(r) : Tn(r), this.eachYearOfInterval = (r) => {
1588
+ const o = this.overrides?.eachYearOfInterval ? this.overrides.eachYearOfInterval(r) : Fn(r), a = new Set(o.map((s) => this.getYear(s)));
1589
+ if (a.size === o.length)
1590
+ return o;
1591
+ const i = [];
1592
+ return a.forEach((s) => {
1593
+ i.push(new Date(s, 0, 1));
1594
+ }), i;
1595
+ }, this.endOfBroadcastWeek = (r) => this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(r) : $r(r, this), this.endOfISOWeek = (r) => this.overrides?.endOfISOWeek ? this.overrides.endOfISOWeek(r) : Bn(r), this.endOfMonth = (r) => this.overrides?.endOfMonth ? this.overrides.endOfMonth(r) : Yn(r), this.endOfWeek = (r, o) => this.overrides?.endOfWeek ? this.overrides.endOfWeek(r, o) : pt(r, this.options), this.endOfYear = (r) => this.overrides?.endOfYear ? this.overrides.endOfYear(r) : Pn(r), this.format = (r, o, a) => {
1596
+ const i = this.overrides?.format ? this.overrides.format(r, o, this.options) : Yr(r, o, this.options);
1597
+ return this.options.numerals && this.options.numerals !== "latn" ? this.replaceDigits(i) : i;
1598
+ }, this.getISOWeek = (r) => this.overrides?.getISOWeek ? this.overrides.getISOWeek(r) : wt(r), this.getMonth = (r, o) => this.overrides?.getMonth ? this.overrides.getMonth(r, this.options) : Pr(r, this.options), this.getYear = (r, o) => this.overrides?.getYear ? this.overrides.getYear(r, this.options) : Fr(r, this.options), this.getWeek = (r, o) => this.overrides?.getWeek ? this.overrides.getWeek(r, this.options) : Mt(r, this.options), this.isAfter = (r, o) => this.overrides?.isAfter ? this.overrides.isAfter(r, o) : Br(r, o), this.isBefore = (r, o) => this.overrides?.isBefore ? this.overrides.isBefore(r, o) : Ir(r, o), this.isDate = (r) => this.overrides?.isDate ? this.overrides.isDate(r) : ht(r), this.isSameDay = (r, o) => this.overrides?.isSameDay ? this.overrides.isSameDay(r, o) : Nn(r, o), this.isSameMonth = (r, o) => this.overrides?.isSameMonth ? this.overrides.isSameMonth(r, o) : Hr(r, o), this.isSameYear = (r, o) => this.overrides?.isSameYear ? this.overrides.isSameYear(r, o) : qr(r, o), this.max = (r) => this.overrides?.max ? this.overrides.max(r) : Sn(r), this.min = (r) => this.overrides?.min ? this.overrides.min(r) : Cn(r), this.setMonth = (r, o) => this.overrides?.setMonth ? this.overrides.setMonth(r, o) : Ar(r, o), this.setYear = (r, o) => this.overrides?.setYear ? this.overrides.setYear(r, o) : jr(r, o), this.startOfBroadcastWeek = (r, o) => this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(r, this) : Dt(r, this), this.startOfDay = (r) => this.overrides?.startOfDay ? this.overrides.startOfDay(r) : ye(r), this.startOfISOWeek = (r) => this.overrides?.startOfISOWeek ? this.overrides.startOfISOWeek(r) : he(r), this.startOfMonth = (r) => this.overrides?.startOfMonth ? this.overrides.startOfMonth(r) : En(r), this.startOfWeek = (r, o) => this.overrides?.startOfWeek ? this.overrides.startOfWeek(r, this.options) : de(r, this.options), this.startOfYear = (r) => this.overrides?.startOfYear ? this.overrides.startOfYear(r) : gt(r), this.options = { locale: qe, ...t }, this.overrides = n;
1599
+ }
1600
+ /**
1601
+ * Generates a mapping of Arabic digits (0-9) to the target numbering system
1602
+ * digits.
1603
+ *
1604
+ * @since 9.5.0
1605
+ * @returns A record mapping Arabic digits to the target numerals.
1606
+ */
1607
+ getDigitMap() {
1608
+ const { numerals: t = "latn" } = this.options, n = new Intl.NumberFormat("en-US", {
1609
+ numberingSystem: t
1610
+ }), r = {};
1611
+ for (let o = 0; o < 10; o++)
1612
+ r[o.toString()] = n.format(o);
1613
+ return r;
1614
+ }
1615
+ /**
1616
+ * Replaces Arabic digits in a string with the target numbering system digits.
1617
+ *
1618
+ * @since 9.5.0
1619
+ * @param input The string containing Arabic digits.
1620
+ * @returns The string with digits replaced.
1621
+ */
1622
+ replaceDigits(t) {
1623
+ const n = this.getDigitMap();
1624
+ return t.replace(/\d/g, (r) => n[r] || r);
1625
+ }
1626
+ /**
1627
+ * Formats a number using the configured numbering system.
1628
+ *
1629
+ * @since 9.5.0
1630
+ * @param value The number to format.
1631
+ * @returns The formatted number as a string.
1632
+ */
1633
+ formatNumber(t) {
1634
+ return this.replaceDigits(t.toString());
1635
+ }
1636
+ /**
1637
+ * Returns the preferred ordering for month and year labels for the current
1638
+ * locale.
1639
+ */
1640
+ getMonthYearOrder() {
1641
+ const t = this.options.locale?.code;
1642
+ return t && R.yearFirstLocales.has(t) ? "year-first" : "month-first";
1643
+ }
1644
+ /**
1645
+ * Formats the month/year pair respecting locale conventions.
1646
+ *
1647
+ * @since 9.11.0
1648
+ */
1649
+ formatMonthYear(t) {
1650
+ const { locale: n, timeZone: r, numerals: o } = this.options, a = n?.code;
1651
+ if (a && R.yearFirstLocales.has(a))
1652
+ try {
1653
+ return new Intl.DateTimeFormat(a, {
1654
+ month: "long",
1655
+ year: "numeric",
1656
+ timeZone: r,
1657
+ numberingSystem: o
1658
+ }).format(t);
1659
+ } catch {
1660
+ }
1661
+ const i = this.getMonthYearOrder() === "year-first" ? "y LLLL" : "LLLL y";
1662
+ return this.format(t, i);
1663
+ }
1664
+ }
1665
+ R.yearFirstLocales = /* @__PURE__ */ new Set([
1666
+ "eu",
1667
+ "hu",
1668
+ "ja",
1669
+ "ja-Hira",
1670
+ "ja-JP",
1671
+ "ko",
1672
+ "ko-KR",
1673
+ "lt",
1674
+ "lt-LT",
1675
+ "lv",
1676
+ "lv-LV",
1677
+ "mn",
1678
+ "mn-MN",
1679
+ "zh",
1680
+ "zh-CN",
1681
+ "zh-HK",
1682
+ "zh-TW"
1683
+ ]);
1684
+ const V = new R();
1685
+ class vt {
1686
+ constructor(t, n, r = V) {
1687
+ this.date = t, this.displayMonth = n, this.outside = !!(n && !r.isSameMonth(t, n)), this.dateLib = r;
1688
+ }
1689
+ /**
1690
+ * Checks if this day is equal to another `CalendarDay`, considering both the
1691
+ * date and the displayed month.
1692
+ *
1693
+ * @param day The `CalendarDay` to compare with.
1694
+ * @returns `true` if the days are equal, otherwise `false`.
1695
+ */
1696
+ isEqualTo(t) {
1697
+ return this.dateLib.isSameDay(t.date, this.date) && this.dateLib.isSameMonth(t.displayMonth, this.displayMonth);
1698
+ }
1699
+ }
1700
+ class Zr {
1701
+ constructor(t, n) {
1702
+ this.date = t, this.weeks = n;
1703
+ }
1704
+ }
1705
+ class Gr {
1706
+ constructor(t, n) {
1707
+ this.days = n, this.weekNumber = t;
1708
+ }
1709
+ }
1710
+ function Lr(e) {
1711
+ return f.createElement("button", { ...e });
1712
+ }
1713
+ function Qr(e) {
1714
+ return f.createElement("span", { ...e });
1715
+ }
1716
+ function Xr(e) {
1717
+ const { size: t = 24, orientation: n = "left", className: r } = e;
1718
+ return (
1719
+ // biome-ignore lint/a11y/noSvgWithoutTitle: handled by the parent component
1720
+ f.createElement(
1721
+ "svg",
1722
+ { className: r, width: t, height: t, viewBox: "0 0 24 24" },
1723
+ n === "up" && f.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }),
1724
+ n === "down" && f.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }),
1725
+ n === "left" && f.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }),
1726
+ n === "right" && f.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" })
1727
+ )
1728
+ );
1729
+ }
1730
+ function Ur(e) {
1731
+ const { day: t, modifiers: n, ...r } = e;
1732
+ return f.createElement("td", { ...r });
1733
+ }
1734
+ function Vr(e) {
1735
+ const { day: t, modifiers: n, ...r } = e, o = f.useRef(null);
1736
+ return f.useEffect(() => {
1737
+ n.focused && o.current?.focus();
1738
+ }, [n.focused]), f.createElement("button", { ref: o, ...r });
1739
+ }
1740
+ var h;
1741
+ (function(e) {
1742
+ e.Root = "root", e.Chevron = "chevron", e.Day = "day", e.DayButton = "day_button", e.CaptionLabel = "caption_label", e.Dropdowns = "dropdowns", e.Dropdown = "dropdown", e.DropdownRoot = "dropdown_root", e.Footer = "footer", e.MonthGrid = "month_grid", e.MonthCaption = "month_caption", e.MonthsDropdown = "months_dropdown", e.Month = "month", e.Months = "months", e.Nav = "nav", e.NextMonthButton = "button_next", e.PreviousMonthButton = "button_previous", e.Week = "week", e.Weeks = "weeks", e.Weekday = "weekday", e.Weekdays = "weekdays", e.WeekNumber = "week_number", e.WeekNumberHeader = "week_number_header", e.YearsDropdown = "years_dropdown";
1743
+ })(h || (h = {}));
1744
+ var F;
1745
+ (function(e) {
1746
+ e.disabled = "disabled", e.hidden = "hidden", e.outside = "outside", e.focused = "focused", e.today = "today";
1747
+ })(F || (F = {}));
1748
+ var Q;
1749
+ (function(e) {
1750
+ e.range_end = "range_end", e.range_middle = "range_middle", e.range_start = "range_start", e.selected = "selected";
1751
+ })(Q || (Q = {}));
1752
+ var z;
1753
+ (function(e) {
1754
+ e.weeks_before_enter = "weeks_before_enter", e.weeks_before_exit = "weeks_before_exit", e.weeks_after_enter = "weeks_after_enter", e.weeks_after_exit = "weeks_after_exit", e.caption_after_enter = "caption_after_enter", e.caption_after_exit = "caption_after_exit", e.caption_before_enter = "caption_before_enter", e.caption_before_exit = "caption_before_exit";
1755
+ })(z || (z = {}));
1756
+ function Kr(e) {
1757
+ const { options: t, className: n, components: r, classNames: o, ...a } = e, i = [o[h.Dropdown], n].join(" "), s = t?.find(({ value: c }) => c === a.value);
1758
+ return f.createElement(
1759
+ "span",
1760
+ { "data-disabled": a.disabled, className: o[h.DropdownRoot] },
1761
+ f.createElement(r.Select, { className: i, ...a }, t?.map(({ value: c, label: u, disabled: l }) => f.createElement(r.Option, { key: c, value: c, disabled: l }, u))),
1762
+ f.createElement(
1763
+ "span",
1764
+ { className: o[h.CaptionLabel], "aria-hidden": !0 },
1765
+ s?.label,
1766
+ f.createElement(r.Chevron, { orientation: "down", size: 18, className: o[h.Chevron] })
1767
+ )
1768
+ );
1769
+ }
1770
+ function Jr(e) {
1771
+ return f.createElement("div", { ...e });
1772
+ }
1773
+ function eo(e) {
1774
+ return f.createElement("div", { ...e });
1775
+ }
1776
+ function to(e) {
1777
+ const { calendarMonth: t, displayIndex: n, ...r } = e;
1778
+ return f.createElement("div", { ...r }, e.children);
1779
+ }
1780
+ function no(e) {
1781
+ const { calendarMonth: t, displayIndex: n, ...r } = e;
1782
+ return f.createElement("div", { ...r });
1783
+ }
1784
+ function ro(e) {
1785
+ return f.createElement("table", { ...e });
1786
+ }
1787
+ function oo(e) {
1788
+ return f.createElement("div", { ...e });
1789
+ }
1790
+ const Ot = dn(void 0);
1791
+ function pe() {
1792
+ const e = un(Ot);
1793
+ if (e === void 0)
1794
+ throw new Error("useDayPicker() must be used within a custom component.");
1795
+ return e;
1796
+ }
1797
+ function ao(e) {
1798
+ const { components: t } = pe();
1799
+ return f.createElement(t.Dropdown, { ...e });
1800
+ }
1801
+ function so(e) {
1802
+ const { onPreviousClick: t, onNextClick: n, previousMonth: r, nextMonth: o, ...a } = e, { components: i, classNames: s, labels: { labelPrevious: c, labelNext: u } } = pe(), l = $((m) => {
1803
+ o && n?.(m);
1804
+ }, [o, n]), d = $((m) => {
1805
+ r && t?.(m);
1806
+ }, [r, t]);
1807
+ return f.createElement(
1808
+ "nav",
1809
+ { ...a },
1810
+ f.createElement(
1811
+ i.PreviousMonthButton,
1812
+ { type: "button", className: s[h.PreviousMonthButton], tabIndex: r ? void 0 : -1, "aria-disabled": r ? void 0 : !0, "aria-label": c(r), onClick: d },
1813
+ f.createElement(i.Chevron, { disabled: r ? void 0 : !0, className: s[h.Chevron], orientation: "left" })
1814
+ ),
1815
+ f.createElement(
1816
+ i.NextMonthButton,
1817
+ { type: "button", className: s[h.NextMonthButton], tabIndex: o ? void 0 : -1, "aria-disabled": o ? void 0 : !0, "aria-label": u(o), onClick: l },
1818
+ f.createElement(i.Chevron, { disabled: o ? void 0 : !0, orientation: "right", className: s[h.Chevron] })
1819
+ )
1820
+ );
1821
+ }
1822
+ function io(e) {
1823
+ const { components: t } = pe();
1824
+ return f.createElement(t.Button, { ...e });
1825
+ }
1826
+ function co(e) {
1827
+ return f.createElement("option", { ...e });
1828
+ }
1829
+ function uo(e) {
1830
+ const { components: t } = pe();
1831
+ return f.createElement(t.Button, { ...e });
1832
+ }
1833
+ function lo(e) {
1834
+ const { rootRef: t, ...n } = e;
1835
+ return f.createElement("div", { ...n, ref: t });
1836
+ }
1837
+ function fo(e) {
1838
+ return f.createElement("select", { ...e });
1839
+ }
1840
+ function mo(e) {
1841
+ const { week: t, ...n } = e;
1842
+ return f.createElement("tr", { ...n });
1843
+ }
1844
+ function ho(e) {
1845
+ return f.createElement("th", { ...e });
1846
+ }
1847
+ function yo(e) {
1848
+ return f.createElement(
1849
+ "thead",
1850
+ { "aria-hidden": !0 },
1851
+ f.createElement("tr", { ...e })
1852
+ );
1853
+ }
1854
+ function go(e) {
1855
+ const { week: t, ...n } = e;
1856
+ return f.createElement("th", { ...n });
1857
+ }
1858
+ function po(e) {
1859
+ return f.createElement("th", { ...e });
1860
+ }
1861
+ function wo(e) {
1862
+ return f.createElement("tbody", { ...e });
1863
+ }
1864
+ function bo(e) {
1865
+ const { components: t } = pe();
1866
+ return f.createElement(t.Dropdown, { ...e });
1867
+ }
1868
+ const Mo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1869
+ __proto__: null,
1870
+ Button: Lr,
1871
+ CaptionLabel: Qr,
1872
+ Chevron: Xr,
1873
+ Day: Ur,
1874
+ DayButton: Vr,
1875
+ Dropdown: Kr,
1876
+ DropdownNav: Jr,
1877
+ Footer: eo,
1878
+ Month: to,
1879
+ MonthCaption: no,
1880
+ MonthGrid: ro,
1881
+ Months: oo,
1882
+ MonthsDropdown: ao,
1883
+ Nav: so,
1884
+ NextMonthButton: io,
1885
+ Option: co,
1886
+ PreviousMonthButton: uo,
1887
+ Root: lo,
1888
+ Select: fo,
1889
+ Week: mo,
1890
+ WeekNumber: go,
1891
+ WeekNumberHeader: po,
1892
+ Weekday: ho,
1893
+ Weekdays: yo,
1894
+ Weeks: wo,
1895
+ YearsDropdown: bo
1896
+ }, Symbol.toStringTag, { value: "Module" }));
1897
+ function J(e, t, n = !1, r = V) {
1898
+ let { from: o, to: a } = e;
1899
+ const { differenceInCalendarDays: i, isSameDay: s } = r;
1900
+ return o && a ? (i(a, o) < 0 && ([o, a] = [a, o]), i(t, o) >= (n ? 1 : 0) && i(a, t) >= (n ? 1 : 0)) : !n && a ? s(a, t) : !n && o ? s(o, t) : !1;
1901
+ }
1902
+ function Wt(e) {
1903
+ return !!(e && typeof e == "object" && "before" in e && "after" in e);
1904
+ }
1905
+ function Ae(e) {
1906
+ return !!(e && typeof e == "object" && "from" in e);
1907
+ }
1908
+ function St(e) {
1909
+ return !!(e && typeof e == "object" && "after" in e);
1910
+ }
1911
+ function Ct(e) {
1912
+ return !!(e && typeof e == "object" && "before" in e);
1913
+ }
1914
+ function Nt(e) {
1915
+ return !!(e && typeof e == "object" && "dayOfWeek" in e);
1916
+ }
1917
+ function xt(e, t) {
1918
+ return Array.isArray(e) && e.every(t.isDate);
1919
+ }
1920
+ function ee(e, t, n = V) {
1921
+ const r = Array.isArray(t) ? t : [t], { isSameDay: o, differenceInCalendarDays: a, isAfter: i } = n;
1922
+ return r.some((s) => {
1923
+ if (typeof s == "boolean")
1924
+ return s;
1925
+ if (n.isDate(s))
1926
+ return o(e, s);
1927
+ if (xt(s, n))
1928
+ return s.includes(e);
1929
+ if (Ae(s))
1930
+ return J(s, e, !1, n);
1931
+ if (Nt(s))
1932
+ return Array.isArray(s.dayOfWeek) ? s.dayOfWeek.includes(e.getDay()) : s.dayOfWeek === e.getDay();
1933
+ if (Wt(s)) {
1934
+ const c = a(s.before, e), u = a(s.after, e), l = c > 0, d = u < 0;
1935
+ return i(s.before, s.after) ? d && l : l || d;
1936
+ }
1937
+ return St(s) ? a(e, s.after) > 0 : Ct(s) ? a(s.before, e) > 0 : typeof s == "function" ? s(e) : !1;
1938
+ });
1939
+ }
1940
+ function ko(e, t, n, r, o) {
1941
+ const { disabled: a, hidden: i, modifiers: s, showOutsideDays: c, broadcastCalendar: u, today: l } = t, { isSameDay: d, isSameMonth: m, startOfMonth: g, isBefore: v, endOfMonth: W, isAfter: M } = o, O = n && g(n), C = r && W(r), p = {
1942
+ [F.focused]: [],
1943
+ [F.outside]: [],
1944
+ [F.disabled]: [],
1945
+ [F.hidden]: [],
1946
+ [F.today]: []
1947
+ }, T = {};
1948
+ for (const y of e) {
1949
+ const { date: k, displayMonth: b } = y, N = !!(b && !m(k, b)), I = !!(O && v(k, O)), q = !!(C && M(k, C)), A = !!(a && ee(k, a, o)), Z = !!(i && ee(k, i, o)) || I || q || // Broadcast calendar will show outside days as default
1950
+ !u && !c && N || u && c === !1 && N, ae = d(k, l ?? o.today());
1951
+ N && p.outside.push(y), A && p.disabled.push(y), Z && p.hidden.push(y), ae && p.today.push(y), s && Object.keys(s).forEach((se) => {
1952
+ const ie = s?.[se];
1953
+ ie && ee(k, ie, o) && (T[se] ? T[se].push(y) : T[se] = [y]);
1954
+ });
1955
+ }
1956
+ return (y) => {
1957
+ const k = {
1958
+ [F.focused]: !1,
1959
+ [F.disabled]: !1,
1960
+ [F.hidden]: !1,
1961
+ [F.outside]: !1,
1962
+ [F.today]: !1
1963
+ }, b = {};
1964
+ for (const N in p) {
1965
+ const I = p[N];
1966
+ k[N] = I.some((q) => q === y);
1967
+ }
1968
+ for (const N in T)
1969
+ b[N] = T[N].some((I) => I === y);
1970
+ return {
1971
+ ...k,
1972
+ // custom modifiers should override all the previous ones
1973
+ ...b
1974
+ };
1975
+ };
1976
+ }
1977
+ function Do(e, t, n = {}) {
1978
+ return Object.entries(e).filter(([, o]) => o === !0).reduce((o, [a]) => (n[a] ? o.push(n[a]) : t[F[a]] ? o.push(t[F[a]]) : t[Q[a]] && o.push(t[Q[a]]), o), [t[h.Day]]);
1979
+ }
1980
+ function vo(e) {
1981
+ return {
1982
+ ...Mo,
1983
+ ...e
1984
+ };
1985
+ }
1986
+ function Oo(e) {
1987
+ const t = {
1988
+ "data-mode": e.mode ?? void 0,
1989
+ "data-required": "required" in e ? e.required : void 0,
1990
+ "data-multiple-months": e.numberOfMonths && e.numberOfMonths > 1 || void 0,
1991
+ "data-week-numbers": e.showWeekNumber || void 0,
1992
+ "data-broadcast-calendar": e.broadcastCalendar || void 0,
1993
+ "data-nav-layout": e.navLayout || void 0
1994
+ };
1995
+ return Object.entries(e).forEach(([n, r]) => {
1996
+ n.startsWith("data-") && (t[n] = r);
1997
+ }), t;
1998
+ }
1999
+ function je() {
2000
+ const e = {};
2001
+ for (const t in h)
2002
+ e[h[t]] = `rdp-${h[t]}`;
2003
+ for (const t in F)
2004
+ e[F[t]] = `rdp-${F[t]}`;
2005
+ for (const t in Q)
2006
+ e[Q[t]] = `rdp-${Q[t]}`;
2007
+ for (const t in z)
2008
+ e[z[t]] = `rdp-${z[t]}`;
2009
+ return e;
2010
+ }
2011
+ function _t(e, t, n) {
2012
+ return (n ?? new R(t)).formatMonthYear(e);
2013
+ }
2014
+ const Wo = _t;
2015
+ function So(e, t, n) {
2016
+ return (n ?? new R(t)).format(e, "d");
2017
+ }
2018
+ function Co(e, t = V) {
2019
+ return t.format(e, "LLLL");
2020
+ }
2021
+ function No(e, t, n) {
2022
+ return (n ?? new R(t)).format(e, "cccccc");
2023
+ }
2024
+ function xo(e, t = V) {
2025
+ return e < 10 ? t.formatNumber(`0${e.toLocaleString()}`) : t.formatNumber(`${e.toLocaleString()}`);
2026
+ }
2027
+ function _o() {
2028
+ return "";
2029
+ }
2030
+ function Yt(e, t = V) {
2031
+ return t.format(e, "yyyy");
2032
+ }
2033
+ const Yo = Yt, To = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2034
+ __proto__: null,
2035
+ formatCaption: _t,
2036
+ formatDay: So,
2037
+ formatMonthCaption: Wo,
2038
+ formatMonthDropdown: Co,
2039
+ formatWeekNumber: xo,
2040
+ formatWeekNumberHeader: _o,
2041
+ formatWeekdayName: No,
2042
+ formatYearCaption: Yo,
2043
+ formatYearDropdown: Yt
2044
+ }, Symbol.toStringTag, { value: "Module" }));
2045
+ function Eo(e) {
2046
+ return e?.formatMonthCaption && !e.formatCaption && (e.formatCaption = e.formatMonthCaption), e?.formatYearCaption && !e.formatYearDropdown && (e.formatYearDropdown = e.formatYearCaption), {
2047
+ ...To,
2048
+ ...e
2049
+ };
2050
+ }
2051
+ function Po(e, t, n, r, o) {
2052
+ const { startOfMonth: a, startOfYear: i, endOfYear: s, eachMonthOfInterval: c, getMonth: u } = o;
2053
+ return c({
2054
+ start: i(e),
2055
+ end: s(e)
2056
+ }).map((m) => {
2057
+ const g = r.formatMonthDropdown(m, o), v = u(m), W = t && m < a(t) || n && m > a(n) || !1;
2058
+ return { value: v, label: g, disabled: W };
2059
+ });
2060
+ }
2061
+ function Fo(e, t = {}, n = {}) {
2062
+ let r = { ...t?.[h.Day] };
2063
+ return Object.entries(e).filter(([, o]) => o === !0).forEach(([o]) => {
2064
+ r = {
2065
+ ...r,
2066
+ ...n?.[o]
2067
+ };
2068
+ }), r;
2069
+ }
2070
+ function Bo(e, t, n) {
2071
+ const r = e.today(), o = t ? e.startOfISOWeek(r) : e.startOfWeek(r), a = [];
2072
+ for (let i = 0; i < 7; i++) {
2073
+ const s = e.addDays(o, i);
2074
+ a.push(s);
2075
+ }
2076
+ return a;
2077
+ }
2078
+ function Io(e, t, n, r, o = !1) {
2079
+ if (!e || !t)
2080
+ return;
2081
+ const { startOfYear: a, endOfYear: i, eachYearOfInterval: s, getYear: c } = r, u = a(e), l = i(t), d = s({ start: u, end: l });
2082
+ return o && d.reverse(), d.map((m) => {
2083
+ const g = n.formatYearDropdown(m, r);
2084
+ return {
2085
+ value: c(m),
2086
+ label: g,
2087
+ disabled: !1
2088
+ };
2089
+ });
2090
+ }
2091
+ function Tt(e, t, n, r) {
2092
+ let o = (r ?? new R(n)).format(e, "PPPP");
2093
+ return t.today && (o = `Today, ${o}`), t.selected && (o = `${o}, selected`), o;
2094
+ }
2095
+ const Ho = Tt;
2096
+ function Et(e, t, n) {
2097
+ return (n ?? new R(t)).formatMonthYear(e);
2098
+ }
2099
+ const qo = Et;
2100
+ function Ao(e, t, n, r) {
2101
+ let o = (r ?? new R(n)).format(e, "PPPP");
2102
+ return t?.today && (o = `Today, ${o}`), o;
2103
+ }
2104
+ function jo(e) {
2105
+ return "Choose the Month";
2106
+ }
2107
+ function zo() {
2108
+ return "";
2109
+ }
2110
+ function Ro(e) {
2111
+ return "Go to the Next Month";
2112
+ }
2113
+ function $o(e) {
2114
+ return "Go to the Previous Month";
2115
+ }
2116
+ function Zo(e, t, n) {
2117
+ return (n ?? new R(t)).format(e, "cccc");
2118
+ }
2119
+ function Go(e, t) {
2120
+ return `Week ${e}`;
2121
+ }
2122
+ function Lo(e) {
2123
+ return "Week Number";
2124
+ }
2125
+ function Qo(e) {
2126
+ return "Choose the Year";
2127
+ }
2128
+ const Xo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2129
+ __proto__: null,
2130
+ labelCaption: qo,
2131
+ labelDay: Ho,
2132
+ labelDayButton: Tt,
2133
+ labelGrid: Et,
2134
+ labelGridcell: Ao,
2135
+ labelMonthDropdown: jo,
2136
+ labelNav: zo,
2137
+ labelNext: Ro,
2138
+ labelPrevious: $o,
2139
+ labelWeekNumber: Go,
2140
+ labelWeekNumberHeader: Lo,
2141
+ labelWeekday: Zo,
2142
+ labelYearDropdown: Qo
2143
+ }, Symbol.toStringTag, { value: "Module" })), we = (e) => e instanceof HTMLElement ? e : null, Pe = (e) => [
2144
+ ...e.querySelectorAll("[data-animated-month]") ?? []
2145
+ ], Uo = (e) => we(e.querySelector("[data-animated-month]")), Fe = (e) => we(e.querySelector("[data-animated-caption]")), Be = (e) => we(e.querySelector("[data-animated-weeks]")), Vo = (e) => we(e.querySelector("[data-animated-nav]")), Ko = (e) => we(e.querySelector("[data-animated-weekdays]"));
2146
+ function Jo(e, t, { classNames: n, months: r, focused: o, dateLib: a }) {
2147
+ const i = De(null), s = De(r), c = De(!1);
2148
+ ln(() => {
2149
+ const u = s.current;
2150
+ if (s.current = r, !t || !e.current || // safety check because the ref can be set to anything by consumers
2151
+ !(e.current instanceof HTMLElement) || // validation required for the animation to work as expected
2152
+ r.length === 0 || u.length === 0 || r.length !== u.length)
2153
+ return;
2154
+ const l = a.isSameMonth(r[0].date, u[0].date), d = a.isAfter(r[0].date, u[0].date), m = d ? n[z.caption_after_enter] : n[z.caption_before_enter], g = d ? n[z.weeks_after_enter] : n[z.weeks_before_enter], v = i.current, W = e.current.cloneNode(!0);
2155
+ if (W instanceof HTMLElement ? (Pe(W).forEach((p) => {
2156
+ if (!(p instanceof HTMLElement))
2157
+ return;
2158
+ const T = Uo(p);
2159
+ T && p.contains(T) && p.removeChild(T);
2160
+ const y = Fe(p);
2161
+ y && y.classList.remove(m);
2162
+ const k = Be(p);
2163
+ k && k.classList.remove(g);
2164
+ }), i.current = W) : i.current = null, c.current || l || // skip animation if a day is focused because it can cause issues to the animation and is better for a11y
2165
+ o)
2166
+ return;
2167
+ const M = v instanceof HTMLElement ? Pe(v) : [], O = Pe(e.current);
2168
+ if (O?.every((C) => C instanceof HTMLElement) && M && M.every((C) => C instanceof HTMLElement)) {
2169
+ c.current = !0, e.current.style.isolation = "isolate";
2170
+ const C = Vo(e.current);
2171
+ C && (C.style.zIndex = "1"), O.forEach((p, T) => {
2172
+ const y = M[T];
2173
+ if (!y)
2174
+ return;
2175
+ p.style.position = "relative", p.style.overflow = "hidden";
2176
+ const k = Fe(p);
2177
+ k && k.classList.add(m);
2178
+ const b = Be(p);
2179
+ b && b.classList.add(g);
2180
+ const N = () => {
2181
+ c.current = !1, e.current && (e.current.style.isolation = ""), C && (C.style.zIndex = ""), k && k.classList.remove(m), b && b.classList.remove(g), p.style.position = "", p.style.overflow = "", p.contains(y) && p.removeChild(y);
2182
+ };
2183
+ y.style.pointerEvents = "none", y.style.position = "absolute", y.style.overflow = "hidden", y.setAttribute("aria-hidden", "true");
2184
+ const I = Ko(y);
2185
+ I && (I.style.opacity = "0");
2186
+ const q = Fe(y);
2187
+ q && (q.classList.add(d ? n[z.caption_before_exit] : n[z.caption_after_exit]), q.addEventListener("animationend", N));
2188
+ const A = Be(y);
2189
+ A && A.classList.add(d ? n[z.weeks_before_exit] : n[z.weeks_after_exit]), p.insertBefore(y, p.firstChild);
2190
+ });
2191
+ }
2192
+ });
2193
+ }
2194
+ function ea(e, t, n, r) {
2195
+ const o = e[0], a = e[e.length - 1], { ISOWeek: i, fixedWeeks: s, broadcastCalendar: c } = n ?? {}, { addDays: u, differenceInCalendarDays: l, differenceInCalendarMonths: d, endOfBroadcastWeek: m, endOfISOWeek: g, endOfMonth: v, endOfWeek: W, isAfter: M, startOfBroadcastWeek: O, startOfISOWeek: C, startOfWeek: p } = r, T = c ? O(o, r) : i ? C(o) : p(o), y = c ? m(a) : i ? g(v(a)) : W(v(a)), k = l(y, T), b = d(a, o) + 1, N = [];
2196
+ for (let A = 0; A <= k; A++) {
2197
+ const Z = u(T, A);
2198
+ if (t && M(Z, t))
2199
+ break;
2200
+ N.push(Z);
2201
+ }
2202
+ const q = (c ? 35 : 42) * b;
2203
+ if (s && N.length < q) {
2204
+ const A = q - N.length;
2205
+ for (let Z = 0; Z < A; Z++) {
2206
+ const ae = u(N[N.length - 1], 1);
2207
+ N.push(ae);
2208
+ }
2209
+ }
2210
+ return N;
2211
+ }
2212
+ function ta(e) {
2213
+ const t = [];
2214
+ return e.reduce((n, r) => {
2215
+ const o = r.weeks.reduce((a, i) => a.concat(i.days.slice()), t.slice());
2216
+ return n.concat(o.slice());
2217
+ }, t.slice());
2218
+ }
2219
+ function na(e, t, n, r) {
2220
+ const { numberOfMonths: o = 1 } = n, a = [];
2221
+ for (let i = 0; i < o; i++) {
2222
+ const s = r.addMonths(e, i);
2223
+ if (t && s > t)
2224
+ break;
2225
+ a.push(s);
2226
+ }
2227
+ return a;
2228
+ }
2229
+ function at(e, t, n, r) {
2230
+ const { month: o, defaultMonth: a, today: i = r.today(), numberOfMonths: s = 1 } = e;
2231
+ let c = o || a || i;
2232
+ const { differenceInCalendarMonths: u, addMonths: l, startOfMonth: d } = r;
2233
+ if (n && u(n, c) < s - 1) {
2234
+ const m = -1 * (s - 1);
2235
+ c = l(n, m);
2236
+ }
2237
+ return t && u(c, t) < 0 && (c = t), d(c);
2238
+ }
2239
+ function ra(e, t, n, r) {
2240
+ const { addDays: o, endOfBroadcastWeek: a, endOfISOWeek: i, endOfMonth: s, endOfWeek: c, getISOWeek: u, getWeek: l, startOfBroadcastWeek: d, startOfISOWeek: m, startOfWeek: g } = r, v = e.reduce((W, M) => {
2241
+ const O = n.broadcastCalendar ? d(M, r) : n.ISOWeek ? m(M) : g(M), C = n.broadcastCalendar ? a(M) : n.ISOWeek ? i(s(M)) : c(s(M)), p = t.filter((b) => b >= O && b <= C), T = n.broadcastCalendar ? 35 : 42;
2242
+ if (n.fixedWeeks && p.length < T) {
2243
+ const b = t.filter((N) => {
2244
+ const I = T - p.length;
2245
+ return N > C && N <= o(C, I);
2246
+ });
2247
+ p.push(...b);
2248
+ }
2249
+ const y = p.reduce((b, N) => {
2250
+ const I = n.ISOWeek ? u(N) : l(N), q = b.find((Z) => Z.weekNumber === I), A = new vt(N, M, r);
2251
+ return q ? q.days.push(A) : b.push(new Gr(I, [A])), b;
2252
+ }, []), k = new Zr(M, y);
2253
+ return W.push(k), W;
2254
+ }, []);
2255
+ return n.reverseMonths ? v.reverse() : v;
2256
+ }
2257
+ function oa(e, t) {
2258
+ let { startMonth: n, endMonth: r } = e;
2259
+ const { startOfYear: o, startOfDay: a, startOfMonth: i, endOfMonth: s, addYears: c, endOfYear: u, newDate: l, today: d } = t, { fromYear: m, toYear: g, fromMonth: v, toMonth: W } = e;
2260
+ !n && v && (n = v), !n && m && (n = t.newDate(m, 0, 1)), !r && W && (r = W), !r && g && (r = l(g, 11, 31));
2261
+ const M = e.captionLayout === "dropdown" || e.captionLayout === "dropdown-years";
2262
+ return n ? n = i(n) : m ? n = l(m, 0, 1) : !n && M && (n = o(c(e.today ?? d(), -100))), r ? r = s(r) : g ? r = l(g, 11, 31) : !r && M && (r = u(e.today ?? d())), [
2263
+ n && a(n),
2264
+ r && a(r)
2265
+ ];
2266
+ }
2267
+ function aa(e, t, n, r) {
2268
+ if (n.disableNavigation)
2269
+ return;
2270
+ const { pagedNavigation: o, numberOfMonths: a = 1 } = n, { startOfMonth: i, addMonths: s, differenceInCalendarMonths: c } = r, u = o ? a : 1, l = i(e);
2271
+ if (!t)
2272
+ return s(l, u);
2273
+ if (!(c(t, e) < a))
2274
+ return s(l, u);
2275
+ }
2276
+ function sa(e, t, n, r) {
2277
+ if (n.disableNavigation)
2278
+ return;
2279
+ const { pagedNavigation: o, numberOfMonths: a } = n, { startOfMonth: i, addMonths: s, differenceInCalendarMonths: c } = r, u = o ? a ?? 1 : 1, l = i(e);
2280
+ if (!t)
2281
+ return s(l, -u);
2282
+ if (!(c(l, t) <= 0))
2283
+ return s(l, -u);
2284
+ }
2285
+ function ia(e) {
2286
+ const t = [];
2287
+ return e.reduce((n, r) => n.concat(r.weeks.slice()), t.slice());
2288
+ }
2289
+ function ve(e, t) {
2290
+ const [n, r] = Ie(e);
2291
+ return [t === void 0 ? n : t, r];
2292
+ }
2293
+ function ca(e, t) {
2294
+ const [n, r] = oa(e, t), { startOfMonth: o, endOfMonth: a } = t, i = at(e, n, r, t), [s, c] = ve(
2295
+ i,
2296
+ // initialMonth is always computed from props.month if provided
2297
+ e.month ? i : void 0
2298
+ );
2299
+ fn(() => {
2300
+ const k = at(e, n, r, t);
2301
+ c(k);
2302
+ }, [e.timeZone]);
2303
+ const u = na(s, r, e, t), l = ea(u, e.endMonth ? a(e.endMonth) : void 0, e, t), d = ra(u, l, e, t), m = ia(d), g = ta(d), v = sa(s, n, e, t), W = aa(s, r, e, t), { disableNavigation: M, onMonthChange: O } = e, C = (k) => m.some((b) => b.days.some((N) => N.isEqualTo(k))), p = (k) => {
2304
+ if (M)
2305
+ return;
2306
+ let b = o(k);
2307
+ n && b < o(n) && (b = o(n)), r && b > o(r) && (b = o(r)), c(b), O?.(b);
2308
+ };
2309
+ return {
2310
+ months: d,
2311
+ weeks: m,
2312
+ days: g,
2313
+ navStart: n,
2314
+ navEnd: r,
2315
+ previousMonth: v,
2316
+ nextMonth: W,
2317
+ goToMonth: p,
2318
+ goToDay: (k) => {
2319
+ C(k) || p(k.date);
2320
+ }
2321
+ };
2322
+ }
2323
+ var X;
2324
+ (function(e) {
2325
+ e[e.Today = 0] = "Today", e[e.Selected = 1] = "Selected", e[e.LastFocused = 2] = "LastFocused", e[e.FocusedModifier = 3] = "FocusedModifier";
2326
+ })(X || (X = {}));
2327
+ function st(e) {
2328
+ return !e[F.disabled] && !e[F.hidden] && !e[F.outside];
2329
+ }
2330
+ function da(e, t, n, r) {
2331
+ let o, a = -1;
2332
+ for (const i of e) {
2333
+ const s = t(i);
2334
+ st(s) && (s[F.focused] && a < X.FocusedModifier ? (o = i, a = X.FocusedModifier) : r?.isEqualTo(i) && a < X.LastFocused ? (o = i, a = X.LastFocused) : n(i.date) && a < X.Selected ? (o = i, a = X.Selected) : s[F.today] && a < X.Today && (o = i, a = X.Today));
2335
+ }
2336
+ return o || (o = e.find((i) => st(t(i)))), o;
2337
+ }
2338
+ function ua(e, t, n, r, o, a, i) {
2339
+ const { ISOWeek: s, broadcastCalendar: c } = a, { addDays: u, addMonths: l, addWeeks: d, addYears: m, endOfBroadcastWeek: g, endOfISOWeek: v, endOfWeek: W, max: M, min: O, startOfBroadcastWeek: C, startOfISOWeek: p, startOfWeek: T } = i;
2340
+ let k = {
2341
+ day: u,
2342
+ week: d,
2343
+ month: l,
2344
+ year: m,
2345
+ startOfWeek: (b) => c ? C(b, i) : s ? p(b) : T(b),
2346
+ endOfWeek: (b) => c ? g(b) : s ? v(b) : W(b)
2347
+ }[e](n, t === "after" ? 1 : -1);
2348
+ return t === "before" && r ? k = M([r, k]) : t === "after" && o && (k = O([o, k])), k;
2349
+ }
2350
+ function Pt(e, t, n, r, o, a, i, s = 0) {
2351
+ if (s > 365)
2352
+ return;
2353
+ const c = ua(e, t, n.date, r, o, a, i), u = !!(a.disabled && ee(c, a.disabled, i)), l = !!(a.hidden && ee(c, a.hidden, i)), d = c, m = new vt(c, d, i);
2354
+ return !u && !l ? m : Pt(e, t, m, r, o, a, i, s + 1);
2355
+ }
2356
+ function la(e, t, n, r, o) {
2357
+ const { autoFocus: a } = e, [i, s] = Ie(), c = da(t.days, n, r || (() => !1), i), [u, l] = Ie(a ? c : void 0);
2358
+ return {
2359
+ isFocusTarget: (W) => !!c?.isEqualTo(W),
2360
+ setFocused: l,
2361
+ focused: u,
2362
+ blur: () => {
2363
+ s(u), l(void 0);
2364
+ },
2365
+ moveFocus: (W, M) => {
2366
+ if (!u)
2367
+ return;
2368
+ const O = Pt(W, M, u, t.navStart, t.navEnd, e, o);
2369
+ O && (e.disableNavigation && !t.days.some((p) => p.isEqualTo(O)) || (t.goToDay(O), l(O)));
2370
+ }
2371
+ };
2372
+ }
2373
+ function fa(e, t) {
2374
+ const { selected: n, required: r, onSelect: o } = e, [a, i] = ve(n, o ? n : void 0), s = o ? n : a, { isSameDay: c } = t, u = (g) => s?.some((v) => c(v, g)) ?? !1, { min: l, max: d } = e;
2375
+ return {
2376
+ selected: s,
2377
+ select: (g, v, W) => {
2378
+ let M = [...s ?? []];
2379
+ if (u(g)) {
2380
+ if (s?.length === l || r && s?.length === 1)
2381
+ return;
2382
+ M = s?.filter((O) => !c(O, g));
2383
+ } else
2384
+ s?.length === d ? M = [g] : M = [...M, g];
2385
+ return o || i(M), o?.(M, g, v, W), M;
2386
+ },
2387
+ isSelected: u
2388
+ };
2389
+ }
2390
+ function ma(e, t, n = 0, r = 0, o = !1, a = V) {
2391
+ const { from: i, to: s } = t || {}, { isSameDay: c, isAfter: u, isBefore: l } = a;
2392
+ let d;
2393
+ if (!i && !s)
2394
+ d = { from: e, to: n > 0 ? void 0 : e };
2395
+ else if (i && !s)
2396
+ c(i, e) ? n === 0 ? d = { from: i, to: e } : o ? d = { from: i, to: void 0 } : d = void 0 : l(e, i) ? d = { from: e, to: i } : d = { from: i, to: e };
2397
+ else if (i && s)
2398
+ if (c(i, e) && c(s, e))
2399
+ o ? d = { from: i, to: s } : d = void 0;
2400
+ else if (c(i, e))
2401
+ d = { from: i, to: n > 0 ? void 0 : e };
2402
+ else if (c(s, e))
2403
+ d = { from: e, to: n > 0 ? void 0 : e };
2404
+ else if (l(e, i))
2405
+ d = { from: e, to: s };
2406
+ else if (u(e, i))
2407
+ d = { from: i, to: e };
2408
+ else if (u(e, s))
2409
+ d = { from: i, to: e };
2410
+ else
2411
+ throw new Error("Invalid range");
2412
+ if (d?.from && d?.to) {
2413
+ const m = a.differenceInCalendarDays(d.to, d.from);
2414
+ r > 0 && m > r ? d = { from: e, to: void 0 } : n > 1 && m < n && (d = { from: e, to: void 0 });
2415
+ }
2416
+ return d;
2417
+ }
2418
+ function ha(e, t, n = V) {
2419
+ const r = Array.isArray(t) ? t : [t];
2420
+ let o = e.from;
2421
+ const a = n.differenceInCalendarDays(e.to, e.from), i = Math.min(a, 6);
2422
+ for (let s = 0; s <= i; s++) {
2423
+ if (r.includes(o.getDay()))
2424
+ return !0;
2425
+ o = n.addDays(o, 1);
2426
+ }
2427
+ return !1;
2428
+ }
2429
+ function it(e, t, n = V) {
2430
+ return J(e, t.from, !1, n) || J(e, t.to, !1, n) || J(t, e.from, !1, n) || J(t, e.to, !1, n);
2431
+ }
2432
+ function ya(e, t, n = V) {
2433
+ const r = Array.isArray(t) ? t : [t];
2434
+ if (r.filter((s) => typeof s != "function").some((s) => typeof s == "boolean" ? s : n.isDate(s) ? J(e, s, !1, n) : xt(s, n) ? s.some((c) => J(e, c, !1, n)) : Ae(s) ? s.from && s.to ? it(e, { from: s.from, to: s.to }, n) : !1 : Nt(s) ? ha(e, s.dayOfWeek, n) : Wt(s) ? n.isAfter(s.before, s.after) ? it(e, {
2435
+ from: n.addDays(s.after, 1),
2436
+ to: n.addDays(s.before, -1)
2437
+ }, n) : ee(e.from, s, n) || ee(e.to, s, n) : St(s) || Ct(s) ? ee(e.from, s, n) || ee(e.to, s, n) : !1))
2438
+ return !0;
2439
+ const i = r.filter((s) => typeof s == "function");
2440
+ if (i.length) {
2441
+ let s = e.from;
2442
+ const c = n.differenceInCalendarDays(e.to, e.from);
2443
+ for (let u = 0; u <= c; u++) {
2444
+ if (i.some((l) => l(s)))
2445
+ return !0;
2446
+ s = n.addDays(s, 1);
2447
+ }
2448
+ }
2449
+ return !1;
2450
+ }
2451
+ function ga(e, t) {
2452
+ const { disabled: n, excludeDisabled: r, selected: o, required: a, onSelect: i } = e, [s, c] = ve(o, i ? o : void 0), u = i ? o : s;
2453
+ return {
2454
+ selected: u,
2455
+ select: (m, g, v) => {
2456
+ const { min: W, max: M } = e, O = m ? ma(m, u, W, M, a, t) : void 0;
2457
+ return r && n && O?.from && O.to && ya({ from: O.from, to: O.to }, n, t) && (O.from = m, O.to = void 0), i || c(O), i?.(O, m, g, v), O;
2458
+ },
2459
+ isSelected: (m) => u && J(u, m, !1, t)
2460
+ };
2461
+ }
2462
+ function pa(e, t) {
2463
+ const { selected: n, required: r, onSelect: o } = e, [a, i] = ve(n, o ? n : void 0), s = o ? n : a, { isSameDay: c } = t;
2464
+ return {
2465
+ selected: s,
2466
+ select: (d, m, g) => {
2467
+ let v = d;
2468
+ return !r && s && s && c(d, s) && (v = void 0), o || i(v), o?.(v, d, m, g), v;
2469
+ },
2470
+ isSelected: (d) => s ? c(s, d) : !1
2471
+ };
2472
+ }
2473
+ function wa(e, t) {
2474
+ const n = pa(e, t), r = fa(e, t), o = ga(e, t);
2475
+ switch (e.mode) {
2476
+ case "single":
2477
+ return n;
2478
+ case "multiple":
2479
+ return r;
2480
+ case "range":
2481
+ return o;
2482
+ default:
2483
+ return;
2484
+ }
2485
+ }
2486
+ function ba(e) {
2487
+ let t = e;
2488
+ t.timeZone && (t = {
2489
+ ...e
2490
+ }, t.today && (t.today = new H(t.today, t.timeZone)), t.month && (t.month = new H(t.month, t.timeZone)), t.defaultMonth && (t.defaultMonth = new H(t.defaultMonth, t.timeZone)), t.startMonth && (t.startMonth = new H(t.startMonth, t.timeZone)), t.endMonth && (t.endMonth = new H(t.endMonth, t.timeZone)), t.mode === "single" && t.selected ? t.selected = new H(t.selected, t.timeZone) : t.mode === "multiple" && t.selected ? t.selected = t.selected?.map((D) => new H(D, t.timeZone)) : t.mode === "range" && t.selected && (t.selected = {
2491
+ from: t.selected.from ? new H(t.selected.from, t.timeZone) : void 0,
2492
+ to: t.selected.to ? new H(t.selected.to, t.timeZone) : void 0
2493
+ }));
2494
+ const { components: n, formatters: r, labels: o, dateLib: a, locale: i, classNames: s } = Te(() => {
2495
+ const D = { ...qe, ...t.locale };
2496
+ return {
2497
+ dateLib: new R({
2498
+ locale: D,
2499
+ weekStartsOn: t.broadcastCalendar ? 1 : t.weekStartsOn,
2500
+ firstWeekContainsDate: t.firstWeekContainsDate,
2501
+ useAdditionalWeekYearTokens: t.useAdditionalWeekYearTokens,
2502
+ useAdditionalDayOfYearTokens: t.useAdditionalDayOfYearTokens,
2503
+ timeZone: t.timeZone,
2504
+ numerals: t.numerals
2505
+ }, t.dateLib),
2506
+ components: vo(t.components),
2507
+ formatters: Eo(t.formatters),
2508
+ labels: { ...Xo, ...t.labels },
2509
+ locale: D,
2510
+ classNames: { ...je(), ...t.classNames }
2511
+ };
2512
+ }, [
2513
+ t.locale,
2514
+ t.broadcastCalendar,
2515
+ t.weekStartsOn,
2516
+ t.firstWeekContainsDate,
2517
+ t.useAdditionalWeekYearTokens,
2518
+ t.useAdditionalDayOfYearTokens,
2519
+ t.timeZone,
2520
+ t.numerals,
2521
+ t.dateLib,
2522
+ t.components,
2523
+ t.formatters,
2524
+ t.labels,
2525
+ t.classNames
2526
+ ]), { captionLayout: c, mode: u, navLayout: l, numberOfMonths: d = 1, onDayBlur: m, onDayClick: g, onDayFocus: v, onDayKeyDown: W, onDayMouseEnter: M, onDayMouseLeave: O, onNextClick: C, onPrevClick: p, showWeekNumber: T, styles: y } = t, { formatCaption: k, formatDay: b, formatMonthDropdown: N, formatWeekNumber: I, formatWeekNumberHeader: q, formatWeekdayName: A, formatYearDropdown: Z } = r, ae = ca(t, a), { days: se, months: ie, navStart: be, navEnd: Oe, previousMonth: G, nextMonth: L, goToMonth: K } = ae, We = ko(se, t, be, Oe, a), { isSelected: Se, select: Ce, selected: Me } = wa(t, a) ?? {}, { blur: ze, focused: Re, isFocusTarget: Ft, moveFocus: $e, setFocused: ke } = la(t, ae, We, Se ?? (() => !1), a), { labelDayButton: Bt, labelGridcell: It, labelGrid: Ht, labelMonthDropdown: qt, labelNav: Ze, labelPrevious: At, labelNext: jt, labelWeekday: zt, labelWeekNumber: Rt, labelWeekNumberHeader: $t, labelYearDropdown: Zt } = o, Gt = Te(() => Bo(a, t.ISOWeek), [a, t.ISOWeek]), Ge = u !== void 0 || g !== void 0, Ne = $(() => {
2527
+ G && (K(G), p?.(G));
2528
+ }, [G, K, p]), xe = $(() => {
2529
+ L && (K(L), C?.(L));
2530
+ }, [K, L, C]), Lt = $((D, P) => (w) => {
2531
+ w.preventDefault(), w.stopPropagation(), ke(D), Ce?.(D.date, P, w), g?.(D.date, P, w);
2532
+ }, [Ce, g, ke]), Qt = $((D, P) => (w) => {
2533
+ ke(D), v?.(D.date, P, w);
2534
+ }, [v, ke]), Xt = $((D, P) => (w) => {
2535
+ ze(), m?.(D.date, P, w);
2536
+ }, [ze, m]), Ut = $((D, P) => (w) => {
2537
+ const E = {
2538
+ ArrowLeft: [
2539
+ w.shiftKey ? "month" : "day",
2540
+ t.dir === "rtl" ? "after" : "before"
2541
+ ],
2542
+ ArrowRight: [
2543
+ w.shiftKey ? "month" : "day",
2544
+ t.dir === "rtl" ? "before" : "after"
2545
+ ],
2546
+ ArrowDown: [w.shiftKey ? "year" : "week", "after"],
2547
+ ArrowUp: [w.shiftKey ? "year" : "week", "before"],
2548
+ PageUp: [w.shiftKey ? "year" : "month", "before"],
2549
+ PageDown: [w.shiftKey ? "year" : "month", "after"],
2550
+ Home: ["startOfWeek", "before"],
2551
+ End: ["endOfWeek", "after"]
2552
+ };
2553
+ if (E[w.key]) {
2554
+ w.preventDefault(), w.stopPropagation();
2555
+ const [j, S] = E[w.key];
2556
+ $e(j, S);
2557
+ }
2558
+ W?.(D.date, P, w);
2559
+ }, [$e, W, t.dir]), Vt = $((D, P) => (w) => {
2560
+ M?.(D.date, P, w);
2561
+ }, [M]), Kt = $((D, P) => (w) => {
2562
+ O?.(D.date, P, w);
2563
+ }, [O]), Jt = $((D) => (P) => {
2564
+ const w = Number(P.target.value), E = a.setMonth(a.startOfMonth(D), w);
2565
+ K(E);
2566
+ }, [a, K]), en = $((D) => (P) => {
2567
+ const w = Number(P.target.value), E = a.setYear(a.startOfMonth(D), w);
2568
+ K(E);
2569
+ }, [a, K]), { className: tn, style: nn } = Te(() => ({
2570
+ className: [s[h.Root], t.className].filter(Boolean).join(" "),
2571
+ style: { ...y?.[h.Root], ...t.style }
2572
+ }), [s, t.className, t.style, y]), rn = Oo(t), Le = De(null);
2573
+ Jo(Le, !!t.animate, {
2574
+ classNames: s,
2575
+ months: ie,
2576
+ focused: Re,
2577
+ dateLib: a
2578
+ });
2579
+ const on = {
2580
+ dayPickerProps: t,
2581
+ selected: Me,
2582
+ select: Ce,
2583
+ isSelected: Se,
2584
+ months: ie,
2585
+ nextMonth: L,
2586
+ previousMonth: G,
2587
+ goToMonth: K,
2588
+ getModifiers: We,
2589
+ components: n,
2590
+ classNames: s,
2591
+ styles: y,
2592
+ labels: o,
2593
+ formatters: r
2594
+ };
2595
+ return f.createElement(
2596
+ Ot.Provider,
2597
+ { value: on },
2598
+ f.createElement(
2599
+ n.Root,
2600
+ { rootRef: t.animate ? Le : void 0, className: tn, style: nn, dir: t.dir, id: t.id, lang: t.lang, nonce: t.nonce, title: t.title, role: t.role, "aria-label": t["aria-label"], "aria-labelledby": t["aria-labelledby"], ...rn },
2601
+ f.createElement(
2602
+ n.Months,
2603
+ { className: s[h.Months], style: y?.[h.Months] },
2604
+ !t.hideNavigation && !l && f.createElement(n.Nav, { "data-animated-nav": t.animate ? "true" : void 0, className: s[h.Nav], style: y?.[h.Nav], "aria-label": Ze(), onPreviousClick: Ne, onNextClick: xe, previousMonth: G, nextMonth: L }),
2605
+ ie.map((D, P) => f.createElement(
2606
+ n.Month,
2607
+ {
2608
+ "data-animated-month": t.animate ? "true" : void 0,
2609
+ className: s[h.Month],
2610
+ style: y?.[h.Month],
2611
+ // biome-ignore lint/suspicious/noArrayIndexKey: breaks animation
2612
+ key: P,
2613
+ displayIndex: P,
2614
+ calendarMonth: D
2615
+ },
2616
+ l === "around" && !t.hideNavigation && P === 0 && f.createElement(
2617
+ n.PreviousMonthButton,
2618
+ { type: "button", className: s[h.PreviousMonthButton], tabIndex: G ? void 0 : -1, "aria-disabled": G ? void 0 : !0, "aria-label": At(G), onClick: Ne, "data-animated-button": t.animate ? "true" : void 0 },
2619
+ f.createElement(n.Chevron, { disabled: G ? void 0 : !0, className: s[h.Chevron], orientation: t.dir === "rtl" ? "right" : "left" })
2620
+ ),
2621
+ f.createElement(n.MonthCaption, { "data-animated-caption": t.animate ? "true" : void 0, className: s[h.MonthCaption], style: y?.[h.MonthCaption], calendarMonth: D, displayIndex: P }, c?.startsWith("dropdown") ? f.createElement(
2622
+ n.DropdownNav,
2623
+ { className: s[h.Dropdowns], style: y?.[h.Dropdowns] },
2624
+ (() => {
2625
+ const w = c === "dropdown" || c === "dropdown-months" ? f.createElement(n.MonthsDropdown, { key: "month", className: s[h.MonthsDropdown], "aria-label": qt(), classNames: s, components: n, disabled: !!t.disableNavigation, onChange: Jt(D.date), options: Po(D.date, be, Oe, r, a), style: y?.[h.Dropdown], value: a.getMonth(D.date) }) : f.createElement("span", { key: "month" }, N(D.date, a)), E = c === "dropdown" || c === "dropdown-years" ? f.createElement(n.YearsDropdown, { key: "year", className: s[h.YearsDropdown], "aria-label": Zt(a.options), classNames: s, components: n, disabled: !!t.disableNavigation, onChange: en(D.date), options: Io(be, Oe, r, a, !!t.reverseYears), style: y?.[h.Dropdown], value: a.getYear(D.date) }) : f.createElement("span", { key: "year" }, Z(D.date, a));
2626
+ return a.getMonthYearOrder() === "year-first" ? [E, w] : [w, E];
2627
+ })(),
2628
+ f.createElement("span", { role: "status", "aria-live": "polite", style: {
2629
+ border: 0,
2630
+ clip: "rect(0 0 0 0)",
2631
+ height: "1px",
2632
+ margin: "-1px",
2633
+ overflow: "hidden",
2634
+ padding: 0,
2635
+ position: "absolute",
2636
+ width: "1px",
2637
+ whiteSpace: "nowrap",
2638
+ wordWrap: "normal"
2639
+ } }, k(D.date, a.options, a))
2640
+ ) : (
2641
+ // biome-ignore lint/a11y/useSemanticElements: breaking change
2642
+ f.createElement(n.CaptionLabel, { className: s[h.CaptionLabel], role: "status", "aria-live": "polite" }, k(D.date, a.options, a))
2643
+ )),
2644
+ l === "around" && !t.hideNavigation && P === d - 1 && f.createElement(
2645
+ n.NextMonthButton,
2646
+ { type: "button", className: s[h.NextMonthButton], tabIndex: L ? void 0 : -1, "aria-disabled": L ? void 0 : !0, "aria-label": jt(L), onClick: xe, "data-animated-button": t.animate ? "true" : void 0 },
2647
+ f.createElement(n.Chevron, { disabled: L ? void 0 : !0, className: s[h.Chevron], orientation: t.dir === "rtl" ? "left" : "right" })
2648
+ ),
2649
+ P === d - 1 && l === "after" && !t.hideNavigation && f.createElement(n.Nav, { "data-animated-nav": t.animate ? "true" : void 0, className: s[h.Nav], style: y?.[h.Nav], "aria-label": Ze(), onPreviousClick: Ne, onNextClick: xe, previousMonth: G, nextMonth: L }),
2650
+ f.createElement(
2651
+ n.MonthGrid,
2652
+ { role: "grid", "aria-multiselectable": u === "multiple" || u === "range", "aria-label": Ht(D.date, a.options, a) || void 0, className: s[h.MonthGrid], style: y?.[h.MonthGrid] },
2653
+ !t.hideWeekdays && f.createElement(
2654
+ n.Weekdays,
2655
+ { "data-animated-weekdays": t.animate ? "true" : void 0, className: s[h.Weekdays], style: y?.[h.Weekdays] },
2656
+ T && f.createElement(n.WeekNumberHeader, { "aria-label": $t(a.options), className: s[h.WeekNumberHeader], style: y?.[h.WeekNumberHeader], scope: "col" }, q()),
2657
+ Gt.map((w) => f.createElement(n.Weekday, { "aria-label": zt(w, a.options, a), className: s[h.Weekday], key: String(w), style: y?.[h.Weekday], scope: "col" }, A(w, a.options, a)))
2658
+ ),
2659
+ f.createElement(n.Weeks, { "data-animated-weeks": t.animate ? "true" : void 0, className: s[h.Weeks], style: y?.[h.Weeks] }, D.weeks.map((w) => f.createElement(
2660
+ n.Week,
2661
+ { className: s[h.Week], key: w.weekNumber, style: y?.[h.Week], week: w },
2662
+ T && // biome-ignore lint/a11y/useSemanticElements: react component
2663
+ f.createElement(n.WeekNumber, { week: w, style: y?.[h.WeekNumber], "aria-label": Rt(w.weekNumber, {
2664
+ locale: i
2665
+ }), className: s[h.WeekNumber], scope: "row", role: "rowheader" }, I(w.weekNumber, a)),
2666
+ w.days.map((E) => {
2667
+ const { date: j } = E, S = We(E);
2668
+ if (S[F.focused] = !S.hidden && !!Re?.isEqualTo(E), S[Q.selected] = Se?.(j) || S.selected, Ae(Me)) {
2669
+ const { from: _e, to: Ye } = Me;
2670
+ S[Q.range_start] = !!(_e && Ye && a.isSameDay(j, _e)), S[Q.range_end] = !!(_e && Ye && a.isSameDay(j, Ye)), S[Q.range_middle] = J(Me, j, !0, a);
2671
+ }
2672
+ const an = Fo(S, y, t.modifiersStyles), sn = Do(S, s, t.modifiersClassNames), cn = !Ge && !S.hidden ? It(j, S, a.options, a) : void 0;
2673
+ return (
2674
+ // biome-ignore lint/a11y/useSemanticElements: react component
2675
+ f.createElement(n.Day, { key: `${a.format(j, "yyyy-MM-dd")}_${a.format(E.displayMonth, "yyyy-MM")}`, day: E, modifiers: S, className: sn.join(" "), style: an, role: "gridcell", "aria-selected": S.selected || void 0, "aria-label": cn, "data-day": a.format(j, "yyyy-MM-dd"), "data-month": E.outside ? a.format(j, "yyyy-MM") : void 0, "data-selected": S.selected || void 0, "data-disabled": S.disabled || void 0, "data-hidden": S.hidden || void 0, "data-outside": E.outside || void 0, "data-focused": S.focused || void 0, "data-today": S.today || void 0 }, !S.hidden && Ge ? f.createElement(n.DayButton, { className: s[h.DayButton], style: y?.[h.DayButton], type: "button", day: E, modifiers: S, disabled: S.disabled || void 0, tabIndex: Ft(E) ? 0 : -1, "aria-label": Bt(j, S, a.options, a), onClick: Lt(E, S), onBlur: Xt(E, S), onFocus: Qt(E, S), onKeyDown: Ut(E, S), onMouseEnter: Vt(E, S), onMouseLeave: Kt(E, S) }, b(j, a.options, a)) : !S.hidden && b(E.date, a.options, a))
2676
+ );
2677
+ })
2678
+ )))
2679
+ )
2680
+ ))
2681
+ ),
2682
+ t.footer && // biome-ignore lint/a11y/useSemanticElements: react component
2683
+ f.createElement(n.Footer, { className: s[h.Footer], style: y?.[h.Footer], role: "status", "aria-live": "polite" }, t.footer)
2684
+ )
2685
+ );
2686
+ }
2687
+ function Na({
2688
+ className: e,
2689
+ classNames: t,
2690
+ showOutsideDays: n = !0,
2691
+ captionLayout: r = "label",
2692
+ buttonVariant: o = "secondary",
2693
+ formatters: a,
2694
+ components: i,
2695
+ ...s
2696
+ }) {
2697
+ const c = je();
2698
+ return /* @__PURE__ */ ne.jsx(
2699
+ ba,
2700
+ {
2701
+ showOutsideDays: n,
2702
+ className: x(
2703
+ "adm:bg-background adm:group/calendar adm:p-3 adm:[--cell-size:--spacing(8)] adm:[[data-slot=card-content]_&]:bg-transparent adm:[[data-slot=popover-content]_&]:bg-transparent",
2704
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
2705
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
2706
+ e
2707
+ ),
2708
+ captionLayout: r,
2709
+ formatters: {
2710
+ formatMonthDropdown: (u) => u.toLocaleString("default", { month: "short" }),
2711
+ ...a
2712
+ },
2713
+ classNames: {
2714
+ root: x("adm:w-fit", c.root),
2715
+ months: x(
2716
+ "adm:flex adm:gap-4 adm:flex-col adm:md:flex-row adm:relative",
2717
+ c.months
2718
+ ),
2719
+ month: x("adm:flex adm:flex-col adm:w-full adm:gap-4", c.month),
2720
+ nav: x(
2721
+ "adm:flex adm:items-center adm:gap-1 adm:w-full adm:absolute adm:top-0 adm:inset-x-0 adm:justify-between",
2722
+ c.nav
2723
+ ),
2724
+ button_previous: x(
2725
+ Xe({ variant: o }),
2726
+ "adm:size-(--cell-size) adm:aria-disabled:opacity-50 adm:p-0 adm:select-none",
2727
+ c.button_previous
2728
+ ),
2729
+ button_next: x(
2730
+ Xe({ variant: o }),
2731
+ "adm:size-(--cell-size) adm:aria-disabled:opacity-50 adm:p-0 adm:select-none",
2732
+ c.button_next
2733
+ ),
2734
+ month_caption: x(
2735
+ "adm:flex adm:items-center adm:justify-center adm:h-(--cell-size) adm:w-full adm:px-(--cell-size)",
2736
+ c.month_caption
2737
+ ),
2738
+ dropdowns: x(
2739
+ "adm:w-full adm:flex adm:items-center adm:text-sm adm:font-medium adm:justify-center adm:h-(--cell-size) adm:gap-1.5",
2740
+ c.dropdowns
2741
+ ),
2742
+ dropdown_root: x(
2743
+ "adm:relative adm:has-focus:border-ring adm:border adm:border-input adm:shadow-xs adm:has-focus:ring-ring/50 adm:has-focus:ring-[3px] adm:rounded-md",
2744
+ c.dropdown_root
2745
+ ),
2746
+ dropdown: x(
2747
+ "adm:absolute adm:bg-popover adm:inset-0 adm:opacity-0",
2748
+ c.dropdown
2749
+ ),
2750
+ caption_label: x(
2751
+ "adm:select-none adm:font-medium",
2752
+ r === "label" ? "adm:text-sm" : "adm:rounded-md adm:pl-2 adm:pr-1 adm:flex adm:items-center adm:gap-1 adm:text-sm adm:h-8 adm:[&>svg]:text-muted-foreground adm:[&>svg]:size-3.5",
2753
+ c.caption_label
2754
+ ),
2755
+ table: "adm:w-full adm:border-collapse",
2756
+ weekdays: x("adm:flex", c.weekdays),
2757
+ weekday: x(
2758
+ "adm:text-muted-foreground adm:rounded-md adm:flex-1 adm:font-normal adm:text-[0.8rem] adm:select-none",
2759
+ c.weekday
2760
+ ),
2761
+ week: x("adm:flex adm:w-full adm:mt-2", c.week),
2762
+ week_number_header: x(
2763
+ "adm:select-none adm:w-(--cell-size)",
2764
+ c.week_number_header
2765
+ ),
2766
+ week_number: x(
2767
+ "adm:text-[0.8rem] adm:select-none adm:text-muted-foreground",
2768
+ c.week_number
2769
+ ),
2770
+ day: x(
2771
+ "adm:relative adm:w-full adm:h-full adm:p-0 adm:text-center adm:[&:first-child[data-selected=true]_button]:rounded-l-md adm:[&:last-child[data-selected=true]_button]:rounded-r-md adm:group/day adm:aspect-square adm:select-none",
2772
+ c.day
2773
+ ),
2774
+ range_start: x(
2775
+ "adm:rounded-l-md adm:bg-accent",
2776
+ c.range_start
2777
+ ),
2778
+ range_middle: x("adm:rounded-none", c.range_middle),
2779
+ range_end: x("adm:rounded-r-md adm:bg-accent", c.range_end),
2780
+ today: x(
2781
+ "adm:bg-accent adm:text-accent-foreground adm:rounded-md adm:data-[selected=true]:rounded-none",
2782
+ c.today
2783
+ ),
2784
+ outside: x(
2785
+ "adm:text-muted-foreground adm:aria-selected:text-muted-foreground",
2786
+ c.outside
2787
+ ),
2788
+ disabled: x(
2789
+ "adm:text-muted-foreground adm:opacity-50",
2790
+ c.disabled
2791
+ ),
2792
+ hidden: x("adm:invisible", c.hidden),
2793
+ ...t
2794
+ },
2795
+ components: {
2796
+ Root: ({ className: u, rootRef: l, ...d }) => /* @__PURE__ */ ne.jsx(
2797
+ "div",
2798
+ {
2799
+ "data-slot": "calendar",
2800
+ ref: l,
2801
+ className: x(u),
2802
+ ...d
2803
+ }
2804
+ ),
2805
+ Chevron: ({ className: u, orientation: l, ...d }) => l === "left" ? /* @__PURE__ */ ne.jsx(hn, { className: x("adm:size-4", u), ...d }) : l === "right" ? /* @__PURE__ */ ne.jsx(
2806
+ yn,
2807
+ {
2808
+ className: x("adm:size-4", u),
2809
+ ...d
2810
+ }
2811
+ ) : /* @__PURE__ */ ne.jsx(gn, { className: x("adm:size-4", u), ...d }),
2812
+ DayButton: Ma,
2813
+ WeekNumber: ({ children: u, ...l }) => /* @__PURE__ */ ne.jsx("td", { ...l, children: /* @__PURE__ */ ne.jsx("div", { className: "adm:flex adm:size-(--cell-size) adm:items-center adm:justify-center adm:text-center", children: u }) }),
2814
+ ...i
2815
+ },
2816
+ ...s
2817
+ }
2818
+ );
2819
+ }
2820
+ function Ma({
2821
+ className: e,
2822
+ day: t,
2823
+ modifiers: n,
2824
+ ...r
2825
+ }) {
2826
+ const o = je(), a = Qe.useRef(null);
2827
+ return Qe.useEffect(() => {
2828
+ n.focused && a.current?.focus();
2829
+ }, [n.focused]), /* @__PURE__ */ ne.jsx(
2830
+ mn,
2831
+ {
2832
+ ref: a,
2833
+ variant: "ghost",
2834
+ size: "icon",
2835
+ "data-day": t.date.toLocaleDateString(),
2836
+ "data-selected-single": n.selected && !n.range_start && !n.range_end && !n.range_middle,
2837
+ "data-range-start": n.range_start,
2838
+ "data-range-end": n.range_end,
2839
+ "data-range-middle": n.range_middle,
2840
+ className: x(
2841
+ "adm:data-[selected-single=true]:bg-primary adm:data-[selected-single=true]:text-primary-foreground adm:data-[range-middle=true]:bg-accent adm:data-[range-middle=true]:text-accent-foreground adm:data-[range-start=true]:bg-primary adm:data-[range-start=true]:text-primary-foreground adm:data-[range-end=true]:bg-primary adm:data-[range-end=true]:text-primary-foreground adm:group-data-[focused=true]/day:border-ring adm:group-data-[focused=true]/day:ring-ring/50 adm:dark:hover:text-accent-foreground adm:flex adm:aspect-square adm:size-auto adm:w-full adm:min-w-(--cell-size) adm:flex-col adm:gap-1 adm:leading-none adm:font-normal adm:group-data-[focused=true]/day:relative adm:group-data-[focused=true]/day:z-10 adm:group-data-[focused=true]/day:ring-[3px] adm:data-[range-end=true]:rounded-md adm:data-[range-end=true]:rounded-r-md adm:data-[range-middle=true]:rounded-none adm:data-[range-start=true]:rounded-md adm:data-[range-start=true]:rounded-l-md adm:[&>span]:text-xs adm:[&>span]:opacity-70",
2842
+ o.day,
2843
+ e
2844
+ ),
2845
+ ...r
2846
+ }
2847
+ );
2848
+ }
2849
+ export {
2850
+ Na as Calendar,
2851
+ Ma as CalendarDayButton
2852
+ };