palettecn 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/dist/index.mjs +10 -0
  2. package/dist/web/nitro.json +17 -0
  3. package/dist/web/public/assets/abap-BdvmRIgS.js +1 -0
  4. package/dist/web/public/assets/actionscript-3-et0rQaqm.js +1 -0
  5. package/dist/web/public/assets/ada-DPgrustg.js +1 -0
  6. package/dist/web/public/assets/andromeeda-DJl1yeV_.js +1 -0
  7. package/dist/web/public/assets/angular-html-Dm7s7tSx.js +1 -0
  8. package/dist/web/public/assets/angular-ts-B_ywTULt.js +1 -0
  9. package/dist/web/public/assets/apache-CFpsYX8S.js +1 -0
  10. package/dist/web/public/assets/apex-CN5n6pbI.js +1 -0
  11. package/dist/web/public/assets/apl-Dm11wHHc.js +1 -0
  12. package/dist/web/public/assets/applescript-JrY23hsL.js +1 -0
  13. package/dist/web/public/assets/ara-DR83hn3A.js +1 -0
  14. package/dist/web/public/assets/asciidoc-Dpu9XLB1.js +1 -0
  15. package/dist/web/public/assets/asm-BYI3A31V.js +1 -0
  16. package/dist/web/public/assets/astro-DP1naDCT.js +1 -0
  17. package/dist/web/public/assets/aurora-x-Nav5jnoQ.js +1 -0
  18. package/dist/web/public/assets/awk-BIoTx_w6.js +1 -0
  19. package/dist/web/public/assets/ayu-dark-H5QV5J7K.js +1 -0
  20. package/dist/web/public/assets/ayu-light-BrwTNGnU.js +1 -0
  21. package/dist/web/public/assets/ayu-mirage-Bg6FpF5w.js +1 -0
  22. package/dist/web/public/assets/ballerina-BFvDNd4T.js +1 -0
  23. package/dist/web/public/assets/bat-DtQkx7Ny.js +1 -0
  24. package/dist/web/public/assets/beancount-BIjKALa1.js +1 -0
  25. package/dist/web/public/assets/berry-BPkDN_EZ.js +1 -0
  26. package/dist/web/public/assets/bibtex-Dur2CNW6.js +1 -0
  27. package/dist/web/public/assets/bicep-BMz1bZ7m.js +1 -0
  28. package/dist/web/public/assets/bird2-91rdr9s7.js +1 -0
  29. package/dist/web/public/assets/blade-DD5O596X.js +1 -0
  30. package/dist/web/public/assets/bsl-FmB7U2qd.js +1 -0
  31. package/dist/web/public/assets/bundle-mjs-Bso3xn9x.js +1 -0
  32. package/dist/web/public/assets/c-DqqBLLyl.js +1 -0
  33. package/dist/web/public/assets/c3-CJTbEooS.js +1 -0
  34. package/dist/web/public/assets/cadence-C0GI7BZZ.js +1 -0
  35. package/dist/web/public/assets/cairo-B5JMmIC0.js +1 -0
  36. package/dist/web/public/assets/catppuccin-frappe-D76-cUjK.js +1 -0
  37. package/dist/web/public/assets/catppuccin-latte-DUHNJ_6_.js +1 -0
  38. package/dist/web/public/assets/catppuccin-macchiato-CFhPH2wd.js +1 -0
  39. package/dist/web/public/assets/catppuccin-mocha-BRD0cvUW.js +1 -0
  40. package/dist/web/public/assets/chunk-FRKYWMV7-DUkk3w4h.js +122 -0
  41. package/dist/web/public/assets/clarity-KgUVrNfC.js +1 -0
  42. package/dist/web/public/assets/clojure-BhQuoGIG.js +1 -0
  43. package/dist/web/public/assets/cmake-CA59gUFQ.js +1 -0
  44. package/dist/web/public/assets/cobol-CCFShgGZ.js +1 -0
  45. package/dist/web/public/assets/codeowners-CD36YqjJ.js +1 -0
  46. package/dist/web/public/assets/codeql-CrMosKUt.js +1 -0
  47. package/dist/web/public/assets/coffee-C-Mn3tBT.js +1 -0
  48. package/dist/web/public/assets/common-lisp-DYnOjAFz.js +1 -0
  49. package/dist/web/public/assets/components-DiZ1dSl3.js +77 -0
  50. package/dist/web/public/assets/coq-BaHtq3Qt.js +1 -0
  51. package/dist/web/public/assets/cpp-D8Y73ItU.js +1 -0
  52. package/dist/web/public/assets/crystal-CnXWqbxx.js +1 -0
  53. package/dist/web/public/assets/csharp-D6sghVPa.js +1 -0
  54. package/dist/web/public/assets/css-CUGjdPw_.js +1 -0
  55. package/dist/web/public/assets/csv-DuxyxUAI.js +1 -0
  56. package/dist/web/public/assets/cue-D9NRAX0_.js +1 -0
  57. package/dist/web/public/assets/cypher-HJRdtilF.js +1 -0
  58. package/dist/web/public/assets/d-B4Ont7_X.js +1 -0
  59. package/dist/web/public/assets/dark-plus-DZSBycyp.js +1 -0
  60. package/dist/web/public/assets/dart-Dp4asavE.js +1 -0
  61. package/dist/web/public/assets/dax-DBUubp6S.js +1 -0
  62. package/dist/web/public/assets/desktop-DQ0n6zIQ.js +1 -0
  63. package/dist/web/public/assets/diff-CFHlrffC.js +1 -0
  64. package/dist/web/public/assets/docker-BuefmsF5.js +1 -0
  65. package/dist/web/public/assets/dotenv-BKTsUQ_r.js +1 -0
  66. package/dist/web/public/assets/dracula-MOn9qacs.js +1 -0
  67. package/dist/web/public/assets/dracula-soft-C4r_sC_D.js +1 -0
  68. package/dist/web/public/assets/dream-maker-BNdv5lLS.js +1 -0
  69. package/dist/web/public/assets/edge-C-Mi8Oda.js +1 -0
  70. package/dist/web/public/assets/elixir-CTS5wQtX.js +1 -0
  71. package/dist/web/public/assets/elm-rM310x8D.js +1 -0
  72. package/dist/web/public/assets/emacs-lisp-D9FIGRtM.js +1 -0
  73. package/dist/web/public/assets/erb-oaGjGVGO.js +1 -0
  74. package/dist/web/public/assets/erlang-q4Mkyw3m.js +1 -0
  75. package/dist/web/public/assets/everforest-dark-CNa2QFRn.js +1 -0
  76. package/dist/web/public/assets/everforest-light-DRbUDqJT.js +1 -0
  77. package/dist/web/public/assets/fennel-DpqQTaVZ.js +1 -0
  78. package/dist/web/public/assets/field-1-Ujza0S5j.js +1 -0
  79. package/dist/web/public/assets/fish-hyk5x6Q4.js +1 -0
  80. package/dist/web/public/assets/fluent-DMll-MGX.js +1 -0
  81. package/dist/web/public/assets/fortran-fixed-form-BmdfKovV.js +1 -0
  82. package/dist/web/public/assets/fortran-free-form-MCAifii4.js +1 -0
  83. package/dist/web/public/assets/fsharp-DLlBn9Nl.js +1 -0
  84. package/dist/web/public/assets/gdresource-BzFzBRli.js +1 -0
  85. package/dist/web/public/assets/gdscript-D3R4J0Cv.js +1 -0
  86. package/dist/web/public/assets/gdshader-BAubtqqN.js +1 -0
  87. package/dist/web/public/assets/genie-BnIIX2pC.js +1 -0
  88. package/dist/web/public/assets/gherkin-CL3NUuB1.js +1 -0
  89. package/dist/web/public/assets/git-commit-BYPE8h85.js +1 -0
  90. package/dist/web/public/assets/git-rebase-Bmmgf6eN.js +1 -0
  91. package/dist/web/public/assets/github-dark-default-C6I2oE4c.js +1 -0
  92. package/dist/web/public/assets/github-dark-dimmed-DEqwxg6D.js +1 -0
  93. package/dist/web/public/assets/github-dark-high-contrast-DDt3j0cs.js +1 -0
  94. package/dist/web/public/assets/github-dark-oLN6SDKl.js +1 -0
  95. package/dist/web/public/assets/github-light-DaN-N2Gj.js +1 -0
  96. package/dist/web/public/assets/github-light-default-B3EwMbS7.js +1 -0
  97. package/dist/web/public/assets/github-light-high-contrast-Cl9D0f_e.js +1 -0
  98. package/dist/web/public/assets/gleam-Cvj8QRtQ.js +1 -0
  99. package/dist/web/public/assets/glimmer-js-CahbROb1.js +1 -0
  100. package/dist/web/public/assets/glimmer-ts-JMFYNbot.js +1 -0
  101. package/dist/web/public/assets/global-XWAvxWcA.css +2 -0
  102. package/dist/web/public/assets/glsl-BCuCNM3V.js +1 -0
  103. package/dist/web/public/assets/gn-DxCHSEMl.js +1 -0
  104. package/dist/web/public/assets/gnuplot-CkGXHK7B.js +1 -0
  105. package/dist/web/public/assets/go-B_NLCuTj.js +1 -0
  106. package/dist/web/public/assets/graphql-RXOfHGfI.js +1 -0
  107. package/dist/web/public/assets/groovy-DVge8oRs.js +1 -0
  108. package/dist/web/public/assets/gruvbox-dark-hard-BwZz1yni.js +1 -0
  109. package/dist/web/public/assets/gruvbox-dark-medium-Bqy6jkuO.js +1 -0
  110. package/dist/web/public/assets/gruvbox-dark-soft-DjUvyUfH.js +1 -0
  111. package/dist/web/public/assets/gruvbox-light-hard-BTLmfPdm.js +1 -0
  112. package/dist/web/public/assets/gruvbox-light-medium-DeWqsWs6.js +1 -0
  113. package/dist/web/public/assets/gruvbox-light-soft-BL8ld-1F.js +1 -0
  114. package/dist/web/public/assets/hack-BBQpwyf_.js +1 -0
  115. package/dist/web/public/assets/haml-mWELc9kh.js +1 -0
  116. package/dist/web/public/assets/handlebars-COrUo8cC.js +1 -0
  117. package/dist/web/public/assets/haskell-DRmM8XlQ.js +1 -0
  118. package/dist/web/public/assets/haxe-BEhq8ZEr.js +1 -0
  119. package/dist/web/public/assets/hcl-B5ZIaGS0.js +1 -0
  120. package/dist/web/public/assets/highlighted-body-TPN3WLV5-YJgGFx4e.js +1 -0
  121. package/dist/web/public/assets/hjson-B9uRLqIO.js +1 -0
  122. package/dist/web/public/assets/hlsl-Hv1kKjrS.js +1 -0
  123. package/dist/web/public/assets/horizon-ClXGBjWw.js +1 -0
  124. package/dist/web/public/assets/horizon-bright-CvUCr3ux.js +1 -0
  125. package/dist/web/public/assets/houston-NqkqG60q.js +1 -0
  126. package/dist/web/public/assets/html-cmigv1ou.js +1 -0
  127. package/dist/web/public/assets/html-derivative-B3me0pSu.js +1 -0
  128. package/dist/web/public/assets/http-BojM9cyU.js +1 -0
  129. package/dist/web/public/assets/hurl-BxEmMiGP.js +1 -0
  130. package/dist/web/public/assets/hxml-CoBuVbfs.js +1 -0
  131. package/dist/web/public/assets/hy-CeISYGGU.js +1 -0
  132. package/dist/web/public/assets/imba-xjcDFXUW.js +1 -0
  133. package/dist/web/public/assets/ini-D0ZCSj6e.js +1 -0
  134. package/dist/web/public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  135. package/dist/web/public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  136. package/dist/web/public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  137. package/dist/web/public/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  138. package/dist/web/public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  139. package/dist/web/public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  140. package/dist/web/public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  141. package/dist/web/public/assets/java-BvheClGI.js +1 -0
  142. package/dist/web/public/assets/javascript-DjlJORDg.js +1 -0
  143. package/dist/web/public/assets/jinja-Bi4sG72X.js +1 -0
  144. package/dist/web/public/assets/jison-BTz5Ik2Y.js +1 -0
  145. package/dist/web/public/assets/json-CiTd40Rg.js +1 -0
  146. package/dist/web/public/assets/json5-FR9EyF7a.js +1 -0
  147. package/dist/web/public/assets/jsonc-CHIeFfsD.js +1 -0
  148. package/dist/web/public/assets/jsonl-B4WQkwTf.js +1 -0
  149. package/dist/web/public/assets/jsonnet-vd-gzGkL.js +1 -0
  150. package/dist/web/public/assets/jssm-C_bj1LkZ.js +1 -0
  151. package/dist/web/public/assets/jsx-Bx-RZMFH.js +1 -0
  152. package/dist/web/public/assets/jsx-runtime-n8k0hwt8.js +1 -0
  153. package/dist/web/public/assets/julia-BKcIfSxk.js +1 -0
  154. package/dist/web/public/assets/just-IkZCagAs.js +1 -0
  155. package/dist/web/public/assets/kanagawa-dragon-B3Cz89vt.js +1 -0
  156. package/dist/web/public/assets/kanagawa-lotus-CRe_W5Ft.js +1 -0
  157. package/dist/web/public/assets/kanagawa-wave-BPqZ5XB7.js +1 -0
  158. package/dist/web/public/assets/kdl-BzL_Ak31.js +1 -0
  159. package/dist/web/public/assets/kotlin-BQQFk6ql.js +1 -0
  160. package/dist/web/public/assets/kusto-vWe6OLKV.js +1 -0
  161. package/dist/web/public/assets/laserwave-CwtvEUcj.js +1 -0
  162. package/dist/web/public/assets/latex-9N90_WFU.js +1 -0
  163. package/dist/web/public/assets/lean-CaqenOqv.js +1 -0
  164. package/dist/web/public/assets/less-CERnPzn6.js +1 -0
  165. package/dist/web/public/assets/light-plus-B9_M_OKq.js +1 -0
  166. package/dist/web/public/assets/liquid-CQLPDP7m.js +1 -0
  167. package/dist/web/public/assets/llvm-BylJXvm7.js +1 -0
  168. package/dist/web/public/assets/log-CBBcNcbO.js +1 -0
  169. package/dist/web/public/assets/logo-r-8Jc8Xk.js +1 -0
  170. package/dist/web/public/assets/lua-BBL6LXKd.js +1 -0
  171. package/dist/web/public/assets/luau-B2g7L-zP.js +1 -0
  172. package/dist/web/public/assets/main-0lKVDR64.css +2 -0
  173. package/dist/web/public/assets/main-CcNf0BOb.js +126 -0
  174. package/dist/web/public/assets/make-DK-HzJ2w.js +1 -0
  175. package/dist/web/public/assets/markdown-FgdsukgR.js +1 -0
  176. package/dist/web/public/assets/marko-CLZwt2N2.js +1 -0
  177. package/dist/web/public/assets/material-theme-DOJ9PS4O.js +1 -0
  178. package/dist/web/public/assets/material-theme-darker-DOurH5jT.js +1 -0
  179. package/dist/web/public/assets/material-theme-lighter-BfPWxCP6.js +1 -0
  180. package/dist/web/public/assets/material-theme-ocean-BcO5PKoq.js +1 -0
  181. package/dist/web/public/assets/material-theme-palenight-ClWQBDDd.js +1 -0
  182. package/dist/web/public/assets/matlab-DwyUVNXd.js +1 -0
  183. package/dist/web/public/assets/mdc-Bo8CRPg4.js +1 -0
  184. package/dist/web/public/assets/mdx-3EBShbsD.js +1 -0
  185. package/dist/web/public/assets/mermaid-ByG2-SLz.js +1 -0
  186. package/dist/web/public/assets/mermaid-O7DHMXV3-COAgR3aM.js +1 -0
  187. package/dist/web/public/assets/min-dark-ClJ2x5pc.js +1 -0
  188. package/dist/web/public/assets/min-light-BsOUz5iE.js +1 -0
  189. package/dist/web/public/assets/mipsasm-BKDtQCf3.js +1 -0
  190. package/dist/web/public/assets/mojo-DmEAK7iv.js +1 -0
  191. package/dist/web/public/assets/monokai-BKc3VADO.js +1 -0
  192. package/dist/web/public/assets/moonbit-Qm8v_cKN.js +1 -0
  193. package/dist/web/public/assets/move-CMectUPk.js +1 -0
  194. package/dist/web/public/assets/narrat-Bdm8NaK8.js +1 -0
  195. package/dist/web/public/assets/nextflow-BpSt05nC.js +1 -0
  196. package/dist/web/public/assets/nextflow-groovy-BZ-bqJ-u.js +1 -0
  197. package/dist/web/public/assets/nginx-ChZL5FWE.js +1 -0
  198. package/dist/web/public/assets/night-owl-CbFc5pXO.js +1 -0
  199. package/dist/web/public/assets/night-owl-light-zYbVCVuz.js +1 -0
  200. package/dist/web/public/assets/nim-5JnPAJWa.js +1 -0
  201. package/dist/web/public/assets/nix-P5P-2qHs.js +1 -0
  202. package/dist/web/public/assets/nord-C7hKGudV.js +1 -0
  203. package/dist/web/public/assets/nushell-DKPnC5RG.js +1 -0
  204. package/dist/web/public/assets/objective-c-BPwXtM0v.js +1 -0
  205. package/dist/web/public/assets/objective-cpp-CWYEdWNG.js +1 -0
  206. package/dist/web/public/assets/ocaml-CL7OJ02v.js +1 -0
  207. package/dist/web/public/assets/odin-Dtay25eA.js +1 -0
  208. package/dist/web/public/assets/one-dark-pro-CrdFNNwF.js +1 -0
  209. package/dist/web/public/assets/one-light-BUiz8X4B.js +1 -0
  210. package/dist/web/public/assets/openscad-WD4sXUUp.js +1 -0
  211. package/dist/web/public/assets/pascal-A6-MZnZ8.js +1 -0
  212. package/dist/web/public/assets/perl-Yq3AfnVV.js +1 -0
  213. package/dist/web/public/assets/php-CCj0foPx.js +1 -0
  214. package/dist/web/public/assets/pkl-cmPbg8fI.js +1 -0
  215. package/dist/web/public/assets/plastic-DtQ_LnDB.js +1 -0
  216. package/dist/web/public/assets/plsql-DwmuVd7q.js +1 -0
  217. package/dist/web/public/assets/po-CkVxkZaj.js +1 -0
  218. package/dist/web/public/assets/poimandres-Dt0xZuaa.js +1 -0
  219. package/dist/web/public/assets/polar-hStNz_W2.js +1 -0
  220. package/dist/web/public/assets/postcss-ZIk0AQ7M.js +1 -0
  221. package/dist/web/public/assets/powerquery-D0gqoHHD.js +1 -0
  222. package/dist/web/public/assets/powershell-DXB5HoVh.js +1 -0
  223. package/dist/web/public/assets/prisma-DmTrfxC0.js +1 -0
  224. package/dist/web/public/assets/prolog-CdoyriEj.js +1 -0
  225. package/dist/web/public/assets/proto-4MrN11dS.js +1 -0
  226. package/dist/web/public/assets/pug-svYJKDOQ.js +1 -0
  227. package/dist/web/public/assets/puppet-MEaLGpAP.js +1 -0
  228. package/dist/web/public/assets/purescript-CPxCorqB.js +1 -0
  229. package/dist/web/public/assets/python-f4fp5z0z.js +1 -0
  230. package/dist/web/public/assets/qml-BzEtWdqI.js +1 -0
  231. package/dist/web/public/assets/qmldir-DCjSceJ_.js +1 -0
  232. package/dist/web/public/assets/qss-BdM02NUc.js +1 -0
  233. package/dist/web/public/assets/r-luosIeJH.js +1 -0
  234. package/dist/web/public/assets/racket-D2tfa8Zc.js +1 -0
  235. package/dist/web/public/assets/raku-KeGPJVZg.js +1 -0
  236. package/dist/web/public/assets/razor-Bokxs4Qx.js +1 -0
  237. package/dist/web/public/assets/red-C0qZ-1lN.js +1 -0
  238. package/dist/web/public/assets/reg-DdnswvOj.js +1 -0
  239. package/dist/web/public/assets/regexp-CYC8h6V9.js +1 -0
  240. package/dist/web/public/assets/rel-RhzEfSRc.js +1 -0
  241. package/dist/web/public/assets/riscv-dS5TzX10.js +1 -0
  242. package/dist/web/public/assets/ron-CQjQSCVp.js +1 -0
  243. package/dist/web/public/assets/rose-pine-C89ViLdr.js +1 -0
  244. package/dist/web/public/assets/rose-pine-dawn-Dq2gf0yi.js +1 -0
  245. package/dist/web/public/assets/rose-pine-moon-CBDvXVs_.js +1 -0
  246. package/dist/web/public/assets/rosmsg-nvjuSIGu.js +1 -0
  247. package/dist/web/public/assets/routes-BXqJCOpL.js +542 -0
  248. package/dist/web/public/assets/rst-1xwvVGf7.js +1 -0
  249. package/dist/web/public/assets/ruby-Blad-eDx.js +1 -0
  250. package/dist/web/public/assets/rust-rV8q_xyI.js +1 -0
  251. package/dist/web/public/assets/sas-DUPWtptg.js +1 -0
  252. package/dist/web/public/assets/sass-CuxdoNN0.js +1 -0
  253. package/dist/web/public/assets/scala-Df4L7N3R.js +1 -0
  254. package/dist/web/public/assets/scheme-DalRmAPH.js +1 -0
  255. package/dist/web/public/assets/scss-CYQ8LEwP.js +1 -0
  256. package/dist/web/public/assets/sdbl-B_TmFnGf.js +1 -0
  257. package/dist/web/public/assets/shaderlab-DYEMDY3e.js +1 -0
  258. package/dist/web/public/assets/shellscript-DjKZ34ac.js +1 -0
  259. package/dist/web/public/assets/shellsession-C3kcnBnh.js +1 -0
  260. package/dist/web/public/assets/slack-dark-ak_jOeLl.js +1 -0
  261. package/dist/web/public/assets/slack-ochin-ByiYhLwu.js +1 -0
  262. package/dist/web/public/assets/smalltalk-DTTnjjZJ.js +1 -0
  263. package/dist/web/public/assets/snazzy-light-BBRYeY60.js +1 -0
  264. package/dist/web/public/assets/solarized-dark-BtoLnWkw.js +1 -0
  265. package/dist/web/public/assets/solarized-light-CtzUA7GI.js +1 -0
  266. package/dist/web/public/assets/solidity-CSIHEQ2t.js +1 -0
  267. package/dist/web/public/assets/soy-BN0uzUAI.js +1 -0
  268. package/dist/web/public/assets/sparql-B6k9tA6Q.js +1 -0
  269. package/dist/web/public/assets/splunk-DkRzN7V_.js +1 -0
  270. package/dist/web/public/assets/sql-Bx-WX28V.js +1 -0
  271. package/dist/web/public/assets/ssh-config-Bqp7ng33.js +1 -0
  272. package/dist/web/public/assets/stata-HAj7doU8.js +1 -0
  273. package/dist/web/public/assets/stylus-CdbCxDLX.js +1 -0
  274. package/dist/web/public/assets/surrealql-BkGf0I3k.js +1 -0
  275. package/dist/web/public/assets/svelte-DtWg6ssL.js +1 -0
  276. package/dist/web/public/assets/swift-yRu2dtgr.js +1 -0
  277. package/dist/web/public/assets/synthwave-84-2WIu6MHX.js +1 -0
  278. package/dist/web/public/assets/system-verilog-GUE_oP1V.js +1 -0
  279. package/dist/web/public/assets/systemd-FLIJAQZV.js +1 -0
  280. package/dist/web/public/assets/talonscript-DTR-8ILs.js +1 -0
  281. package/dist/web/public/assets/tasl-WHNWP-1F.js +1 -0
  282. package/dist/web/public/assets/tcl-BaBXNNp6.js +1 -0
  283. package/dist/web/public/assets/templ-Dc9vj00n.js +1 -0
  284. package/dist/web/public/assets/terraform-uJUFpr8t.js +1 -0
  285. package/dist/web/public/assets/tex-DA3dAz55.js +1 -0
  286. package/dist/web/public/assets/tokyo-night-BbogFqAr.js +1 -0
  287. package/dist/web/public/assets/toml-CyR4Gqq1.js +1 -0
  288. package/dist/web/public/assets/ts-tags-BD1j21LH.js +1 -0
  289. package/dist/web/public/assets/tsv-COLVYI6A.js +1 -0
  290. package/dist/web/public/assets/tsx-CFm2E6uK.js +1 -0
  291. package/dist/web/public/assets/turtle-PQwt4gkb.js +1 -0
  292. package/dist/web/public/assets/twig-DrUXy85s.js +1 -0
  293. package/dist/web/public/assets/typescript-Dy-5sXFx.js +1 -0
  294. package/dist/web/public/assets/typespec-Bb7qHV0g.js +1 -0
  295. package/dist/web/public/assets/typst-Bj_JElGz.js +1 -0
  296. package/dist/web/public/assets/v-BTkrtik4.js +1 -0
  297. package/dist/web/public/assets/vala-AXT1CI9v.js +1 -0
  298. package/dist/web/public/assets/vb-DzTKUgW8.js +1 -0
  299. package/dist/web/public/assets/verilog-aI3j5Xj8.js +1 -0
  300. package/dist/web/public/assets/vesper-BmnwIC_B.js +1 -0
  301. package/dist/web/public/assets/vhdl-4IgBB7vO.js +1 -0
  302. package/dist/web/public/assets/viml-D_XMKSR6.js +1 -0
  303. package/dist/web/public/assets/vitesse-black-DhmxIXiA.js +1 -0
  304. package/dist/web/public/assets/vitesse-dark-dvEH_9qt.js +1 -0
  305. package/dist/web/public/assets/vitesse-light-Ca0W2L1O.js +1 -0
  306. package/dist/web/public/assets/vue-DC_yTvy2.js +1 -0
  307. package/dist/web/public/assets/vue-html-Bp8x4gdt.js +1 -0
  308. package/dist/web/public/assets/vue-vine-ZcUkuUUp.js +1 -0
  309. package/dist/web/public/assets/vyper-Dz2f7-FK.js +1 -0
  310. package/dist/web/public/assets/wasm-CuXPCj65.js +1 -0
  311. package/dist/web/public/assets/wasm-DHkXUMsP.js +1 -0
  312. package/dist/web/public/assets/wenyan-BRAtM0Iv.js +1 -0
  313. package/dist/web/public/assets/wgsl-CMpn9jTa.js +1 -0
  314. package/dist/web/public/assets/wikitext-DRmBVmVA.js +1 -0
  315. package/dist/web/public/assets/wit-Drp_HLqJ.js +1 -0
  316. package/dist/web/public/assets/wolfram-C33umj7M.js +1 -0
  317. package/dist/web/public/assets/xml-BHoOtGbO.js +1 -0
  318. package/dist/web/public/assets/xsl-CN1PlFqm.js +1 -0
  319. package/dist/web/public/assets/yaml-DT0mpn8u.js +1 -0
  320. package/dist/web/public/assets/zenscript-BlYQ_Frf.js +1 -0
  321. package/dist/web/public/assets/zig-Buk7I0y-.js +1 -0
  322. package/dist/web/server/_chunks/ssr-renderer.mjs +15 -0
  323. package/dist/web/server/_libs/@ai-sdk/anthropic+[...].mjs +14021 -0
  324. package/dist/web/server/_libs/@ai-sdk/moonshotai+[...].mjs +898 -0
  325. package/dist/web/server/_libs/@ai-sdk/react+[...].mjs +8969 -0
  326. package/dist/web/server/_libs/@emotion/is-prop-valid+[...].mjs +34 -0
  327. package/dist/web/server/_libs/@floating-ui/core+[...].mjs +698 -0
  328. package/dist/web/server/_libs/@floating-ui/dom+[...].mjs +644 -0
  329. package/dist/web/server/_libs/@floating-ui/react-dom+[...].mjs +475 -0
  330. package/dist/web/server/_libs/@lobehub/icons+[...].mjs +3079 -0
  331. package/dist/web/server/_libs/@radix-ui/react-arrow+[...].mjs +184 -0
  332. package/dist/web/server/_libs/@radix-ui/react-collapsible+[...].mjs +374 -0
  333. package/dist/web/server/_libs/@radix-ui/react-dialog+[...].mjs +1503 -0
  334. package/dist/web/server/_libs/@radix-ui/react-menu+[...].mjs +1236 -0
  335. package/dist/web/server/_libs/@radix-ui/react-select+[...].mjs +1007 -0
  336. package/dist/web/server/_libs/@shikijs/core+[...].mjs +9017 -0
  337. package/dist/web/server/_libs/@shikijs/engine-javascript+[...].mjs +3159 -0
  338. package/dist/web/server/_libs/@streamdown/math+[...].mjs +37559 -0
  339. package/dist/web/server/_libs/@tanstack/react-router+[...].mjs +14074 -0
  340. package/dist/web/server/_libs/_.mjs +3 -0
  341. package/dist/web/server/_libs/_2.mjs +3 -0
  342. package/dist/web/server/_libs/_3.mjs +2 -0
  343. package/dist/web/server/_libs/_4.mjs +2 -0
  344. package/dist/web/server/_libs/ai-sdk__gateway+vercel__oidc.mjs +1255 -0
  345. package/dist/web/server/_libs/ai-sdk__google.mjs +1630 -0
  346. package/dist/web/server/_libs/ai-sdk__openai+zod.mjs +4951 -0
  347. package/dist/web/server/_libs/ai-sdk__provider-utils.mjs +411 -0
  348. package/dist/web/server/_libs/ai-sdk__provider.mjs +222 -0
  349. package/dist/web/server/_libs/bail.mjs +13 -0
  350. package/dist/web/server/_libs/character-entities.mjs +2135 -0
  351. package/dist/web/server/_libs/class-variance-authority+clsx.mjs +69 -0
  352. package/dist/web/server/_libs/color+[...].mjs +2185 -0
  353. package/dist/web/server/_libs/copy-text-to-clipboard.mjs +40 -0
  354. package/dist/web/server/_libs/d3-array.mjs +231 -0
  355. package/dist/web/server/_libs/d3-color.mjs +330 -0
  356. package/dist/web/server/_libs/d3-format.mjs +252 -0
  357. package/dist/web/server/_libs/d3-interpolate.mjs +207 -0
  358. package/dist/web/server/_libs/d3-path.mjs +77 -0
  359. package/dist/web/server/_libs/d3-scale+[...].mjs +1907 -0
  360. package/dist/web/server/_libs/d3-shape.mjs +818 -0
  361. package/dist/web/server/_libs/date-fns.mjs +3012 -0
  362. package/dist/web/server/_libs/date-fns__tz.mjs +249 -0
  363. package/dist/web/server/_libs/decimal.js-light.mjs +884 -0
  364. package/dist/web/server/_libs/decode-named-character-reference+[...].mjs +19 -0
  365. package/dist/web/server/_libs/dexie.mjs +3745 -0
  366. package/dist/web/server/_libs/escape-string-regexp.mjs +7 -0
  367. package/dist/web/server/_libs/estree-util-is-identifier-name.mjs +20 -0
  368. package/dist/web/server/_libs/eventemitter3.mjs +237 -0
  369. package/dist/web/server/_libs/extend.mjs +75 -0
  370. package/dist/web/server/_libs/fast-equals.mjs +423 -0
  371. package/dist/web/server/_libs/framer-motion+[...].mjs +9573 -0
  372. package/dist/web/server/_libs/fuzzysort.mjs +621 -0
  373. package/dist/web/server/_libs/h3+rou3+srvx.mjs +1158 -0
  374. package/dist/web/server/_libs/hast-util-raw+[...].mjs +800 -0
  375. package/dist/web/server/_libs/hast-util-sanitize.mjs +780 -0
  376. package/dist/web/server/_libs/hast-util-to-jsx-runtime+[...].mjs +853 -0
  377. package/dist/web/server/_libs/hookable.mjs +41 -0
  378. package/dist/web/server/_libs/html-url-attributes.mjs +44 -0
  379. package/dist/web/server/_libs/is-plain-obj.mjs +8 -0
  380. package/dist/web/server/_libs/lodash.mjs +4532 -0
  381. package/dist/web/server/_libs/lucide-react.mjs +605 -0
  382. package/dist/web/server/_libs/markdown-table.mjs +289 -0
  383. package/dist/web/server/_libs/marked.mjs +1511 -0
  384. package/dist/web/server/_libs/mdast-util-find-and-replace.mjs +198 -0
  385. package/dist/web/server/_libs/mdast-util-from-markdown+[...].mjs +8121 -0
  386. package/dist/web/server/_libs/mdast-util-gfm+[...].mjs +2060 -0
  387. package/dist/web/server/_libs/mdast-util-to-hast+[...].mjs +1770 -0
  388. package/dist/web/server/_libs/micromark-extension-gfm+[...].mjs +2235 -0
  389. package/dist/web/server/_libs/nanoid.mjs +26 -0
  390. package/dist/web/server/_libs/next-themes.mjs +124 -0
  391. package/dist/web/server/_libs/prop-types.mjs +69 -0
  392. package/dist/web/server/_libs/radix-ui__number.mjs +6 -0
  393. package/dist/web/server/_libs/radix-ui__primitive.mjs +9 -0
  394. package/dist/web/server/_libs/radix-ui__react-collection.mjs +80 -0
  395. package/dist/web/server/_libs/radix-ui__react-direction.mjs +11 -0
  396. package/dist/web/server/_libs/radix-ui__react-label.mjs +23 -0
  397. package/dist/web/server/_libs/radix-ui__react-menubar.mjs +400 -0
  398. package/dist/web/server/_libs/radix-ui__react-popover.mjs +251 -0
  399. package/dist/web/server/_libs/radix-ui__react-progress.mjs +81 -0
  400. package/dist/web/server/_libs/radix-ui__react-scroll-area.mjs +669 -0
  401. package/dist/web/server/_libs/radix-ui__react-separator.mjs +32 -0
  402. package/dist/web/server/_libs/radix-ui__react-slider.mjs +464 -0
  403. package/dist/web/server/_libs/radix-ui__react-switch.mjs +120 -0
  404. package/dist/web/server/_libs/radix-ui__react-tabs.mjs +145 -0
  405. package/dist/web/server/_libs/radix-ui__react-tooltip.mjs +494 -0
  406. package/dist/web/server/_libs/react-day-picker.mjs +3510 -0
  407. package/dist/web/server/_libs/react-is.mjs +48 -0
  408. package/dist/web/server/_libs/react-resizable-panels.mjs +1517 -0
  409. package/dist/web/server/_libs/react-smooth.mjs +1024 -0
  410. package/dist/web/server/_libs/recharts+[...].mjs +12998 -0
  411. package/dist/web/server/_libs/rehype-harden.mjs +210 -0
  412. package/dist/web/server/_libs/rehype-raw.mjs +37 -0
  413. package/dist/web/server/_libs/rehype-sanitize.mjs +27 -0
  414. package/dist/web/server/_libs/remark-gfm.mjs +34 -0
  415. package/dist/web/server/_libs/remark-parse.mjs +37 -0
  416. package/dist/web/server/_libs/remark-rehype.mjs +169 -0
  417. package/dist/web/server/_libs/remend.mjs +544 -0
  418. package/dist/web/server/_libs/scule.mjs +55 -0
  419. package/dist/web/server/_libs/shiki+streamdown__code.mjs +1748 -0
  420. package/dist/web/server/_libs/shiki.mjs +16 -0
  421. package/dist/web/server/_libs/shikijs__engine-oniguruma.mjs +387 -0
  422. package/dist/web/server/_libs/shikijs__langs.mjs +1357 -0
  423. package/dist/web/server/_libs/shikijs__themes.mjs +268 -0
  424. package/dist/web/server/_libs/sonner.mjs +909 -0
  425. package/dist/web/server/_libs/streamdown+[...].mjs +5842 -0
  426. package/dist/web/server/_libs/tanstack__history.mjs +342 -0
  427. package/dist/web/server/_libs/tanstack__query-core.mjs +2073 -0
  428. package/dist/web/server/_libs/tanstack__react-query.mjs +146 -0
  429. package/dist/web/server/_libs/tanstack__router-core.mjs +6 -0
  430. package/dist/web/server/_libs/tanstack__zod-adapter.mjs +16 -0
  431. package/dist/web/server/_libs/ufo.mjs +64 -0
  432. package/dist/web/server/_libs/ungap__structured-clone.mjs +197 -0
  433. package/dist/web/server/_libs/use-stick-to-bottom.mjs +410 -0
  434. package/dist/web/server/_libs/vercel__oidc.mjs +393 -0
  435. package/dist/web/server/_libs/zhipu-ai-provider.mjs +13483 -0
  436. package/dist/web/server/_libs/zustand.mjs +48 -0
  437. package/dist/web/server/_runtime.mjs +35 -0
  438. package/dist/web/server/_ssr/components-BzCiScpA.mjs +1452 -0
  439. package/dist/web/server/_ssr/dist-3Mu7PF0n.mjs +137 -0
  440. package/dist/web/server/_ssr/dist-BRaLXgxZ.mjs +17 -0
  441. package/dist/web/server/_ssr/field-1-agM60DBf.mjs +167 -0
  442. package/dist/web/server/_ssr/get-providers-BoYkp0Of.mjs +40 -0
  443. package/dist/web/server/_ssr/initialize-provider-B6W8V5Eg.mjs +19 -0
  444. package/dist/web/server/_ssr/model-list-CDFjdz2P.mjs +60 -0
  445. package/dist/web/server/_ssr/router-BmmOCtJZ.mjs +168 -0
  446. package/dist/web/server/_ssr/routes-CvlpZK4Q.mjs +2630 -0
  447. package/dist/web/server/_ssr/schemas-DsZ5O3zp.mjs +67 -0
  448. package/dist/web/server/_ssr/send-message-DUT1vRvx.mjs +135 -0
  449. package/dist/web/server/_ssr/ssr.mjs +5253 -0
  450. package/dist/web/server/_ssr/start-rewezkfD.mjs +4 -0
  451. package/dist/web/server/_ssr/submit-key-CcCv6-yy.mjs +62 -0
  452. package/dist/web/server/_ssr/suggestions-B0Uc3p7F.mjs +38 -0
  453. package/dist/web/server/_ssr/use-providers-Bwqg2U3N.mjs +1554 -0
  454. package/dist/web/server/_tanstack-start-manifest_v-BMIvh4y6.mjs +60 -0
  455. package/dist/web/server/index.mjs +2531 -0
  456. package/dist/web/server/node_modules/tslib/modules/index.js +70 -0
  457. package/dist/web/server/node_modules/tslib/modules/package.json +3 -0
  458. package/dist/web/server/node_modules/tslib/package.json +47 -0
  459. package/dist/web/server/node_modules/tslib/tslib.js +484 -0
  460. package/package.json +32 -0
@@ -0,0 +1,3510 @@
1
+ import { i as __toESM, n as __exportAll } from "../_runtime.mjs";
2
+ import { u as require_react } from "./@ai-sdk/react+[...].mjs";
3
+ import { t as TZDate } from "./date-fns__tz.mjs";
4
+ import { A as startOfISOWeek, C as isSameDay, D as addWeeks, E as addYears, M as addMonths, N as addDays, O as differenceInCalendarDays, S as isDate, T as max, _ as endOfYear, a as isBefore, b as endOfMonth, c as getMonth, d as getISOWeek, f as enUS$1, g as startOfYear, h as eachYearOfInterval, i as isSameMonth, j as startOfWeek, k as startOfDay, l as format, m as endOfWeek, n as setMonth, o as isAfter, p as endOfISOWeek, r as isSameYear, s as getYear, t as setYear, u as getWeek, v as startOfMonth, w as min, x as differenceInCalendarMonths, y as eachMonthOfInterval } from "./date-fns.mjs";
5
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js
6
+ var FIVE_WEEKS = 5;
7
+ var FOUR_WEEKS = 4;
8
+ /**
9
+ * Returns the number of weeks to display in the broadcast calendar for a given
10
+ * month.
11
+ *
12
+ * The broadcast calendar may have either 4 or 5 weeks in a month, depending on
13
+ * the start and end dates of the broadcast weeks.
14
+ *
15
+ * @since 9.4.0
16
+ * @param month The month for which to calculate the number of weeks.
17
+ * @param dateLib The date library to use for date manipulation.
18
+ * @returns The number of weeks in the broadcast calendar (4 or 5).
19
+ */
20
+ function getBroadcastWeeksInMonth(month, dateLib) {
21
+ const firstDayOfMonth = dateLib.startOfMonth(month);
22
+ const firstDayOfWeek = firstDayOfMonth.getDay() > 0 ? firstDayOfMonth.getDay() : 7;
23
+ const broadcastStartDate = dateLib.addDays(month, -firstDayOfWeek + 1);
24
+ const lastDateOfLastWeek = dateLib.addDays(broadcastStartDate, FIVE_WEEKS * 7 - 1);
25
+ return dateLib.getMonth(month) === dateLib.getMonth(lastDateOfLastWeek) ? FIVE_WEEKS : FOUR_WEEKS;
26
+ }
27
+ //#endregion
28
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js
29
+ /**
30
+ * Returns the start date of the week in the broadcast calendar.
31
+ *
32
+ * The broadcast week starts on Monday. If the first day of the month is not a
33
+ * Monday, this function calculates the previous Monday as the start of the
34
+ * broadcast week.
35
+ *
36
+ * @since 9.4.0
37
+ * @param date The date for which to calculate the start of the broadcast week.
38
+ * @param dateLib The date library to use for date manipulation.
39
+ * @returns The start date of the broadcast week.
40
+ */
41
+ function startOfBroadcastWeek(date, dateLib) {
42
+ const firstOfMonth = dateLib.startOfMonth(date);
43
+ const dayOfWeek = firstOfMonth.getDay();
44
+ if (dayOfWeek === 1) return firstOfMonth;
45
+ else if (dayOfWeek === 0) return dateLib.addDays(firstOfMonth, -6);
46
+ else return dateLib.addDays(firstOfMonth, -1 * (dayOfWeek - 1));
47
+ }
48
+ //#endregion
49
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js
50
+ /**
51
+ * Returns the end date of the week in the broadcast calendar.
52
+ *
53
+ * The broadcast week ends on the last day of the last broadcast week for the
54
+ * given date.
55
+ *
56
+ * @since 9.4.0
57
+ * @param date The date for which to calculate the end of the broadcast week.
58
+ * @param dateLib The date library to use for date manipulation.
59
+ * @returns The end date of the broadcast week.
60
+ */
61
+ function endOfBroadcastWeek(date, dateLib) {
62
+ const startDate = startOfBroadcastWeek(date, dateLib);
63
+ const numberOfWeeks = getBroadcastWeeksInMonth(date, dateLib);
64
+ return dateLib.addDays(startDate, numberOfWeeks * 7 - 1);
65
+ }
66
+ //#endregion
67
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/locale/en-US.js
68
+ /** English (United States) locale extended with DayPicker-specific translations. */
69
+ var enUS = {
70
+ ...enUS$1,
71
+ labels: {
72
+ labelDayButton: (date, modifiers, options, dateLib) => {
73
+ let formatDate;
74
+ if (dateLib && typeof dateLib.format === "function") formatDate = dateLib.format.bind(dateLib);
75
+ else formatDate = (d, pattern) => format(d, pattern, {
76
+ locale: enUS$1,
77
+ ...options
78
+ });
79
+ let label = formatDate(date, "PPPP");
80
+ if (modifiers.today) label = `Today, ${label}`;
81
+ if (modifiers.selected) label = `${label}, selected`;
82
+ return label;
83
+ },
84
+ labelMonthDropdown: "Choose the Month",
85
+ labelNext: "Go to the Next Month",
86
+ labelPrevious: "Go to the Previous Month",
87
+ labelWeekNumber: (weekNumber) => `Week ${weekNumber}`,
88
+ labelYearDropdown: "Choose the Year",
89
+ labelGrid: (date, options, dateLib) => {
90
+ let formatDate;
91
+ if (dateLib && typeof dateLib.format === "function") formatDate = dateLib.format.bind(dateLib);
92
+ else formatDate = (d, pattern) => format(d, pattern, {
93
+ locale: enUS$1,
94
+ ...options
95
+ });
96
+ return formatDate(date, "LLLL yyyy");
97
+ },
98
+ labelGridcell: (date, modifiers, options, dateLib) => {
99
+ let formatDate;
100
+ if (dateLib && typeof dateLib.format === "function") formatDate = dateLib.format.bind(dateLib);
101
+ else formatDate = (d, pattern) => format(d, pattern, {
102
+ locale: enUS$1,
103
+ ...options
104
+ });
105
+ let label = formatDate(date, "PPPP");
106
+ if (modifiers?.today) label = `Today, ${label}`;
107
+ return label;
108
+ },
109
+ labelNav: "Navigation bar",
110
+ labelWeekNumberHeader: "Week Number",
111
+ labelWeekday: (date, options, dateLib) => {
112
+ let formatDate;
113
+ if (dateLib && typeof dateLib.format === "function") formatDate = dateLib.format.bind(dateLib);
114
+ else formatDate = (d, pattern) => format(d, pattern, {
115
+ locale: enUS$1,
116
+ ...options
117
+ });
118
+ return formatDate(date, "cccc");
119
+ }
120
+ }
121
+ };
122
+ //#endregion
123
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/classes/DateLib.js
124
+ /**
125
+ * A wrapper class around [date-fns](http://date-fns.org) that provides utility
126
+ * methods for date manipulation and formatting.
127
+ *
128
+ * @since 9.2.0
129
+ * @example
130
+ * const dateLib = new DateLib({ locale: es });
131
+ * const newDate = dateLib.addDays(new Date(), 5);
132
+ */
133
+ var DateLib = class DateLib {
134
+ /**
135
+ * Creates an instance of `DateLib`.
136
+ *
137
+ * @param options Configuration options for the date library.
138
+ * @param overrides Custom overrides for the date library functions.
139
+ */
140
+ constructor(options, overrides) {
141
+ /**
142
+ * Reference to the built-in Date constructor.
143
+ *
144
+ * @deprecated Use `newDate()` or `today()`.
145
+ */
146
+ this.Date = Date;
147
+ /**
148
+ * Creates a new `Date` object representing today's date.
149
+ *
150
+ * @since 9.5.0
151
+ * @returns A `Date` object for today's date.
152
+ */
153
+ this.today = () => {
154
+ if (this.overrides?.today) return this.overrides.today();
155
+ if (this.options.timeZone) return TZDate.tz(this.options.timeZone);
156
+ return new this.Date();
157
+ };
158
+ /**
159
+ * Creates a new `Date` object with the specified year, month, and day.
160
+ *
161
+ * @since 9.5.0
162
+ * @param year The year.
163
+ * @param monthIndex The month (0-11).
164
+ * @param date The day of the month.
165
+ * @returns A new `Date` object.
166
+ */
167
+ this.newDate = (year, monthIndex, date) => {
168
+ if (this.overrides?.newDate) return this.overrides.newDate(year, monthIndex, date);
169
+ if (this.options.timeZone) return new TZDate(year, monthIndex, date, this.options.timeZone);
170
+ return new Date(year, monthIndex, date);
171
+ };
172
+ /**
173
+ * Adds the specified number of days to the given date.
174
+ *
175
+ * @param date The date to add days to.
176
+ * @param amount The number of days to add.
177
+ * @returns The new date with the days added.
178
+ */
179
+ this.addDays = (date, amount) => {
180
+ return this.overrides?.addDays ? this.overrides.addDays(date, amount) : addDays(date, amount);
181
+ };
182
+ /**
183
+ * Adds the specified number of months to the given date.
184
+ *
185
+ * @param date The date to add months to.
186
+ * @param amount The number of months to add.
187
+ * @returns The new date with the months added.
188
+ */
189
+ this.addMonths = (date, amount) => {
190
+ return this.overrides?.addMonths ? this.overrides.addMonths(date, amount) : addMonths(date, amount);
191
+ };
192
+ /**
193
+ * Adds the specified number of weeks to the given date.
194
+ *
195
+ * @param date The date to add weeks to.
196
+ * @param amount The number of weeks to add.
197
+ * @returns The new date with the weeks added.
198
+ */
199
+ this.addWeeks = (date, amount) => {
200
+ return this.overrides?.addWeeks ? this.overrides.addWeeks(date, amount) : addWeeks(date, amount);
201
+ };
202
+ /**
203
+ * Adds the specified number of years to the given date.
204
+ *
205
+ * @param date The date to add years to.
206
+ * @param amount The number of years to add.
207
+ * @returns The new date with the years added.
208
+ */
209
+ this.addYears = (date, amount) => {
210
+ return this.overrides?.addYears ? this.overrides.addYears(date, amount) : addYears(date, amount);
211
+ };
212
+ /**
213
+ * Returns the number of calendar days between the given dates.
214
+ *
215
+ * @param dateLeft The later date.
216
+ * @param dateRight The earlier date.
217
+ * @returns The number of calendar days between the dates.
218
+ */
219
+ this.differenceInCalendarDays = (dateLeft, dateRight) => {
220
+ return this.overrides?.differenceInCalendarDays ? this.overrides.differenceInCalendarDays(dateLeft, dateRight) : differenceInCalendarDays(dateLeft, dateRight);
221
+ };
222
+ /**
223
+ * Returns the number of calendar months between the given dates.
224
+ *
225
+ * @param dateLeft The later date.
226
+ * @param dateRight The earlier date.
227
+ * @returns The number of calendar months between the dates.
228
+ */
229
+ this.differenceInCalendarMonths = (dateLeft, dateRight) => {
230
+ return this.overrides?.differenceInCalendarMonths ? this.overrides.differenceInCalendarMonths(dateLeft, dateRight) : differenceInCalendarMonths(dateLeft, dateRight);
231
+ };
232
+ /**
233
+ * Returns the months between the given dates.
234
+ *
235
+ * @param interval The interval to get the months for.
236
+ */
237
+ this.eachMonthOfInterval = (interval) => {
238
+ return this.overrides?.eachMonthOfInterval ? this.overrides.eachMonthOfInterval(interval) : eachMonthOfInterval(interval);
239
+ };
240
+ /**
241
+ * Returns the years between the given dates.
242
+ *
243
+ * @since 9.11.1
244
+ * @param interval The interval to get the years for.
245
+ * @returns The array of years in the interval.
246
+ */
247
+ this.eachYearOfInterval = (interval) => {
248
+ const years = this.overrides?.eachYearOfInterval ? this.overrides.eachYearOfInterval(interval) : eachYearOfInterval(interval);
249
+ const uniqueYears = new Set(years.map((d) => this.getYear(d)));
250
+ if (uniqueYears.size === years.length) return years;
251
+ const yearsArray = [];
252
+ uniqueYears.forEach((y) => {
253
+ yearsArray.push(new Date(y, 0, 1));
254
+ });
255
+ return yearsArray;
256
+ };
257
+ /**
258
+ * Returns the end of the broadcast week for the given date.
259
+ *
260
+ * @param date The original date.
261
+ * @returns The end of the broadcast week.
262
+ */
263
+ this.endOfBroadcastWeek = (date) => {
264
+ return this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(date) : endOfBroadcastWeek(date, this);
265
+ };
266
+ /**
267
+ * Returns the end of the ISO week for the given date.
268
+ *
269
+ * @param date The original date.
270
+ * @returns The end of the ISO week.
271
+ */
272
+ this.endOfISOWeek = (date) => {
273
+ return this.overrides?.endOfISOWeek ? this.overrides.endOfISOWeek(date) : endOfISOWeek(date);
274
+ };
275
+ /**
276
+ * Returns the end of the month for the given date.
277
+ *
278
+ * @param date The original date.
279
+ * @returns The end of the month.
280
+ */
281
+ this.endOfMonth = (date) => {
282
+ return this.overrides?.endOfMonth ? this.overrides.endOfMonth(date) : endOfMonth(date);
283
+ };
284
+ /**
285
+ * Returns the end of the week for the given date.
286
+ *
287
+ * @param date The original date.
288
+ * @returns The end of the week.
289
+ */
290
+ this.endOfWeek = (date, options) => {
291
+ return this.overrides?.endOfWeek ? this.overrides.endOfWeek(date, options) : endOfWeek(date, this.options);
292
+ };
293
+ /**
294
+ * Returns the end of the year for the given date.
295
+ *
296
+ * @param date The original date.
297
+ * @returns The end of the year.
298
+ */
299
+ this.endOfYear = (date) => {
300
+ return this.overrides?.endOfYear ? this.overrides.endOfYear(date) : endOfYear(date);
301
+ };
302
+ /**
303
+ * Formats the given date using the specified format string.
304
+ *
305
+ * @param date The date to format.
306
+ * @param formatStr The format string.
307
+ * @returns The formatted date string.
308
+ */
309
+ this.format = (date, formatStr, _options) => {
310
+ const formatted = this.overrides?.format ? this.overrides.format(date, formatStr, this.options) : format(date, formatStr, this.options);
311
+ if (this.options.numerals && this.options.numerals !== "latn") return this.replaceDigits(formatted);
312
+ return formatted;
313
+ };
314
+ /**
315
+ * Returns the ISO week number for the given date.
316
+ *
317
+ * @param date The date to get the ISO week number for.
318
+ * @returns The ISO week number.
319
+ */
320
+ this.getISOWeek = (date) => {
321
+ return this.overrides?.getISOWeek ? this.overrides.getISOWeek(date) : getISOWeek(date);
322
+ };
323
+ /**
324
+ * Returns the month of the given date.
325
+ *
326
+ * @param date The date to get the month for.
327
+ * @returns The month.
328
+ */
329
+ this.getMonth = (date, _options) => {
330
+ return this.overrides?.getMonth ? this.overrides.getMonth(date, this.options) : getMonth(date, this.options);
331
+ };
332
+ /**
333
+ * Returns the year of the given date.
334
+ *
335
+ * @param date The date to get the year for.
336
+ * @returns The year.
337
+ */
338
+ this.getYear = (date, _options) => {
339
+ return this.overrides?.getYear ? this.overrides.getYear(date, this.options) : getYear(date, this.options);
340
+ };
341
+ /**
342
+ * Returns the local week number for the given date.
343
+ *
344
+ * @param date The date to get the week number for.
345
+ * @returns The week number.
346
+ */
347
+ this.getWeek = (date, _options) => {
348
+ return this.overrides?.getWeek ? this.overrides.getWeek(date, this.options) : getWeek(date, this.options);
349
+ };
350
+ /**
351
+ * Checks if the first date is after the second date.
352
+ *
353
+ * @param date The date to compare.
354
+ * @param dateToCompare The date to compare with.
355
+ * @returns True if the first date is after the second date.
356
+ */
357
+ this.isAfter = (date, dateToCompare) => {
358
+ return this.overrides?.isAfter ? this.overrides.isAfter(date, dateToCompare) : isAfter(date, dateToCompare);
359
+ };
360
+ /**
361
+ * Checks if the first date is before the second date.
362
+ *
363
+ * @param date The date to compare.
364
+ * @param dateToCompare The date to compare with.
365
+ * @returns True if the first date is before the second date.
366
+ */
367
+ this.isBefore = (date, dateToCompare) => {
368
+ return this.overrides?.isBefore ? this.overrides.isBefore(date, dateToCompare) : isBefore(date, dateToCompare);
369
+ };
370
+ /**
371
+ * Checks if the given value is a Date object.
372
+ *
373
+ * @param value The value to check.
374
+ * @returns True if the value is a Date object.
375
+ */
376
+ this.isDate = (value) => {
377
+ return this.overrides?.isDate ? this.overrides.isDate(value) : isDate(value);
378
+ };
379
+ /**
380
+ * Checks if the given dates are on the same day.
381
+ *
382
+ * @param dateLeft The first date to compare.
383
+ * @param dateRight The second date to compare.
384
+ * @returns True if the dates are on the same day.
385
+ */
386
+ this.isSameDay = (dateLeft, dateRight) => {
387
+ return this.overrides?.isSameDay ? this.overrides.isSameDay(dateLeft, dateRight) : isSameDay(dateLeft, dateRight);
388
+ };
389
+ /**
390
+ * Checks if the given dates are in the same month.
391
+ *
392
+ * @param dateLeft The first date to compare.
393
+ * @param dateRight The second date to compare.
394
+ * @returns True if the dates are in the same month.
395
+ */
396
+ this.isSameMonth = (dateLeft, dateRight) => {
397
+ return this.overrides?.isSameMonth ? this.overrides.isSameMonth(dateLeft, dateRight) : isSameMonth(dateLeft, dateRight);
398
+ };
399
+ /**
400
+ * Checks if the given dates are in the same year.
401
+ *
402
+ * @param dateLeft The first date to compare.
403
+ * @param dateRight The second date to compare.
404
+ * @returns True if the dates are in the same year.
405
+ */
406
+ this.isSameYear = (dateLeft, dateRight) => {
407
+ return this.overrides?.isSameYear ? this.overrides.isSameYear(dateLeft, dateRight) : isSameYear(dateLeft, dateRight);
408
+ };
409
+ /**
410
+ * Returns the latest date in the given array of dates.
411
+ *
412
+ * @param dates The array of dates to compare.
413
+ * @returns The latest date.
414
+ */
415
+ this.max = (dates) => {
416
+ return this.overrides?.max ? this.overrides.max(dates) : max(dates);
417
+ };
418
+ /**
419
+ * Returns the earliest date in the given array of dates.
420
+ *
421
+ * @param dates The array of dates to compare.
422
+ * @returns The earliest date.
423
+ */
424
+ this.min = (dates) => {
425
+ return this.overrides?.min ? this.overrides.min(dates) : min(dates);
426
+ };
427
+ /**
428
+ * Sets the month of the given date.
429
+ *
430
+ * @param date The date to set the month on.
431
+ * @param month The month to set (0-11).
432
+ * @returns The new date with the month set.
433
+ */
434
+ this.setMonth = (date, month) => {
435
+ return this.overrides?.setMonth ? this.overrides.setMonth(date, month) : setMonth(date, month);
436
+ };
437
+ /**
438
+ * Sets the year of the given date.
439
+ *
440
+ * @param date The date to set the year on.
441
+ * @param year The year to set.
442
+ * @returns The new date with the year set.
443
+ */
444
+ this.setYear = (date, year) => {
445
+ return this.overrides?.setYear ? this.overrides.setYear(date, year) : setYear(date, year);
446
+ };
447
+ /**
448
+ * Returns the start of the broadcast week for the given date.
449
+ *
450
+ * @param date The original date.
451
+ * @returns The start of the broadcast week.
452
+ */
453
+ this.startOfBroadcastWeek = (date, _dateLib) => {
454
+ return this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(date, this) : startOfBroadcastWeek(date, this);
455
+ };
456
+ /**
457
+ * Returns the start of the day for the given date.
458
+ *
459
+ * @param date The original date.
460
+ * @returns The start of the day.
461
+ */
462
+ this.startOfDay = (date) => {
463
+ return this.overrides?.startOfDay ? this.overrides.startOfDay(date) : startOfDay(date);
464
+ };
465
+ /**
466
+ * Returns the start of the ISO week for the given date.
467
+ *
468
+ * @param date The original date.
469
+ * @returns The start of the ISO week.
470
+ */
471
+ this.startOfISOWeek = (date) => {
472
+ return this.overrides?.startOfISOWeek ? this.overrides.startOfISOWeek(date) : startOfISOWeek(date);
473
+ };
474
+ /**
475
+ * Returns the start of the month for the given date.
476
+ *
477
+ * @param date The original date.
478
+ * @returns The start of the month.
479
+ */
480
+ this.startOfMonth = (date) => {
481
+ return this.overrides?.startOfMonth ? this.overrides.startOfMonth(date) : startOfMonth(date);
482
+ };
483
+ /**
484
+ * Returns the start of the week for the given date.
485
+ *
486
+ * @param date The original date.
487
+ * @returns The start of the week.
488
+ */
489
+ this.startOfWeek = (date, _options) => {
490
+ return this.overrides?.startOfWeek ? this.overrides.startOfWeek(date, this.options) : startOfWeek(date, this.options);
491
+ };
492
+ /**
493
+ * Returns the start of the year for the given date.
494
+ *
495
+ * @param date The original date.
496
+ * @returns The start of the year.
497
+ */
498
+ this.startOfYear = (date) => {
499
+ return this.overrides?.startOfYear ? this.overrides.startOfYear(date) : startOfYear(date);
500
+ };
501
+ this.options = {
502
+ locale: enUS,
503
+ ...options
504
+ };
505
+ this.overrides = overrides;
506
+ }
507
+ /**
508
+ * Generates a mapping of Arabic digits (0-9) to the target numbering system
509
+ * digits.
510
+ *
511
+ * @since 9.5.0
512
+ * @returns A record mapping Arabic digits to the target numerals.
513
+ */
514
+ getDigitMap() {
515
+ const { numerals = "latn" } = this.options;
516
+ const formatter = new Intl.NumberFormat("en-US", { numberingSystem: numerals });
517
+ const digitMap = {};
518
+ for (let i = 0; i < 10; i++) digitMap[i.toString()] = formatter.format(i);
519
+ return digitMap;
520
+ }
521
+ /**
522
+ * Replaces Arabic digits in a string with the target numbering system digits.
523
+ *
524
+ * @since 9.5.0
525
+ * @param input The string containing Arabic digits.
526
+ * @returns The string with digits replaced.
527
+ */
528
+ replaceDigits(input) {
529
+ const digitMap = this.getDigitMap();
530
+ return input.replace(/\d/g, (digit) => digitMap[digit] || digit);
531
+ }
532
+ /**
533
+ * Formats a number using the configured numbering system.
534
+ *
535
+ * @since 9.5.0
536
+ * @param value The number to format.
537
+ * @returns The formatted number as a string.
538
+ */
539
+ formatNumber(value) {
540
+ return this.replaceDigits(value.toString());
541
+ }
542
+ /**
543
+ * Returns the preferred ordering for month and year labels for the current
544
+ * locale.
545
+ */
546
+ getMonthYearOrder() {
547
+ const code = this.options.locale?.code;
548
+ if (!code) return "month-first";
549
+ return DateLib.yearFirstLocales.has(code) ? "year-first" : "month-first";
550
+ }
551
+ /**
552
+ * Formats the month/year pair respecting locale conventions.
553
+ *
554
+ * @since 9.11.0
555
+ */
556
+ formatMonthYear(date) {
557
+ const { locale, timeZone, numerals } = this.options;
558
+ const localeCode = locale?.code;
559
+ if (localeCode && DateLib.yearFirstLocales.has(localeCode)) try {
560
+ return new Intl.DateTimeFormat(localeCode, {
561
+ month: "long",
562
+ year: "numeric",
563
+ timeZone,
564
+ numberingSystem: numerals
565
+ }).format(date);
566
+ } catch {}
567
+ const pattern = this.getMonthYearOrder() === "year-first" ? "y LLLL" : "LLLL y";
568
+ return this.format(date, pattern);
569
+ }
570
+ };
571
+ DateLib.yearFirstLocales = new Set([
572
+ "eu",
573
+ "hu",
574
+ "ja",
575
+ "ja-Hira",
576
+ "ja-JP",
577
+ "ko",
578
+ "ko-KR",
579
+ "lt",
580
+ "lt-LT",
581
+ "lv",
582
+ "lv-LV",
583
+ "mn",
584
+ "mn-MN",
585
+ "zh",
586
+ "zh-CN",
587
+ "zh-HK",
588
+ "zh-TW"
589
+ ]);
590
+ /**
591
+ * The default date library with English locale.
592
+ *
593
+ * @since 9.2.0
594
+ */
595
+ var defaultDateLib = new DateLib();
596
+ //#endregion
597
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js
598
+ /**
599
+ * Represents a day displayed in the calendar.
600
+ *
601
+ * In DayPicker, a `CalendarDay` is a wrapper around a `Date` object that
602
+ * provides additional information about the day, such as whether it belongs to
603
+ * the displayed month.
604
+ */
605
+ var CalendarDay = class {
606
+ constructor(date, displayMonth, dateLib = defaultDateLib) {
607
+ this.date = date;
608
+ this.displayMonth = displayMonth;
609
+ this.outside = Boolean(displayMonth && !dateLib.isSameMonth(date, displayMonth));
610
+ this.dateLib = dateLib;
611
+ this.isoDate = dateLib.format(date, "yyyy-MM-dd");
612
+ this.displayMonthId = dateLib.format(displayMonth, "yyyy-MM");
613
+ this.dateMonthId = dateLib.format(date, "yyyy-MM");
614
+ }
615
+ /**
616
+ * Checks if this day is equal to another `CalendarDay`, considering both the
617
+ * date and the displayed month.
618
+ *
619
+ * @param day The `CalendarDay` to compare with.
620
+ * @returns `true` if the days are equal, otherwise `false`.
621
+ */
622
+ isEqualTo(day) {
623
+ return this.dateLib.isSameDay(day.date, this.date) && this.dateLib.isSameMonth(day.displayMonth, this.displayMonth);
624
+ }
625
+ };
626
+ //#endregion
627
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js
628
+ /**
629
+ * Represents a month in a calendar year.
630
+ *
631
+ * A `CalendarMonth` contains the weeks within the month and the date of the
632
+ * month.
633
+ */
634
+ var CalendarMonth = class {
635
+ constructor(month, weeks) {
636
+ this.date = month;
637
+ this.weeks = weeks;
638
+ }
639
+ };
640
+ //#endregion
641
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js
642
+ /**
643
+ * Represents a week in a calendar month.
644
+ *
645
+ * A `CalendarWeek` contains the days within the week and the week number.
646
+ */
647
+ var CalendarWeek = class {
648
+ constructor(weekNumber, days) {
649
+ this.days = days;
650
+ this.weekNumber = weekNumber;
651
+ }
652
+ };
653
+ //#endregion
654
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Button.js
655
+ var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
656
+ /**
657
+ * Render the button elements in the calendar.
658
+ *
659
+ * @private
660
+ * @deprecated Use `PreviousMonthButton` or `@link NextMonthButton` instead.
661
+ */
662
+ function Button(props) {
663
+ return import_react.createElement("button", { ...props });
664
+ }
665
+ //#endregion
666
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js
667
+ /**
668
+ * Render the label in the month caption.
669
+ *
670
+ * @group Components
671
+ * @see https://daypicker.dev/guides/custom-components
672
+ */
673
+ function CaptionLabel(props) {
674
+ return import_react.createElement("span", { ...props });
675
+ }
676
+ //#endregion
677
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Chevron.js
678
+ /**
679
+ * Render the chevron icon used in the navigation buttons and dropdowns.
680
+ *
681
+ * @group Components
682
+ * @see https://daypicker.dev/guides/custom-components
683
+ */
684
+ function Chevron(props) {
685
+ const { size = 24, orientation = "left", className } = props;
686
+ return import_react.createElement("svg", {
687
+ className,
688
+ width: size,
689
+ height: size,
690
+ viewBox: "0 0 24 24"
691
+ }, orientation === "up" && import_react.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }), orientation === "down" && import_react.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }), orientation === "left" && import_react.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }), orientation === "right" && import_react.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" }));
692
+ }
693
+ //#endregion
694
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Day.js
695
+ /**
696
+ * Render a grid cell for a specific day in the calendar.
697
+ *
698
+ * Handles interaction and focus for the day. If you only need to change the
699
+ * content of the day cell, consider swapping the `DayButton` component
700
+ * instead.
701
+ *
702
+ * @group Components
703
+ * @see https://daypicker.dev/guides/custom-components
704
+ */
705
+ function Day(props) {
706
+ const { day, modifiers, ...tdProps } = props;
707
+ return import_react.createElement("td", { ...tdProps });
708
+ }
709
+ //#endregion
710
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/DayButton.js
711
+ /**
712
+ * Render a button for a specific day in the calendar.
713
+ *
714
+ * @group Components
715
+ * @see https://daypicker.dev/guides/custom-components
716
+ */
717
+ function DayButton(props) {
718
+ const { day, modifiers, ...buttonProps } = props;
719
+ const ref = import_react.useRef(null);
720
+ import_react.useEffect(() => {
721
+ if (modifiers.focused) ref.current?.focus();
722
+ }, [modifiers.focused]);
723
+ return import_react.createElement("button", {
724
+ ref,
725
+ ...buttonProps
726
+ });
727
+ }
728
+ //#endregion
729
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/UI.js
730
+ /**
731
+ * Enum representing the UI elements composing DayPicker. These elements are
732
+ * mapped to {@link CustomComponents}, {@link ClassNames}, and {@link Styles}.
733
+ *
734
+ * Some elements are extended by flags and modifiers.
735
+ */
736
+ var UI;
737
+ (function(UI) {
738
+ /** The root component displaying the months and the navigation bar. */
739
+ UI["Root"] = "root";
740
+ /** The Chevron SVG element used by navigation buttons and dropdowns. */
741
+ UI["Chevron"] = "chevron";
742
+ /**
743
+ * The grid cell with the day's date. Extended by {@link DayFlag} and
744
+ * {@link SelectionState}.
745
+ */
746
+ UI["Day"] = "day";
747
+ /** The button containing the formatted day's date, inside the grid cell. */
748
+ UI["DayButton"] = "day_button";
749
+ /** The caption label of the month (when not showing the dropdown navigation). */
750
+ UI["CaptionLabel"] = "caption_label";
751
+ /** The container of the dropdown navigation (when enabled). */
752
+ UI["Dropdowns"] = "dropdowns";
753
+ /** The dropdown element to select for years and months. */
754
+ UI["Dropdown"] = "dropdown";
755
+ /** The container element of the dropdown. */
756
+ UI["DropdownRoot"] = "dropdown_root";
757
+ /** The root element of the footer. */
758
+ UI["Footer"] = "footer";
759
+ /** The month grid. */
760
+ UI["MonthGrid"] = "month_grid";
761
+ /** Contains the dropdown navigation or the caption label. */
762
+ UI["MonthCaption"] = "month_caption";
763
+ /** The dropdown with the months. */
764
+ UI["MonthsDropdown"] = "months_dropdown";
765
+ /** Wrapper of the month grid. */
766
+ UI["Month"] = "month";
767
+ /** The container of the displayed months. */
768
+ UI["Months"] = "months";
769
+ /** The navigation bar with the previous and next buttons. */
770
+ UI["Nav"] = "nav";
771
+ /**
772
+ * The next month button in the navigation. *
773
+ *
774
+ * @since 9.1.0
775
+ */
776
+ UI["NextMonthButton"] = "button_next";
777
+ /**
778
+ * The previous month button in the navigation.
779
+ *
780
+ * @since 9.1.0
781
+ */
782
+ UI["PreviousMonthButton"] = "button_previous";
783
+ /** The row containing the week. */
784
+ UI["Week"] = "week";
785
+ /** The group of row weeks in a month (`tbody`). */
786
+ UI["Weeks"] = "weeks";
787
+ /** The column header with the weekday. */
788
+ UI["Weekday"] = "weekday";
789
+ /** The row grouping the weekdays in the column headers. */
790
+ UI["Weekdays"] = "weekdays";
791
+ /** The cell containing the week number. */
792
+ UI["WeekNumber"] = "week_number";
793
+ /** The cell header of the week numbers column. */
794
+ UI["WeekNumberHeader"] = "week_number_header";
795
+ /** The dropdown with the years. */
796
+ UI["YearsDropdown"] = "years_dropdown";
797
+ })(UI || (UI = {}));
798
+ /** Enum representing flags for the {@link UI | UI.Day} element. */
799
+ var DayFlag;
800
+ (function(DayFlag) {
801
+ /** The day is disabled. */
802
+ DayFlag["disabled"] = "disabled";
803
+ /** The day is hidden. */
804
+ DayFlag["hidden"] = "hidden";
805
+ /** The day is outside the current month. */
806
+ DayFlag["outside"] = "outside";
807
+ /** The day is focused. */
808
+ DayFlag["focused"] = "focused";
809
+ /** The day is today. */
810
+ DayFlag["today"] = "today";
811
+ })(DayFlag || (DayFlag = {}));
812
+ /**
813
+ * Enum representing selection states that can be applied to the
814
+ * {@link UI | UI.Day} element in selection mode.
815
+ */
816
+ var SelectionState;
817
+ (function(SelectionState) {
818
+ /** The day is at the end of a selected range. */
819
+ SelectionState["range_end"] = "range_end";
820
+ /** The day is at the middle of a selected range. */
821
+ SelectionState["range_middle"] = "range_middle";
822
+ /** The day is at the start of a selected range. */
823
+ SelectionState["range_start"] = "range_start";
824
+ /** The day is selected. */
825
+ SelectionState["selected"] = "selected";
826
+ })(SelectionState || (SelectionState = {}));
827
+ /**
828
+ * Enum representing different animation states for transitioning between
829
+ * months.
830
+ */
831
+ var Animation;
832
+ (function(Animation) {
833
+ /** The entering weeks when they appear before the exiting month. */
834
+ Animation["weeks_before_enter"] = "weeks_before_enter";
835
+ /** The exiting weeks when they disappear before the entering month. */
836
+ Animation["weeks_before_exit"] = "weeks_before_exit";
837
+ /** The entering weeks when they appear after the exiting month. */
838
+ Animation["weeks_after_enter"] = "weeks_after_enter";
839
+ /** The exiting weeks when they disappear after the entering month. */
840
+ Animation["weeks_after_exit"] = "weeks_after_exit";
841
+ /** The entering caption when it appears after the exiting month. */
842
+ Animation["caption_after_enter"] = "caption_after_enter";
843
+ /** The exiting caption when it disappears after the entering month. */
844
+ Animation["caption_after_exit"] = "caption_after_exit";
845
+ /** The entering caption when it appears before the exiting month. */
846
+ Animation["caption_before_enter"] = "caption_before_enter";
847
+ /** The exiting caption when it disappears before the entering month. */
848
+ Animation["caption_before_exit"] = "caption_before_exit";
849
+ })(Animation || (Animation = {}));
850
+ //#endregion
851
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Dropdown.js
852
+ /**
853
+ * Render a dropdown component for navigation in the calendar.
854
+ *
855
+ * @group Components
856
+ * @see https://daypicker.dev/guides/custom-components
857
+ */
858
+ function Dropdown(props) {
859
+ const { options, className, components, classNames, ...selectProps } = props;
860
+ const cssClassSelect = [classNames[UI.Dropdown], className].join(" ");
861
+ const selectedOption = options?.find(({ value }) => value === selectProps.value);
862
+ return import_react.createElement("span", {
863
+ "data-disabled": selectProps.disabled,
864
+ className: classNames[UI.DropdownRoot]
865
+ }, import_react.createElement(components.Select, {
866
+ className: cssClassSelect,
867
+ ...selectProps
868
+ }, options?.map(({ value, label, disabled }) => import_react.createElement(components.Option, {
869
+ key: value,
870
+ value,
871
+ disabled
872
+ }, label))), import_react.createElement("span", {
873
+ className: classNames[UI.CaptionLabel],
874
+ "aria-hidden": true
875
+ }, selectedOption?.label, import_react.createElement(components.Chevron, {
876
+ orientation: "down",
877
+ size: 18,
878
+ className: classNames[UI.Chevron]
879
+ })));
880
+ }
881
+ //#endregion
882
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/DropdownNav.js
883
+ /**
884
+ * Render the navigation dropdowns for the calendar.
885
+ *
886
+ * @group Components
887
+ * @see https://daypicker.dev/guides/custom-components
888
+ */
889
+ function DropdownNav(props) {
890
+ return import_react.createElement("div", { ...props });
891
+ }
892
+ //#endregion
893
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Footer.js
894
+ /**
895
+ * Render the footer of the calendar.
896
+ *
897
+ * @group Components
898
+ * @see https://daypicker.dev/guides/custom-components
899
+ */
900
+ function Footer(props) {
901
+ return import_react.createElement("div", { ...props });
902
+ }
903
+ //#endregion
904
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Month.js
905
+ /**
906
+ * Render the grid with the weekday header row and the weeks for a specific
907
+ * month.
908
+ *
909
+ * @group Components
910
+ * @see https://daypicker.dev/guides/custom-components
911
+ */
912
+ function Month(props) {
913
+ const { calendarMonth, displayIndex, ...divProps } = props;
914
+ return import_react.createElement("div", { ...divProps }, props.children);
915
+ }
916
+ //#endregion
917
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/MonthCaption.js
918
+ /**
919
+ * Render the caption for a month in the calendar.
920
+ *
921
+ * @group Components
922
+ * @see https://daypicker.dev/guides/custom-components
923
+ */
924
+ function MonthCaption(props) {
925
+ const { calendarMonth, displayIndex, ...divProps } = props;
926
+ return import_react.createElement("div", { ...divProps });
927
+ }
928
+ //#endregion
929
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/MonthGrid.js
930
+ /**
931
+ * Render the grid of days for a specific month.
932
+ *
933
+ * @group Components
934
+ * @see https://daypicker.dev/guides/custom-components
935
+ */
936
+ function MonthGrid(props) {
937
+ return import_react.createElement("table", { ...props });
938
+ }
939
+ //#endregion
940
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Months.js
941
+ /**
942
+ * Render a container wrapping the month grids.
943
+ *
944
+ * @group Components
945
+ * @see https://daypicker.dev/guides/custom-components
946
+ */
947
+ function Months(props) {
948
+ return import_react.createElement("div", { ...props });
949
+ }
950
+ //#endregion
951
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/useDayPicker.js
952
+ /** @ignore */
953
+ var dayPickerContext = (0, import_react.createContext)(void 0);
954
+ /**
955
+ * Provides access to the DayPicker context, which includes properties and
956
+ * methods to interact with the DayPicker component. This hook must be used
957
+ * within a custom component.
958
+ *
959
+ * @template T - Use this type to refine the returned context type with a
960
+ * specific selection mode.
961
+ * @returns The context to work with DayPicker.
962
+ * @throws {Error} If the hook is used outside of a DayPicker provider.
963
+ * @group Hooks
964
+ * @see https://daypicker.dev/guides/custom-components
965
+ */
966
+ function useDayPicker() {
967
+ const context = (0, import_react.useContext)(dayPickerContext);
968
+ if (context === void 0) throw new Error("useDayPicker() must be used within a custom component.");
969
+ return context;
970
+ }
971
+ //#endregion
972
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js
973
+ /**
974
+ * Render a dropdown to navigate between months in the calendar.
975
+ *
976
+ * @group Components
977
+ * @see https://daypicker.dev/guides/custom-components
978
+ */
979
+ function MonthsDropdown(props) {
980
+ const { components } = useDayPicker();
981
+ return import_react.createElement(components.Dropdown, { ...props });
982
+ }
983
+ //#endregion
984
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Nav.js
985
+ /**
986
+ * Render the navigation toolbar with buttons to navigate between months.
987
+ *
988
+ * @group Components
989
+ * @see https://daypicker.dev/guides/custom-components
990
+ */
991
+ function Nav(props) {
992
+ const { onPreviousClick, onNextClick, previousMonth, nextMonth, ...navProps } = props;
993
+ const { components, classNames, labels: { labelPrevious, labelNext } } = useDayPicker();
994
+ const handleNextClick = (0, import_react.useCallback)((e) => {
995
+ if (nextMonth) onNextClick?.(e);
996
+ }, [nextMonth, onNextClick]);
997
+ const handlePreviousClick = (0, import_react.useCallback)((e) => {
998
+ if (previousMonth) onPreviousClick?.(e);
999
+ }, [previousMonth, onPreviousClick]);
1000
+ return import_react.createElement("nav", { ...navProps }, import_react.createElement(components.PreviousMonthButton, {
1001
+ type: "button",
1002
+ className: classNames[UI.PreviousMonthButton],
1003
+ tabIndex: previousMonth ? void 0 : -1,
1004
+ "aria-disabled": previousMonth ? void 0 : true,
1005
+ "aria-label": labelPrevious(previousMonth),
1006
+ onClick: handlePreviousClick
1007
+ }, import_react.createElement(components.Chevron, {
1008
+ disabled: previousMonth ? void 0 : true,
1009
+ className: classNames[UI.Chevron],
1010
+ orientation: "left"
1011
+ })), import_react.createElement(components.NextMonthButton, {
1012
+ type: "button",
1013
+ className: classNames[UI.NextMonthButton],
1014
+ tabIndex: nextMonth ? void 0 : -1,
1015
+ "aria-disabled": nextMonth ? void 0 : true,
1016
+ "aria-label": labelNext(nextMonth),
1017
+ onClick: handleNextClick
1018
+ }, import_react.createElement(components.Chevron, {
1019
+ disabled: nextMonth ? void 0 : true,
1020
+ orientation: "right",
1021
+ className: classNames[UI.Chevron]
1022
+ })));
1023
+ }
1024
+ //#endregion
1025
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js
1026
+ /**
1027
+ * Render the button to navigate to the next month in the calendar.
1028
+ *
1029
+ * @group Components
1030
+ * @see https://daypicker.dev/guides/custom-components
1031
+ */
1032
+ function NextMonthButton(props) {
1033
+ const { components } = useDayPicker();
1034
+ return import_react.createElement(components.Button, { ...props });
1035
+ }
1036
+ //#endregion
1037
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Option.js
1038
+ /**
1039
+ * Render an `option` element.
1040
+ *
1041
+ * @group Components
1042
+ * @see https://daypicker.dev/guides/custom-components
1043
+ */
1044
+ function Option(props) {
1045
+ return import_react.createElement("option", { ...props });
1046
+ }
1047
+ //#endregion
1048
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js
1049
+ /**
1050
+ * Render the button to navigate to the previous month in the calendar.
1051
+ *
1052
+ * @group Components
1053
+ * @see https://daypicker.dev/guides/custom-components
1054
+ */
1055
+ function PreviousMonthButton(props) {
1056
+ const { components } = useDayPicker();
1057
+ return import_react.createElement(components.Button, { ...props });
1058
+ }
1059
+ //#endregion
1060
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Root.js
1061
+ /**
1062
+ * Render the root element of the calendar.
1063
+ *
1064
+ * @group Components
1065
+ * @see https://daypicker.dev/guides/custom-components
1066
+ */
1067
+ function Root(props) {
1068
+ const { rootRef, ...rest } = props;
1069
+ return import_react.createElement("div", {
1070
+ ...rest,
1071
+ ref: rootRef
1072
+ });
1073
+ }
1074
+ //#endregion
1075
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Select.js
1076
+ /**
1077
+ * Render a `select` element.
1078
+ *
1079
+ * @group Components
1080
+ * @see https://daypicker.dev/guides/custom-components
1081
+ */
1082
+ function Select(props) {
1083
+ return import_react.createElement("select", { ...props });
1084
+ }
1085
+ //#endregion
1086
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Week.js
1087
+ /**
1088
+ * Render a table row representing a week in the calendar.
1089
+ *
1090
+ * @group Components
1091
+ * @see https://daypicker.dev/guides/custom-components
1092
+ */
1093
+ function Week(props) {
1094
+ const { week, ...trProps } = props;
1095
+ return import_react.createElement("tr", { ...trProps });
1096
+ }
1097
+ //#endregion
1098
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Weekday.js
1099
+ /**
1100
+ * Render a table header cell with the name of a weekday (e.g., "Mo", "Tu").
1101
+ *
1102
+ * @group Components
1103
+ * @see https://daypicker.dev/guides/custom-components
1104
+ */
1105
+ function Weekday(props) {
1106
+ return import_react.createElement("th", { ...props });
1107
+ }
1108
+ //#endregion
1109
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Weekdays.js
1110
+ /**
1111
+ * Render the table row containing the weekday names.
1112
+ *
1113
+ * @group Components
1114
+ * @see https://daypicker.dev/guides/custom-components
1115
+ */
1116
+ function Weekdays(props) {
1117
+ return import_react.createElement("thead", { "aria-hidden": true }, import_react.createElement("tr", { ...props }));
1118
+ }
1119
+ //#endregion
1120
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/WeekNumber.js
1121
+ /**
1122
+ * Render a table cell displaying the number of the week.
1123
+ *
1124
+ * @group Components
1125
+ * @see https://daypicker.dev/guides/custom-components
1126
+ */
1127
+ function WeekNumber(props) {
1128
+ const { week, ...thProps } = props;
1129
+ return import_react.createElement("th", { ...thProps });
1130
+ }
1131
+ //#endregion
1132
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js
1133
+ /**
1134
+ * Render the header cell for the week numbers column.
1135
+ *
1136
+ * @group Components
1137
+ * @see https://daypicker.dev/guides/custom-components
1138
+ */
1139
+ function WeekNumberHeader(props) {
1140
+ return import_react.createElement("th", { ...props });
1141
+ }
1142
+ //#endregion
1143
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/Weeks.js
1144
+ /**
1145
+ * Render the container for the weeks in the month grid.
1146
+ *
1147
+ * @group Components
1148
+ * @see https://daypicker.dev/guides/custom-components
1149
+ */
1150
+ function Weeks(props) {
1151
+ return import_react.createElement("tbody", { ...props });
1152
+ }
1153
+ //#endregion
1154
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js
1155
+ /**
1156
+ * Render a dropdown to navigate between years in the calendar.
1157
+ *
1158
+ * @group Components
1159
+ * @see https://daypicker.dev/guides/custom-components
1160
+ */
1161
+ function YearsDropdown(props) {
1162
+ const { components } = useDayPicker();
1163
+ return import_react.createElement(components.Dropdown, { ...props });
1164
+ }
1165
+ //#endregion
1166
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/components/custom-components.js
1167
+ var custom_components_exports = /* @__PURE__ */ __exportAll({
1168
+ Button: () => Button,
1169
+ CaptionLabel: () => CaptionLabel,
1170
+ Chevron: () => Chevron,
1171
+ Day: () => Day,
1172
+ DayButton: () => DayButton,
1173
+ Dropdown: () => Dropdown,
1174
+ DropdownNav: () => DropdownNav,
1175
+ Footer: () => Footer,
1176
+ Month: () => Month,
1177
+ MonthCaption: () => MonthCaption,
1178
+ MonthGrid: () => MonthGrid,
1179
+ Months: () => Months,
1180
+ MonthsDropdown: () => MonthsDropdown,
1181
+ Nav: () => Nav,
1182
+ NextMonthButton: () => NextMonthButton,
1183
+ Option: () => Option,
1184
+ PreviousMonthButton: () => PreviousMonthButton,
1185
+ Root: () => Root,
1186
+ Select: () => Select,
1187
+ Week: () => Week,
1188
+ WeekNumber: () => WeekNumber,
1189
+ WeekNumberHeader: () => WeekNumberHeader,
1190
+ Weekday: () => Weekday,
1191
+ Weekdays: () => Weekdays,
1192
+ Weeks: () => Weeks,
1193
+ YearsDropdown: () => YearsDropdown
1194
+ });
1195
+ //#endregion
1196
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js
1197
+ /**
1198
+ * Checks if a given date is within a specified date range.
1199
+ *
1200
+ * @since 9.0.0
1201
+ * @param range - The date range to check against.
1202
+ * @param date - The date to check.
1203
+ * @param excludeEnds - If `true`, the range's start and end dates are excluded.
1204
+ * @param dateLib - The date utility library instance.
1205
+ * @returns `true` if the date is within the range, otherwise `false`.
1206
+ * @group Utilities
1207
+ */
1208
+ function rangeIncludesDate(range, date, excludeEnds = false, dateLib = defaultDateLib) {
1209
+ let { from, to } = range;
1210
+ const { differenceInCalendarDays, isSameDay } = dateLib;
1211
+ if (from && to) {
1212
+ if (differenceInCalendarDays(to, from) < 0) [from, to] = [to, from];
1213
+ return differenceInCalendarDays(date, from) >= (excludeEnds ? 1 : 0) && differenceInCalendarDays(to, date) >= (excludeEnds ? 1 : 0);
1214
+ }
1215
+ if (!excludeEnds && to) return isSameDay(to, date);
1216
+ if (!excludeEnds && from) return isSameDay(from, date);
1217
+ return false;
1218
+ }
1219
+ //#endregion
1220
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/typeguards.js
1221
+ /**
1222
+ * Checks if the given value is of type {@link DateInterval}.
1223
+ *
1224
+ * @param matcher - The value to check.
1225
+ * @returns `true` if the value is a {@link DateInterval}, otherwise `false`.
1226
+ * @group Utilities
1227
+ */
1228
+ function isDateInterval(matcher) {
1229
+ return Boolean(matcher && typeof matcher === "object" && "before" in matcher && "after" in matcher);
1230
+ }
1231
+ /**
1232
+ * Checks if the given value is of type {@link DateRange}.
1233
+ *
1234
+ * @param value - The value to check.
1235
+ * @returns `true` if the value is a {@link DateRange}, otherwise `false`.
1236
+ * @group Utilities
1237
+ */
1238
+ function isDateRange(value) {
1239
+ return Boolean(value && typeof value === "object" && "from" in value);
1240
+ }
1241
+ /**
1242
+ * Checks if the given value is of type {@link DateAfter}.
1243
+ *
1244
+ * @param value - The value to check.
1245
+ * @returns `true` if the value is a {@link DateAfter}, otherwise `false`.
1246
+ * @group Utilities
1247
+ */
1248
+ function isDateAfterType(value) {
1249
+ return Boolean(value && typeof value === "object" && "after" in value);
1250
+ }
1251
+ /**
1252
+ * Checks if the given value is of type {@link DateBefore}.
1253
+ *
1254
+ * @param value - The value to check.
1255
+ * @returns `true` if the value is a {@link DateBefore}, otherwise `false`.
1256
+ * @group Utilities
1257
+ */
1258
+ function isDateBeforeType(value) {
1259
+ return Boolean(value && typeof value === "object" && "before" in value);
1260
+ }
1261
+ /**
1262
+ * Checks if the given value is of type {@link DayOfWeek}.
1263
+ *
1264
+ * @param value - The value to check.
1265
+ * @returns `true` if the value is a {@link DayOfWeek}, otherwise `false`.
1266
+ * @group Utilities
1267
+ */
1268
+ function isDayOfWeekType(value) {
1269
+ return Boolean(value && typeof value === "object" && "dayOfWeek" in value);
1270
+ }
1271
+ /**
1272
+ * Checks if the given value is an array of valid dates.
1273
+ *
1274
+ * @private
1275
+ * @param value - The value to check.
1276
+ * @param dateLib - The date utility library instance.
1277
+ * @returns `true` if the value is an array of valid dates, otherwise `false`.
1278
+ */
1279
+ function isDatesArray(value, dateLib) {
1280
+ return Array.isArray(value) && value.every(dateLib.isDate);
1281
+ }
1282
+ //#endregion
1283
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js
1284
+ /**
1285
+ * Checks if a given date matches at least one of the specified {@link Matcher}.
1286
+ *
1287
+ * @param date - The date to check.
1288
+ * @param matchers - The matchers to check against.
1289
+ * @param dateLib - The date utility library instance.
1290
+ * @returns `true` if the date matches any of the matchers, otherwise `false`.
1291
+ * @group Utilities
1292
+ */
1293
+ function dateMatchModifiers(date, matchers, dateLib = defaultDateLib) {
1294
+ const matchersArr = !Array.isArray(matchers) ? [matchers] : matchers;
1295
+ const { isSameDay, differenceInCalendarDays, isAfter } = dateLib;
1296
+ return matchersArr.some((matcher) => {
1297
+ if (typeof matcher === "boolean") return matcher;
1298
+ if (dateLib.isDate(matcher)) return isSameDay(date, matcher);
1299
+ if (isDatesArray(matcher, dateLib)) return matcher.some((matcherDate) => isSameDay(date, matcherDate));
1300
+ if (isDateRange(matcher)) return rangeIncludesDate(matcher, date, false, dateLib);
1301
+ if (isDayOfWeekType(matcher)) {
1302
+ if (!Array.isArray(matcher.dayOfWeek)) return matcher.dayOfWeek === date.getDay();
1303
+ return matcher.dayOfWeek.includes(date.getDay());
1304
+ }
1305
+ if (isDateInterval(matcher)) {
1306
+ const diffBefore = differenceInCalendarDays(matcher.before, date);
1307
+ const diffAfter = differenceInCalendarDays(matcher.after, date);
1308
+ const isDayBefore = diffBefore > 0;
1309
+ const isDayAfter = diffAfter < 0;
1310
+ if (isAfter(matcher.before, matcher.after)) return isDayAfter && isDayBefore;
1311
+ else return isDayBefore || isDayAfter;
1312
+ }
1313
+ if (isDateAfterType(matcher)) return differenceInCalendarDays(date, matcher.after) > 0;
1314
+ if (isDateBeforeType(matcher)) return differenceInCalendarDays(matcher.before, date) > 0;
1315
+ if (typeof matcher === "function") return matcher(date);
1316
+ return false;
1317
+ });
1318
+ }
1319
+ //#endregion
1320
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js
1321
+ /**
1322
+ * Creates a function to retrieve the modifiers for a given day.
1323
+ *
1324
+ * This function calculates both internal and custom modifiers for each day
1325
+ * based on the provided calendar days and DayPicker props.
1326
+ *
1327
+ * @private
1328
+ * @param days The array of `CalendarDay` objects to process.
1329
+ * @param props The DayPicker props, including modifiers and configuration
1330
+ * options.
1331
+ * @param dateLib The date library to use for date manipulation.
1332
+ * @returns A function that retrieves the modifiers for a given `CalendarDay`.
1333
+ */
1334
+ function createGetModifiers(days, props, navStart, navEnd, dateLib) {
1335
+ const { disabled, hidden, modifiers, showOutsideDays, broadcastCalendar, today = dateLib.today() } = props;
1336
+ const { isSameDay, isSameMonth, startOfMonth, isBefore, endOfMonth, isAfter } = dateLib;
1337
+ const computedNavStart = navStart && startOfMonth(navStart);
1338
+ const computedNavEnd = navEnd && endOfMonth(navEnd);
1339
+ const internalModifiersMap = {
1340
+ [DayFlag.focused]: [],
1341
+ [DayFlag.outside]: [],
1342
+ [DayFlag.disabled]: [],
1343
+ [DayFlag.hidden]: [],
1344
+ [DayFlag.today]: []
1345
+ };
1346
+ const customModifiersMap = {};
1347
+ for (const day of days) {
1348
+ const { date, displayMonth } = day;
1349
+ const isOutside = Boolean(displayMonth && !isSameMonth(date, displayMonth));
1350
+ const isBeforeNavStart = Boolean(computedNavStart && isBefore(date, computedNavStart));
1351
+ const isAfterNavEnd = Boolean(computedNavEnd && isAfter(date, computedNavEnd));
1352
+ const isDisabled = Boolean(disabled && dateMatchModifiers(date, disabled, dateLib));
1353
+ const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) || isBeforeNavStart || isAfterNavEnd || !broadcastCalendar && !showOutsideDays && isOutside || broadcastCalendar && showOutsideDays === false && isOutside;
1354
+ const isToday = isSameDay(date, today);
1355
+ if (isOutside) internalModifiersMap.outside.push(day);
1356
+ if (isDisabled) internalModifiersMap.disabled.push(day);
1357
+ if (isHidden) internalModifiersMap.hidden.push(day);
1358
+ if (isToday) internalModifiersMap.today.push(day);
1359
+ if (modifiers) Object.keys(modifiers).forEach((name) => {
1360
+ const modifierValue = modifiers?.[name];
1361
+ if (!(modifierValue ? dateMatchModifiers(date, modifierValue, dateLib) : false)) return;
1362
+ if (customModifiersMap[name]) customModifiersMap[name].push(day);
1363
+ else customModifiersMap[name] = [day];
1364
+ });
1365
+ }
1366
+ return (day) => {
1367
+ const dayFlags = {
1368
+ [DayFlag.focused]: false,
1369
+ [DayFlag.disabled]: false,
1370
+ [DayFlag.hidden]: false,
1371
+ [DayFlag.outside]: false,
1372
+ [DayFlag.today]: false
1373
+ };
1374
+ const customModifiers = {};
1375
+ for (const name in internalModifiersMap) dayFlags[name] = internalModifiersMap[name].some((d) => d === day);
1376
+ for (const name in customModifiersMap) customModifiers[name] = customModifiersMap[name].some((d) => d === day);
1377
+ return {
1378
+ ...dayFlags,
1379
+ ...customModifiers
1380
+ };
1381
+ };
1382
+ }
1383
+ //#endregion
1384
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js
1385
+ /**
1386
+ * Returns the class names for a day based on its modifiers.
1387
+ *
1388
+ * This function combines the base class name for the day with any class names
1389
+ * associated with active modifiers.
1390
+ *
1391
+ * @param modifiers The modifiers applied to the day.
1392
+ * @param classNames The base class names for the calendar elements.
1393
+ * @param modifiersClassNames The class names associated with specific
1394
+ * modifiers.
1395
+ * @returns An array of class names for the day.
1396
+ */
1397
+ function getClassNamesForModifiers(modifiers, classNames, modifiersClassNames = {}) {
1398
+ return Object.entries(modifiers).filter(([, active]) => active === true).reduce((previousValue, [key]) => {
1399
+ if (modifiersClassNames[key]) previousValue.push(modifiersClassNames[key]);
1400
+ else if (classNames[DayFlag[key]]) previousValue.push(classNames[DayFlag[key]]);
1401
+ else if (classNames[SelectionState[key]]) previousValue.push(classNames[SelectionState[key]]);
1402
+ return previousValue;
1403
+ }, [classNames[UI.Day]]);
1404
+ }
1405
+ //#endregion
1406
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getComponents.js
1407
+ /**
1408
+ * Merges custom components from the props with the default components.
1409
+ *
1410
+ * This function ensures that any custom components provided in the props
1411
+ * override the default components.
1412
+ *
1413
+ * @param customComponents The custom components provided in the DayPicker
1414
+ * props.
1415
+ * @returns An object containing the merged components.
1416
+ */
1417
+ function getComponents(customComponents) {
1418
+ return {
1419
+ ...custom_components_exports,
1420
+ ...customComponents
1421
+ };
1422
+ }
1423
+ //#endregion
1424
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js
1425
+ /**
1426
+ * Extracts `data-` attributes from the DayPicker props.
1427
+ *
1428
+ * This function collects all `data-` attributes from the props and adds
1429
+ * additional attributes based on the DayPicker configuration.
1430
+ *
1431
+ * @param props The DayPicker props.
1432
+ * @returns An object containing the `data-` attributes.
1433
+ */
1434
+ function getDataAttributes(props) {
1435
+ const dataAttributes = {
1436
+ "data-mode": props.mode ?? void 0,
1437
+ "data-required": "required" in props ? props.required : void 0,
1438
+ "data-multiple-months": props.numberOfMonths && props.numberOfMonths > 1 || void 0,
1439
+ "data-week-numbers": props.showWeekNumber || void 0,
1440
+ "data-broadcast-calendar": props.broadcastCalendar || void 0,
1441
+ "data-nav-layout": props.navLayout || void 0
1442
+ };
1443
+ Object.entries(props).forEach(([key, val]) => {
1444
+ if (key.startsWith("data-")) dataAttributes[key] = val;
1445
+ });
1446
+ return dataAttributes;
1447
+ }
1448
+ //#endregion
1449
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js
1450
+ /**
1451
+ * Returns the default class names for the UI elements.
1452
+ *
1453
+ * This function generates a mapping of default class names for various UI
1454
+ * elements, day flags, selection states, and animations.
1455
+ *
1456
+ * @returns An object containing the default class names.
1457
+ * @group Utilities
1458
+ */
1459
+ function getDefaultClassNames() {
1460
+ const classNames = {};
1461
+ for (const key in UI) classNames[UI[key]] = `rdp-${UI[key]}`;
1462
+ for (const key in DayFlag) classNames[DayFlag[key]] = `rdp-${DayFlag[key]}`;
1463
+ for (const key in SelectionState) classNames[SelectionState[key]] = `rdp-${SelectionState[key]}`;
1464
+ for (const key in Animation) classNames[Animation[key]] = `rdp-${Animation[key]}`;
1465
+ return classNames;
1466
+ }
1467
+ //#endregion
1468
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js
1469
+ /**
1470
+ * Formats the caption of the month.
1471
+ *
1472
+ * @defaultValue Locale-specific month/year order (e.g., "November 2022").
1473
+ * @param month The date representing the month.
1474
+ * @param options Configuration options for the date library.
1475
+ * @param dateLib The date library to use for formatting. If not provided, a new
1476
+ * instance is created.
1477
+ * @returns The formatted caption as a string.
1478
+ * @group Formatters
1479
+ * @see https://daypicker.dev/docs/translation#custom-formatters
1480
+ */
1481
+ function formatCaption(month, options, dateLib) {
1482
+ return (dateLib ?? new DateLib(options)).formatMonthYear(month);
1483
+ }
1484
+ /**
1485
+ * @private
1486
+ * @deprecated Use {@link formatCaption} instead.
1487
+ * @group Formatters
1488
+ */
1489
+ var formatMonthCaption = formatCaption;
1490
+ //#endregion
1491
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/formatters/formatDay.js
1492
+ /**
1493
+ * Formats the day date shown in the day cell.
1494
+ *
1495
+ * @defaultValue `d` (e.g., "1").
1496
+ * @param date The date to format.
1497
+ * @param options Configuration options for the date library.
1498
+ * @param dateLib The date library to use for formatting. If not provided, a new
1499
+ * instance is created.
1500
+ * @returns The formatted day as a string.
1501
+ * @group Formatters
1502
+ * @see https://daypicker.dev/docs/translation#custom-formatters
1503
+ */
1504
+ function formatDay(date, options, dateLib) {
1505
+ return (dateLib ?? new DateLib(options)).format(date, "d");
1506
+ }
1507
+ //#endregion
1508
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js
1509
+ /**
1510
+ * Formats the month for the dropdown option label.
1511
+ *
1512
+ * @defaultValue The localized full month name.
1513
+ * @param month The date representing the month.
1514
+ * @param dateLib The date library to use for formatting. Defaults to
1515
+ * `defaultDateLib`.
1516
+ * @returns The formatted month name as a string.
1517
+ * @group Formatters
1518
+ * @see https://daypicker.dev/docs/translation#custom-formatters
1519
+ */
1520
+ function formatMonthDropdown(month, dateLib = defaultDateLib) {
1521
+ return dateLib.format(month, "LLLL");
1522
+ }
1523
+ //#endregion
1524
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js
1525
+ /**
1526
+ * Formats the name of a weekday to be displayed in the weekdays header.
1527
+ *
1528
+ * @defaultValue `cccccc` (e.g., "Mo" for Monday).
1529
+ * @param weekday The date representing the weekday.
1530
+ * @param options Configuration options for the date library.
1531
+ * @param dateLib The date library to use for formatting. If not provided, a new
1532
+ * instance is created.
1533
+ * @returns The formatted weekday name as a string.
1534
+ * @group Formatters
1535
+ * @see https://daypicker.dev/docs/translation#custom-formatters
1536
+ */
1537
+ function formatWeekdayName(weekday, options, dateLib) {
1538
+ return (dateLib ?? new DateLib(options)).format(weekday, "cccccc");
1539
+ }
1540
+ //#endregion
1541
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js
1542
+ /**
1543
+ * Formats the week number.
1544
+ *
1545
+ * @defaultValue The week number as a string, with a leading zero for single-digit numbers.
1546
+ * @param weekNumber The week number to format.
1547
+ * @param dateLib The date library to use for formatting. Defaults to
1548
+ * `defaultDateLib`.
1549
+ * @returns The formatted week number as a string.
1550
+ * @group Formatters
1551
+ * @see https://daypicker.dev/docs/translation#custom-formatters
1552
+ */
1553
+ function formatWeekNumber(weekNumber, dateLib = defaultDateLib) {
1554
+ if (weekNumber < 10) return dateLib.formatNumber(`0${weekNumber.toLocaleString()}`);
1555
+ return dateLib.formatNumber(`${weekNumber.toLocaleString()}`);
1556
+ }
1557
+ //#endregion
1558
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js
1559
+ /**
1560
+ * Formats the header for the week number column.
1561
+ *
1562
+ * @defaultValue An empty string `""`.
1563
+ * @returns The formatted week number header as a string.
1564
+ * @group Formatters
1565
+ * @see https://daypicker.dev/docs/translation#custom-formatters
1566
+ */
1567
+ function formatWeekNumberHeader() {
1568
+ return ``;
1569
+ }
1570
+ //#endregion
1571
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js
1572
+ /**
1573
+ * Formats the year for the dropdown option label.
1574
+ *
1575
+ * @param year The year to format.
1576
+ * @param dateLib The date library to use for formatting. Defaults to
1577
+ * `defaultDateLib`.
1578
+ * @returns The formatted year as a string.
1579
+ * @group Formatters
1580
+ * @see https://daypicker.dev/docs/translation#custom-formatters
1581
+ */
1582
+ function formatYearDropdown(year, dateLib = defaultDateLib) {
1583
+ return dateLib.format(year, "yyyy");
1584
+ }
1585
+ /**
1586
+ * @private
1587
+ * @deprecated Use `formatYearDropdown` instead.
1588
+ * @group Formatters
1589
+ */
1590
+ var formatYearCaption = formatYearDropdown;
1591
+ //#endregion
1592
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/formatters/index.js
1593
+ var formatters_exports = /* @__PURE__ */ __exportAll({
1594
+ formatCaption: () => formatCaption,
1595
+ formatDay: () => formatDay,
1596
+ formatMonthCaption: () => formatMonthCaption,
1597
+ formatMonthDropdown: () => formatMonthDropdown,
1598
+ formatWeekNumber: () => formatWeekNumber,
1599
+ formatWeekNumberHeader: () => formatWeekNumberHeader,
1600
+ formatWeekdayName: () => formatWeekdayName,
1601
+ formatYearCaption: () => formatYearCaption,
1602
+ formatYearDropdown: () => formatYearDropdown
1603
+ });
1604
+ //#endregion
1605
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js
1606
+ /**
1607
+ * Merges custom formatters from the props with the default formatters.
1608
+ *
1609
+ * @param customFormatters The custom formatters provided in the DayPicker
1610
+ * props.
1611
+ * @returns The merged formatters object.
1612
+ */
1613
+ function getFormatters(customFormatters) {
1614
+ if (customFormatters?.formatMonthCaption && !customFormatters.formatCaption) customFormatters.formatCaption = customFormatters.formatMonthCaption;
1615
+ if (customFormatters?.formatYearCaption && !customFormatters.formatYearDropdown) customFormatters.formatYearDropdown = customFormatters.formatYearCaption;
1616
+ return {
1617
+ ...formatters_exports,
1618
+ ...customFormatters
1619
+ };
1620
+ }
1621
+ //#endregion
1622
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js
1623
+ /**
1624
+ * Generates the ARIA label for a day button.
1625
+ *
1626
+ * Use the `modifiers` argument to provide additional context for the label,
1627
+ * such as indicating if the day is "today" or "selected."
1628
+ *
1629
+ * @defaultValue The formatted date.
1630
+ * @param date - The date to format.
1631
+ * @param modifiers - The modifiers providing context for the day.
1632
+ * @param options - Optional configuration for the date formatting library.
1633
+ * @param dateLib - An optional instance of the date formatting library.
1634
+ * @returns The ARIA label for the day button.
1635
+ * @group Labels
1636
+ * @see https://daypicker.dev/docs/translation#aria-labels
1637
+ */
1638
+ function labelDayButton(date, modifiers, options, dateLib) {
1639
+ let label = (dateLib ?? new DateLib(options)).format(date, "PPPP");
1640
+ if (modifiers.today) label = `Today, ${label}`;
1641
+ if (modifiers.selected) label = `${label}, selected`;
1642
+ return label;
1643
+ }
1644
+ /**
1645
+ * @ignore
1646
+ * @deprecated Use `labelDayButton` instead.
1647
+ */
1648
+ var labelDay = labelDayButton;
1649
+ //#endregion
1650
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelGrid.js
1651
+ /**
1652
+ * Generates the ARIA label for the month grid, which is announced when entering
1653
+ * the grid.
1654
+ *
1655
+ * @defaultValue Locale-specific month/year order (e.g., "November 2022").
1656
+ * @param date - The date representing the month.
1657
+ * @param options - Optional configuration for the date formatting library.
1658
+ * @param dateLib - An optional instance of the date formatting library.
1659
+ * @returns The ARIA label for the month grid.
1660
+ * @group Labels
1661
+ * @see https://daypicker.dev/docs/translation#aria-labels
1662
+ */
1663
+ function labelGrid(date, options, dateLib) {
1664
+ return (dateLib ?? new DateLib(options)).formatMonthYear(date);
1665
+ }
1666
+ /**
1667
+ * @ignore
1668
+ * @deprecated Use {@link labelGrid} instead.
1669
+ */
1670
+ var labelCaption = labelGrid;
1671
+ //#endregion
1672
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js
1673
+ /**
1674
+ * Generates the label for a day grid cell when the calendar is not interactive.
1675
+ *
1676
+ * @param date - The date to format.
1677
+ * @param modifiers - Optional modifiers providing context for the day.
1678
+ * @param options - Optional configuration for the date formatting library.
1679
+ * @param dateLib - An optional instance of the date formatting library.
1680
+ * @returns The label for the day grid cell.
1681
+ * @group Labels
1682
+ * @see https://daypicker.dev/docs/translation#aria-labels
1683
+ */
1684
+ function labelGridcell(date, modifiers, options, dateLib) {
1685
+ let label = (dateLib ?? new DateLib(options)).format(date, "PPPP");
1686
+ if (modifiers?.today) label = `Today, ${label}`;
1687
+ return label;
1688
+ }
1689
+ //#endregion
1690
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js
1691
+ /**
1692
+ * Generates the ARIA label for the months dropdown.
1693
+ *
1694
+ * @defaultValue `"Choose the Month"`
1695
+ * @param options - Optional configuration for the date formatting library.
1696
+ * @returns The ARIA label for the months dropdown.
1697
+ * @group Labels
1698
+ * @see https://daypicker.dev/docs/translation#aria-labels
1699
+ */
1700
+ function labelMonthDropdown(_options) {
1701
+ return "Choose the Month";
1702
+ }
1703
+ //#endregion
1704
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelNav.js
1705
+ /**
1706
+ * Generates the ARIA label for the navigation toolbar.
1707
+ *
1708
+ * @defaultValue `""`
1709
+ * @returns The ARIA label for the navigation toolbar.
1710
+ * @group Labels
1711
+ * @see https://daypicker.dev/docs/translation#aria-labels
1712
+ */
1713
+ function labelNav() {
1714
+ return "";
1715
+ }
1716
+ //#endregion
1717
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelNext.js
1718
+ var defaultLabel = "Go to the Next Month";
1719
+ /**
1720
+ * Generates the ARIA label for the "next month" button.
1721
+ *
1722
+ * @defaultValue `"Go to the Next Month"`
1723
+ * @param month - The date representing the next month, or `undefined` if there
1724
+ * is no next month.
1725
+ * @returns The ARIA label for the "next month" button.
1726
+ * @group Labels
1727
+ * @see https://daypicker.dev/docs/translation#aria-labels
1728
+ */
1729
+ function labelNext(_month, _options) {
1730
+ return defaultLabel;
1731
+ }
1732
+ //#endregion
1733
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js
1734
+ /**
1735
+ * Generates the ARIA label for the "previous month" button.
1736
+ *
1737
+ * @defaultValue `"Go to the Previous Month"`
1738
+ * @param month - The date representing the previous month, or `undefined` if
1739
+ * there is no previous month.
1740
+ * @returns The ARIA label for the "previous month" button.
1741
+ * @group Labels
1742
+ * @see https://daypicker.dev/docs/translation#aria-labels
1743
+ */
1744
+ function labelPrevious(_month) {
1745
+ return "Go to the Previous Month";
1746
+ }
1747
+ //#endregion
1748
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js
1749
+ /**
1750
+ * Generates the ARIA label for a weekday column header.
1751
+ *
1752
+ * @defaultValue `"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"`
1753
+ * @param date - The date representing the weekday.
1754
+ * @param options - Optional configuration for the date formatting library.
1755
+ * @param dateLib - An optional instance of the date formatting library.
1756
+ * @returns The ARIA label for the weekday column header.
1757
+ * @group Labels
1758
+ * @see https://daypicker.dev/docs/translation#aria-labels
1759
+ */
1760
+ function labelWeekday(date, options, dateLib) {
1761
+ return (dateLib ?? new DateLib(options)).format(date, "cccc");
1762
+ }
1763
+ //#endregion
1764
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js
1765
+ /**
1766
+ * Generates the ARIA label for the week number cell (the first cell in a row).
1767
+ *
1768
+ * @defaultValue `Week ${weekNumber}`
1769
+ * @param weekNumber - The number of the week.
1770
+ * @param options - Optional configuration for the date formatting library.
1771
+ * @returns The ARIA label for the week number cell.
1772
+ * @group Labels
1773
+ * @see https://daypicker.dev/docs/translation#aria-labels
1774
+ */
1775
+ function labelWeekNumber(weekNumber, _options) {
1776
+ return `Week ${weekNumber}`;
1777
+ }
1778
+ //#endregion
1779
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js
1780
+ /**
1781
+ * Generates the ARIA label for the week number header element.
1782
+ *
1783
+ * @defaultValue `"Week Number"`
1784
+ * @param options - Optional configuration for the date formatting library.
1785
+ * @returns The ARIA label for the week number header.
1786
+ * @group Labels
1787
+ * @see https://daypicker.dev/docs/translation#aria-labels
1788
+ */
1789
+ function labelWeekNumberHeader(_options) {
1790
+ return "Week Number";
1791
+ }
1792
+ //#endregion
1793
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js
1794
+ /**
1795
+ * Generates the ARIA label for the years dropdown.
1796
+ *
1797
+ * @defaultValue `"Choose the Year"`
1798
+ * @param options - Optional configuration for the date formatting library.
1799
+ * @returns The ARIA label for the years dropdown.
1800
+ * @group Labels
1801
+ * @see https://daypicker.dev/docs/translation#aria-labels
1802
+ */
1803
+ function labelYearDropdown(_options) {
1804
+ return "Choose the Year";
1805
+ }
1806
+ //#endregion
1807
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/labels/index.js
1808
+ var labels_exports = /* @__PURE__ */ __exportAll({
1809
+ labelCaption: () => labelCaption,
1810
+ labelDay: () => labelDay,
1811
+ labelDayButton: () => labelDayButton,
1812
+ labelGrid: () => labelGrid,
1813
+ labelGridcell: () => labelGridcell,
1814
+ labelMonthDropdown: () => labelMonthDropdown,
1815
+ labelNav: () => labelNav,
1816
+ labelNext: () => labelNext,
1817
+ labelPrevious: () => labelPrevious,
1818
+ labelWeekNumber: () => labelWeekNumber,
1819
+ labelWeekNumberHeader: () => labelWeekNumberHeader,
1820
+ labelWeekday: () => labelWeekday,
1821
+ labelYearDropdown: () => labelYearDropdown
1822
+ });
1823
+ //#endregion
1824
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getLabels.js
1825
+ var resolveLabel = (defaultLabel, customLabel, localeLabel) => {
1826
+ if (customLabel) return customLabel;
1827
+ if (localeLabel) return typeof localeLabel === "function" ? localeLabel : (..._args) => localeLabel;
1828
+ return defaultLabel;
1829
+ };
1830
+ /**
1831
+ * Merges custom labels from the props with the default labels.
1832
+ *
1833
+ * When available, uses the locale-provided translation for `labelNext`.
1834
+ *
1835
+ * @param customLabels The custom labels provided in the DayPicker props.
1836
+ * @param options Options from the date library, used to resolve locale
1837
+ * translations.
1838
+ * @returns The merged labels object with locale-aware defaults.
1839
+ */
1840
+ function getLabels(customLabels, options) {
1841
+ const localeLabels = options.locale?.labels ?? {};
1842
+ return {
1843
+ ...labels_exports,
1844
+ ...customLabels ?? {},
1845
+ labelDayButton: resolveLabel(labelDayButton, customLabels?.labelDayButton, localeLabels.labelDayButton),
1846
+ labelMonthDropdown: resolveLabel(labelMonthDropdown, customLabels?.labelMonthDropdown, localeLabels.labelMonthDropdown),
1847
+ labelNext: resolveLabel(labelNext, customLabels?.labelNext, localeLabels.labelNext),
1848
+ labelPrevious: resolveLabel(labelPrevious, customLabels?.labelPrevious, localeLabels.labelPrevious),
1849
+ labelWeekNumber: resolveLabel(labelWeekNumber, customLabels?.labelWeekNumber, localeLabels.labelWeekNumber),
1850
+ labelYearDropdown: resolveLabel(labelYearDropdown, customLabels?.labelYearDropdown, localeLabels.labelYearDropdown),
1851
+ labelGrid: resolveLabel(labelGrid, customLabels?.labelGrid, localeLabels.labelGrid),
1852
+ labelGridcell: resolveLabel(labelGridcell, customLabels?.labelGridcell, localeLabels.labelGridcell),
1853
+ labelNav: resolveLabel(labelNav, customLabels?.labelNav, localeLabels.labelNav),
1854
+ labelWeekNumberHeader: resolveLabel(labelWeekNumberHeader, customLabels?.labelWeekNumberHeader, localeLabels.labelWeekNumberHeader),
1855
+ labelWeekday: resolveLabel(labelWeekday, customLabels?.labelWeekday, localeLabels.labelWeekday)
1856
+ };
1857
+ }
1858
+ //#endregion
1859
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js
1860
+ /**
1861
+ * Returns the months to show in the dropdown.
1862
+ *
1863
+ * This function generates a list of months for the current year, formatted
1864
+ * using the provided formatter, and determines whether each month should be
1865
+ * disabled based on the navigation range.
1866
+ *
1867
+ * @param displayMonth The currently displayed month.
1868
+ * @param navStart The start date for navigation.
1869
+ * @param navEnd The end date for navigation.
1870
+ * @param formatters The formatters to use for formatting the month labels.
1871
+ * @param dateLib The date library to use for date manipulation.
1872
+ * @returns An array of dropdown options representing the months, or `undefined`
1873
+ * if no months are available.
1874
+ */
1875
+ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
1876
+ const { startOfMonth, startOfYear, endOfYear, eachMonthOfInterval, getMonth } = dateLib;
1877
+ return eachMonthOfInterval({
1878
+ start: startOfYear(displayMonth),
1879
+ end: endOfYear(displayMonth)
1880
+ }).map((month) => {
1881
+ const label = formatters.formatMonthDropdown(month, dateLib);
1882
+ return {
1883
+ value: getMonth(month),
1884
+ label,
1885
+ disabled: navStart && month < startOfMonth(navStart) || navEnd && month > startOfMonth(navEnd) || false
1886
+ };
1887
+ });
1888
+ }
1889
+ //#endregion
1890
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js
1891
+ /**
1892
+ * Returns the computed style for a day based on its modifiers.
1893
+ *
1894
+ * This function merges the base styles for the day with any styles associated
1895
+ * with active modifiers.
1896
+ *
1897
+ * @param dayModifiers The modifiers applied to the day.
1898
+ * @param styles The base styles for the calendar elements.
1899
+ * @param modifiersStyles The styles associated with specific modifiers.
1900
+ * @returns The computed style for the day.
1901
+ */
1902
+ function getStyleForModifiers(dayModifiers, styles = {}, modifiersStyles = {}) {
1903
+ let style = { ...styles?.[UI.Day] };
1904
+ Object.entries(dayModifiers).filter(([, active]) => active === true).forEach(([modifier]) => {
1905
+ style = {
1906
+ ...style,
1907
+ ...modifiersStyles?.[modifier]
1908
+ };
1909
+ });
1910
+ return style;
1911
+ }
1912
+ //#endregion
1913
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js
1914
+ /**
1915
+ * Generates a series of 7 days, starting from the beginning of the week, to use
1916
+ * for formatting weekday names (e.g., Monday, Tuesday, etc.).
1917
+ *
1918
+ * @param dateLib The date library to use for date manipulation.
1919
+ * @param ISOWeek Whether to use ISO week numbering (weeks start on Monday).
1920
+ * @param broadcastCalendar Whether to use the broadcast calendar (weeks start
1921
+ * on Monday, but may include adjustments for broadcast-specific rules).
1922
+ * @returns An array of 7 dates representing the weekdays.
1923
+ */
1924
+ function getWeekdays(dateLib, ISOWeek, broadcastCalendar, today) {
1925
+ const referenceToday = today ?? dateLib.today();
1926
+ const start = broadcastCalendar ? dateLib.startOfBroadcastWeek(referenceToday, dateLib) : ISOWeek ? dateLib.startOfISOWeek(referenceToday) : dateLib.startOfWeek(referenceToday);
1927
+ const days = [];
1928
+ for (let i = 0; i < 7; i++) {
1929
+ const day = dateLib.addDays(start, i);
1930
+ days.push(day);
1931
+ }
1932
+ return days;
1933
+ }
1934
+ //#endregion
1935
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js
1936
+ /**
1937
+ * Returns the years to display in the dropdown.
1938
+ *
1939
+ * This function generates a list of years between the navigation start and end
1940
+ * dates, formatted using the provided formatter.
1941
+ *
1942
+ * @param navStart The start date for navigation.
1943
+ * @param navEnd The end date for navigation.
1944
+ * @param formatters The formatters to use for formatting the year labels.
1945
+ * @param dateLib The date library to use for date manipulation.
1946
+ * @param reverse If true, reverses the order of the years (descending).
1947
+ * @returns An array of dropdown options representing the years, or `undefined`
1948
+ * if `navStart` or `navEnd` is not provided.
1949
+ */
1950
+ function getYearOptions(navStart, navEnd, formatters, dateLib, reverse = false) {
1951
+ if (!navStart) return void 0;
1952
+ if (!navEnd) return void 0;
1953
+ const { startOfYear, endOfYear, eachYearOfInterval, getYear } = dateLib;
1954
+ const years = eachYearOfInterval({
1955
+ start: startOfYear(navStart),
1956
+ end: endOfYear(navEnd)
1957
+ });
1958
+ if (reverse) years.reverse();
1959
+ return years.map((year) => {
1960
+ const label = formatters.formatYearDropdown(year, dateLib);
1961
+ return {
1962
+ value: getYear(year),
1963
+ label,
1964
+ disabled: false
1965
+ };
1966
+ });
1967
+ }
1968
+ //#endregion
1969
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/noonDateLib.js
1970
+ /**
1971
+ * Creates `dateLib` overrides that keep all calendar math at noon in the target
1972
+ * time zone. This avoids second-level offset changes (e.g., historical zones
1973
+ * with +03:41:12) from pushing dates backward across midnight.
1974
+ */
1975
+ function createNoonOverrides(timeZone, options = {}) {
1976
+ const { weekStartsOn, locale } = options;
1977
+ const fallbackWeekStartsOn = weekStartsOn ?? locale?.options?.weekStartsOn ?? 0;
1978
+ const toNoonTZDate = (date) => {
1979
+ const normalizedDate = typeof date === "number" || typeof date === "string" ? new Date(date) : date;
1980
+ return new TZDate(normalizedDate.getFullYear(), normalizedDate.getMonth(), normalizedDate.getDate(), 12, 0, 0, timeZone);
1981
+ };
1982
+ const toCalendarDate = (date) => {
1983
+ const zoned = toNoonTZDate(date);
1984
+ return new Date(zoned.getFullYear(), zoned.getMonth(), zoned.getDate(), 0, 0, 0, 0);
1985
+ };
1986
+ return {
1987
+ today: () => {
1988
+ return toNoonTZDate(TZDate.tz(timeZone));
1989
+ },
1990
+ newDate: (year, monthIndex, date) => {
1991
+ return new TZDate(year, monthIndex, date, 12, 0, 0, timeZone);
1992
+ },
1993
+ startOfDay: (date) => {
1994
+ return toNoonTZDate(date);
1995
+ },
1996
+ startOfWeek: (date, options) => {
1997
+ const base = toNoonTZDate(date);
1998
+ const weekStartsOnValue = options?.weekStartsOn ?? fallbackWeekStartsOn;
1999
+ const diff = (base.getDay() - weekStartsOnValue + 7) % 7;
2000
+ base.setDate(base.getDate() - diff);
2001
+ return base;
2002
+ },
2003
+ startOfISOWeek: (date) => {
2004
+ const base = toNoonTZDate(date);
2005
+ const diff = (base.getDay() - 1 + 7) % 7;
2006
+ base.setDate(base.getDate() - diff);
2007
+ return base;
2008
+ },
2009
+ startOfMonth: (date) => {
2010
+ const base = toNoonTZDate(date);
2011
+ base.setDate(1);
2012
+ return base;
2013
+ },
2014
+ startOfYear: (date) => {
2015
+ const base = toNoonTZDate(date);
2016
+ base.setMonth(0, 1);
2017
+ return base;
2018
+ },
2019
+ endOfWeek: (date, options) => {
2020
+ const base = toNoonTZDate(date);
2021
+ const diff = (((options?.weekStartsOn ?? fallbackWeekStartsOn) + 6) % 7 - base.getDay() + 7) % 7;
2022
+ base.setDate(base.getDate() + diff);
2023
+ return base;
2024
+ },
2025
+ endOfISOWeek: (date) => {
2026
+ const base = toNoonTZDate(date);
2027
+ const diff = (7 - base.getDay()) % 7;
2028
+ base.setDate(base.getDate() + diff);
2029
+ return base;
2030
+ },
2031
+ endOfMonth: (date) => {
2032
+ const base = toNoonTZDate(date);
2033
+ base.setMonth(base.getMonth() + 1, 0);
2034
+ return base;
2035
+ },
2036
+ endOfYear: (date) => {
2037
+ const base = toNoonTZDate(date);
2038
+ base.setMonth(11, 31);
2039
+ return base;
2040
+ },
2041
+ eachMonthOfInterval: (interval) => {
2042
+ const start = toNoonTZDate(interval.start);
2043
+ const end = toNoonTZDate(interval.end);
2044
+ const result = [];
2045
+ const cursor = new TZDate(start.getFullYear(), start.getMonth(), 1, 12, 0, 0, timeZone);
2046
+ const endKey = end.getFullYear() * 12 + end.getMonth();
2047
+ while (cursor.getFullYear() * 12 + cursor.getMonth() <= endKey) {
2048
+ result.push(new TZDate(cursor, timeZone));
2049
+ cursor.setMonth(cursor.getMonth() + 1, 1);
2050
+ }
2051
+ return result;
2052
+ },
2053
+ addDays: (date, amount) => {
2054
+ const base = toNoonTZDate(date);
2055
+ base.setDate(base.getDate() + amount);
2056
+ return base;
2057
+ },
2058
+ addWeeks: (date, amount) => {
2059
+ const base = toNoonTZDate(date);
2060
+ base.setDate(base.getDate() + amount * 7);
2061
+ return base;
2062
+ },
2063
+ addMonths: (date, amount) => {
2064
+ const base = toNoonTZDate(date);
2065
+ base.setMonth(base.getMonth() + amount);
2066
+ return base;
2067
+ },
2068
+ addYears: (date, amount) => {
2069
+ const base = toNoonTZDate(date);
2070
+ base.setFullYear(base.getFullYear() + amount);
2071
+ return base;
2072
+ },
2073
+ eachYearOfInterval: (interval) => {
2074
+ const start = toNoonTZDate(interval.start);
2075
+ const end = toNoonTZDate(interval.end);
2076
+ const years = [];
2077
+ const cursor = new TZDate(start.getFullYear(), 0, 1, 12, 0, 0, timeZone);
2078
+ while (cursor.getFullYear() <= end.getFullYear()) {
2079
+ years.push(new TZDate(cursor, timeZone));
2080
+ cursor.setFullYear(cursor.getFullYear() + 1, 0, 1);
2081
+ }
2082
+ return years;
2083
+ },
2084
+ getWeek: (date, options) => {
2085
+ return getWeek(toCalendarDate(date), {
2086
+ weekStartsOn: options?.weekStartsOn ?? fallbackWeekStartsOn,
2087
+ firstWeekContainsDate: options?.firstWeekContainsDate ?? locale?.options?.firstWeekContainsDate ?? 1
2088
+ });
2089
+ },
2090
+ getISOWeek: (date) => {
2091
+ return getISOWeek(toCalendarDate(date));
2092
+ },
2093
+ differenceInCalendarDays: (dateLeft, dateRight) => {
2094
+ return differenceInCalendarDays(toCalendarDate(dateLeft), toCalendarDate(dateRight));
2095
+ },
2096
+ differenceInCalendarMonths: (dateLeft, dateRight) => {
2097
+ return differenceInCalendarMonths(toCalendarDate(dateLeft), toCalendarDate(dateRight));
2098
+ }
2099
+ };
2100
+ }
2101
+ //#endregion
2102
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/useAnimation.js
2103
+ var asHtmlElement = (element) => {
2104
+ if (element instanceof HTMLElement) return element;
2105
+ return null;
2106
+ };
2107
+ var queryMonthEls = (element) => [...element.querySelectorAll("[data-animated-month]") ?? []];
2108
+ var queryMonthEl = (element) => asHtmlElement(element.querySelector("[data-animated-month]"));
2109
+ var queryCaptionEl = (element) => asHtmlElement(element.querySelector("[data-animated-caption]"));
2110
+ var queryWeeksEl = (element) => asHtmlElement(element.querySelector("[data-animated-weeks]"));
2111
+ var queryNavEl = (element) => asHtmlElement(element.querySelector("[data-animated-nav]"));
2112
+ var queryWeekdaysEl = (element) => asHtmlElement(element.querySelector("[data-animated-weekdays]"));
2113
+ /**
2114
+ * Handles animations for transitioning between months in the DayPicker
2115
+ * component.
2116
+ *
2117
+ * @private
2118
+ * @param rootElRef - A reference to the root element of the DayPicker
2119
+ * component.
2120
+ * @param enabled - Whether animations are enabled.
2121
+ * @param options - Configuration options for the animation, including class
2122
+ * names, months, focused day, and the date utility library.
2123
+ */
2124
+ function useAnimation(rootElRef, enabled, { classNames, months, focused, dateLib }) {
2125
+ const previousRootElSnapshotRef = (0, import_react.useRef)(null);
2126
+ const previousMonthsRef = (0, import_react.useRef)(months);
2127
+ const animatingRef = (0, import_react.useRef)(false);
2128
+ (0, import_react.useLayoutEffect)(() => {
2129
+ const previousMonths = previousMonthsRef.current;
2130
+ previousMonthsRef.current = months;
2131
+ if (!enabled || !rootElRef.current || !(rootElRef.current instanceof HTMLElement) || months.length === 0 || previousMonths.length === 0 || months.length !== previousMonths.length) return;
2132
+ const isSameMonth = dateLib.isSameMonth(months[0].date, previousMonths[0].date);
2133
+ const isAfterPreviousMonth = dateLib.isAfter(months[0].date, previousMonths[0].date);
2134
+ const captionAnimationClass = isAfterPreviousMonth ? classNames[Animation.caption_after_enter] : classNames[Animation.caption_before_enter];
2135
+ const weeksAnimationClass = isAfterPreviousMonth ? classNames[Animation.weeks_after_enter] : classNames[Animation.weeks_before_enter];
2136
+ const previousRootElSnapshot = previousRootElSnapshotRef.current;
2137
+ const rootElSnapshot = rootElRef.current.cloneNode(true);
2138
+ if (rootElSnapshot instanceof HTMLElement) {
2139
+ queryMonthEls(rootElSnapshot).forEach((currentMonthElSnapshot) => {
2140
+ if (!(currentMonthElSnapshot instanceof HTMLElement)) return;
2141
+ const previousMonthElSnapshot = queryMonthEl(currentMonthElSnapshot);
2142
+ if (previousMonthElSnapshot && currentMonthElSnapshot.contains(previousMonthElSnapshot)) currentMonthElSnapshot.removeChild(previousMonthElSnapshot);
2143
+ const captionEl = queryCaptionEl(currentMonthElSnapshot);
2144
+ if (captionEl) captionEl.classList.remove(captionAnimationClass);
2145
+ const weeksEl = queryWeeksEl(currentMonthElSnapshot);
2146
+ if (weeksEl) weeksEl.classList.remove(weeksAnimationClass);
2147
+ });
2148
+ previousRootElSnapshotRef.current = rootElSnapshot;
2149
+ } else previousRootElSnapshotRef.current = null;
2150
+ if (animatingRef.current || isSameMonth || focused) return;
2151
+ const previousMonthEls = previousRootElSnapshot instanceof HTMLElement ? queryMonthEls(previousRootElSnapshot) : [];
2152
+ const currentMonthEls = queryMonthEls(rootElRef.current);
2153
+ if (currentMonthEls?.every((el) => el instanceof HTMLElement) && previousMonthEls && previousMonthEls.every((el) => el instanceof HTMLElement)) {
2154
+ animatingRef.current = true;
2155
+ const cleanUpFunctions = [];
2156
+ rootElRef.current.style.isolation = "isolate";
2157
+ const navEl = queryNavEl(rootElRef.current);
2158
+ if (navEl) navEl.style.zIndex = "1";
2159
+ currentMonthEls.forEach((currentMonthEl, index) => {
2160
+ const previousMonthEl = previousMonthEls[index];
2161
+ if (!previousMonthEl) return;
2162
+ currentMonthEl.style.position = "relative";
2163
+ currentMonthEl.style.overflow = "hidden";
2164
+ const captionEl = queryCaptionEl(currentMonthEl);
2165
+ if (captionEl) captionEl.classList.add(captionAnimationClass);
2166
+ const weeksEl = queryWeeksEl(currentMonthEl);
2167
+ if (weeksEl) weeksEl.classList.add(weeksAnimationClass);
2168
+ const cleanUp = () => {
2169
+ animatingRef.current = false;
2170
+ if (rootElRef.current) rootElRef.current.style.isolation = "";
2171
+ if (navEl) navEl.style.zIndex = "";
2172
+ if (captionEl) captionEl.classList.remove(captionAnimationClass);
2173
+ if (weeksEl) weeksEl.classList.remove(weeksAnimationClass);
2174
+ currentMonthEl.style.position = "";
2175
+ currentMonthEl.style.overflow = "";
2176
+ if (currentMonthEl.contains(previousMonthEl)) currentMonthEl.removeChild(previousMonthEl);
2177
+ };
2178
+ cleanUpFunctions.push(cleanUp);
2179
+ previousMonthEl.style.pointerEvents = "none";
2180
+ previousMonthEl.style.position = "absolute";
2181
+ previousMonthEl.style.overflow = "hidden";
2182
+ previousMonthEl.setAttribute("aria-hidden", "true");
2183
+ const previousWeekdaysEl = queryWeekdaysEl(previousMonthEl);
2184
+ if (previousWeekdaysEl) previousWeekdaysEl.style.opacity = "0";
2185
+ const previousCaptionEl = queryCaptionEl(previousMonthEl);
2186
+ if (previousCaptionEl) {
2187
+ previousCaptionEl.classList.add(isAfterPreviousMonth ? classNames[Animation.caption_before_exit] : classNames[Animation.caption_after_exit]);
2188
+ previousCaptionEl.addEventListener("animationend", cleanUp);
2189
+ }
2190
+ const previousWeeksEl = queryWeeksEl(previousMonthEl);
2191
+ if (previousWeeksEl) previousWeeksEl.classList.add(isAfterPreviousMonth ? classNames[Animation.weeks_before_exit] : classNames[Animation.weeks_after_exit]);
2192
+ currentMonthEl.insertBefore(previousMonthEl, currentMonthEl.firstChild);
2193
+ });
2194
+ }
2195
+ });
2196
+ }
2197
+ //#endregion
2198
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getDates.js
2199
+ /**
2200
+ * Returns all the dates to display in the calendar.
2201
+ *
2202
+ * This function calculates the range of dates to display based on the provided
2203
+ * display months, constraints, and calendar configuration.
2204
+ *
2205
+ * @param displayMonths The months to display in the calendar.
2206
+ * @param maxDate The maximum date to include in the range.
2207
+ * @param props The DayPicker props, including calendar configuration options.
2208
+ * @param dateLib The date library to use for date manipulation.
2209
+ * @returns An array of dates to display in the calendar.
2210
+ */
2211
+ function getDates(displayMonths, maxDate, props, dateLib) {
2212
+ const firstMonth = displayMonths[0];
2213
+ const lastMonth = displayMonths[displayMonths.length - 1];
2214
+ const { ISOWeek, fixedWeeks, broadcastCalendar } = props ?? {};
2215
+ const { addDays, differenceInCalendarDays, differenceInCalendarMonths, endOfBroadcastWeek, endOfISOWeek, endOfMonth, endOfWeek, isAfter, startOfBroadcastWeek, startOfISOWeek, startOfWeek } = dateLib;
2216
+ const startWeekFirstDate = broadcastCalendar ? startOfBroadcastWeek(firstMonth, dateLib) : ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
2217
+ const displayMonthsWeekEnd = broadcastCalendar ? endOfBroadcastWeek(lastMonth) : ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
2218
+ const constraintWeekEnd = maxDate && (broadcastCalendar ? endOfBroadcastWeek(maxDate) : ISOWeek ? endOfISOWeek(maxDate) : endOfWeek(maxDate));
2219
+ const nOfDays = differenceInCalendarDays(constraintWeekEnd && isAfter(displayMonthsWeekEnd, constraintWeekEnd) ? constraintWeekEnd : displayMonthsWeekEnd, startWeekFirstDate);
2220
+ const nOfMonths = differenceInCalendarMonths(lastMonth, firstMonth) + 1;
2221
+ const dates = [];
2222
+ for (let i = 0; i <= nOfDays; i++) {
2223
+ const date = addDays(startWeekFirstDate, i);
2224
+ dates.push(date);
2225
+ }
2226
+ const extraDates = (broadcastCalendar ? 35 : 42) * nOfMonths;
2227
+ if (fixedWeeks && dates.length < extraDates) {
2228
+ const daysToAdd = extraDates - dates.length;
2229
+ for (let i = 0; i < daysToAdd; i++) {
2230
+ const date = addDays(dates[dates.length - 1], 1);
2231
+ dates.push(date);
2232
+ }
2233
+ }
2234
+ return dates;
2235
+ }
2236
+ //#endregion
2237
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getDays.js
2238
+ /**
2239
+ * Returns all the days belonging to the calendar by merging the days in the
2240
+ * weeks for each month.
2241
+ *
2242
+ * @param calendarMonths The array of calendar months.
2243
+ * @returns An array of `CalendarDay` objects representing all the days in the
2244
+ * calendar.
2245
+ */
2246
+ function getDays(calendarMonths) {
2247
+ const initialDays = [];
2248
+ return calendarMonths.reduce((days, month) => {
2249
+ const weekDays = month.weeks.reduce((weekDays, week) => {
2250
+ return weekDays.concat(week.days.slice());
2251
+ }, initialDays.slice());
2252
+ return days.concat(weekDays.slice());
2253
+ }, initialDays.slice());
2254
+ }
2255
+ //#endregion
2256
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js
2257
+ /**
2258
+ * Returns the months to display in the calendar.
2259
+ *
2260
+ * @param firstDisplayedMonth The first month currently displayed in the
2261
+ * calendar.
2262
+ * @param calendarEndMonth The latest month the user can navigate to.
2263
+ * @param props The DayPicker props, including `numberOfMonths`.
2264
+ * @param dateLib The date library to use for date manipulation.
2265
+ * @returns An array of dates representing the months to display.
2266
+ */
2267
+ function getDisplayMonths(firstDisplayedMonth, calendarEndMonth, props, dateLib) {
2268
+ const { numberOfMonths = 1 } = props;
2269
+ const months = [];
2270
+ for (let i = 0; i < numberOfMonths; i++) {
2271
+ const month = dateLib.addMonths(firstDisplayedMonth, i);
2272
+ if (calendarEndMonth && month > calendarEndMonth) break;
2273
+ months.push(month);
2274
+ }
2275
+ return months;
2276
+ }
2277
+ //#endregion
2278
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js
2279
+ /**
2280
+ * Determines the initial month to display in the calendar based on the provided
2281
+ * props.
2282
+ *
2283
+ * This function calculates the starting month, considering constraints such as
2284
+ * `startMonth`, `endMonth`, and the number of months to display.
2285
+ *
2286
+ * @param props The DayPicker props, including navigation and date constraints.
2287
+ * @param dateLib The date library to use for date manipulation.
2288
+ * @returns The initial month to display.
2289
+ */
2290
+ function getInitialMonth(props, navStart, navEnd, dateLib) {
2291
+ const { month, defaultMonth, today = dateLib.today(), numberOfMonths = 1 } = props;
2292
+ let initialMonth = month || defaultMonth || today;
2293
+ const { differenceInCalendarMonths, addMonths, startOfMonth } = dateLib;
2294
+ if (navEnd && differenceInCalendarMonths(navEnd, initialMonth) < numberOfMonths - 1) initialMonth = addMonths(navEnd, -1 * (numberOfMonths - 1));
2295
+ if (navStart && differenceInCalendarMonths(initialMonth, navStart) < 0) initialMonth = navStart;
2296
+ return startOfMonth(initialMonth);
2297
+ }
2298
+ //#endregion
2299
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getMonths.js
2300
+ /**
2301
+ * Returns the months to display in the calendar.
2302
+ *
2303
+ * This function generates `CalendarMonth` objects for each month to be
2304
+ * displayed, including their weeks and days, based on the provided display
2305
+ * months and dates.
2306
+ *
2307
+ * @param displayMonths The months (as dates) to display in the calendar.
2308
+ * @param dates The dates to display in the calendar.
2309
+ * @param props Options from the DayPicker props context.
2310
+ * @param dateLib The date library to use for date manipulation.
2311
+ * @returns An array of `CalendarMonth` objects representing the months to
2312
+ * display.
2313
+ */
2314
+ function getMonths(displayMonths, dates, props, dateLib) {
2315
+ const { addDays, endOfBroadcastWeek, endOfISOWeek, endOfMonth, endOfWeek, getISOWeek, getWeek, startOfBroadcastWeek, startOfISOWeek, startOfWeek } = dateLib;
2316
+ const dayPickerMonths = displayMonths.reduce((months, month) => {
2317
+ const firstDateOfFirstWeek = props.broadcastCalendar ? startOfBroadcastWeek(month, dateLib) : props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
2318
+ const lastDateOfLastWeek = props.broadcastCalendar ? endOfBroadcastWeek(month) : props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
2319
+ /** The dates to display in the month. */
2320
+ const monthDates = dates.filter((date) => {
2321
+ return date >= firstDateOfFirstWeek && date <= lastDateOfLastWeek;
2322
+ });
2323
+ const nrOfDaysWithFixedWeeks = props.broadcastCalendar ? 35 : 42;
2324
+ if (props.fixedWeeks && monthDates.length < nrOfDaysWithFixedWeeks) {
2325
+ const extraDates = dates.filter((date) => {
2326
+ const daysToAdd = nrOfDaysWithFixedWeeks - monthDates.length;
2327
+ return date > lastDateOfLastWeek && date <= addDays(lastDateOfLastWeek, daysToAdd);
2328
+ });
2329
+ monthDates.push(...extraDates);
2330
+ }
2331
+ const dayPickerMonth = new CalendarMonth(month, monthDates.reduce((weeks, date) => {
2332
+ const weekNumber = props.ISOWeek ? getISOWeek(date) : getWeek(date);
2333
+ const week = weeks.find((week) => week.weekNumber === weekNumber);
2334
+ const day = new CalendarDay(date, month, dateLib);
2335
+ if (!week) weeks.push(new CalendarWeek(weekNumber, [day]));
2336
+ else week.days.push(day);
2337
+ return weeks;
2338
+ }, []));
2339
+ months.push(dayPickerMonth);
2340
+ return months;
2341
+ }, []);
2342
+ if (!props.reverseMonths) return dayPickerMonths;
2343
+ else return dayPickerMonths.reverse();
2344
+ }
2345
+ //#endregion
2346
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js
2347
+ /**
2348
+ * Returns the start and end months for calendar navigation.
2349
+ *
2350
+ * @param props The DayPicker props, including navigation and layout options.
2351
+ * @param dateLib The date library to use for date manipulation.
2352
+ * @returns A tuple containing the start and end months for navigation.
2353
+ */
2354
+ function getNavMonths(props, dateLib) {
2355
+ let { startMonth, endMonth } = props;
2356
+ const { startOfYear, startOfDay, startOfMonth, endOfMonth, addYears, endOfYear, newDate, today } = dateLib;
2357
+ const { fromYear, toYear, fromMonth, toMonth } = props;
2358
+ if (!startMonth && fromMonth) startMonth = fromMonth;
2359
+ if (!startMonth && fromYear) startMonth = dateLib.newDate(fromYear, 0, 1);
2360
+ if (!endMonth && toMonth) endMonth = toMonth;
2361
+ if (!endMonth && toYear) endMonth = newDate(toYear, 11, 31);
2362
+ const hasYearDropdown = props.captionLayout === "dropdown" || props.captionLayout === "dropdown-years";
2363
+ if (startMonth) startMonth = startOfMonth(startMonth);
2364
+ else if (fromYear) startMonth = newDate(fromYear, 0, 1);
2365
+ else if (!startMonth && hasYearDropdown) startMonth = startOfYear(addYears(props.today ?? today(), -100));
2366
+ if (endMonth) endMonth = endOfMonth(endMonth);
2367
+ else if (toYear) endMonth = newDate(toYear, 11, 31);
2368
+ else if (!endMonth && hasYearDropdown) endMonth = endOfYear(props.today ?? today());
2369
+ return [startMonth ? startOfDay(startMonth) : startMonth, endMonth ? startOfDay(endMonth) : endMonth];
2370
+ }
2371
+ //#endregion
2372
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js
2373
+ /**
2374
+ * Returns the next month the user can navigate to, based on the given options.
2375
+ *
2376
+ * The next month is not always the next calendar month:
2377
+ *
2378
+ * - If it is after the `calendarEndMonth`, it returns `undefined`.
2379
+ * - If paged navigation is enabled, it skips forward by the number of displayed
2380
+ * months.
2381
+ *
2382
+ * @param firstDisplayedMonth The first month currently displayed in the
2383
+ * calendar.
2384
+ * @param calendarEndMonth The latest month the user can navigate to.
2385
+ * @param options Navigation options, including `numberOfMonths` and
2386
+ * `pagedNavigation`.
2387
+ * @param dateLib The date library to use for date manipulation.
2388
+ * @returns The next month, or `undefined` if navigation is not possible.
2389
+ */
2390
+ function getNextMonth(firstDisplayedMonth, calendarEndMonth, options, dateLib) {
2391
+ if (options.disableNavigation) return;
2392
+ const { pagedNavigation, numberOfMonths = 1 } = options;
2393
+ const { startOfMonth, addMonths, differenceInCalendarMonths } = dateLib;
2394
+ const offset = pagedNavigation ? numberOfMonths : 1;
2395
+ const month = startOfMonth(firstDisplayedMonth);
2396
+ if (!calendarEndMonth) return addMonths(month, offset);
2397
+ if (differenceInCalendarMonths(calendarEndMonth, firstDisplayedMonth) < numberOfMonths) return;
2398
+ return addMonths(month, offset);
2399
+ }
2400
+ //#endregion
2401
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js
2402
+ /**
2403
+ * Returns the previous month the user can navigate to, based on the given
2404
+ * options.
2405
+ *
2406
+ * The previous month is not always the previous calendar month:
2407
+ *
2408
+ * - If it is before the `calendarStartMonth`, it returns `undefined`.
2409
+ * - If paged navigation is enabled, it skips back by the number of displayed
2410
+ * months.
2411
+ *
2412
+ * @param firstDisplayedMonth The first month currently displayed in the
2413
+ * calendar.
2414
+ * @param calendarStartMonth The earliest month the user can navigate to.
2415
+ * @param options Navigation options, including `numberOfMonths` and
2416
+ * `pagedNavigation`.
2417
+ * @param dateLib The date library to use for date manipulation.
2418
+ * @returns The previous month, or `undefined` if navigation is not possible.
2419
+ */
2420
+ function getPreviousMonth(firstDisplayedMonth, calendarStartMonth, options, dateLib) {
2421
+ if (options.disableNavigation) return;
2422
+ const { pagedNavigation, numberOfMonths } = options;
2423
+ const { startOfMonth, addMonths, differenceInCalendarMonths } = dateLib;
2424
+ const offset = pagedNavigation ? numberOfMonths ?? 1 : 1;
2425
+ const month = startOfMonth(firstDisplayedMonth);
2426
+ if (!calendarStartMonth) return addMonths(month, -offset);
2427
+ if (differenceInCalendarMonths(month, calendarStartMonth) <= 0) return;
2428
+ return addMonths(month, -offset);
2429
+ }
2430
+ //#endregion
2431
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js
2432
+ /**
2433
+ * Returns an array of calendar weeks from an array of calendar months.
2434
+ *
2435
+ * @param months The array of calendar months.
2436
+ * @returns An array of calendar weeks.
2437
+ */
2438
+ function getWeeks(months) {
2439
+ return months.reduce((weeks, month) => {
2440
+ return weeks.concat(month.weeks.slice());
2441
+ }, [].slice());
2442
+ }
2443
+ //#endregion
2444
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js
2445
+ /**
2446
+ * A custom hook for managing both controlled and uncontrolled component states.
2447
+ *
2448
+ * This hook allows a component to support both controlled and uncontrolled
2449
+ * states by determining whether the `controlledValue` is provided. If it is
2450
+ * undefined, the hook falls back to using the internal state.
2451
+ *
2452
+ * @example
2453
+ * // Uncontrolled usage
2454
+ * const [value, setValue] = useControlledValue(0, undefined);
2455
+ *
2456
+ * // Controlled usage
2457
+ * const [value, setValue] = useControlledValue(0, props.value);
2458
+ *
2459
+ * @template T - The type of the value.
2460
+ * @param defaultValue The initial value for the uncontrolled state.
2461
+ * @param controlledValue The value for the controlled state. If undefined, the
2462
+ * component will use the uncontrolled state.
2463
+ * @returns A tuple where the first element is the current value (either
2464
+ * controlled or uncontrolled) and the second element is a setter function to
2465
+ * update the value.
2466
+ */
2467
+ function useControlledValue(defaultValue, controlledValue) {
2468
+ const [uncontrolledValue, setValue] = (0, import_react.useState)(defaultValue);
2469
+ return [controlledValue === void 0 ? uncontrolledValue : controlledValue, setValue];
2470
+ }
2471
+ //#endregion
2472
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/useCalendar.js
2473
+ /**
2474
+ * Provides the calendar object to work with the calendar in custom components.
2475
+ *
2476
+ * @private
2477
+ * @param props - The DayPicker props related to calendar configuration.
2478
+ * @param dateLib - The date utility library instance.
2479
+ * @returns The calendar object containing displayed days, weeks, months, and
2480
+ * navigation methods.
2481
+ */
2482
+ function useCalendar(props, dateLib) {
2483
+ const [navStart, navEnd] = getNavMonths(props, dateLib);
2484
+ const { startOfMonth, endOfMonth } = dateLib;
2485
+ const initialMonth = getInitialMonth(props, navStart, navEnd, dateLib);
2486
+ const [firstMonth, setFirstMonth] = useControlledValue(initialMonth, props.month ? initialMonth : void 0);
2487
+ (0, import_react.useEffect)(() => {
2488
+ setFirstMonth(getInitialMonth(props, navStart, navEnd, dateLib));
2489
+ }, [props.timeZone]);
2490
+ /** The months displayed in the calendar. */
2491
+ const { months, weeks, days, previousMonth, nextMonth } = (0, import_react.useMemo)(() => {
2492
+ const displayMonths = getDisplayMonths(firstMonth, navEnd, { numberOfMonths: props.numberOfMonths }, dateLib);
2493
+ const months = getMonths(displayMonths, getDates(displayMonths, props.endMonth ? endOfMonth(props.endMonth) : void 0, {
2494
+ ISOWeek: props.ISOWeek,
2495
+ fixedWeeks: props.fixedWeeks,
2496
+ broadcastCalendar: props.broadcastCalendar
2497
+ }, dateLib), {
2498
+ broadcastCalendar: props.broadcastCalendar,
2499
+ fixedWeeks: props.fixedWeeks,
2500
+ ISOWeek: props.ISOWeek,
2501
+ reverseMonths: props.reverseMonths
2502
+ }, dateLib);
2503
+ return {
2504
+ months,
2505
+ weeks: getWeeks(months),
2506
+ days: getDays(months),
2507
+ previousMonth: getPreviousMonth(firstMonth, navStart, props, dateLib),
2508
+ nextMonth: getNextMonth(firstMonth, navEnd, props, dateLib)
2509
+ };
2510
+ }, [
2511
+ dateLib,
2512
+ firstMonth.getTime(),
2513
+ navEnd?.getTime(),
2514
+ navStart?.getTime(),
2515
+ props.disableNavigation,
2516
+ props.broadcastCalendar,
2517
+ props.endMonth?.getTime(),
2518
+ props.fixedWeeks,
2519
+ props.ISOWeek,
2520
+ props.numberOfMonths,
2521
+ props.pagedNavigation,
2522
+ props.reverseMonths
2523
+ ]);
2524
+ const { disableNavigation, onMonthChange } = props;
2525
+ const isDayInCalendar = (day) => weeks.some((week) => week.days.some((d) => d.isEqualTo(day)));
2526
+ const goToMonth = (date) => {
2527
+ if (disableNavigation) return;
2528
+ let newMonth = startOfMonth(date);
2529
+ if (navStart && newMonth < startOfMonth(navStart)) newMonth = startOfMonth(navStart);
2530
+ if (navEnd && newMonth > startOfMonth(navEnd)) newMonth = startOfMonth(navEnd);
2531
+ setFirstMonth(newMonth);
2532
+ onMonthChange?.(newMonth);
2533
+ };
2534
+ const goToDay = (day) => {
2535
+ if (isDayInCalendar(day)) return;
2536
+ goToMonth(day.date);
2537
+ };
2538
+ return {
2539
+ months,
2540
+ weeks,
2541
+ days,
2542
+ navStart,
2543
+ navEnd,
2544
+ previousMonth,
2545
+ nextMonth,
2546
+ goToMonth,
2547
+ goToDay
2548
+ };
2549
+ }
2550
+ //#endregion
2551
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js
2552
+ var FocusTargetPriority;
2553
+ (function(FocusTargetPriority) {
2554
+ FocusTargetPriority[FocusTargetPriority["Today"] = 0] = "Today";
2555
+ FocusTargetPriority[FocusTargetPriority["Selected"] = 1] = "Selected";
2556
+ FocusTargetPriority[FocusTargetPriority["LastFocused"] = 2] = "LastFocused";
2557
+ FocusTargetPriority[FocusTargetPriority["FocusedModifier"] = 3] = "FocusedModifier";
2558
+ })(FocusTargetPriority || (FocusTargetPriority = {}));
2559
+ /**
2560
+ * Determines if a day is focusable based on its modifiers.
2561
+ *
2562
+ * A day is considered focusable if it is not disabled, hidden, or outside the
2563
+ * displayed month.
2564
+ *
2565
+ * @param modifiers The modifiers applied to the day.
2566
+ * @returns `true` if the day is focusable, otherwise `false`.
2567
+ */
2568
+ function isFocusableDay(modifiers) {
2569
+ return !modifiers[DayFlag.disabled] && !modifiers[DayFlag.hidden] && !modifiers[DayFlag.outside];
2570
+ }
2571
+ /**
2572
+ * Calculates the focus target day based on priority.
2573
+ *
2574
+ * This function determines the day that should receive focus in the calendar,
2575
+ * prioritizing days with specific modifiers (e.g., "focused", "today") or
2576
+ * selection states.
2577
+ *
2578
+ * @param days The array of `CalendarDay` objects to evaluate.
2579
+ * @param getModifiers A function to retrieve the modifiers for a given day.
2580
+ * @param isSelected A function to determine if a day is selected.
2581
+ * @param lastFocused The last focused day, if any.
2582
+ * @returns The `CalendarDay` that should receive focus, or `undefined` if no
2583
+ * focusable day is found.
2584
+ */
2585
+ function calculateFocusTarget(days, getModifiers, isSelected, lastFocused) {
2586
+ let focusTarget;
2587
+ let foundFocusTargetPriority = -1;
2588
+ for (const day of days) {
2589
+ const modifiers = getModifiers(day);
2590
+ if (isFocusableDay(modifiers)) {
2591
+ if (modifiers[DayFlag.focused] && foundFocusTargetPriority < FocusTargetPriority.FocusedModifier) {
2592
+ focusTarget = day;
2593
+ foundFocusTargetPriority = FocusTargetPriority.FocusedModifier;
2594
+ } else if (lastFocused?.isEqualTo(day) && foundFocusTargetPriority < FocusTargetPriority.LastFocused) {
2595
+ focusTarget = day;
2596
+ foundFocusTargetPriority = FocusTargetPriority.LastFocused;
2597
+ } else if (isSelected(day.date) && foundFocusTargetPriority < FocusTargetPriority.Selected) {
2598
+ focusTarget = day;
2599
+ foundFocusTargetPriority = FocusTargetPriority.Selected;
2600
+ } else if (modifiers[DayFlag.today] && foundFocusTargetPriority < FocusTargetPriority.Today) {
2601
+ focusTarget = day;
2602
+ foundFocusTargetPriority = FocusTargetPriority.Today;
2603
+ }
2604
+ }
2605
+ }
2606
+ if (!focusTarget) focusTarget = days.find((day) => isFocusableDay(getModifiers(day)));
2607
+ return focusTarget;
2608
+ }
2609
+ //#endregion
2610
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js
2611
+ /**
2612
+ * Calculates the next date that should be focused in the calendar.
2613
+ *
2614
+ * This function determines the next focusable date based on the movement
2615
+ * direction, constraints, and calendar configuration.
2616
+ *
2617
+ * @param moveBy The unit of movement (e.g., "day", "week").
2618
+ * @param moveDir The direction of movement ("before" or "after").
2619
+ * @param refDate The reference date from which to calculate the next focusable
2620
+ * date.
2621
+ * @param navStart The earliest date the user can navigate to.
2622
+ * @param navEnd The latest date the user can navigate to.
2623
+ * @param props The DayPicker props, including calendar configuration options.
2624
+ * @param dateLib The date library to use for date manipulation.
2625
+ * @returns The next focusable date.
2626
+ */
2627
+ function getFocusableDate(moveBy, moveDir, refDate, navStart, navEnd, props, dateLib) {
2628
+ const { ISOWeek, broadcastCalendar } = props;
2629
+ const { addDays, addMonths, addWeeks, addYears, endOfBroadcastWeek, endOfISOWeek, endOfWeek, max, min, startOfBroadcastWeek, startOfISOWeek, startOfWeek } = dateLib;
2630
+ let focusableDate = {
2631
+ day: addDays,
2632
+ week: addWeeks,
2633
+ month: addMonths,
2634
+ year: addYears,
2635
+ startOfWeek: (date) => broadcastCalendar ? startOfBroadcastWeek(date, dateLib) : ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
2636
+ endOfWeek: (date) => broadcastCalendar ? endOfBroadcastWeek(date) : ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
2637
+ }[moveBy](refDate, moveDir === "after" ? 1 : -1);
2638
+ if (moveDir === "before" && navStart) focusableDate = max([navStart, focusableDate]);
2639
+ else if (moveDir === "after" && navEnd) focusableDate = min([navEnd, focusableDate]);
2640
+ return focusableDate;
2641
+ }
2642
+ //#endregion
2643
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js
2644
+ /**
2645
+ * Determines the next focusable day in the calendar.
2646
+ *
2647
+ * This function recursively calculates the next focusable day based on the
2648
+ * movement direction and modifiers applied to the days.
2649
+ *
2650
+ * @param moveBy The unit of movement (e.g., "day", "week").
2651
+ * @param moveDir The direction of movement ("before" or "after").
2652
+ * @param refDay The currently focused day.
2653
+ * @param calendarStartMonth The earliest month the user can navigate to.
2654
+ * @param calendarEndMonth The latest month the user can navigate to.
2655
+ * @param props The DayPicker props, including modifiers and configuration
2656
+ * options.
2657
+ * @param dateLib The date library to use for date manipulation.
2658
+ * @param attempt The current recursion attempt (used to limit recursion depth).
2659
+ * @returns The next focusable day, or `undefined` if no focusable day is found.
2660
+ */
2661
+ function getNextFocus(moveBy, moveDir, refDay, calendarStartMonth, calendarEndMonth, props, dateLib, attempt = 0) {
2662
+ if (attempt > 365) return;
2663
+ const focusableDate = getFocusableDate(moveBy, moveDir, refDay.date, calendarStartMonth, calendarEndMonth, props, dateLib);
2664
+ const isDisabled = Boolean(props.disabled && dateMatchModifiers(focusableDate, props.disabled, dateLib));
2665
+ const isHidden = Boolean(props.hidden && dateMatchModifiers(focusableDate, props.hidden, dateLib));
2666
+ const focusDay = new CalendarDay(focusableDate, focusableDate, dateLib);
2667
+ if (!isDisabled && !isHidden) return focusDay;
2668
+ return getNextFocus(moveBy, moveDir, focusDay, calendarStartMonth, calendarEndMonth, props, dateLib, attempt + 1);
2669
+ }
2670
+ //#endregion
2671
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/useFocus.js
2672
+ /**
2673
+ * Manages focus behavior for the DayPicker component, including setting,
2674
+ * moving, and blurring focus on calendar days.
2675
+ *
2676
+ * @template T - The type of DayPicker props.
2677
+ * @param props - The DayPicker props.
2678
+ * @param calendar - The calendar object containing the displayed days and
2679
+ * months.
2680
+ * @param getModifiers - A function to retrieve modifiers for a given day.
2681
+ * @param isSelected - A function to check if a date is selected.
2682
+ * @param dateLib - The date utility library instance.
2683
+ * @returns An object containing focus-related methods and the currently focused
2684
+ * day.
2685
+ */
2686
+ function useFocus(props, calendar, getModifiers, isSelected, dateLib) {
2687
+ const { autoFocus } = props;
2688
+ const [lastFocused, setLastFocused] = (0, import_react.useState)();
2689
+ const focusTarget = calculateFocusTarget(calendar.days, getModifiers, isSelected || (() => false), lastFocused);
2690
+ const [focusedDay, setFocused] = (0, import_react.useState)(autoFocus ? focusTarget : void 0);
2691
+ const blur = () => {
2692
+ setLastFocused(focusedDay);
2693
+ setFocused(void 0);
2694
+ };
2695
+ const moveFocus = (moveBy, moveDir) => {
2696
+ if (!focusedDay) return;
2697
+ const nextFocus = getNextFocus(moveBy, moveDir, focusedDay, calendar.navStart, calendar.navEnd, props, dateLib);
2698
+ if (!nextFocus) return;
2699
+ if (props.disableNavigation) {
2700
+ if (!calendar.days.some((day) => day.isEqualTo(nextFocus))) return;
2701
+ }
2702
+ calendar.goToDay(nextFocus);
2703
+ setFocused(nextFocus);
2704
+ };
2705
+ const isFocusTarget = (day) => {
2706
+ return Boolean(focusTarget?.isEqualTo(day));
2707
+ };
2708
+ return {
2709
+ isFocusTarget,
2710
+ setFocused,
2711
+ focused: focusedDay,
2712
+ blur,
2713
+ moveFocus
2714
+ };
2715
+ }
2716
+ //#endregion
2717
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/selection/useMulti.js
2718
+ /**
2719
+ * Hook to manage multiple-date selection in the DayPicker component.
2720
+ *
2721
+ * @template T - The type of DayPicker props.
2722
+ * @param props - The DayPicker props.
2723
+ * @param dateLib - The date utility library instance.
2724
+ * @returns An object containing the selected dates, a function to select dates,
2725
+ * and a function to check if a date is selected.
2726
+ */
2727
+ function useMulti(props, dateLib) {
2728
+ const { selected: initiallySelected, required, onSelect } = props;
2729
+ const [internallySelected, setSelected] = useControlledValue(initiallySelected, onSelect ? initiallySelected : void 0);
2730
+ const selected = !onSelect ? internallySelected : initiallySelected;
2731
+ const { isSameDay } = dateLib;
2732
+ const isSelected = (date) => {
2733
+ return selected?.some((d) => isSameDay(d, date)) ?? false;
2734
+ };
2735
+ const { min, max } = props;
2736
+ const select = (triggerDate, modifiers, e) => {
2737
+ let newDates = [...selected ?? []];
2738
+ if (isSelected(triggerDate)) {
2739
+ if (selected?.length === min) return;
2740
+ if (required && selected?.length === 1) return;
2741
+ newDates = selected?.filter((d) => !isSameDay(d, triggerDate));
2742
+ } else if (selected?.length === max) newDates = [triggerDate];
2743
+ else newDates = [...newDates, triggerDate];
2744
+ if (!onSelect) setSelected(newDates);
2745
+ onSelect?.(newDates, triggerDate, modifiers, e);
2746
+ return newDates;
2747
+ };
2748
+ return {
2749
+ selected,
2750
+ select,
2751
+ isSelected
2752
+ };
2753
+ }
2754
+ //#endregion
2755
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/addToRange.js
2756
+ /**
2757
+ * Adds a date to an existing range, considering constraints like minimum and
2758
+ * maximum range size.
2759
+ *
2760
+ * @param date - The date to add to the range.
2761
+ * @param initialRange - The initial range to which the date will be added.
2762
+ * @param min - The minimum number of days in the range.
2763
+ * @param max - The maximum number of days in the range.
2764
+ * @param required - Whether the range must always include at least one date.
2765
+ * @param dateLib - The date utility library instance.
2766
+ * @returns The updated date range, or `undefined` if the range is cleared.
2767
+ * @group Utilities
2768
+ */
2769
+ function addToRange(date, initialRange, min = 0, max = 0, required = false, dateLib = defaultDateLib) {
2770
+ const { from, to } = initialRange || {};
2771
+ const { isSameDay, isAfter, isBefore } = dateLib;
2772
+ let range;
2773
+ if (!from && !to) range = {
2774
+ from: date,
2775
+ to: min > 0 ? void 0 : date
2776
+ };
2777
+ else if (from && !to) if (isSameDay(from, date)) if (min === 0) range = {
2778
+ from,
2779
+ to: date
2780
+ };
2781
+ else if (required) range = {
2782
+ from,
2783
+ to: void 0
2784
+ };
2785
+ else range = void 0;
2786
+ else if (isBefore(date, from)) range = {
2787
+ from: date,
2788
+ to: from
2789
+ };
2790
+ else range = {
2791
+ from,
2792
+ to: date
2793
+ };
2794
+ else if (from && to) if (isSameDay(from, date) && isSameDay(to, date)) if (required) range = {
2795
+ from,
2796
+ to
2797
+ };
2798
+ else range = void 0;
2799
+ else if (isSameDay(from, date)) range = {
2800
+ from,
2801
+ to: min > 0 ? void 0 : date
2802
+ };
2803
+ else if (isSameDay(to, date)) range = {
2804
+ from: date,
2805
+ to: min > 0 ? void 0 : date
2806
+ };
2807
+ else if (isBefore(date, from)) range = {
2808
+ from: date,
2809
+ to
2810
+ };
2811
+ else if (isAfter(date, from)) range = {
2812
+ from,
2813
+ to: date
2814
+ };
2815
+ else if (isAfter(date, to)) range = {
2816
+ from,
2817
+ to: date
2818
+ };
2819
+ else throw new Error("Invalid range");
2820
+ if (range?.from && range?.to) {
2821
+ const diff = dateLib.differenceInCalendarDays(range.to, range.from);
2822
+ if (max > 0 && diff > max) range = {
2823
+ from: date,
2824
+ to: void 0
2825
+ };
2826
+ else if (min > 1 && diff < min) range = {
2827
+ from: date,
2828
+ to: void 0
2829
+ };
2830
+ }
2831
+ return range;
2832
+ }
2833
+ //#endregion
2834
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js
2835
+ /**
2836
+ * Checks if a date range contains one or more specified days of the week.
2837
+ *
2838
+ * @since 9.2.2
2839
+ * @param range - The date range to check.
2840
+ * @param dayOfWeek - The day(s) of the week to check for (`0-6`, where `0` is
2841
+ * Sunday).
2842
+ * @param dateLib - The date utility library instance.
2843
+ * @returns `true` if the range contains the specified day(s) of the week,
2844
+ * otherwise `false`.
2845
+ * @group Utilities
2846
+ */
2847
+ function rangeContainsDayOfWeek(range, dayOfWeek, dateLib = defaultDateLib) {
2848
+ const dayOfWeekArr = !Array.isArray(dayOfWeek) ? [dayOfWeek] : dayOfWeek;
2849
+ let date = range.from;
2850
+ const totalDays = dateLib.differenceInCalendarDays(range.to, range.from);
2851
+ const totalDaysLimit = Math.min(totalDays, 6);
2852
+ for (let i = 0; i <= totalDaysLimit; i++) {
2853
+ if (dayOfWeekArr.includes(date.getDay())) return true;
2854
+ date = dateLib.addDays(date, 1);
2855
+ }
2856
+ return false;
2857
+ }
2858
+ //#endregion
2859
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js
2860
+ /**
2861
+ * Determines if two date ranges overlap.
2862
+ *
2863
+ * @since 9.2.2
2864
+ * @param rangeLeft - The first date range.
2865
+ * @param rangeRight - The second date range.
2866
+ * @param dateLib - The date utility library instance.
2867
+ * @returns `true` if the ranges overlap, otherwise `false`.
2868
+ * @group Utilities
2869
+ */
2870
+ function rangeOverlaps(rangeLeft, rangeRight, dateLib = defaultDateLib) {
2871
+ return rangeIncludesDate(rangeLeft, rangeRight.from, false, dateLib) || rangeIncludesDate(rangeLeft, rangeRight.to, false, dateLib) || rangeIncludesDate(rangeRight, rangeLeft.from, false, dateLib) || rangeIncludesDate(rangeRight, rangeLeft.to, false, dateLib);
2872
+ }
2873
+ //#endregion
2874
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js
2875
+ /**
2876
+ * Checks if a date range contains dates that match the given modifiers.
2877
+ *
2878
+ * @since 9.2.2
2879
+ * @param range - The date range to check.
2880
+ * @param modifiers - The modifiers to match against.
2881
+ * @param dateLib - The date utility library instance.
2882
+ * @returns `true` if the range contains matching dates, otherwise `false`.
2883
+ * @group Utilities
2884
+ */
2885
+ function rangeContainsModifiers(range, modifiers, dateLib = defaultDateLib) {
2886
+ const matchers = Array.isArray(modifiers) ? modifiers : [modifiers];
2887
+ if (matchers.filter((matcher) => typeof matcher !== "function").some((matcher) => {
2888
+ if (typeof matcher === "boolean") return matcher;
2889
+ if (dateLib.isDate(matcher)) return rangeIncludesDate(range, matcher, false, dateLib);
2890
+ if (isDatesArray(matcher, dateLib)) return matcher.some((date) => rangeIncludesDate(range, date, false, dateLib));
2891
+ if (isDateRange(matcher)) {
2892
+ if (matcher.from && matcher.to) return rangeOverlaps(range, {
2893
+ from: matcher.from,
2894
+ to: matcher.to
2895
+ }, dateLib);
2896
+ return false;
2897
+ }
2898
+ if (isDayOfWeekType(matcher)) return rangeContainsDayOfWeek(range, matcher.dayOfWeek, dateLib);
2899
+ if (isDateInterval(matcher)) {
2900
+ if (dateLib.isAfter(matcher.before, matcher.after)) return rangeOverlaps(range, {
2901
+ from: dateLib.addDays(matcher.after, 1),
2902
+ to: dateLib.addDays(matcher.before, -1)
2903
+ }, dateLib);
2904
+ return dateMatchModifiers(range.from, matcher, dateLib) || dateMatchModifiers(range.to, matcher, dateLib);
2905
+ }
2906
+ if (isDateAfterType(matcher) || isDateBeforeType(matcher)) return dateMatchModifiers(range.from, matcher, dateLib) || dateMatchModifiers(range.to, matcher, dateLib);
2907
+ return false;
2908
+ })) return true;
2909
+ const functionMatchers = matchers.filter((matcher) => typeof matcher === "function");
2910
+ if (functionMatchers.length) {
2911
+ let date = range.from;
2912
+ const totalDays = dateLib.differenceInCalendarDays(range.to, range.from);
2913
+ for (let i = 0; i <= totalDays; i++) {
2914
+ if (functionMatchers.some((matcher) => matcher(date))) return true;
2915
+ date = dateLib.addDays(date, 1);
2916
+ }
2917
+ }
2918
+ return false;
2919
+ }
2920
+ //#endregion
2921
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/selection/useRange.js
2922
+ /**
2923
+ * Hook to manage range selection in the DayPicker component.
2924
+ *
2925
+ * @template T - The type of DayPicker props.
2926
+ * @param props - The DayPicker props.
2927
+ * @param dateLib - The date utility library instance.
2928
+ * @returns An object containing the selected range, a function to select a
2929
+ * range, and a function to check if a date is within the range.
2930
+ */
2931
+ function useRange(props, dateLib) {
2932
+ const { disabled, excludeDisabled, resetOnSelect, selected: initiallySelected, required, onSelect } = props;
2933
+ const [internallySelected, setSelected] = useControlledValue(initiallySelected, onSelect ? initiallySelected : void 0);
2934
+ const selected = !onSelect ? internallySelected : initiallySelected;
2935
+ const isSelected = (date) => selected && rangeIncludesDate(selected, date, false, dateLib);
2936
+ const select = (triggerDate, modifiers, e) => {
2937
+ const { min, max } = props;
2938
+ let newRange;
2939
+ if (triggerDate) {
2940
+ const selectedFrom = selected?.from;
2941
+ const selectedTo = selected?.to;
2942
+ const hasFullRange = !!selectedFrom && !!selectedTo;
2943
+ const isClickingSingleDayRange = !!selectedFrom && !!selectedTo && dateLib.isSameDay(selectedFrom, selectedTo) && dateLib.isSameDay(triggerDate, selectedFrom);
2944
+ if (resetOnSelect && (hasFullRange || !selected?.from)) if (!required && isClickingSingleDayRange) newRange = void 0;
2945
+ else newRange = {
2946
+ from: triggerDate,
2947
+ to: void 0
2948
+ };
2949
+ else newRange = addToRange(triggerDate, selected, min, max, required, dateLib);
2950
+ }
2951
+ if (excludeDisabled && disabled && newRange?.from && newRange.to) {
2952
+ if (rangeContainsModifiers({
2953
+ from: newRange.from,
2954
+ to: newRange.to
2955
+ }, disabled, dateLib)) {
2956
+ newRange.from = triggerDate;
2957
+ newRange.to = void 0;
2958
+ }
2959
+ }
2960
+ if (!onSelect) setSelected(newRange);
2961
+ onSelect?.(newRange, triggerDate, modifiers, e);
2962
+ return newRange;
2963
+ };
2964
+ return {
2965
+ selected,
2966
+ select,
2967
+ isSelected
2968
+ };
2969
+ }
2970
+ //#endregion
2971
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/selection/useSingle.js
2972
+ /**
2973
+ * Hook to manage single-date selection in the DayPicker component.
2974
+ *
2975
+ * @template T - The type of DayPicker props.
2976
+ * @param props - The DayPicker props.
2977
+ * @param dateLib - The date utility library instance.
2978
+ * @returns An object containing the selected date, a function to select a date,
2979
+ * and a function to check if a date is selected.
2980
+ */
2981
+ function useSingle(props, dateLib) {
2982
+ const { selected: initiallySelected, required, onSelect } = props;
2983
+ const [internallySelected, setSelected] = useControlledValue(initiallySelected, onSelect ? initiallySelected : void 0);
2984
+ const selected = !onSelect ? internallySelected : initiallySelected;
2985
+ const { isSameDay } = dateLib;
2986
+ const isSelected = (compareDate) => {
2987
+ return selected ? isSameDay(selected, compareDate) : false;
2988
+ };
2989
+ const select = (triggerDate, modifiers, e) => {
2990
+ let newDate = triggerDate;
2991
+ if (!required && selected && selected && isSameDay(triggerDate, selected)) newDate = void 0;
2992
+ if (!onSelect) setSelected(newDate);
2993
+ if (required) onSelect?.(newDate, triggerDate, modifiers, e);
2994
+ else onSelect?.(newDate, triggerDate, modifiers, e);
2995
+ return newDate;
2996
+ };
2997
+ return {
2998
+ selected,
2999
+ select,
3000
+ isSelected
3001
+ };
3002
+ }
3003
+ //#endregion
3004
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/useSelection.js
3005
+ /**
3006
+ * Determines the appropriate selection hook to use based on the selection mode
3007
+ * and returns the corresponding selection object.
3008
+ *
3009
+ * @template T - The type of DayPicker props.
3010
+ * @param props - The DayPicker props.
3011
+ * @param dateLib - The date utility library instance.
3012
+ * @returns The selection object for the specified mode, or `undefined` if no
3013
+ * mode is set.
3014
+ */
3015
+ function useSelection(props, dateLib) {
3016
+ const single = useSingle(props, dateLib);
3017
+ const multi = useMulti(props, dateLib);
3018
+ const range = useRange(props, dateLib);
3019
+ switch (props.mode) {
3020
+ case "single": return single;
3021
+ case "multiple": return multi;
3022
+ case "range": return range;
3023
+ default: return;
3024
+ }
3025
+ }
3026
+ //#endregion
3027
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/toTimeZone.js
3028
+ /**
3029
+ * Convert a {@link Date} or {@link TZDate} instance to the given time zone.
3030
+ * Reuses the same instance when it is already a {@link TZDate} using the target
3031
+ * time zone to avoid extra allocations.
3032
+ */
3033
+ function toTimeZone(date, timeZone) {
3034
+ if (date instanceof TZDate && date.timeZone === timeZone) return date;
3035
+ return new TZDate(date, timeZone);
3036
+ }
3037
+ //#endregion
3038
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.js
3039
+ function toZoneNoon(date, timeZone, noonSafe) {
3040
+ if (!noonSafe) return toTimeZone(date, timeZone);
3041
+ const zoned = toTimeZone(date, timeZone);
3042
+ const noonZoned = new TZDate(zoned.getFullYear(), zoned.getMonth(), zoned.getDate(), 12, 0, 0, timeZone);
3043
+ return new Date(noonZoned.getTime());
3044
+ }
3045
+ function convertMatcher(matcher, timeZone, noonSafe) {
3046
+ if (typeof matcher === "boolean" || typeof matcher === "function") return matcher;
3047
+ if (matcher instanceof Date) return toZoneNoon(matcher, timeZone, noonSafe);
3048
+ if (Array.isArray(matcher)) return matcher.map((value) => value instanceof Date ? toZoneNoon(value, timeZone, noonSafe) : value);
3049
+ if (isDateRange(matcher)) return {
3050
+ ...matcher,
3051
+ from: matcher.from ? toTimeZone(matcher.from, timeZone) : matcher.from,
3052
+ to: matcher.to ? toTimeZone(matcher.to, timeZone) : matcher.to
3053
+ };
3054
+ if (isDateInterval(matcher)) return {
3055
+ before: toZoneNoon(matcher.before, timeZone, noonSafe),
3056
+ after: toZoneNoon(matcher.after, timeZone, noonSafe)
3057
+ };
3058
+ if (isDateAfterType(matcher)) return { after: toZoneNoon(matcher.after, timeZone, noonSafe) };
3059
+ if (isDateBeforeType(matcher)) return { before: toZoneNoon(matcher.before, timeZone, noonSafe) };
3060
+ return matcher;
3061
+ }
3062
+ /**
3063
+ * Convert any {@link Matcher} or array of matchers to the specified time zone.
3064
+ *
3065
+ * @param matchers - The matcher or matchers to convert.
3066
+ * @param timeZone - The target IANA time zone.
3067
+ * @returns The converted matcher(s).
3068
+ * @group Utilities
3069
+ */
3070
+ function convertMatchersToTimeZone(matchers, timeZone, noonSafe) {
3071
+ if (!matchers) return matchers;
3072
+ if (Array.isArray(matchers)) return matchers.map((matcher) => convertMatcher(matcher, timeZone, noonSafe));
3073
+ return convertMatcher(matchers, timeZone, noonSafe);
3074
+ }
3075
+ //#endregion
3076
+ //#region ../../node_modules/.pnpm/react-day-picker@9.14.0_react@19.2.4/node_modules/react-day-picker/dist/esm/DayPicker.js
3077
+ /**
3078
+ * Renders the DayPicker calendar component.
3079
+ *
3080
+ * @param initialProps - The props for the DayPicker component.
3081
+ * @returns The rendered DayPicker component.
3082
+ * @group DayPicker
3083
+ * @see https://daypicker.dev
3084
+ */
3085
+ function DayPicker(initialProps) {
3086
+ let props = initialProps;
3087
+ const timeZone = props.timeZone;
3088
+ if (timeZone) {
3089
+ props = {
3090
+ ...initialProps,
3091
+ timeZone
3092
+ };
3093
+ if (props.today) props.today = toTimeZone(props.today, timeZone);
3094
+ if (props.month) props.month = toTimeZone(props.month, timeZone);
3095
+ if (props.defaultMonth) props.defaultMonth = toTimeZone(props.defaultMonth, timeZone);
3096
+ if (props.startMonth) props.startMonth = toTimeZone(props.startMonth, timeZone);
3097
+ if (props.endMonth) props.endMonth = toTimeZone(props.endMonth, timeZone);
3098
+ if (props.mode === "single" && props.selected) props.selected = toTimeZone(props.selected, timeZone);
3099
+ else if (props.mode === "multiple" && props.selected) props.selected = props.selected?.map((date) => toTimeZone(date, timeZone));
3100
+ else if (props.mode === "range" && props.selected) props.selected = {
3101
+ from: props.selected.from ? toTimeZone(props.selected.from, timeZone) : props.selected.from,
3102
+ to: props.selected.to ? toTimeZone(props.selected.to, timeZone) : props.selected.to
3103
+ };
3104
+ if (props.disabled !== void 0) props.disabled = convertMatchersToTimeZone(props.disabled, timeZone);
3105
+ if (props.hidden !== void 0) props.hidden = convertMatchersToTimeZone(props.hidden, timeZone);
3106
+ if (props.modifiers) {
3107
+ const nextModifiers = {};
3108
+ Object.keys(props.modifiers).forEach((key) => {
3109
+ nextModifiers[key] = convertMatchersToTimeZone(props.modifiers?.[key], timeZone);
3110
+ });
3111
+ props.modifiers = nextModifiers;
3112
+ }
3113
+ }
3114
+ const { components, formatters, labels, dateLib, locale, classNames } = (0, import_react.useMemo)(() => {
3115
+ const locale = {
3116
+ ...enUS,
3117
+ ...props.locale
3118
+ };
3119
+ const weekStartsOn = props.broadcastCalendar ? 1 : props.weekStartsOn;
3120
+ const noonOverrides = props.noonSafe && props.timeZone ? createNoonOverrides(props.timeZone, {
3121
+ weekStartsOn,
3122
+ locale
3123
+ }) : void 0;
3124
+ const overrides = props.dateLib && noonOverrides ? {
3125
+ ...noonOverrides,
3126
+ ...props.dateLib
3127
+ } : props.dateLib ?? noonOverrides;
3128
+ const dateLib = new DateLib({
3129
+ locale,
3130
+ weekStartsOn,
3131
+ firstWeekContainsDate: props.firstWeekContainsDate,
3132
+ useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
3133
+ useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens,
3134
+ timeZone: props.timeZone,
3135
+ numerals: props.numerals
3136
+ }, overrides);
3137
+ return {
3138
+ dateLib,
3139
+ components: getComponents(props.components),
3140
+ formatters: getFormatters(props.formatters),
3141
+ labels: getLabels(props.labels, dateLib.options),
3142
+ locale,
3143
+ classNames: {
3144
+ ...getDefaultClassNames(),
3145
+ ...props.classNames
3146
+ }
3147
+ };
3148
+ }, [
3149
+ props.locale,
3150
+ props.broadcastCalendar,
3151
+ props.weekStartsOn,
3152
+ props.firstWeekContainsDate,
3153
+ props.useAdditionalWeekYearTokens,
3154
+ props.useAdditionalDayOfYearTokens,
3155
+ props.timeZone,
3156
+ props.numerals,
3157
+ props.dateLib,
3158
+ props.noonSafe,
3159
+ props.components,
3160
+ props.formatters,
3161
+ props.labels,
3162
+ props.classNames
3163
+ ]);
3164
+ if (!props.today) props = {
3165
+ ...props,
3166
+ today: dateLib.today()
3167
+ };
3168
+ const { captionLayout, mode, navLayout, numberOfMonths = 1, onDayBlur, onDayClick, onDayFocus, onDayKeyDown, onDayMouseEnter, onDayMouseLeave, onNextClick, onPrevClick, showWeekNumber, styles } = props;
3169
+ const { formatCaption, formatDay, formatMonthDropdown, formatWeekNumber, formatWeekNumberHeader, formatWeekdayName, formatYearDropdown } = formatters;
3170
+ const calendar = useCalendar(props, dateLib);
3171
+ const { days, months, navStart, navEnd, previousMonth, nextMonth, goToMonth } = calendar;
3172
+ const getModifiers = createGetModifiers(days, props, navStart, navEnd, dateLib);
3173
+ const { isSelected, select, selected: selectedValue } = useSelection(props, dateLib) ?? {};
3174
+ const { blur, focused, isFocusTarget, moveFocus, setFocused } = useFocus(props, calendar, getModifiers, isSelected ?? (() => false), dateLib);
3175
+ const { labelDayButton, labelGridcell, labelGrid, labelMonthDropdown, labelNav, labelPrevious, labelNext, labelWeekday, labelWeekNumber, labelWeekNumberHeader, labelYearDropdown } = labels;
3176
+ const weekdays = (0, import_react.useMemo)(() => getWeekdays(dateLib, props.ISOWeek, props.broadcastCalendar, props.today), [
3177
+ dateLib,
3178
+ props.ISOWeek,
3179
+ props.broadcastCalendar,
3180
+ props.today
3181
+ ]);
3182
+ const isInteractive = mode !== void 0 || onDayClick !== void 0;
3183
+ const handlePreviousClick = (0, import_react.useCallback)(() => {
3184
+ if (!previousMonth) return;
3185
+ goToMonth(previousMonth);
3186
+ onPrevClick?.(previousMonth);
3187
+ }, [
3188
+ previousMonth,
3189
+ goToMonth,
3190
+ onPrevClick
3191
+ ]);
3192
+ const handleNextClick = (0, import_react.useCallback)(() => {
3193
+ if (!nextMonth) return;
3194
+ goToMonth(nextMonth);
3195
+ onNextClick?.(nextMonth);
3196
+ }, [
3197
+ goToMonth,
3198
+ nextMonth,
3199
+ onNextClick
3200
+ ]);
3201
+ const handleDayClick = (0, import_react.useCallback)((day, m) => (e) => {
3202
+ e.preventDefault();
3203
+ e.stopPropagation();
3204
+ setFocused(day);
3205
+ if (m.disabled) return;
3206
+ select?.(day.date, m, e);
3207
+ onDayClick?.(day.date, m, e);
3208
+ }, [
3209
+ select,
3210
+ onDayClick,
3211
+ setFocused
3212
+ ]);
3213
+ const handleDayFocus = (0, import_react.useCallback)((day, m) => (e) => {
3214
+ setFocused(day);
3215
+ onDayFocus?.(day.date, m, e);
3216
+ }, [onDayFocus, setFocused]);
3217
+ const handleDayBlur = (0, import_react.useCallback)((day, m) => (e) => {
3218
+ blur();
3219
+ onDayBlur?.(day.date, m, e);
3220
+ }, [blur, onDayBlur]);
3221
+ const handleDayKeyDown = (0, import_react.useCallback)((day, modifiers) => (e) => {
3222
+ const keyMap = {
3223
+ ArrowLeft: [e.shiftKey ? "month" : "day", props.dir === "rtl" ? "after" : "before"],
3224
+ ArrowRight: [e.shiftKey ? "month" : "day", props.dir === "rtl" ? "before" : "after"],
3225
+ ArrowDown: [e.shiftKey ? "year" : "week", "after"],
3226
+ ArrowUp: [e.shiftKey ? "year" : "week", "before"],
3227
+ PageUp: [e.shiftKey ? "year" : "month", "before"],
3228
+ PageDown: [e.shiftKey ? "year" : "month", "after"],
3229
+ Home: ["startOfWeek", "before"],
3230
+ End: ["endOfWeek", "after"]
3231
+ };
3232
+ if (keyMap[e.key]) {
3233
+ e.preventDefault();
3234
+ e.stopPropagation();
3235
+ const [moveBy, moveDir] = keyMap[e.key];
3236
+ moveFocus(moveBy, moveDir);
3237
+ }
3238
+ onDayKeyDown?.(day.date, modifiers, e);
3239
+ }, [
3240
+ moveFocus,
3241
+ onDayKeyDown,
3242
+ props.dir
3243
+ ]);
3244
+ const handleDayMouseEnter = (0, import_react.useCallback)((day, modifiers) => (e) => {
3245
+ onDayMouseEnter?.(day.date, modifiers, e);
3246
+ }, [onDayMouseEnter]);
3247
+ const handleDayMouseLeave = (0, import_react.useCallback)((day, modifiers) => (e) => {
3248
+ onDayMouseLeave?.(day.date, modifiers, e);
3249
+ }, [onDayMouseLeave]);
3250
+ const handleMonthChange = (0, import_react.useCallback)((date) => (e) => {
3251
+ const selectedMonth = Number(e.target.value);
3252
+ goToMonth(dateLib.setMonth(dateLib.startOfMonth(date), selectedMonth));
3253
+ }, [dateLib, goToMonth]);
3254
+ const handleYearChange = (0, import_react.useCallback)((date) => (e) => {
3255
+ const selectedYear = Number(e.target.value);
3256
+ goToMonth(dateLib.setYear(dateLib.startOfMonth(date), selectedYear));
3257
+ }, [dateLib, goToMonth]);
3258
+ const { className, style } = (0, import_react.useMemo)(() => ({
3259
+ className: [classNames[UI.Root], props.className].filter(Boolean).join(" "),
3260
+ style: {
3261
+ ...styles?.[UI.Root],
3262
+ ...props.style
3263
+ }
3264
+ }), [
3265
+ classNames,
3266
+ props.className,
3267
+ props.style,
3268
+ styles
3269
+ ]);
3270
+ const dataAttributes = getDataAttributes(props);
3271
+ const rootElRef = (0, import_react.useRef)(null);
3272
+ useAnimation(rootElRef, Boolean(props.animate), {
3273
+ classNames,
3274
+ months,
3275
+ focused,
3276
+ dateLib
3277
+ });
3278
+ const contextValue = {
3279
+ dayPickerProps: props,
3280
+ selected: selectedValue,
3281
+ select,
3282
+ isSelected,
3283
+ months,
3284
+ nextMonth,
3285
+ previousMonth,
3286
+ goToMonth,
3287
+ getModifiers,
3288
+ components,
3289
+ classNames,
3290
+ styles,
3291
+ labels,
3292
+ formatters
3293
+ };
3294
+ return import_react.createElement(dayPickerContext.Provider, { value: contextValue }, import_react.createElement(components.Root, {
3295
+ rootRef: props.animate ? rootElRef : void 0,
3296
+ className,
3297
+ style,
3298
+ dir: props.dir,
3299
+ id: props.id,
3300
+ lang: props.lang ?? locale.code,
3301
+ nonce: props.nonce,
3302
+ title: props.title,
3303
+ role: props.role,
3304
+ "aria-label": props["aria-label"],
3305
+ "aria-labelledby": props["aria-labelledby"],
3306
+ ...dataAttributes
3307
+ }, import_react.createElement(components.Months, {
3308
+ className: classNames[UI.Months],
3309
+ style: styles?.[UI.Months]
3310
+ }, !props.hideNavigation && !navLayout && import_react.createElement(components.Nav, {
3311
+ "data-animated-nav": props.animate ? "true" : void 0,
3312
+ className: classNames[UI.Nav],
3313
+ style: styles?.[UI.Nav],
3314
+ "aria-label": labelNav(),
3315
+ onPreviousClick: handlePreviousClick,
3316
+ onNextClick: handleNextClick,
3317
+ previousMonth,
3318
+ nextMonth
3319
+ }), months.map((calendarMonth, displayIndex) => {
3320
+ return import_react.createElement(components.Month, {
3321
+ "data-animated-month": props.animate ? "true" : void 0,
3322
+ className: classNames[UI.Month],
3323
+ style: styles?.[UI.Month],
3324
+ key: displayIndex,
3325
+ displayIndex,
3326
+ calendarMonth
3327
+ }, navLayout === "around" && !props.hideNavigation && displayIndex === 0 && import_react.createElement(components.PreviousMonthButton, {
3328
+ type: "button",
3329
+ className: classNames[UI.PreviousMonthButton],
3330
+ tabIndex: previousMonth ? void 0 : -1,
3331
+ "aria-disabled": previousMonth ? void 0 : true,
3332
+ "aria-label": labelPrevious(previousMonth),
3333
+ onClick: handlePreviousClick,
3334
+ "data-animated-button": props.animate ? "true" : void 0
3335
+ }, import_react.createElement(components.Chevron, {
3336
+ disabled: previousMonth ? void 0 : true,
3337
+ className: classNames[UI.Chevron],
3338
+ orientation: props.dir === "rtl" ? "right" : "left"
3339
+ })), import_react.createElement(components.MonthCaption, {
3340
+ "data-animated-caption": props.animate ? "true" : void 0,
3341
+ className: classNames[UI.MonthCaption],
3342
+ style: styles?.[UI.MonthCaption],
3343
+ calendarMonth,
3344
+ displayIndex
3345
+ }, captionLayout?.startsWith("dropdown") ? import_react.createElement(components.DropdownNav, {
3346
+ className: classNames[UI.Dropdowns],
3347
+ style: styles?.[UI.Dropdowns]
3348
+ }, (() => {
3349
+ const monthControl = captionLayout === "dropdown" || captionLayout === "dropdown-months" ? import_react.createElement(components.MonthsDropdown, {
3350
+ key: "month",
3351
+ className: classNames[UI.MonthsDropdown],
3352
+ "aria-label": labelMonthDropdown(),
3353
+ classNames,
3354
+ components,
3355
+ disabled: Boolean(props.disableNavigation),
3356
+ onChange: handleMonthChange(calendarMonth.date),
3357
+ options: getMonthOptions(calendarMonth.date, navStart, navEnd, formatters, dateLib),
3358
+ style: styles?.[UI.Dropdown],
3359
+ value: dateLib.getMonth(calendarMonth.date)
3360
+ }) : import_react.createElement("span", { key: "month" }, formatMonthDropdown(calendarMonth.date, dateLib));
3361
+ const yearControl = captionLayout === "dropdown" || captionLayout === "dropdown-years" ? import_react.createElement(components.YearsDropdown, {
3362
+ key: "year",
3363
+ className: classNames[UI.YearsDropdown],
3364
+ "aria-label": labelYearDropdown(dateLib.options),
3365
+ classNames,
3366
+ components,
3367
+ disabled: Boolean(props.disableNavigation),
3368
+ onChange: handleYearChange(calendarMonth.date),
3369
+ options: getYearOptions(navStart, navEnd, formatters, dateLib, Boolean(props.reverseYears)),
3370
+ style: styles?.[UI.Dropdown],
3371
+ value: dateLib.getYear(calendarMonth.date)
3372
+ }) : import_react.createElement("span", { key: "year" }, formatYearDropdown(calendarMonth.date, dateLib));
3373
+ return dateLib.getMonthYearOrder() === "year-first" ? [yearControl, monthControl] : [monthControl, yearControl];
3374
+ })(), import_react.createElement("span", {
3375
+ role: "status",
3376
+ "aria-live": "polite",
3377
+ style: {
3378
+ border: 0,
3379
+ clip: "rect(0 0 0 0)",
3380
+ height: "1px",
3381
+ margin: "-1px",
3382
+ overflow: "hidden",
3383
+ padding: 0,
3384
+ position: "absolute",
3385
+ width: "1px",
3386
+ whiteSpace: "nowrap",
3387
+ wordWrap: "normal"
3388
+ }
3389
+ }, formatCaption(calendarMonth.date, dateLib.options, dateLib))) : import_react.createElement(components.CaptionLabel, {
3390
+ className: classNames[UI.CaptionLabel],
3391
+ role: "status",
3392
+ "aria-live": "polite"
3393
+ }, formatCaption(calendarMonth.date, dateLib.options, dateLib))), navLayout === "around" && !props.hideNavigation && displayIndex === numberOfMonths - 1 && import_react.createElement(components.NextMonthButton, {
3394
+ type: "button",
3395
+ className: classNames[UI.NextMonthButton],
3396
+ tabIndex: nextMonth ? void 0 : -1,
3397
+ "aria-disabled": nextMonth ? void 0 : true,
3398
+ "aria-label": labelNext(nextMonth),
3399
+ onClick: handleNextClick,
3400
+ "data-animated-button": props.animate ? "true" : void 0
3401
+ }, import_react.createElement(components.Chevron, {
3402
+ disabled: nextMonth ? void 0 : true,
3403
+ className: classNames[UI.Chevron],
3404
+ orientation: props.dir === "rtl" ? "left" : "right"
3405
+ })), displayIndex === numberOfMonths - 1 && navLayout === "after" && !props.hideNavigation && import_react.createElement(components.Nav, {
3406
+ "data-animated-nav": props.animate ? "true" : void 0,
3407
+ className: classNames[UI.Nav],
3408
+ style: styles?.[UI.Nav],
3409
+ "aria-label": labelNav(),
3410
+ onPreviousClick: handlePreviousClick,
3411
+ onNextClick: handleNextClick,
3412
+ previousMonth,
3413
+ nextMonth
3414
+ }), import_react.createElement(components.MonthGrid, {
3415
+ role: "grid",
3416
+ "aria-multiselectable": mode === "multiple" || mode === "range",
3417
+ "aria-label": labelGrid(calendarMonth.date, dateLib.options, dateLib) || void 0,
3418
+ className: classNames[UI.MonthGrid],
3419
+ style: styles?.[UI.MonthGrid]
3420
+ }, !props.hideWeekdays && import_react.createElement(components.Weekdays, {
3421
+ "data-animated-weekdays": props.animate ? "true" : void 0,
3422
+ className: classNames[UI.Weekdays],
3423
+ style: styles?.[UI.Weekdays]
3424
+ }, showWeekNumber && import_react.createElement(components.WeekNumberHeader, {
3425
+ "aria-label": labelWeekNumberHeader(dateLib.options),
3426
+ className: classNames[UI.WeekNumberHeader],
3427
+ style: styles?.[UI.WeekNumberHeader],
3428
+ scope: "col"
3429
+ }, formatWeekNumberHeader()), weekdays.map((weekday) => import_react.createElement(components.Weekday, {
3430
+ "aria-label": labelWeekday(weekday, dateLib.options, dateLib),
3431
+ className: classNames[UI.Weekday],
3432
+ key: String(weekday),
3433
+ style: styles?.[UI.Weekday],
3434
+ scope: "col"
3435
+ }, formatWeekdayName(weekday, dateLib.options, dateLib)))), import_react.createElement(components.Weeks, {
3436
+ "data-animated-weeks": props.animate ? "true" : void 0,
3437
+ className: classNames[UI.Weeks],
3438
+ style: styles?.[UI.Weeks]
3439
+ }, calendarMonth.weeks.map((week) => {
3440
+ return import_react.createElement(components.Week, {
3441
+ className: classNames[UI.Week],
3442
+ key: week.weekNumber,
3443
+ style: styles?.[UI.Week],
3444
+ week
3445
+ }, showWeekNumber && import_react.createElement(components.WeekNumber, {
3446
+ week,
3447
+ style: styles?.[UI.WeekNumber],
3448
+ "aria-label": labelWeekNumber(week.weekNumber, { locale }),
3449
+ className: classNames[UI.WeekNumber],
3450
+ scope: "row",
3451
+ role: "rowheader"
3452
+ }, formatWeekNumber(week.weekNumber, dateLib)), week.days.map((day) => {
3453
+ const { date } = day;
3454
+ const modifiers = getModifiers(day);
3455
+ modifiers[DayFlag.focused] = !modifiers.hidden && Boolean(focused?.isEqualTo(day));
3456
+ modifiers[SelectionState.selected] = isSelected?.(date) || modifiers.selected;
3457
+ if (isDateRange(selectedValue)) {
3458
+ const { from, to } = selectedValue;
3459
+ modifiers[SelectionState.range_start] = Boolean(from && to && dateLib.isSameDay(date, from));
3460
+ modifiers[SelectionState.range_end] = Boolean(from && to && dateLib.isSameDay(date, to));
3461
+ modifiers[SelectionState.range_middle] = rangeIncludesDate(selectedValue, date, true, dateLib);
3462
+ }
3463
+ const style = getStyleForModifiers(modifiers, styles, props.modifiersStyles);
3464
+ const className = getClassNamesForModifiers(modifiers, classNames, props.modifiersClassNames);
3465
+ const ariaLabel = !isInteractive && !modifiers.hidden ? labelGridcell(date, modifiers, dateLib.options, dateLib) : void 0;
3466
+ return import_react.createElement(components.Day, {
3467
+ key: `${day.isoDate}_${day.displayMonthId}`,
3468
+ day,
3469
+ modifiers,
3470
+ className: className.join(" "),
3471
+ style,
3472
+ role: "gridcell",
3473
+ "aria-selected": modifiers.selected || void 0,
3474
+ "aria-label": ariaLabel,
3475
+ "data-day": day.isoDate,
3476
+ "data-month": day.outside ? day.dateMonthId : void 0,
3477
+ "data-selected": modifiers.selected || void 0,
3478
+ "data-disabled": modifiers.disabled || void 0,
3479
+ "data-hidden": modifiers.hidden || void 0,
3480
+ "data-outside": day.outside || void 0,
3481
+ "data-focused": modifiers.focused || void 0,
3482
+ "data-today": modifiers.today || void 0
3483
+ }, !modifiers.hidden && isInteractive ? import_react.createElement(components.DayButton, {
3484
+ className: classNames[UI.DayButton],
3485
+ style: styles?.[UI.DayButton],
3486
+ type: "button",
3487
+ day,
3488
+ modifiers,
3489
+ disabled: !modifiers.focused && modifiers.disabled || void 0,
3490
+ "aria-disabled": modifiers.focused && modifiers.disabled || void 0,
3491
+ tabIndex: isFocusTarget(day) ? 0 : -1,
3492
+ "aria-label": labelDayButton(date, modifiers, dateLib.options, dateLib),
3493
+ onClick: handleDayClick(day, modifiers),
3494
+ onBlur: handleDayBlur(day, modifiers),
3495
+ onFocus: handleDayFocus(day, modifiers),
3496
+ onKeyDown: handleDayKeyDown(day, modifiers),
3497
+ onMouseEnter: handleDayMouseEnter(day, modifiers),
3498
+ onMouseLeave: handleDayMouseLeave(day, modifiers)
3499
+ }, formatDay(date, dateLib.options, dateLib)) : !modifiers.hidden && formatDay(day.date, dateLib.options, dateLib));
3500
+ }));
3501
+ }))));
3502
+ })), props.footer && import_react.createElement(components.Footer, {
3503
+ className: classNames[UI.Footer],
3504
+ style: styles?.[UI.Footer],
3505
+ role: "status",
3506
+ "aria-live": "polite"
3507
+ }, props.footer)));
3508
+ }
3509
+ //#endregion
3510
+ export { DayPicker as t };