@epic-web/workshop-app 4.6.6 → 4.7.1

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 (809) hide show
  1. package/build/client/assets/{_-COWH0sBh.js → _-Bd2gNcck.js} +2 -2
  2. package/build/client/assets/{_-COWH0sBh.js.map → _-Bd2gNcck.js.map} +1 -1
  3. package/build/client/assets/{_exerciseNumber-wyz3vbhs.js → _exerciseNumber-CFOo2dQj.js} +2 -2
  4. package/build/client/assets/{_exerciseNumber-wyz3vbhs.js.map → _exerciseNumber-CFOo2dQj.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-C37pli7_.js → _exerciseNumber_._stepNumber-DCbWNWpZ.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-C37pli7_.js.map → _exerciseNumber_._stepNumber-DCbWNWpZ.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber_.finished-P7xMAtl1.js +2 -0
  8. package/build/client/assets/_exerciseNumber_.finished-P7xMAtl1.js.map +1 -0
  9. package/build/client/assets/_layout-Bdd3mpVx.js +2 -0
  10. package/build/client/assets/_layout-Bdd3mpVx.js.map +1 -0
  11. package/build/client/assets/_layout-DHBLG7Ti.js +6 -0
  12. package/build/client/assets/_layout-DHBLG7Ti.js.map +1 -0
  13. package/build/client/assets/_layout-DaZNLfOL.js +2 -0
  14. package/build/client/assets/{_layout-BR-Qyofe.js.map → _layout-DaZNLfOL.js.map} +1 -1
  15. package/build/client/assets/{_layout-D0zbQZjf.js → _layout-rEQoj43V.js} +2 -2
  16. package/build/client/assets/{_layout-D0zbQZjf.js.map → _layout-rEQoj43V.js.map} +1 -1
  17. package/build/client/assets/{account-DesvwOeg.js → account-CnLkZd_O.js} +2 -2
  18. package/build/client/assets/{account-DesvwOeg.js.map → account-CnLkZd_O.js.map} +1 -1
  19. package/build/client/assets/{button-BfWwrI9B.js → button-CyZl24U2.js} +2 -2
  20. package/build/client/assets/{button-BfWwrI9B.js.map → button-CyZl24U2.js.map} +1 -1
  21. package/build/client/assets/{client-hints-BKxdo5Js.js → client-hints-BE5mB4r0.js} +2 -2
  22. package/build/client/assets/{client-hints-BKxdo5Js.js.map → client-hints-BE5mB4r0.js.map} +1 -1
  23. package/build/client/assets/components-BMzmvxYw.js +166 -0
  24. package/build/client/assets/components-BMzmvxYw.js.map +1 -0
  25. package/build/client/assets/diff-P5f7-8E4.js +2 -0
  26. package/build/client/assets/diff-P5f7-8E4.js.map +1 -0
  27. package/build/client/assets/diff-PfwTHr6-.js +2 -0
  28. package/build/client/assets/{diff-KDzcgGYL.js.map → diff-PfwTHr6-.js.map} +1 -1
  29. package/build/client/assets/{discord-0kv66Q6F.js → discord-COPE8EOZ.js} +2 -2
  30. package/build/client/assets/{discord-0kv66Q6F.js.map → discord-COPE8EOZ.js.map} +1 -1
  31. package/build/client/assets/discord-DIog7bBO.js +2 -0
  32. package/build/client/assets/discord-DIog7bBO.js.map +1 -0
  33. package/build/client/assets/entry.client-B0vV2fsa.js +43 -0
  34. package/build/client/assets/entry.client-B0vV2fsa.js.map +1 -0
  35. package/build/client/assets/{epic-video-BwtXsHGU.js → epic-video-CYnG2ziQ.js} +128 -128
  36. package/build/client/assets/epic-video-CYnG2ziQ.js.map +1 -0
  37. package/build/client/assets/{error-boundary-Bcric_4t.js → error-boundary-DxfVshQ5.js} +2 -2
  38. package/build/client/assets/{error-boundary-Bcric_4t.js.map → error-boundary-DxfVshQ5.js.map} +1 -1
  39. package/build/client/assets/finished-DP5ynR5u.js +2 -0
  40. package/build/client/assets/finished-DP5ynR5u.js.map +1 -0
  41. package/build/client/assets/index-4E9_Sx3m.js +42 -0
  42. package/build/client/assets/index-4E9_Sx3m.js.map +1 -0
  43. package/build/client/assets/{index-Bg9MMnnf.js → index-90bzTYUX.js} +2 -2
  44. package/build/client/assets/index-90bzTYUX.js.map +1 -0
  45. package/build/client/assets/{index-BQRtqn3g.js → index-BXefr1BB.js} +2 -2
  46. package/build/client/assets/{index-BQRtqn3g.js.map → index-BXefr1BB.js.map} +1 -1
  47. package/build/client/assets/index-Czg1ruVn.js +37 -0
  48. package/build/client/assets/index-Czg1ruVn.js.map +1 -0
  49. package/build/client/assets/{index-9nNr0Zqr.js → index-D6ukHE4T.js} +2 -2
  50. package/build/client/assets/{index-9nNr0Zqr.js.map → index-D6ukHE4T.js.map} +1 -1
  51. package/build/client/assets/index-Doi37489.js +3 -0
  52. package/build/client/assets/index-Doi37489.js.map +1 -0
  53. package/build/client/assets/{loading-C9f_vBoM.js → loading-CNWJVymJ.js} +2 -2
  54. package/build/client/assets/{loading-C9f_vBoM.js.map → loading-CNWJVymJ.js.map} +1 -1
  55. package/build/client/assets/{login-D8zyjBAb.js → login-DxG854vQ.js} +2 -2
  56. package/build/client/assets/{login-D8zyjBAb.js.map → login-DxG854vQ.js.map} +1 -1
  57. package/build/client/assets/manifest-805aa13a.js +1 -0
  58. package/build/client/assets/mdx-CR7Me1v_.js +2 -0
  59. package/build/client/assets/{mdx-BYvGbvEr.js.map → mdx-CR7Me1v_.js.map} +1 -1
  60. package/build/client/assets/misc-CypjEQkt.js +2 -0
  61. package/build/client/assets/misc-CypjEQkt.js.map +1 -0
  62. package/build/client/assets/{nav-chevrons-DOYtx9XE.js → nav-chevrons-BYKwyIgG.js} +2 -2
  63. package/build/client/assets/{nav-chevrons-DOYtx9XE.js.map → nav-chevrons-BYKwyIgG.js.map} +1 -1
  64. package/build/client/assets/{onboarding-euWyXpCL.js → onboarding-b9lcdh4n.js} +2 -2
  65. package/build/client/assets/{onboarding-euWyXpCL.js.map → onboarding-b9lcdh4n.js.map} +1 -1
  66. package/build/client/assets/{presence-BJPzwbUy.js → presence-DXXVJbaH.js} +2 -2
  67. package/build/client/assets/{presence-BJPzwbUy.js.map → presence-DXXVJbaH.js.map} +1 -1
  68. package/build/client/assets/progress-B_mReZVE.js +2 -0
  69. package/build/client/assets/progress-B_mReZVE.js.map +1 -0
  70. package/build/client/assets/{progress-bar-7LK87ZMh.js → progress-bar-DCrt7X4t.js} +2 -2
  71. package/build/client/assets/{progress-bar-7LK87ZMh.js.map → progress-bar-DCrt7X4t.js.map} +1 -1
  72. package/build/client/assets/{request-info-Dyls4H67.js → request-info-CUT0ULYN.js} +2 -2
  73. package/build/client/assets/{request-info-Dyls4H67.js.map → request-info-CUT0ULYN.js.map} +1 -1
  74. package/build/client/assets/{root-BQ7V6fP4.js → root-bgHbi7rA.js} +4 -4
  75. package/build/client/assets/root-bgHbi7rA.js.map +1 -0
  76. package/build/client/assets/{support-DUAHYT3r.js → support-DrY-qRGh.js} +2 -2
  77. package/build/client/assets/{support-DUAHYT3r.js.map → support-DrY-qRGh.js.map} +1 -1
  78. package/build/client/assets/tailwind-D2vjZZFL.css +1 -0
  79. package/build/client/assets/tooltip-CfmIzAYi.js +2 -0
  80. package/build/client/assets/tooltip-CfmIzAYi.js.map +1 -0
  81. package/build/client/assets/{use-event-source-aW6X9lN1.js → use-event-source-ySol3hbz.js} +2 -2
  82. package/build/client/assets/{use-event-source-aW6X9lN1.js.map → use-event-source-ySol3hbz.js.map} +1 -1
  83. package/build/client/assets/{user-73ocDYRe.js → user-C4QTtQw5.js} +2 -2
  84. package/build/client/assets/{user-73ocDYRe.js.map → user-C4QTtQw5.js.map} +1 -1
  85. package/build/server/index.js +840 -607
  86. package/build/server/index.js.map +1 -1
  87. package/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +65 -3
  88. package/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +65 -3
  89. package/node_modules/@babel/runtime/package.json +1 -28
  90. package/node_modules/@conform-to/dom/dom.d.ts +17 -5
  91. package/node_modules/@conform-to/dom/form.d.ts +221 -122
  92. package/node_modules/@conform-to/dom/index.d.ts +24 -2
  93. package/node_modules/@conform-to/dom/intent.d.ts +92 -60
  94. package/node_modules/@conform-to/dom/package.json +1 -1
  95. package/node_modules/@conform-to/dom/parse.d.ts +47 -27
  96. package/node_modules/@conform-to/dom/types.d.ts +17 -14
  97. package/node_modules/@conform-to/dom/util.d.ts +4 -1
  98. package/node_modules/@conform-to/react/context.d.ts +187 -59
  99. package/node_modules/@conform-to/react/context.js +3 -5
  100. package/node_modules/@conform-to/react/context.mjs +4 -6
  101. package/node_modules/@conform-to/react/experimental.d.ts +0 -0
  102. package/node_modules/@conform-to/react/hooks.d.ts +53 -24
  103. package/node_modules/@conform-to/react/index.d.ts +28 -4
  104. package/node_modules/@conform-to/react/integrations.js +14 -1
  105. package/node_modules/@conform-to/react/integrations.mjs +14 -1
  106. package/node_modules/@conform-to/react/package.json +2 -2
  107. package/node_modules/@conform-to/zod/coercion.d.ts +14 -4
  108. package/node_modules/@conform-to/zod/constraint.d.ts +3 -1
  109. package/node_modules/@conform-to/zod/package.json +2 -2
  110. package/node_modules/@conform-to/zod/parse.d.ts +43 -25
  111. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -1
  112. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +14 -3
  113. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +51 -51
  114. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +51 -51
  115. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +14 -3
  116. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +14 -3
  117. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +14 -3
  118. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -1
  119. package/node_modules/@floating-ui/core/package.json +2 -2
  120. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -1
  121. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +12 -11
  122. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +11 -8
  123. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +11 -8
  124. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +1 -12
  125. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +1 -12
  126. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +12 -11
  127. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -1
  128. package/node_modules/@floating-ui/dom/package.json +2 -2
  129. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts +12 -4
  130. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.ts +12 -4
  131. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +1 -0
  132. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +1 -0
  133. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js +1 -0
  134. package/node_modules/@floating-ui/react-dom/package.json +1 -1
  135. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +11 -6
  136. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +11 -6
  137. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +2 -0
  138. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +2 -0
  139. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +13 -1
  140. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +13 -1
  141. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +13 -0
  142. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -1
  143. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +2 -0
  144. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +13 -1
  145. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +13 -0
  146. package/node_modules/@floating-ui/utils/package.json +1 -1
  147. package/node_modules/@radix-ui/number/dist/index.d.mts +2 -2
  148. package/node_modules/@radix-ui/number/dist/index.d.ts +2 -2
  149. package/node_modules/@radix-ui/number/dist/index.js +28 -10
  150. package/node_modules/@radix-ui/number/dist/index.js.map +7 -1
  151. package/node_modules/@radix-ui/number/dist/index.mjs +6 -7
  152. package/node_modules/@radix-ui/number/dist/index.mjs.map +7 -1
  153. package/node_modules/@radix-ui/number/package.json +1 -4
  154. package/node_modules/@radix-ui/primitive/dist/index.d.mts +2 -2
  155. package/node_modules/@radix-ui/primitive/dist/index.d.ts +2 -2
  156. package/node_modules/@radix-ui/primitive/dist/index.js +33 -13
  157. package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -1
  158. package/node_modules/@radix-ui/primitive/dist/index.mjs +11 -10
  159. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -1
  160. package/node_modules/@radix-ui/primitive/package.json +1 -4
  161. package/node_modules/@radix-ui/react-accordion/dist/index.d.mts +40 -28
  162. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts +40 -28
  163. package/node_modules/@radix-ui/react-accordion/dist/index.js +324 -316
  164. package/node_modules/@radix-ui/react-accordion/dist/index.js.map +7 -1
  165. package/node_modules/@radix-ui/react-accordion/dist/index.mjs +293 -300
  166. package/node_modules/@radix-ui/react-accordion/dist/index.mjs.map +7 -1
  167. package/node_modules/@radix-ui/react-accordion/package.json +12 -13
  168. package/node_modules/@radix-ui/react-arrow/dist/index.d.mts +8 -8
  169. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts +8 -8
  170. package/node_modules/@radix-ui/react-arrow/dist/index.js +57 -37
  171. package/node_modules/@radix-ui/react-arrow/dist/index.js.map +7 -1
  172. package/node_modules/@radix-ui/react-arrow/dist/index.mjs +25 -30
  173. package/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +7 -1
  174. package/node_modules/@radix-ui/react-arrow/package.json +4 -5
  175. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +27 -16
  176. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +27 -16
  177. package/node_modules/@radix-ui/react-collapsible/dist/index.js +176 -167
  178. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +7 -1
  179. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +143 -153
  180. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +7 -1
  181. package/node_modules/@radix-ui/react-collapsible/package.json +11 -12
  182. package/node_modules/@radix-ui/react-collection/dist/index.d.mts +27 -15
  183. package/node_modules/@radix-ui/react-collection/dist/index.d.ts +27 -15
  184. package/node_modules/@radix-ui/react-collection/dist/index.js +99 -112
  185. package/node_modules/@radix-ui/react-collection/dist/index.js.map +7 -1
  186. package/node_modules/@radix-ui/react-collection/dist/index.mjs +68 -106
  187. package/node_modules/@radix-ui/react-collection/dist/index.mjs.map +7 -1
  188. package/node_modules/@radix-ui/react-collection/package.json +7 -8
  189. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +5 -4
  190. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +5 -4
  191. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +47 -30
  192. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -1
  193. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +16 -27
  194. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -1
  195. package/node_modules/@radix-ui/react-compose-refs/package.json +2 -5
  196. package/node_modules/@radix-ui/react-context/dist/index.d.mts +10 -8
  197. package/node_modules/@radix-ui/react-context/dist/index.d.ts +10 -8
  198. package/node_modules/@radix-ui/react-context/dist/index.js +104 -123
  199. package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -1
  200. package/node_modules/@radix-ui/react-context/dist/index.mjs +73 -120
  201. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -1
  202. package/node_modules/@radix-ui/react-context/package.json +2 -5
  203. package/node_modules/@radix-ui/react-direction/dist/index.d.mts +6 -5
  204. package/node_modules/@radix-ui/react-direction/dist/index.d.ts +6 -5
  205. package/node_modules/@radix-ui/react-direction/dist/index.js +47 -24
  206. package/node_modules/@radix-ui/react-direction/dist/index.js.map +7 -1
  207. package/node_modules/@radix-ui/react-direction/dist/index.mjs +16 -20
  208. package/node_modules/@radix-ui/react-direction/dist/index.mjs.map +7 -1
  209. package/node_modules/@radix-ui/react-direction/package.json +2 -5
  210. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +10 -10
  211. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +10 -10
  212. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +230 -270
  213. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +7 -1
  214. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +199 -261
  215. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +7 -1
  216. package/node_modules/@radix-ui/react-dismissable-layer/package.json +9 -10
  217. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.mts +4 -4
  218. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts +4 -4
  219. package/node_modules/@radix-ui/react-focus-guards/dist/index.js +63 -39
  220. package/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +7 -1
  221. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +32 -34
  222. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.map +7 -1
  223. package/node_modules/@radix-ui/react-focus-guards/package.json +2 -5
  224. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts +8 -8
  225. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts +8 -8
  226. package/node_modules/@radix-ui/react-focus-scope/dist/index.js +228 -282
  227. package/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +7 -1
  228. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +197 -275
  229. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.map +7 -1
  230. package/node_modules/@radix-ui/react-focus-scope/package.json +6 -7
  231. package/node_modules/@radix-ui/react-id/dist/index.d.mts +2 -2
  232. package/node_modules/@radix-ui/react-id/dist/index.d.ts +2 -2
  233. package/node_modules/@radix-ui/react-id/dist/index.js +47 -26
  234. package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -1
  235. package/node_modules/@radix-ui/react-id/dist/index.mjs +14 -22
  236. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -1
  237. package/node_modules/@radix-ui/react-id/package.json +3 -4
  238. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +48 -37
  239. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +48 -37
  240. package/node_modules/@radix-ui/react-popover/dist/index.js +319 -311
  241. package/node_modules/@radix-ui/react-popover/dist/index.js.map +7 -1
  242. package/node_modules/@radix-ui/react-popover/dist/index.mjs +288 -291
  243. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +7 -1
  244. package/node_modules/@radix-ui/react-popover/package.json +17 -18
  245. package/node_modules/@radix-ui/react-popper/dist/index.d.mts +36 -25
  246. package/node_modules/@radix-ui/react-popper/dist/index.d.ts +36 -25
  247. package/node_modules/@radix-ui/react-popper/dist/index.js +305 -321
  248. package/node_modules/@radix-ui/react-popper/dist/index.js.map +7 -1
  249. package/node_modules/@radix-ui/react-popper/dist/index.mjs +284 -305
  250. package/node_modules/@radix-ui/react-popper/dist/index.mjs.map +7 -1
  251. package/node_modules/@radix-ui/react-popper/package.json +12 -13
  252. package/node_modules/@radix-ui/react-portal/dist/index.d.mts +9 -9
  253. package/node_modules/@radix-ui/react-portal/dist/index.d.ts +9 -9
  254. package/node_modules/@radix-ui/react-portal/dist/index.js +52 -34
  255. package/node_modules/@radix-ui/react-portal/dist/index.js.map +7 -1
  256. package/node_modules/@radix-ui/react-portal/dist/index.mjs +21 -27
  257. package/node_modules/@radix-ui/react-portal/dist/index.mjs.map +7 -1
  258. package/node_modules/@radix-ui/react-portal/package.json +5 -5
  259. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +5 -4
  260. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +5 -4
  261. package/node_modules/@radix-ui/react-presence/dist/index.js +147 -132
  262. package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -1
  263. package/node_modules/@radix-ui/react-presence/dist/index.mjs +116 -129
  264. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -1
  265. package/node_modules/@radix-ui/react-presence/package.json +5 -6
  266. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +8 -9
  267. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +8 -9
  268. package/node_modules/@radix-ui/react-primitive/dist/index.js +73 -100
  269. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -1
  270. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +42 -93
  271. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -1
  272. package/node_modules/@radix-ui/react-primitive/package.json +4 -5
  273. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts +25 -13
  274. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts +25 -13
  275. package/node_modules/@radix-ui/react-roving-focus/dist/index.js +239 -247
  276. package/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +7 -1
  277. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +209 -238
  278. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +7 -1
  279. package/node_modules/@radix-ui/react-roving-focus/package.json +12 -13
  280. package/node_modules/@radix-ui/react-select/dist/index.d.mts +77 -65
  281. package/node_modules/@radix-ui/react-select/dist/index.d.ts +77 -65
  282. package/node_modules/@radix-ui/react-select/dist/index.js +1107 -1235
  283. package/node_modules/@radix-ui/react-select/dist/index.js.map +7 -1
  284. package/node_modules/@radix-ui/react-select/dist/index.mjs +1076 -1197
  285. package/node_modules/@radix-ui/react-select/dist/index.mjs.map +7 -1
  286. package/node_modules/@radix-ui/react-select/package.json +23 -24
  287. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +9 -7
  288. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +9 -7
  289. package/node_modules/@radix-ui/react-slot/dist/index.js +107 -87
  290. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -1
  291. package/node_modules/@radix-ui/react-slot/dist/index.mjs +76 -80
  292. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -1
  293. package/node_modules/@radix-ui/react-slot/package.json +3 -4
  294. package/node_modules/@radix-ui/react-tabs/dist/index.d.mts +32 -21
  295. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts +32 -21
  296. package/node_modules/@radix-ui/react-tabs/dist/index.js +217 -184
  297. package/node_modules/@radix-ui/react-tabs/dist/index.js.map +7 -1
  298. package/node_modules/@radix-ui/react-tabs/dist/index.mjs +185 -169
  299. package/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +7 -1
  300. package/node_modules/@radix-ui/react-tabs/package.json +11 -12
  301. package/node_modules/@radix-ui/react-toast/dist/index.d.mts +43 -32
  302. package/node_modules/@radix-ui/react-toast/dist/index.d.ts +43 -32
  303. package/node_modules/@radix-ui/react-toast/dist/index.js +645 -715
  304. package/node_modules/@radix-ui/react-toast/dist/index.js.map +7 -1
  305. package/node_modules/@radix-ui/react-toast/dist/index.mjs +614 -695
  306. package/node_modules/@radix-ui/react-toast/dist/index.mjs.map +7 -1
  307. package/node_modules/@radix-ui/react-toast/package.json +15 -16
  308. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.mts +2 -2
  309. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts +2 -2
  310. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +42 -23
  311. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +7 -1
  312. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +11 -21
  313. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +7 -1
  314. package/node_modules/@radix-ui/react-use-callback-ref/package.json +2 -5
  315. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +4 -3
  316. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +4 -3
  317. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +75 -52
  318. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -1
  319. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +44 -50
  320. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -1
  321. package/node_modules/@radix-ui/react-use-controllable-state/package.json +3 -4
  322. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.mts +2 -2
  323. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts +2 -2
  324. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +50 -29
  325. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +7 -1
  326. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +17 -25
  327. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.map +7 -1
  328. package/node_modules/@radix-ui/react-use-escape-keydown/package.json +3 -4
  329. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +4 -3
  330. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +4 -3
  331. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +38 -17
  332. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -1
  333. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +7 -15
  334. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -1
  335. package/node_modules/@radix-ui/react-use-layout-effect/package.json +2 -5
  336. package/node_modules/@radix-ui/react-use-previous/dist/index.d.mts +2 -2
  337. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts +2 -2
  338. package/node_modules/@radix-ui/react-use-previous/dist/index.js +45 -26
  339. package/node_modules/@radix-ui/react-use-previous/dist/index.js.map +7 -1
  340. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs +14 -24
  341. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs.map +7 -1
  342. package/node_modules/@radix-ui/react-use-previous/package.json +2 -5
  343. package/node_modules/@radix-ui/react-use-rect/dist/index.d.mts +4 -3
  344. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts +4 -3
  345. package/node_modules/@radix-ui/react-use-rect/dist/index.js +52 -32
  346. package/node_modules/@radix-ui/react-use-rect/dist/index.js.map +7 -1
  347. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs +19 -28
  348. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs.map +7 -1
  349. package/node_modules/@radix-ui/react-use-rect/package.json +3 -4
  350. package/node_modules/@radix-ui/react-use-size/dist/index.d.mts +2 -2
  351. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts +2 -2
  352. package/node_modules/@radix-ui/react-use-size/dist/index.js +70 -57
  353. package/node_modules/@radix-ui/react-use-size/dist/index.js.map +7 -1
  354. package/node_modules/@radix-ui/react-use-size/dist/index.mjs +39 -55
  355. package/node_modules/@radix-ui/react-use-size/dist/index.mjs.map +7 -1
  356. package/node_modules/@radix-ui/react-use-size/package.json +3 -4
  357. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts +8 -8
  358. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts +8 -8
  359. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js +64 -41
  360. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +7 -1
  361. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +33 -35
  362. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.map +7 -1
  363. package/node_modules/@radix-ui/react-visually-hidden/package.json +4 -5
  364. package/node_modules/@radix-ui/rect/dist/index.d.mts +3 -3
  365. package/node_modules/@radix-ui/rect/dist/index.d.ts +3 -3
  366. package/node_modules/@radix-ui/rect/dist/index.js +69 -66
  367. package/node_modules/@radix-ui/rect/dist/index.js.map +7 -1
  368. package/node_modules/@radix-ui/rect/dist/index.mjs +47 -63
  369. package/node_modules/@radix-ui/rect/dist/index.mjs.map +7 -1
  370. package/node_modules/@radix-ui/rect/package.json +1 -4
  371. package/node_modules/@remix-run/react/CHANGELOG.md +18 -0
  372. package/node_modules/@remix-run/react/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
  373. package/node_modules/@remix-run/react/dist/browser.js +14 -3
  374. package/node_modules/@remix-run/react/dist/components.d.ts +9 -0
  375. package/node_modules/@remix-run/react/dist/components.js +23 -19
  376. package/node_modules/@remix-run/react/dist/data.js +1 -1
  377. package/node_modules/@remix-run/react/dist/entry.d.ts +1 -0
  378. package/node_modules/@remix-run/react/dist/errorBoundaries.d.ts +5 -2
  379. package/node_modules/@remix-run/react/dist/errorBoundaries.js +26 -5
  380. package/node_modules/@remix-run/react/dist/errors.js +1 -1
  381. package/node_modules/@remix-run/react/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -1
  382. package/node_modules/@remix-run/react/dist/esm/browser.js +14 -3
  383. package/node_modules/@remix-run/react/dist/esm/components.js +24 -20
  384. package/node_modules/@remix-run/react/dist/esm/data.js +1 -1
  385. package/node_modules/@remix-run/react/dist/esm/errorBoundaries.js +26 -5
  386. package/node_modules/@remix-run/react/dist/esm/errors.js +1 -1
  387. package/node_modules/@remix-run/react/dist/esm/fallback.js +1 -1
  388. package/node_modules/@remix-run/react/dist/esm/fog-of-war.js +226 -0
  389. package/node_modules/@remix-run/react/dist/esm/index.js +1 -1
  390. package/node_modules/@remix-run/react/dist/esm/invariant.js +1 -1
  391. package/node_modules/@remix-run/react/dist/esm/links.js +2 -2
  392. package/node_modules/@remix-run/react/dist/esm/markup.js +1 -1
  393. package/node_modules/@remix-run/react/dist/esm/routeModules.js +1 -1
  394. package/node_modules/@remix-run/react/dist/esm/routes.js +1 -1
  395. package/node_modules/@remix-run/react/dist/esm/scroll-restoration.js +1 -1
  396. package/node_modules/@remix-run/react/dist/esm/server.js +1 -1
  397. package/node_modules/@remix-run/react/dist/esm/single-fetch.js +1 -1
  398. package/node_modules/@remix-run/react/dist/fallback.js +1 -1
  399. package/node_modules/@remix-run/react/dist/fog-of-war.d.ts +37 -0
  400. package/node_modules/@remix-run/react/dist/fog-of-war.js +254 -0
  401. package/node_modules/@remix-run/react/dist/index.js +1 -1
  402. package/node_modules/@remix-run/react/dist/invariant.js +1 -1
  403. package/node_modules/@remix-run/react/dist/links.js +2 -2
  404. package/node_modules/@remix-run/react/dist/markup.js +1 -1
  405. package/node_modules/@remix-run/react/dist/routeModules.js +1 -1
  406. package/node_modules/@remix-run/react/dist/routes.d.ts +1 -1
  407. package/node_modules/@remix-run/react/dist/routes.js +1 -1
  408. package/node_modules/@remix-run/react/dist/scroll-restoration.js +1 -1
  409. package/node_modules/@remix-run/react/dist/server.js +1 -1
  410. package/node_modules/@remix-run/react/dist/single-fetch.js +1 -1
  411. package/node_modules/@remix-run/react/package.json +8 -8
  412. package/node_modules/@remix-run/router/CHANGELOG.md +9 -0
  413. package/node_modules/@remix-run/router/dist/index.d.ts +1 -1
  414. package/node_modules/@remix-run/router/dist/router.cjs.js +467 -80
  415. package/node_modules/@remix-run/router/dist/router.cjs.js.map +1 -1
  416. package/node_modules/@remix-run/router/dist/router.d.ts +11 -1
  417. package/node_modules/@remix-run/router/dist/router.js +457 -76
  418. package/node_modules/@remix-run/router/dist/router.js.map +1 -1
  419. package/node_modules/@remix-run/router/dist/router.umd.js +467 -80
  420. package/node_modules/@remix-run/router/dist/router.umd.js.map +1 -1
  421. package/node_modules/@remix-run/router/dist/router.umd.min.js +2 -2
  422. package/node_modules/@remix-run/router/dist/router.umd.min.js.map +1 -1
  423. package/node_modules/@remix-run/router/dist/utils.d.ts +9 -1
  424. package/node_modules/@remix-run/router/index.ts +1 -0
  425. package/node_modules/@remix-run/router/package.json +1 -1
  426. package/node_modules/@remix-run/router/router.ts +586 -73
  427. package/node_modules/@remix-run/router/utils.ts +51 -8
  428. package/node_modules/@remix-run/server-runtime/CHANGELOG.md +17 -0
  429. package/node_modules/@remix-run/server-runtime/dist/cookies.js +1 -1
  430. package/node_modules/@remix-run/server-runtime/dist/data.js +1 -1
  431. package/node_modules/@remix-run/server-runtime/dist/deprecations.js +1 -1
  432. package/node_modules/@remix-run/server-runtime/dist/dev.js +1 -1
  433. package/node_modules/@remix-run/server-runtime/dist/entry.d.ts +1 -0
  434. package/node_modules/@remix-run/server-runtime/dist/entry.js +1 -1
  435. package/node_modules/@remix-run/server-runtime/dist/errors.js +1 -1
  436. package/node_modules/@remix-run/server-runtime/dist/esm/cookies.js +1 -1
  437. package/node_modules/@remix-run/server-runtime/dist/esm/data.js +1 -1
  438. package/node_modules/@remix-run/server-runtime/dist/esm/deprecations.js +1 -1
  439. package/node_modules/@remix-run/server-runtime/dist/esm/dev.js +1 -1
  440. package/node_modules/@remix-run/server-runtime/dist/esm/entry.js +1 -1
  441. package/node_modules/@remix-run/server-runtime/dist/esm/errors.js +1 -1
  442. package/node_modules/@remix-run/server-runtime/dist/esm/formData.js +1 -1
  443. package/node_modules/@remix-run/server-runtime/dist/esm/headers.js +1 -1
  444. package/node_modules/@remix-run/server-runtime/dist/esm/index.js +1 -1
  445. package/node_modules/@remix-run/server-runtime/dist/esm/invariant.js +1 -1
  446. package/node_modules/@remix-run/server-runtime/dist/esm/markup.js +1 -1
  447. package/node_modules/@remix-run/server-runtime/dist/esm/mode.js +1 -1
  448. package/node_modules/@remix-run/server-runtime/dist/esm/responses.js +1 -1
  449. package/node_modules/@remix-run/server-runtime/dist/esm/routeMatching.js +1 -1
  450. package/node_modules/@remix-run/server-runtime/dist/esm/routes.js +1 -1
  451. package/node_modules/@remix-run/server-runtime/dist/esm/server.js +76 -11
  452. package/node_modules/@remix-run/server-runtime/dist/esm/serverHandoff.js +1 -1
  453. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/cookieStorage.js +1 -1
  454. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/memoryStorage.js +1 -1
  455. package/node_modules/@remix-run/server-runtime/dist/esm/sessions.js +1 -1
  456. package/node_modules/@remix-run/server-runtime/dist/esm/single-fetch.js +17 -8
  457. package/node_modules/@remix-run/server-runtime/dist/esm/upload/errors.js +1 -1
  458. package/node_modules/@remix-run/server-runtime/dist/esm/upload/memoryUploadHandler.js +1 -1
  459. package/node_modules/@remix-run/server-runtime/dist/esm/warnings.js +1 -1
  460. package/node_modules/@remix-run/server-runtime/dist/formData.js +1 -1
  461. package/node_modules/@remix-run/server-runtime/dist/headers.js +1 -1
  462. package/node_modules/@remix-run/server-runtime/dist/index.js +1 -1
  463. package/node_modules/@remix-run/server-runtime/dist/invariant.js +1 -1
  464. package/node_modules/@remix-run/server-runtime/dist/markup.js +1 -1
  465. package/node_modules/@remix-run/server-runtime/dist/mode.js +1 -1
  466. package/node_modules/@remix-run/server-runtime/dist/responses.js +1 -1
  467. package/node_modules/@remix-run/server-runtime/dist/routeMatching.js +1 -1
  468. package/node_modules/@remix-run/server-runtime/dist/routes.js +1 -1
  469. package/node_modules/@remix-run/server-runtime/dist/server.js +70 -5
  470. package/node_modules/@remix-run/server-runtime/dist/serverHandoff.js +1 -1
  471. package/node_modules/@remix-run/server-runtime/dist/sessions/cookieStorage.js +1 -1
  472. package/node_modules/@remix-run/server-runtime/dist/sessions/memoryStorage.js +1 -1
  473. package/node_modules/@remix-run/server-runtime/dist/sessions.js +1 -1
  474. package/node_modules/@remix-run/server-runtime/dist/single-fetch.d.ts +3 -0
  475. package/node_modules/@remix-run/server-runtime/dist/single-fetch.js +18 -7
  476. package/node_modules/@remix-run/server-runtime/dist/upload/errors.js +1 -1
  477. package/node_modules/@remix-run/server-runtime/dist/upload/memoryUploadHandler.js +1 -1
  478. package/node_modules/@remix-run/server-runtime/dist/warnings.js +1 -1
  479. package/node_modules/@remix-run/server-runtime/package.json +3 -3
  480. package/node_modules/deep-eql/index.js +10 -5
  481. package/node_modules/deep-eql/package.json +1 -1
  482. package/node_modules/framer-motion/dist/cjs/{dom-entry-DSxBucW4.js → dom-entry-GDJJhIpT.js} +59 -106
  483. package/node_modules/framer-motion/dist/cjs/dom-entry.js +1 -1
  484. package/node_modules/framer-motion/dist/cjs/index.js +123 -36
  485. package/node_modules/framer-motion/dist/dom.js +1 -1
  486. package/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs +3 -3
  487. package/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs +6 -3
  488. package/node_modules/framer-motion/dist/es/motion/index.mjs +33 -13
  489. package/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs +6 -3
  490. package/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs +54 -3
  491. package/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +5 -2
  492. package/node_modules/framer-motion/dist/es/projection-entry.mjs +11 -0
  493. package/node_modules/framer-motion/dist/es/render/VisualElement.mjs +30 -78
  494. package/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs +5 -1
  495. package/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +1 -1
  496. package/node_modules/framer-motion/dist/es/utils/mix/color.mjs +8 -2
  497. package/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +1 -3
  498. package/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +5 -0
  499. package/node_modules/framer-motion/dist/es/value/index.mjs +1 -1
  500. package/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +1 -1
  501. package/node_modules/framer-motion/dist/framer-motion.dev.js +175 -134
  502. package/node_modules/framer-motion/dist/framer-motion.js +1 -1
  503. package/node_modules/framer-motion/dist/index.d.ts +78 -78
  504. package/node_modules/framer-motion/dist/three-entry.d.ts +59 -72
  505. package/node_modules/framer-motion/package.json +14 -28
  506. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +15 -4
  507. package/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
  508. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +12 -4
  509. package/node_modules/react-remove-scroll/dist/es2015/types.d.ts +10 -2
  510. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.js +15 -4
  511. package/node_modules/react-remove-scroll/dist/es2019/UI.js +2 -2
  512. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.js +12 -4
  513. package/node_modules/react-remove-scroll/dist/es2019/types.d.ts +10 -2
  514. package/node_modules/react-remove-scroll/dist/es5/SideEffect.js +15 -4
  515. package/node_modules/react-remove-scroll/dist/es5/UI.js +2 -2
  516. package/node_modules/react-remove-scroll/dist/es5/handleScroll.js +12 -4
  517. package/node_modules/react-remove-scroll/dist/es5/types.d.ts +10 -2
  518. package/node_modules/react-remove-scroll/dist/index.js +93 -0
  519. package/node_modules/react-remove-scroll/package.json +4 -3
  520. package/node_modules/react-router/CHANGELOG.md +14 -0
  521. package/node_modules/react-router/dist/index.d.ts +4 -1
  522. package/node_modules/react-router/dist/index.js +3 -2
  523. package/node_modules/react-router/dist/index.js.map +1 -1
  524. package/node_modules/react-router/dist/main.js +1 -1
  525. package/node_modules/react-router/dist/react-router.development.js +3 -2
  526. package/node_modules/react-router/dist/react-router.development.js.map +1 -1
  527. package/node_modules/react-router/dist/react-router.production.min.js +2 -2
  528. package/node_modules/react-router/dist/react-router.production.min.js.map +1 -1
  529. package/node_modules/react-router/dist/umd/react-router.development.js +3 -2
  530. package/node_modules/react-router/dist/umd/react-router.development.js.map +1 -1
  531. package/node_modules/react-router/dist/umd/react-router.production.min.js +2 -2
  532. package/node_modules/react-router/dist/umd/react-router.production.min.js.map +1 -1
  533. package/node_modules/react-router/package.json +3 -3
  534. package/node_modules/react-router-dom/CHANGELOG.md +17 -0
  535. package/node_modules/react-router-dom/dist/dom.d.ts +29 -16
  536. package/node_modules/react-router-dom/dist/index.d.ts +18 -6
  537. package/node_modules/react-router-dom/dist/index.js +3 -1
  538. package/node_modules/react-router-dom/dist/index.js.map +1 -1
  539. package/node_modules/react-router-dom/dist/main.js +1 -1
  540. package/node_modules/react-router-dom/dist/react-router-dom.development.js +29 -1
  541. package/node_modules/react-router-dom/dist/react-router-dom.development.js.map +1 -1
  542. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js +2 -2
  543. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js.map +1 -1
  544. package/node_modules/react-router-dom/dist/server.js +4 -1
  545. package/node_modules/react-router-dom/dist/server.mjs +4 -1
  546. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js +29 -1
  547. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js.map +1 -1
  548. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js +2 -2
  549. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js.map +1 -1
  550. package/node_modules/react-router-dom/package.json +3 -3
  551. package/node_modules/react-router-dom/server.js +4 -1
  552. package/node_modules/react-router-dom/server.mjs +4 -1
  553. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/README.md +32 -112
  554. package/node_modules/source-map/dist/source-map.debug.js +3234 -0
  555. package/node_modules/source-map/dist/source-map.js +3233 -0
  556. package/node_modules/source-map/dist/source-map.min.js +2 -0
  557. package/node_modules/source-map/dist/source-map.min.js.map +1 -0
  558. package/node_modules/source-map/lib/array-set.js +121 -0
  559. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/base64-vlq.js +40 -11
  560. package/node_modules/source-map/lib/base64.js +67 -0
  561. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/binary-search.js +19 -15
  562. package/node_modules/source-map/lib/mapping-list.js +79 -0
  563. package/node_modules/source-map/lib/quick-sort.js +114 -0
  564. package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  565. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/source-map-generator.js +169 -157
  566. package/node_modules/source-map/lib/source-node.js +413 -0
  567. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/util.js +51 -109
  568. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/package.json +9 -27
  569. package/node_modules/source-map/source-map.d.ts +98 -0
  570. package/node_modules/source-map/source-map.js +8 -0
  571. package/node_modules/turbo-stream/dist/flatten.d.ts +1 -1
  572. package/node_modules/turbo-stream/dist/flatten.js +44 -9
  573. package/node_modules/turbo-stream/dist/turbo-stream.js +11 -2
  574. package/node_modules/turbo-stream/dist/turbo-stream.mjs +58 -7
  575. package/node_modules/turbo-stream/dist/unflatten.js +2 -0
  576. package/node_modules/turbo-stream/dist/utils.d.ts +1 -0
  577. package/node_modules/turbo-stream/dist/utils.js +2 -1
  578. package/node_modules/turbo-stream/package.json +1 -1
  579. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/index.d.ts +1 -0
  580. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/package.json +2 -1
  581. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/readme.md +1 -0
  582. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-literal.d.ts +6 -4
  583. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge-deep.d.ts +8 -9
  584. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/omit-deep.d.ts +3 -3
  585. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/paths.d.ts +14 -8
  586. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/schema.d.ts +12 -12
  587. package/node_modules/type-fest/source/simplify-deep.d.ts +115 -0
  588. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/simplify.d.ts +1 -1
  589. package/package.json +4 -4
  590. package/build/client/assets/_exerciseNumber_.finished-DNtyBHjg.js +0 -2
  591. package/build/client/assets/_exerciseNumber_.finished-DNtyBHjg.js.map +0 -1
  592. package/build/client/assets/_layout-BR-Qyofe.js +0 -2
  593. package/build/client/assets/_layout-CNgYirUN.js +0 -2
  594. package/build/client/assets/_layout-CNgYirUN.js.map +0 -1
  595. package/build/client/assets/_layout-xu6a9He_.js +0 -2
  596. package/build/client/assets/_layout-xu6a9He_.js.map +0 -1
  597. package/build/client/assets/components-C5xBZAiL.js +0 -119
  598. package/build/client/assets/components-C5xBZAiL.js.map +0 -1
  599. package/build/client/assets/diff-BKsbFB6w.js +0 -42
  600. package/build/client/assets/diff-BKsbFB6w.js.map +0 -1
  601. package/build/client/assets/diff-KDzcgGYL.js +0 -2
  602. package/build/client/assets/discord-Xp0X4-Fl.js +0 -2
  603. package/build/client/assets/discord-Xp0X4-Fl.js.map +0 -1
  604. package/build/client/assets/entry.client-0j1eoieD.js +0 -80
  605. package/build/client/assets/entry.client-0j1eoieD.js.map +0 -1
  606. package/build/client/assets/epic-video-BwtXsHGU.js.map +0 -1
  607. package/build/client/assets/finished-Cu9PZd5Q.js +0 -2
  608. package/build/client/assets/finished-Cu9PZd5Q.js.map +0 -1
  609. package/build/client/assets/index-Bg9MMnnf.js.map +0 -1
  610. package/build/client/assets/index-D6ygCrVn.js +0 -37
  611. package/build/client/assets/index-D6ygCrVn.js.map +0 -1
  612. package/build/client/assets/index-r90CY6Wk.js +0 -8
  613. package/build/client/assets/index-r90CY6Wk.js.map +0 -1
  614. package/build/client/assets/manifest-b31ba37c.js +0 -1
  615. package/build/client/assets/mdx-BYvGbvEr.js +0 -2
  616. package/build/client/assets/misc-DNgC2Frq.js +0 -2
  617. package/build/client/assets/misc-DNgC2Frq.js.map +0 -1
  618. package/build/client/assets/progress-CF9Xwfxf.js +0 -2
  619. package/build/client/assets/progress-CF9Xwfxf.js.map +0 -1
  620. package/build/client/assets/root-BQ7V6fP4.js.map +0 -1
  621. package/build/client/assets/tailwind-Ck4g-nq0.css +0 -1
  622. package/build/client/assets/tooltip-Kw0lYWBI.js +0 -2
  623. package/build/client/assets/tooltip-Kw0lYWBI.js.map +0 -1
  624. package/node_modules/@babel/runtime/helpers/AsyncGenerator.js +0 -64
  625. package/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js +0 -64
  626. package/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +0 -10
  627. package/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js +0 -8
  628. package/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +0 -10
  629. package/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js +0 -8
  630. package/node_modules/@conform-to/dom/rollup.config.js +0 -100
  631. package/node_modules/@conform-to/react/rollup.config.js +0 -102
  632. package/node_modules/@conform-to/zod/rollup.config.js +0 -100
  633. package/node_modules/@radix-ui/number/dist/index.d.ts.map +0 -1
  634. package/node_modules/@radix-ui/primitive/dist/index.d.ts.map +0 -1
  635. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts.map +0 -1
  636. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts.map +0 -1
  637. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts.map +0 -1
  638. package/node_modules/@radix-ui/react-collection/dist/index.d.ts.map +0 -1
  639. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts.map +0 -1
  640. package/node_modules/@radix-ui/react-context/dist/index.d.ts.map +0 -1
  641. package/node_modules/@radix-ui/react-direction/dist/index.d.ts.map +0 -1
  642. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts.map +0 -1
  643. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts.map +0 -1
  644. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts.map +0 -1
  645. package/node_modules/@radix-ui/react-id/dist/index.d.ts.map +0 -1
  646. package/node_modules/@radix-ui/react-popover/dist/index.d.ts.map +0 -1
  647. package/node_modules/@radix-ui/react-popper/dist/index.d.ts.map +0 -1
  648. package/node_modules/@radix-ui/react-portal/dist/index.d.ts.map +0 -1
  649. package/node_modules/@radix-ui/react-presence/dist/index.d.ts.map +0 -1
  650. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts.map +0 -1
  651. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts.map +0 -1
  652. package/node_modules/@radix-ui/react-select/dist/index.d.ts.map +0 -1
  653. package/node_modules/@radix-ui/react-slot/dist/index.d.ts.map +0 -1
  654. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts.map +0 -1
  655. package/node_modules/@radix-ui/react-toast/dist/index.d.ts.map +0 -1
  656. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts.map +0 -1
  657. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts.map +0 -1
  658. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts.map +0 -1
  659. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts.map +0 -1
  660. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts.map +0 -1
  661. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts.map +0 -1
  662. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts.map +0 -1
  663. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts.map +0 -1
  664. package/node_modules/@radix-ui/rect/dist/index.d.ts.map +0 -1
  665. package/node_modules/@remix-run/server-runtime/node_modules/source-map/dist/source-map.js +0 -1
  666. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/array-set.js +0 -100
  667. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/base64.js +0 -18
  668. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/mapping-list.js +0 -80
  669. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/source-map-consumer.js +0 -1237
  670. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/source-node.js +0 -404
  671. package/node_modules/@remix-run/server-runtime/node_modules/source-map/source-map.d.ts +0 -369
  672. package/node_modules/@remix-run/server-runtime/node_modules/source-map/source-map.js +0 -8
  673. package/node_modules/framer-motion/dist/projection.dev.js +0 -6659
  674. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/LICENSE +0 -0
  675. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/mappings.wasm +0 -0
  676. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/read-wasm.js +0 -0
  677. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/wasm.js +0 -0
  678. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/and.d.ts +0 -0
  679. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-indices.d.ts +0 -0
  680. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-slice.d.ts +0 -0
  681. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-splice.d.ts +0 -0
  682. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-values.d.ts +0 -0
  683. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/async-return-type.d.ts +0 -0
  684. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/asyncify.d.ts +0 -0
  685. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/basic.d.ts +0 -0
  686. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-case.d.ts +0 -0
  687. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-cased-properties-deep.d.ts +0 -0
  688. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-cased-properties.d.ts +0 -0
  689. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-except.d.ts +0 -0
  690. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-keys.d.ts +0 -0
  691. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-pick-deep.d.ts +0 -0
  692. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-pick.d.ts +0 -0
  693. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-simplify.d.ts +0 -0
  694. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-case.d.ts +0 -0
  695. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-cased-properties-deep.d.ts +0 -0
  696. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-cased-properties.d.ts +0 -0
  697. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/distributed-omit.d.ts +0 -0
  698. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/distributed-pick.d.ts +0 -0
  699. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/empty-object.d.ts +0 -0
  700. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/enforce-optional.d.ts +0 -0
  701. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/entries.d.ts +0 -0
  702. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/entry.d.ts +0 -0
  703. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/exact.d.ts +0 -0
  704. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/except.d.ts +0 -0
  705. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/fixed-length-array.d.ts +0 -0
  706. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/get.d.ts +0 -0
  707. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/global-this.d.ts +0 -0
  708. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/greater-than-or-equal.d.ts +0 -0
  709. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/greater-than.d.ts +0 -0
  710. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-optional-keys.d.ts +0 -0
  711. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-readonly-keys.d.ts +0 -0
  712. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-required-keys.d.ts +0 -0
  713. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-writable-keys.d.ts +0 -0
  714. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-any.d.ts +0 -0
  715. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-empty-object.d.ts +0 -0
  716. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-never.d.ts +0 -0
  717. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-null.d.ts +0 -0
  718. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-unknown.d.ts +0 -0
  719. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/includes.d.ts +0 -0
  720. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/int-range.d.ts +0 -0
  721. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/internal.d.ts +0 -0
  722. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/invariant-of.d.ts +0 -0
  723. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-any.d.ts +0 -0
  724. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-equal.d.ts +0 -0
  725. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-float.d.ts +0 -0
  726. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-integer.d.ts +0 -0
  727. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-never.d.ts +0 -0
  728. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-null.d.ts +0 -0
  729. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-unknown.d.ts +0 -0
  730. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/iterable-element.d.ts +0 -0
  731. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/join.d.ts +0 -0
  732. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/jsonifiable.d.ts +0 -0
  733. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/jsonify.d.ts +0 -0
  734. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-case.d.ts +0 -0
  735. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-cased-properties-deep.d.ts +0 -0
  736. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-cased-properties.d.ts +0 -0
  737. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/keys-of-union.d.ts +0 -0
  738. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/last-array-element.d.ts +0 -0
  739. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/less-than-or-equal.d.ts +0 -0
  740. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/less-than.d.ts +0 -0
  741. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-to-primitive-deep.d.ts +0 -0
  742. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-to-primitive.d.ts +0 -0
  743. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-union.d.ts +0 -0
  744. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge-exclusive.d.ts +0 -0
  745. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge.d.ts +0 -0
  746. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/multidimensional-array.d.ts +0 -0
  747. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/multidimensional-readonly-array.d.ts +0 -0
  748. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/non-empty-object.d.ts +0 -0
  749. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/numeric.d.ts +0 -0
  750. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/observable-like.d.ts +0 -0
  751. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/omit-index-signature.d.ts +0 -0
  752. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/opaque.d.ts +0 -0
  753. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/optional-keys-of.d.ts +0 -0
  754. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/or.d.ts +0 -0
  755. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/override-properties.d.ts +0 -0
  756. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/package-json.d.ts +0 -0
  757. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/partial-deep.d.ts +0 -0
  758. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/partial-on-undefined-deep.d.ts +0 -0
  759. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-case.d.ts +0 -0
  760. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-cased-properties-deep.d.ts +0 -0
  761. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-cased-properties.d.ts +0 -0
  762. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pick-deep.d.ts +0 -0
  763. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pick-index-signature.d.ts +0 -0
  764. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/primitive.d.ts +0 -0
  765. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/promisable.d.ts +0 -0
  766. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-deep.d.ts +0 -0
  767. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-keys-of.d.ts +0 -0
  768. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-tuple.d.ts +0 -0
  769. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/replace.d.ts +0 -0
  770. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-all-or-none.d.ts +0 -0
  771. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-at-least-one.d.ts +0 -0
  772. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-exactly-one.d.ts +0 -0
  773. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-one-or-none.d.ts +0 -0
  774. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/required-deep.d.ts +0 -0
  775. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/required-keys-of.d.ts +0 -0
  776. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/screaming-snake-case.d.ts +0 -0
  777. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-field-type.d.ts +0 -0
  778. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-non-nullable.d.ts +0 -0
  779. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-optional.d.ts +0 -0
  780. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-parameter-type.d.ts +0 -0
  781. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-readonly.d.ts +0 -0
  782. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-required.d.ts +0 -0
  783. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-return-type.d.ts +0 -0
  784. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/shared-union-fields-deep.d.ts +0 -0
  785. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/single-key-object.d.ts +0 -0
  786. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-case.d.ts +0 -0
  787. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-cased-properties-deep.d.ts +0 -0
  788. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-cased-properties.d.ts +0 -0
  789. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/split-words.d.ts +0 -0
  790. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/split.d.ts +0 -0
  791. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/spread.d.ts +0 -0
  792. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/string-key-of.d.ts +0 -0
  793. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/string-slice.d.ts +0 -0
  794. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/stringified.d.ts +0 -0
  795. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/subtract.d.ts +0 -0
  796. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/sum.d.ts +0 -0
  797. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tagged-union.d.ts +0 -0
  798. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/trim.d.ts +0 -0
  799. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tsconfig-json.d.ts +0 -0
  800. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tuple-to-union.d.ts +0 -0
  801. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/typed-array.d.ts +0 -0
  802. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/undefined-on-partial-deep.d.ts +0 -0
  803. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/union-to-intersection.d.ts +0 -0
  804. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/unknown-array.d.ts +0 -0
  805. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/unknown-record.d.ts +0 -0
  806. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/value-of.d.ts +0 -0
  807. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable-deep.d.ts +0 -0
  808. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable-keys-of.d.ts +0 -0
  809. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"client-hints-BKxdo5Js.js","sources":["../../../../../node_modules/@epic-web/client-hints/dist/index.js","../../../../../node_modules/@epic-web/client-hints/dist/color-scheme.js","../../../../../node_modules/@epic-web/client-hints/dist/reduced-motion.js","../../../../../node_modules/@epic-web/client-hints/dist/time-zone.js","../../../app/utils/client-hints.tsx"],"sourcesContent":["export function getHintUtils(hints) {\n function getCookieValue(cookieString, name) {\n const hint = hints[name];\n if (!hint) {\n throw new Error(`Unknown client hint: ${typeof name === 'string' ? name : 'Unknown'}`);\n }\n const value = cookieString\n .split(';')\n .map((c) => c.trim())\n .find((c) => c.startsWith(hint.cookieName + '='))\n ?.split('=')[1];\n return value ? decodeURIComponent(value) : null;\n }\n function getHints(request) {\n const cookieString = typeof document !== 'undefined'\n ? document.cookie\n : typeof request !== 'undefined'\n ? request.headers.get('Cookie') ?? ''\n : '';\n return Object.entries(hints).reduce((acc, [name, hint]) => {\n const hintName = name;\n if ('transform' in hint) {\n // @ts-expect-error - this is fine (PRs welcome though)\n acc[hintName] = hint.transform(getCookieValue(cookieString, hintName) ?? hint.fallback);\n }\n else {\n // @ts-expect-error - this is fine (PRs welcome though)\n acc[hintName] = getCookieValue(cookieString, hintName) ?? hint.fallback;\n }\n return acc;\n }, {});\n }\n /**\n * This returns a string of JavaScript that can be used to check if the client\n * hints have changed and will reload the page if they have.\n */\n function getClientHintCheckScript() {\n return `\n// This block of code allows us to check if the client hints have changed and\n// force a reload of the page with updated hints if they have so you don't get\n// a flash of incorrect content.\nfunction checkClientHints() {\n\tif (!navigator.cookieEnabled) return;\n\n\t// set a short-lived cookie to make sure we can set cookies\n\tdocument.cookie = \"canSetCookies=1; Max-Age=60; SameSite=Lax\";\n\tconst canSetCookies = document.cookie.includes(\"canSetCookies=1\");\n\tdocument.cookie = \"canSetCookies=; Max-Age=-1; path=/\";\n\tif (!canSetCookies) return;\n\n\tconst cookies = document.cookie.split(';').map(c => c.trim()).reduce((acc, cur) => {\n\t\tconst [key, value] = cur.split('=');\n\t\tacc[key] = value;\n\t\treturn acc;\n\t}, {});\n\n\tlet cookieChanged = false;\n\tconst hints = [\n\t${Object.values(hints)\n .map((hint) => {\n const cookieName = JSON.stringify(hint.cookieName);\n return `{ name: ${cookieName}, actual: String(${hint.getValueCode}), value: cookies[${cookieName}] != null ? cookies[${cookieName}] : encodeURIComponent(\"${hint.fallback}\") }`;\n })\n .join(',\\n')}\n\t];\n\tfor (const hint of hints) {\n\t\tdocument.cookie = encodeURIComponent(hint.name) + '=' + encodeURIComponent(hint.actual) + '; Max-Age=31536000; path=/';\n\t\tif (decodeURIComponent(hint.value) !== hint.actual) {\n\t\t\tcookieChanged = true;\n\t\t}\n\t}\n\tif (cookieChanged) window.location.reload();\n}\n\ncheckClientHints();\n`;\n }\n return { getHints, getClientHintCheckScript };\n}\n","export const clientHint = {\n cookieName: 'CH-prefers-color-scheme',\n getValueCode: `window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'`,\n fallback: 'light',\n transform(value) {\n return value === 'dark' ? 'dark' : 'light';\n },\n};\n/**\n * Subscribe to changes in the user's color scheme preference. Optionally pass\n * in a cookie name to use for the cookie that will be set if different from the\n * default.\n */\nexport function subscribeToSchemeChange(subscriber, cookieName = clientHint.cookieName) {\n const schemaMatch = window.matchMedia('(prefers-color-scheme: dark)');\n function handleThemeChange() {\n const value = schemaMatch.matches ? 'dark' : 'light';\n document.cookie = `${cookieName}=${value}; Max-Age=31536000; Path=/`;\n subscriber(value);\n }\n schemaMatch.addEventListener('change', handleThemeChange);\n return function cleanupSchemaChange() {\n schemaMatch.removeEventListener('change', handleThemeChange);\n };\n}\n","export const clientHint = {\n cookieName: 'CH-reduced-motion',\n getValueCode: `window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 'reduce' : 'no-preference'`,\n fallback: 'no-preference',\n transform(value) {\n return value === 'reduce' ? 'reduce' : 'no-preference';\n },\n};\n/**\n * Subscribe to changes in the user's motion preference. Optionally pass\n * in a cookie name to use for the cookie that will be set if different from the\n * default.\n */\nexport function subscribeToMotionChange(subscriber, cookieName = clientHint.cookieName) {\n const motionMatch = window.matchMedia('(prefers-reduced-motion: reduce)');\n function handleMotionChange() {\n const value = motionMatch.matches ? 'reduce' : 'no-preference';\n document.cookie = `${cookieName}=${value}; Max-Age=31536000; Path=/`;\n subscriber(value);\n }\n motionMatch.addEventListener('change', handleMotionChange);\n return function cleanupMotionChange() {\n motionMatch.removeEventListener('change', handleMotionChange);\n };\n}\n","export const clientHint = {\n cookieName: 'CH-time-zone',\n getValueCode: 'Intl.DateTimeFormat().resolvedOptions().timeZone',\n fallback: 'UTC',\n};\n","/**\n * This file contains utilities for using client hints for user preference which\n * are needed by the server, but are only known by the browser.\n */\nimport { getHintUtils } from '@epic-web/client-hints'\nimport {\n\tclientHint as colorSchemeHint,\n\tsubscribeToSchemeChange,\n} from '@epic-web/client-hints/color-scheme'\nimport {\n\tclientHint as reducedMotionHint,\n\tsubscribeToMotionChange,\n} from '@epic-web/client-hints/reduced-motion'\nimport { clientHint as timeZoneHint } from '@epic-web/client-hints/time-zone'\nimport { useRevalidator } from '@remix-run/react'\nimport * as React from 'react'\nimport { useRequestInfo } from './request-info.ts'\n\nconst themeCookieName = 'EpicShop_CH-prefers-color-scheme'\nconst motionCookieName = 'EpicShop_CH-reduced-motion'\nconst hintsUtils = getHintUtils({\n\ttheme: {\n\t\t...colorSchemeHint,\n\t\tcookieName: themeCookieName,\n\t},\n\ttimeZone: {\n\t\t...timeZoneHint,\n\t\tcookieName: 'EpicShop_CH-time-zone',\n\t},\n\treducedMotion: {\n\t\t...reducedMotionHint,\n\t\tcookieName: motionCookieName,\n\t},\n\t// add other hints here\n})\n\nexport const { getHints } = hintsUtils\n\n/**\n * @returns an object with the client hints and their values\n */\nexport function useHints() {\n\tconst requestInfo = useRequestInfo()\n\treturn requestInfo.hints\n}\n\n/**\n * @returns inline script element that checks for client hints and sets cookies\n * if they are not set then reloads the page if any cookie was set to an\n * inaccurate value.\n */\nexport function ClientHintCheck() {\n\tconst { revalidate } = useRevalidator()\n\tReact.useEffect(\n\t\t() => subscribeToSchemeChange(() => revalidate(), themeCookieName),\n\t\t[revalidate],\n\t)\n\tReact.useEffect(\n\t\t() => subscribeToMotionChange(() => revalidate(), motionCookieName),\n\t\t[revalidate],\n\t)\n\n\treturn (\n\t\t<script\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: hintsUtils.getClientHintCheckScript(),\n\t\t\t}}\n\t\t/>\n\t)\n}\n"],"names":["getHintUtils","hints","getCookieValue","cookieString","name","hint","value","_a","getHints","request","acc","hintName","getClientHintCheckScript","cookieName","clientHint","subscribeToSchemeChange","subscriber","schemaMatch","handleThemeChange","subscribeToMotionChange","motionMatch","handleMotionChange","themeCookieName","motionCookieName","hintsUtils","colorSchemeHint","timeZoneHint","reducedMotionHint","useHints","useRequestInfo","ClientHintCheck","revalidate","useRevalidator","React.useEffect","jsx"],"mappings":"qGAAO,SAASA,EAAaC,EAAO,CAChC,SAASC,EAAeC,EAAcC,EAAM,OACxC,MAAMC,EAAOJ,EAAMG,CAAI,EACvB,GAAI,CAACC,EACD,MAAM,IAAI,MAAM,wBAAwB,OAAOD,GAAS,SAAWA,EAAO,SAAS,EAAE,EAEzF,MAAME,GAAQC,EAAAJ,EACT,MAAM,GAAG,EACT,IAAK,GAAM,EAAE,KAAI,CAAE,EACnB,KAAM,GAAM,EAAE,WAAWE,EAAK,WAAa,GAAG,CAAC,IAHtC,YAAAE,EAIR,MAAM,KAAK,GACjB,OAAOD,EAAQ,mBAAmBA,CAAK,EAAI,IAC9C,CACD,SAASE,EAASC,EAAS,CACvB,MAAMN,EAAe,OAAO,SAAa,IACnC,SAAS,OACT,OAAOM,EAAY,IACfA,EAAQ,QAAQ,IAAI,QAAQ,GAAK,GACjC,GACV,OAAO,OAAO,QAAQR,CAAK,EAAE,OAAO,CAACS,EAAK,CAACN,EAAMC,CAAI,IAAM,CACvD,MAAMM,EAAWP,EACjB,MAAI,cAAeC,EAEfK,EAAIC,CAAQ,EAAIN,EAAK,UAAUH,EAAeC,EAAcQ,CAAQ,GAAKN,EAAK,QAAQ,EAItFK,EAAIC,CAAQ,EAAIT,EAAeC,EAAcQ,CAAQ,GAAKN,EAAK,SAE5DK,CACV,EAAE,CAAE,CAAA,CACR,CAKD,SAASE,GAA2B,CAChC,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBZ,OAAO,OAAOX,CAAK,EACT,IAAKI,GAAS,CACf,MAAMQ,EAAa,KAAK,UAAUR,EAAK,UAAU,EACjD,MAAO,WAAWQ,CAAU,oBAAoBR,EAAK,YAAY,qBAAqBQ,CAAU,uBAAuBA,CAAU,2BAA2BR,EAAK,QAAQ,MACrL,CAAS,EACI,KAAK;AAAA,CAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAanB,CACD,MAAO,CAAE,SAAAG,EAAU,yBAAAI,EACvB,CC9EO,MAAME,EAAa,CACtB,WAAY,0BACZ,aAAc,+EACd,SAAU,QACV,UAAUR,EAAO,CACb,OAAOA,IAAU,OAAS,OAAS,OACtC,CACL,EAMO,SAASS,EAAwBC,EAAYH,EAAaC,EAAW,WAAY,CACpF,MAAMG,EAAc,OAAO,WAAW,8BAA8B,EACpE,SAASC,GAAoB,CACzB,MAAMZ,EAAQW,EAAY,QAAU,OAAS,QAC7C,SAAS,OAAS,GAAGJ,CAAU,IAAIP,CAAK,6BACxCU,EAAWV,CAAK,CACnB,CACD,OAAAW,EAAY,iBAAiB,SAAUC,CAAiB,EACjD,UAA+B,CAClCD,EAAY,oBAAoB,SAAUC,CAAiB,CACnE,CACA,CCxBO,MAAMJ,EAAa,CACtB,WAAY,oBACZ,aAAc,6FACd,SAAU,gBACV,UAAUR,EAAO,CACb,OAAOA,IAAU,SAAW,SAAW,eAC1C,CACL,EAMO,SAASa,EAAwBH,EAAYH,EAAaC,EAAW,WAAY,CACpF,MAAMM,EAAc,OAAO,WAAW,kCAAkC,EACxE,SAASC,GAAqB,CAC1B,MAAMf,EAAQc,EAAY,QAAU,SAAW,gBAC/C,SAAS,OAAS,GAAGP,CAAU,IAAIP,CAAK,6BACxCU,EAAWV,CAAK,CACnB,CACD,OAAAc,EAAY,iBAAiB,SAAUC,CAAkB,EAClD,UAA+B,CAClCD,EAAY,oBAAoB,SAAUC,CAAkB,CACpE,CACA,CCxBO,MAAMP,EAAa,CACtB,WAAY,eACZ,aAAc,mDACd,SAAU,KACd,ECcMQ,EAAkB,mCAClBC,EAAmB,6BACnBC,EAAaxB,EAAa,CAC/B,MAAO,CACN,GAAGyB,EACH,WAAYH,CACb,EACA,SAAU,CACT,GAAGI,EACH,WAAY,uBACb,EACA,cAAe,CACd,GAAGC,EACH,WAAYJ,CACb,CAED,CAAC,EAOM,SAASK,GAAW,CAE1B,OADoBC,IACD,KACpB,CAOO,SAASC,GAAkB,CAC3B,KAAA,CAAE,WAAAC,GAAeC,IACjBC,OAAAA,EAAA,UACL,IAAMlB,EAAwB,IAAMgB,IAAcT,CAAe,EACjE,CAACS,CAAU,CAAA,EAENE,EAAA,UACL,IAAMd,EAAwB,IAAMY,IAAcR,CAAgB,EAClE,CAACQ,CAAU,CAAA,EAIXG,EAAA,IAAC,SAAA,CACA,wBAAyB,CACxB,OAAQV,EAAW,yBAAyB,CAC7C,CAAA,CAAA,CAGH","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"client-hints-BE5mB4r0.js","sources":["../../../../../node_modules/@epic-web/client-hints/dist/index.js","../../../../../node_modules/@epic-web/client-hints/dist/color-scheme.js","../../../../../node_modules/@epic-web/client-hints/dist/reduced-motion.js","../../../../../node_modules/@epic-web/client-hints/dist/time-zone.js","../../../app/utils/client-hints.tsx"],"sourcesContent":["export function getHintUtils(hints) {\n function getCookieValue(cookieString, name) {\n const hint = hints[name];\n if (!hint) {\n throw new Error(`Unknown client hint: ${typeof name === 'string' ? name : 'Unknown'}`);\n }\n const value = cookieString\n .split(';')\n .map((c) => c.trim())\n .find((c) => c.startsWith(hint.cookieName + '='))\n ?.split('=')[1];\n return value ? decodeURIComponent(value) : null;\n }\n function getHints(request) {\n const cookieString = typeof document !== 'undefined'\n ? document.cookie\n : typeof request !== 'undefined'\n ? request.headers.get('Cookie') ?? ''\n : '';\n return Object.entries(hints).reduce((acc, [name, hint]) => {\n const hintName = name;\n if ('transform' in hint) {\n // @ts-expect-error - this is fine (PRs welcome though)\n acc[hintName] = hint.transform(getCookieValue(cookieString, hintName) ?? hint.fallback);\n }\n else {\n // @ts-expect-error - this is fine (PRs welcome though)\n acc[hintName] = getCookieValue(cookieString, hintName) ?? hint.fallback;\n }\n return acc;\n }, {});\n }\n /**\n * This returns a string of JavaScript that can be used to check if the client\n * hints have changed and will reload the page if they have.\n */\n function getClientHintCheckScript() {\n return `\n// This block of code allows us to check if the client hints have changed and\n// force a reload of the page with updated hints if they have so you don't get\n// a flash of incorrect content.\nfunction checkClientHints() {\n\tif (!navigator.cookieEnabled) return;\n\n\t// set a short-lived cookie to make sure we can set cookies\n\tdocument.cookie = \"canSetCookies=1; Max-Age=60; SameSite=Lax\";\n\tconst canSetCookies = document.cookie.includes(\"canSetCookies=1\");\n\tdocument.cookie = \"canSetCookies=; Max-Age=-1; path=/\";\n\tif (!canSetCookies) return;\n\n\tconst cookies = document.cookie.split(';').map(c => c.trim()).reduce((acc, cur) => {\n\t\tconst [key, value] = cur.split('=');\n\t\tacc[key] = value;\n\t\treturn acc;\n\t}, {});\n\n\tlet cookieChanged = false;\n\tconst hints = [\n\t${Object.values(hints)\n .map((hint) => {\n const cookieName = JSON.stringify(hint.cookieName);\n return `{ name: ${cookieName}, actual: String(${hint.getValueCode}), value: cookies[${cookieName}] != null ? cookies[${cookieName}] : encodeURIComponent(\"${hint.fallback}\") }`;\n })\n .join(',\\n')}\n\t];\n\tfor (const hint of hints) {\n\t\tdocument.cookie = encodeURIComponent(hint.name) + '=' + encodeURIComponent(hint.actual) + '; Max-Age=31536000; path=/';\n\t\tif (decodeURIComponent(hint.value) !== hint.actual) {\n\t\t\tcookieChanged = true;\n\t\t}\n\t}\n\tif (cookieChanged) window.location.reload();\n}\n\ncheckClientHints();\n`;\n }\n return { getHints, getClientHintCheckScript };\n}\n","export const clientHint = {\n cookieName: 'CH-prefers-color-scheme',\n getValueCode: `window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'`,\n fallback: 'light',\n transform(value) {\n return value === 'dark' ? 'dark' : 'light';\n },\n};\n/**\n * Subscribe to changes in the user's color scheme preference. Optionally pass\n * in a cookie name to use for the cookie that will be set if different from the\n * default.\n */\nexport function subscribeToSchemeChange(subscriber, cookieName = clientHint.cookieName) {\n const schemaMatch = window.matchMedia('(prefers-color-scheme: dark)');\n function handleThemeChange() {\n const value = schemaMatch.matches ? 'dark' : 'light';\n document.cookie = `${cookieName}=${value}; Max-Age=31536000; Path=/`;\n subscriber(value);\n }\n schemaMatch.addEventListener('change', handleThemeChange);\n return function cleanupSchemaChange() {\n schemaMatch.removeEventListener('change', handleThemeChange);\n };\n}\n","export const clientHint = {\n cookieName: 'CH-reduced-motion',\n getValueCode: `window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 'reduce' : 'no-preference'`,\n fallback: 'no-preference',\n transform(value) {\n return value === 'reduce' ? 'reduce' : 'no-preference';\n },\n};\n/**\n * Subscribe to changes in the user's motion preference. Optionally pass\n * in a cookie name to use for the cookie that will be set if different from the\n * default.\n */\nexport function subscribeToMotionChange(subscriber, cookieName = clientHint.cookieName) {\n const motionMatch = window.matchMedia('(prefers-reduced-motion: reduce)');\n function handleMotionChange() {\n const value = motionMatch.matches ? 'reduce' : 'no-preference';\n document.cookie = `${cookieName}=${value}; Max-Age=31536000; Path=/`;\n subscriber(value);\n }\n motionMatch.addEventListener('change', handleMotionChange);\n return function cleanupMotionChange() {\n motionMatch.removeEventListener('change', handleMotionChange);\n };\n}\n","export const clientHint = {\n cookieName: 'CH-time-zone',\n getValueCode: 'Intl.DateTimeFormat().resolvedOptions().timeZone',\n fallback: 'UTC',\n};\n","/**\n * This file contains utilities for using client hints for user preference which\n * are needed by the server, but are only known by the browser.\n */\nimport { getHintUtils } from '@epic-web/client-hints'\nimport {\n\tclientHint as colorSchemeHint,\n\tsubscribeToSchemeChange,\n} from '@epic-web/client-hints/color-scheme'\nimport {\n\tclientHint as reducedMotionHint,\n\tsubscribeToMotionChange,\n} from '@epic-web/client-hints/reduced-motion'\nimport { clientHint as timeZoneHint } from '@epic-web/client-hints/time-zone'\nimport { useRevalidator } from '@remix-run/react'\nimport * as React from 'react'\nimport { useRequestInfo } from './request-info.ts'\n\nconst themeCookieName = 'EpicShop_CH-prefers-color-scheme'\nconst motionCookieName = 'EpicShop_CH-reduced-motion'\nconst hintsUtils = getHintUtils({\n\ttheme: {\n\t\t...colorSchemeHint,\n\t\tcookieName: themeCookieName,\n\t},\n\ttimeZone: {\n\t\t...timeZoneHint,\n\t\tcookieName: 'EpicShop_CH-time-zone',\n\t},\n\treducedMotion: {\n\t\t...reducedMotionHint,\n\t\tcookieName: motionCookieName,\n\t},\n\t// add other hints here\n})\n\nexport const { getHints } = hintsUtils\n\n/**\n * @returns an object with the client hints and their values\n */\nexport function useHints() {\n\tconst requestInfo = useRequestInfo()\n\treturn requestInfo.hints\n}\n\n/**\n * @returns inline script element that checks for client hints and sets cookies\n * if they are not set then reloads the page if any cookie was set to an\n * inaccurate value.\n */\nexport function ClientHintCheck() {\n\tconst { revalidate } = useRevalidator()\n\tReact.useEffect(\n\t\t() => subscribeToSchemeChange(() => revalidate(), themeCookieName),\n\t\t[revalidate],\n\t)\n\tReact.useEffect(\n\t\t() => subscribeToMotionChange(() => revalidate(), motionCookieName),\n\t\t[revalidate],\n\t)\n\n\treturn (\n\t\t<script\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: hintsUtils.getClientHintCheckScript(),\n\t\t\t}}\n\t\t/>\n\t)\n}\n"],"names":["getHintUtils","hints","getCookieValue","cookieString","name","hint","value","_a","getHints","request","acc","hintName","getClientHintCheckScript","cookieName","clientHint","subscribeToSchemeChange","subscriber","schemaMatch","handleThemeChange","subscribeToMotionChange","motionMatch","handleMotionChange","themeCookieName","motionCookieName","hintsUtils","colorSchemeHint","timeZoneHint","reducedMotionHint","useHints","useRequestInfo","ClientHintCheck","revalidate","useRevalidator","React.useEffect","jsx"],"mappings":"qGAAO,SAASA,EAAaC,EAAO,CAChC,SAASC,EAAeC,EAAcC,EAAM,OACxC,MAAMC,EAAOJ,EAAMG,CAAI,EACvB,GAAI,CAACC,EACD,MAAM,IAAI,MAAM,wBAAwB,OAAOD,GAAS,SAAWA,EAAO,SAAS,EAAE,EAEzF,MAAME,GAAQC,EAAAJ,EACT,MAAM,GAAG,EACT,IAAK,GAAM,EAAE,KAAI,CAAE,EACnB,KAAM,GAAM,EAAE,WAAWE,EAAK,WAAa,GAAG,CAAC,IAHtC,YAAAE,EAIR,MAAM,KAAK,GACjB,OAAOD,EAAQ,mBAAmBA,CAAK,EAAI,IAC9C,CACD,SAASE,EAASC,EAAS,CACvB,MAAMN,EAAe,OAAO,SAAa,IACnC,SAAS,OACT,OAAOM,EAAY,IACfA,EAAQ,QAAQ,IAAI,QAAQ,GAAK,GACjC,GACV,OAAO,OAAO,QAAQR,CAAK,EAAE,OAAO,CAACS,EAAK,CAACN,EAAMC,CAAI,IAAM,CACvD,MAAMM,EAAWP,EACjB,MAAI,cAAeC,EAEfK,EAAIC,CAAQ,EAAIN,EAAK,UAAUH,EAAeC,EAAcQ,CAAQ,GAAKN,EAAK,QAAQ,EAItFK,EAAIC,CAAQ,EAAIT,EAAeC,EAAcQ,CAAQ,GAAKN,EAAK,SAE5DK,CACV,EAAE,CAAE,CAAA,CACR,CAKD,SAASE,GAA2B,CAChC,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBZ,OAAO,OAAOX,CAAK,EACT,IAAKI,GAAS,CACf,MAAMQ,EAAa,KAAK,UAAUR,EAAK,UAAU,EACjD,MAAO,WAAWQ,CAAU,oBAAoBR,EAAK,YAAY,qBAAqBQ,CAAU,uBAAuBA,CAAU,2BAA2BR,EAAK,QAAQ,MACrL,CAAS,EACI,KAAK;AAAA,CAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAanB,CACD,MAAO,CAAE,SAAAG,EAAU,yBAAAI,EACvB,CC9EO,MAAME,EAAa,CACtB,WAAY,0BACZ,aAAc,+EACd,SAAU,QACV,UAAUR,EAAO,CACb,OAAOA,IAAU,OAAS,OAAS,OACtC,CACL,EAMO,SAASS,EAAwBC,EAAYH,EAAaC,EAAW,WAAY,CACpF,MAAMG,EAAc,OAAO,WAAW,8BAA8B,EACpE,SAASC,GAAoB,CACzB,MAAMZ,EAAQW,EAAY,QAAU,OAAS,QAC7C,SAAS,OAAS,GAAGJ,CAAU,IAAIP,CAAK,6BACxCU,EAAWV,CAAK,CACnB,CACD,OAAAW,EAAY,iBAAiB,SAAUC,CAAiB,EACjD,UAA+B,CAClCD,EAAY,oBAAoB,SAAUC,CAAiB,CACnE,CACA,CCxBO,MAAMJ,EAAa,CACtB,WAAY,oBACZ,aAAc,6FACd,SAAU,gBACV,UAAUR,EAAO,CACb,OAAOA,IAAU,SAAW,SAAW,eAC1C,CACL,EAMO,SAASa,EAAwBH,EAAYH,EAAaC,EAAW,WAAY,CACpF,MAAMM,EAAc,OAAO,WAAW,kCAAkC,EACxE,SAASC,GAAqB,CAC1B,MAAMf,EAAQc,EAAY,QAAU,SAAW,gBAC/C,SAAS,OAAS,GAAGP,CAAU,IAAIP,CAAK,6BACxCU,EAAWV,CAAK,CACnB,CACD,OAAAc,EAAY,iBAAiB,SAAUC,CAAkB,EAClD,UAA+B,CAClCD,EAAY,oBAAoB,SAAUC,CAAkB,CACpE,CACA,CCxBO,MAAMP,EAAa,CACtB,WAAY,eACZ,aAAc,mDACd,SAAU,KACd,ECcMQ,EAAkB,mCAClBC,EAAmB,6BACnBC,EAAaxB,EAAa,CAC/B,MAAO,CACN,GAAGyB,EACH,WAAYH,CACb,EACA,SAAU,CACT,GAAGI,EACH,WAAY,uBACb,EACA,cAAe,CACd,GAAGC,EACH,WAAYJ,CACb,CAED,CAAC,EAOM,SAASK,GAAW,CAE1B,OADoBC,IACD,KACpB,CAOO,SAASC,GAAkB,CAC3B,KAAA,CAAE,WAAAC,GAAeC,IACjBC,OAAAA,EAAA,UACL,IAAMlB,EAAwB,IAAMgB,IAAcT,CAAe,EACjE,CAACS,CAAU,CAAA,EAENE,EAAA,UACL,IAAMd,EAAwB,IAAMY,IAAcR,CAAgB,EAClE,CAACQ,CAAU,CAAA,EAIXG,EAAA,IAAC,SAAA,CACA,wBAAyB,CACxB,OAAQV,EAAW,yBAAyB,CAC7C,CAAA,CAAA,CAGH","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,166 @@
1
+ var Lt=Object.defineProperty;var Tt=(e,t,r)=>t in e?Lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var G=(e,t,r)=>Tt(e,typeof t!="symbol"?t+"":t,r);import{r as l,n as Pt,u as B,d as Ye,N as X,o as Ot,p as We,q as j,s as ie,t as Ct,v as ge,w as M,D as be,x as oe,y as kt,z as At,A as _e,I as Dt,B as Ve,C as Ne,l as Nt,c as Ft,F as It,G as $t,H as jt,J as Ke,E as ae,i as Ut,a as Mt,m as Xe,K as Ht,L as Bt,M as Jt,P as zt}from"./index-Czg1ruVn.js";function Yt(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const i=Object.getOwnPropertyDescriptor(n,a);i&&Object.defineProperty(e,a,i.get?i:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Ge={exports:{}},C={};/**
2
+ * @license React
3
+ * react-dom.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */function Ze(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var V=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function $(){}var O={d:{f:$,r:function(){throw Error(Ze(522))},D:$,C:$,L:$,m:$,X:$,S:$,M:$},p:0,findDOMNode:null},Wt=Symbol.for("react.portal");function Vt(e,t,r){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Wt,key:n==null?null:""+n,children:e,containerInfo:t,implementation:r}}function le(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}C.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=O;C.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Ze(299));return Vt(e,t,null,r)};C.flushSync=function(e){var t=V.T,r=O.p;try{if(V.T=null,O.p=2,e)return e()}finally{V.T=t,O.p=r,O.d.f()}};C.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,O.d.C(e,t))};C.prefetchDNS=function(e){typeof e=="string"&&O.d.D(e)};C.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var r=t.as,n=le(r,t.crossOrigin),a=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;r==="style"?O.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:n,integrity:a,fetchPriority:i}):r==="script"&&O.d.X(e,{crossOrigin:n,integrity:a,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};C.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var r=le(t.as,t.crossOrigin);O.d.M(e,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&O.d.M(e)};C.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var r=t.as,n=le(r,t.crossOrigin);O.d.L(e,r,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};C.preloadModule=function(e,t){if(typeof e=="string")if(t){var r=le(t.as,t.crossOrigin);O.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else O.d.m(e)};C.requestFormReset=function(e){O.d.r(e)};C.unstable_batchedUpdates=function(e,t){return e(t)};C.useFormState=function(e,t,r){return V.H.useFormState(e,t,r)};C.useFormStatus=function(){return V.H.useHostTransitionStatus()};C.version="19.0.0-rc-f994737d14-20240522";function Qe(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Qe)}catch(e){console.error(e)}}Qe(),Ge.exports=C;var qe=Ge.exports;const Kt=Pt(qe),Xt=Yt({__proto__:null,default:Kt},[qe]);/**
10
+ * React Router DOM v6.24.0
11
+ *
12
+ * Copyright (c) Remix Software Inc.
13
+ *
14
+ * This source code is licensed under the MIT license found in the
15
+ * LICENSE.md file in the root directory of this source tree.
16
+ *
17
+ * @license MIT
18
+ */function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},D.apply(this,arguments)}function xe(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,i;for(i=0;i<n.length;i++)a=n[i],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}const re="get",he="application/x-www-form-urlencoded";function se(e){return e!=null&&typeof e.tagName=="string"}function Gt(e){return se(e)&&e.tagName.toLowerCase()==="button"}function Zt(e){return se(e)&&e.tagName.toLowerCase()==="form"}function Qt(e){return se(e)&&e.tagName.toLowerCase()==="input"}function qt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function er(e,t){return e.button===0&&(!t||t==="_self")&&!qt(e)}function ve(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function tr(e,t){let r=ve(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(i=>{r.append(a,i)})}),r}let Z=null;function rr(){if(Z===null)try{new FormData(document.createElement("form"),0),Z=!1}catch{Z=!0}return Z}const nr=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function me(e){return e!=null&&!nr.has(e)?null:e}function ar(e,t){let r,n,a,i,s;if(Zt(e)){let o=e.getAttribute("action");n=o?M(o,t):null,r=e.getAttribute("method")||re,a=me(e.getAttribute("enctype"))||he,i=new FormData(e)}else if(Gt(e)||Qt(e)&&(e.type==="submit"||e.type==="image")){let o=e.form;if(o==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let u=e.getAttribute("formaction")||o.getAttribute("action");if(n=u?M(u,t):null,r=e.getAttribute("formmethod")||o.getAttribute("method")||re,a=me(e.getAttribute("formenctype"))||me(o.getAttribute("enctype"))||he,i=new FormData(o,e),!rr()){let{name:c,type:f,value:d}=e;if(f==="image"){let h=c?c+".":"";i.append(h+"x","0"),i.append(h+"y","0")}else c&&i.append(c,d)}}else{if(se(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=re,n=null,a=he,s=e}return i&&a==="text/plain"&&(s=i,i=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:i,body:s}}const ir=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],or=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],lr=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","unstable_viewTransition"],sr="6";try{window.__reactRouterVersion=sr}catch{}const et=l.createContext({isTransitioning:!1}),tt=l.createContext(new Map),ur="startTransition",Fe=Ve[ur],cr="flushSync",Ie=Xt[cr],fr="useId",$e=Ve[fr];function dr(e){Fe?Fe(e):e()}function Y(e){Ie?Ie(e):e()}let hr=class{constructor(){this.status="pending",this.promise=new Promise((t,r)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",t(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",r(n))}})}};function Mn(e){let{fallbackElement:t,router:r,future:n}=e,[a,i]=l.useState(r.state),[s,o]=l.useState(),[u,c]=l.useState({isTransitioning:!1}),[f,d]=l.useState(),[h,y]=l.useState(),[m,v]=l.useState(),R=l.useRef(new Map),{v7_startTransition:b}=n||{},p=l.useCallback(E=>{b?dr(E):E()},[b]),w=l.useCallback((E,_)=>{let{deletedFetchers:L,unstable_flushSync:k,unstable_viewTransitionOpts:T}=_;L.forEach(F=>R.current.delete(F)),E.fetchers.forEach((F,fe)=>{F.data!==void 0&&R.current.set(fe,F.data)});let N=r.window==null||r.window.document==null||typeof r.window.document.startViewTransition!="function";if(!T||N){k?Y(()=>i(E)):p(()=>i(E));return}if(k){Y(()=>{h&&(f&&f.resolve(),h.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:T.currentLocation,nextLocation:T.nextLocation})});let F=r.window.document.startViewTransition(()=>{Y(()=>i(E))});F.finished.finally(()=>{Y(()=>{d(void 0),y(void 0),o(void 0),c({isTransitioning:!1})})}),Y(()=>y(F));return}h?(f&&f.resolve(),h.skipTransition(),v({state:E,currentLocation:T.currentLocation,nextLocation:T.nextLocation})):(o(E),c({isTransitioning:!0,flushSync:!1,currentLocation:T.currentLocation,nextLocation:T.nextLocation}))},[r.window,h,f,R,p]);l.useLayoutEffect(()=>r.subscribe(w),[r,w]),l.useEffect(()=>{u.isTransitioning&&!u.flushSync&&d(new hr)},[u]),l.useEffect(()=>{if(f&&s&&r.window){let E=s,_=f.promise,L=r.window.document.startViewTransition(async()=>{p(()=>i(E)),await _});L.finished.finally(()=>{d(void 0),y(void 0),o(void 0),c({isTransitioning:!1})}),y(L)}},[p,s,f,r.window]),l.useEffect(()=>{f&&s&&a.location.key===s.location.key&&f.resolve()},[f,h,a.location,s]),l.useEffect(()=>{!u.isTransitioning&&m&&(o(m.state),c({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[u.isTransitioning,m]),l.useEffect(()=>{},[]);let g=l.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:E=>r.navigate(E),push:(E,_,L)=>r.navigate(E,{state:_,preventScrollReset:L==null?void 0:L.preventScrollReset}),replace:(E,_,L)=>r.navigate(E,{replace:!0,state:_,preventScrollReset:L==null?void 0:L.preventScrollReset})}),[r]),x=r.basename||"/",S=l.useMemo(()=>({router:r,navigator:g,static:!1,basename:x}),[r,g,x]);return l.createElement(l.Fragment,null,l.createElement(be.Provider,{value:S},l.createElement(oe.Provider,{value:a},l.createElement(tt.Provider,{value:R.current},l.createElement(et.Provider,{value:u},l.createElement(kt,{basename:x,location:a.location,navigationType:a.historyAction,navigator:g,future:{v7_relativeSplatPath:r.future.v7_relativeSplatPath}},a.initialized||r.future.v7_partialHydration?l.createElement(mr,{routes:r.routes,future:r.future,state:a}):t))))),null)}function mr(e){let{routes:t,future:r,state:n}=e;return At(t,void 0,n,r)}const yr=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",pr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,rt=l.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:i,replace:s,state:o,target:u,to:c,preventScrollReset:f,unstable_viewTransition:d}=t,h=xe(t,ir),{basename:y}=l.useContext(X),m,v=!1;if(typeof c=="string"&&pr.test(c)&&(m=c,yr))try{let w=new URL(window.location.href),g=c.startsWith("//")?new URL(w.protocol+c):new URL(c),x=M(g.pathname,y);g.origin===w.origin&&x!=null?c=x+g.search+g.hash:v=!0}catch{}let R=_e(c,{relative:a}),b=wr(c,{replace:s,state:o,target:u,preventScrollReset:f,relative:a,unstable_viewTransition:d});function p(w){n&&n(w),w.defaultPrevented||b(w)}return l.createElement("a",D({},h,{href:m||R,onClick:v||i?n:p,ref:r,target:u}))}),gr=l.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:i="",end:s=!1,style:o,to:u,unstable_viewTransition:c,children:f}=t,d=xe(t,or),h=ie(u,{relative:d.relative}),y=B(),m=l.useContext(oe),{navigator:v,basename:R}=l.useContext(X),b=m!=null&&xr(h)&&c===!0,p=v.encodeLocation?v.encodeLocation(h).pathname:h.pathname,w=y.pathname,g=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;a||(w=w.toLowerCase(),g=g?g.toLowerCase():null,p=p.toLowerCase()),g&&R&&(g=M(g,R)||g);const x=p!=="/"&&p.endsWith("/")?p.length-1:p.length;let S=w===p||!s&&w.startsWith(p)&&w.charAt(x)==="/",E=g!=null&&(g===p||!s&&g.startsWith(p)&&g.charAt(p.length)==="/"),_={isActive:S,isPending:E,isTransitioning:b},L=S?n:void 0,k;typeof i=="function"?k=i(_):k=[i,S?"active":null,E?"pending":null,b?"transitioning":null].filter(Boolean).join(" ");let T=typeof o=="function"?o(_):o;return l.createElement(rt,D({},d,{"aria-current":L,className:k,ref:r,style:T,to:u,unstable_viewTransition:c}),typeof f=="function"?f(_):f)}),vr=l.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:i,state:s,method:o=re,action:u,onSubmit:c,relative:f,preventScrollReset:d,unstable_viewTransition:h}=e,y=xe(e,lr),m=at(),v=Rr(u,{relative:f}),R=o.toLowerCase()==="get"?"get":"post",b=p=>{if(c&&c(p),p.defaultPrevented)return;p.preventDefault();let w=p.nativeEvent.submitter,g=(w==null?void 0:w.getAttribute("formmethod"))||o;m(w||p.currentTarget,{fetcherKey:r,method:g,navigate:n,replace:i,state:s,relative:f,preventScrollReset:d,unstable_viewTransition:h})};return l.createElement("form",D({ref:t,method:R,action:v,onSubmit:a?c:b},y))});var J;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(J||(J={}));var K;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(K||(K={}));function ue(e){let t=l.useContext(be);return t||j(!1),t}function Le(e){let t=l.useContext(oe);return t||j(!1),t}function wr(e,t){let{target:r,replace:n,state:a,preventScrollReset:i,relative:s,unstable_viewTransition:o}=t===void 0?{}:t,u=Ye(),c=B(),f=ie(e,{relative:s});return l.useCallback(d=>{if(er(d,r)){d.preventDefault();let h=n!==void 0?n:ge(c)===ge(f);u(e,{replace:h,state:a,preventScrollReset:i,relative:s,unstable_viewTransition:o})}},[c,u,f,n,a,r,e,i,s,o])}function Hn(e){let t=l.useRef(ve(e)),r=l.useRef(!1),n=B(),a=l.useMemo(()=>tr(n.search,r.current?null:t.current),[n.search]),i=Ye(),s=l.useCallback((o,u)=>{const c=ve(typeof o=="function"?o(a):o);r.current=!0,i("?"+c,u)},[i,a]);return[a,s]}function Er(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let Sr=0,nt=()=>"__"+String(++Sr)+"__";function at(){let{router:e}=ue(J.UseSubmit),{basename:t}=l.useContext(X),r=Ot();return l.useCallback(function(n,a){a===void 0&&(a={}),Er();let{action:i,method:s,encType:o,formData:u,body:c}=ar(n,t);if(a.navigate===!1){let f=a.fetcherKey||nt();e.fetch(f,r,a.action||i,{preventScrollReset:a.preventScrollReset,formData:u,body:c,formMethod:a.method||s,formEncType:a.encType||o,unstable_flushSync:a.unstable_flushSync})}else e.navigate(a.action||i,{preventScrollReset:a.preventScrollReset,formData:u,body:c,formMethod:a.method||s,formEncType:a.encType||o,replace:a.replace,state:a.state,fromRouteId:r,unstable_flushSync:a.unstable_flushSync,unstable_viewTransition:a.unstable_viewTransition})},[e,t,r])}function Rr(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=l.useContext(X),a=l.useContext(We);a||j(!1);let[i]=a.matches.slice(-1),s=D({},ie(e||".",{relative:r})),o=B();if(e==null){s.search=o.search;let u=new URLSearchParams(s.search);u.has("index")&&u.get("index")===""&&(u.delete("index"),s.search=u.toString()?"?"+u.toString():"")}return(!e||e===".")&&i.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(s.pathname=s.pathname==="/"?n:Ct([n,s.pathname])),ge(s)}function br(e){var t;let{key:r}=e===void 0?{}:e,{router:n}=ue(J.UseFetcher),a=Le(K.UseFetcher),i=l.useContext(tt),s=l.useContext(We),o=(t=s.matches[s.matches.length-1])==null?void 0:t.route.id;i||j(!1),s||j(!1),o==null&&j(!1);let u=$e?$e():"",[c,f]=l.useState(r||u);r&&r!==c?f(r):c||f(nt()),l.useEffect(()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)}),[n,c]);let d=l.useCallback((p,w)=>{o||j(!1),n.fetch(c,o,p,w)},[c,o,n]),h=at(),y=l.useCallback((p,w)=>{h(p,D({},w,{navigate:!1,fetcherKey:c}))},[c,h]),m=l.useMemo(()=>l.forwardRef((w,g)=>l.createElement(vr,D({},w,{navigate:!1,fetcherKey:c,ref:g}))),[c]),v=a.fetchers.get(c)||Dt,R=i.get(c);return l.useMemo(()=>D({Form:m,submit:y,load:d},v,{data:R}),[m,y,d,v,R])}function Bn(){let e=Le(K.UseFetchers);return Array.from(e.fetchers.entries()).map(t=>{let[r,n]=t;return D({},n,{key:r})})}const je="react-router-scroll-positions";let Q={};function Jn(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=ue(J.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:i}=Le(K.UseScrollRestoration),{basename:s}=l.useContext(X),o=B(),u=Nt(),c=Ft();l.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),_r(l.useCallback(()=>{if(c.state==="idle"){let f=(t?t(o,u):null)||o.key;Q[f]=window.scrollY}try{sessionStorage.setItem(r||je,JSON.stringify(Q))}catch{}window.history.scrollRestoration="auto"},[r,t,c.state,o,u])),typeof document<"u"&&(l.useLayoutEffect(()=>{try{let f=sessionStorage.getItem(r||je);f&&(Q=JSON.parse(f))}catch{}},[r]),l.useLayoutEffect(()=>{let f=t&&s!=="/"?(h,y)=>t(D({},h,{pathname:M(h.pathname,s)||h.pathname}),y):t,d=n==null?void 0:n.enableScrollRestoration(Q,()=>window.scrollY,f);return()=>d&&d()},[n,s,t]),l.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(o.hash){let f=document.getElementById(decodeURIComponent(o.hash.slice(1)));if(f){f.scrollIntoView();return}}i!==!0&&window.scrollTo(0,0)}},[o,a,i]))}function _r(e,t){let{capture:r}={};l.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function xr(e,t){t===void 0&&(t={});let r=l.useContext(et);r==null&&j(!1);let{basename:n}=ue(J.useViewTransitionState),a=ie(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=M(r.currentLocation.pathname,n)||r.currentLocation.pathname,s=M(r.nextLocation.pathname,n)||r.nextLocation.pathname;return Ne(a.pathname,s)!=null||Ne(a.pathname,i)!=null}var Lr=-1,Tr=-2,Pr=-3,Or=-4,Cr=-5,kr=-6,Ar=-7,Dr="B",Nr="D",it="E",Fr="M",Ir="N",ot="P",$r="R",jr="S",Ur="Y",Mr="U",Hr="Z",lt=class{constructor(){G(this,"promise");G(this,"resolve");G(this,"reject");this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Br(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),i=(t+a).split(`
19
+ `);t=i.pop()||"";for(const s of i)n.enqueue(s)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ye=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function we(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return A.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;return r.push(...e),t.length=r.length,A.call(this,n)}function A(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;switch(e){case Ar:return;case Cr:return null;case Tr:return NaN;case kr:return 1/0;case Pr:return-1/0;case Or:return-0}if(t[e])return t[e];const i=r[e];if(!i||typeof i!="object")return t[e]=i;if(Array.isArray(i))if(typeof i[0]=="string"){const[s,o,u]=i;switch(s){case Nr:return t[e]=new Date(o);case Mr:return t[e]=new URL(o);case Dr:return t[e]=BigInt(o);case $r:return t[e]=new RegExp(o,u);case Ur:return t[e]=Symbol.for(o);case jr:const c=new Set;t[e]=c;for(let v=1;v<i.length;v++)c.add(A.call(this,i[v]));return c;case Fr:const f=new Map;t[e]=f;for(let v=1;v<i.length;v+=2)f.set(A.call(this,i[v]),A.call(this,i[v+1]));return f;case Ir:const d=Object.create(null);t[e]=d;for(const v in o)d[A.call(this,Number(v))]=A.call(this,o[v]);return d;case ot:if(t[o])return t[e]=t[o];{const v=new lt;return n[o]=v,t[e]=v.promise}case it:const[,h,y]=i;let m=y&&ye&&ye[y]?new ye[y](h):new Error(h);return t[e]=m,m;case Hr:return A.call(this,o);default:if(Array.isArray(a)){const v=i.slice(1).map(R=>A.call(this,R));for(const R of a){const b=R(i[0],...v);if(b)return t[e]=b.value}}throw new SyntaxError}}else{const s=[];t[e]=s;for(let o=0;o<i.length;o++){const u=i[o];u!==Lr&&(s[o]=A.call(this,u))}return s}else{const s={};t[e]=s;for(const o in i)s[A.call(this,Number(o))]=A.call(this,i[o]);return s}}async function Jr(e,t){const{plugins:r}=t??{},n=new lt,a=e.pipeThrough(Br()).getReader(),i={values:[],hydrated:[],deferred:{},plugins:r},s=await zr.call(i,a);let o=n.promise;return s.done?n.resolve():o=Yr.call(i,a).then(n.resolve).catch(u=>{for(const c of Object.values(i.deferred))c.reject(u);n.reject(u)}),{done:o.then(()=>a.closed),value:s.value}}async function zr(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:we.call(this,r)}}async function Yr(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case ot:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const s=r.slice(n+1);let o;try{o=JSON.parse(s)}catch{throw new SyntaxError}const u=we.call(this,o);i.resolve(u);break}case it:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const s=r.slice(n+1);let o;try{o=JSON.parse(s)}catch{throw new SyntaxError}const u=we.call(this,o);i.reject(u);break}default:throw new SyntaxError}t=await e.read()}}/**
20
+ * @remix-run/server-runtime v2.10.0
21
+ *
22
+ * Copyright (c) Remix Software Inc.
23
+ *
24
+ * This source code is licensed under the MIT license found in the
25
+ * LICENSE.md file in the root directory of this source tree.
26
+ *
27
+ * @license MIT
28
+ */const st=Symbol("SingleFetchRedirect");/**
29
+ * @remix-run/react v2.10.0
30
+ *
31
+ * Copyright (c) Remix Software Inc.
32
+ *
33
+ * This source code is licensed under the MIT license found in the
34
+ * LICENSE.md file in the root directory of this source tree.
35
+ *
36
+ * @license MIT
37
+ */function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},P.apply(this,arguments)}/**
38
+ * @remix-run/react v2.10.0
39
+ *
40
+ * Copyright (c) Remix Software Inc.
41
+ *
42
+ * This source code is licensed under the MIT license found in the
43
+ * LICENSE.md file in the root directory of this source tree.
44
+ *
45
+ * @license MIT
46
+ */function H(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}/**
47
+ * @remix-run/react v2.10.0
48
+ *
49
+ * Copyright (c) Remix Software Inc.
50
+ *
51
+ * This source code is licensed under the MIT license found in the
52
+ * LICENSE.md file in the root directory of this source tree.
53
+ *
54
+ * @license MIT
55
+ */async function ut(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch{return window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}/**
56
+ * @remix-run/react v2.10.0
57
+ *
58
+ * Copyright (c) Remix Software Inc.
59
+ *
60
+ * This source code is licensed under the MIT license found in the
61
+ * LICENSE.md file in the root directory of this source tree.
62
+ *
63
+ * @license MIT
64
+ */function Wr(e,t,r){let n=e.map(i=>{var s;let o=t[i.route.id],u=r.routes[i.route.id];return[u.css?u.css.map(c=>({rel:"stylesheet",href:c})):[],(o==null||(s=o.links)===null||s===void 0?void 0:s.call(o))||[]]}).flat(2),a=Qr(e,r);return ft(n,a)}async function ct(e,t){var r,n;if(!e.css&&!t.links||!en())return;let a=[((r=e.css)===null||r===void 0?void 0:r.map(o=>({rel:"stylesheet",href:o})))??[],((n=t.links)===null||n===void 0?void 0:n.call(t))??[]].flat(1);if(a.length===0)return;let i=[];for(let o of a)!Te(o)&&o.rel==="stylesheet"&&i.push({...o,rel:"preload",as:"style"});let s=i.filter(o=>(!o.media||window.matchMedia(o.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${o.href}"]`));await Promise.all(s.map(Vr))}async function Vr(e){return new Promise(t=>{let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function Te(e){return e!=null&&typeof e.page=="string"}function Kr(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Xr(e,t,r){let n=await Promise.all(e.map(async a=>{let i=await ut(t.routes[a.route.id],r);return i.links?i.links():[]}));return ft(n.flat(1).filter(Kr).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Ue(e,t,r,n,a,i){let s=dt(e),o=(f,d)=>r[d]?f.route.id!==r[d].route.id:!0,u=(f,d)=>{var h;return r[d].pathname!==f.pathname||((h=r[d].route.path)===null||h===void 0?void 0:h.endsWith("*"))&&r[d].params["*"]!==f.params["*"]};return i==="data"&&a.search!==s.search?t.filter((f,d)=>{if(!n.routes[f.route.id].hasLoader)return!1;if(o(f,d)||u(f,d))return!0;if(f.route.shouldRevalidate){var y;let m=f.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((y=r[0])===null||y===void 0?void 0:y.params)||{},nextUrl:new URL(e,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof m=="boolean")return m}return!0}):t.filter((f,d)=>{let h=n.routes[f.route.id];return(i==="assets"||h.hasLoader)&&(o(f,d)||u(f,d))})}function Gr(e,t,r){let n=dt(e);return Pe(t.filter(a=>r.routes[a.route.id].hasLoader&&!r.routes[a.route.id].hasClientLoader).map(a=>{let{pathname:i,search:s}=n,o=new URLSearchParams(s);return o.set("_data",a.route.id),`${i}?${o}`}))}function Zr(e,t){return Pe(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Qr(e,t){return Pe(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Pe(e){return[...new Set(e)]}function qr(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function ft(e,t){let r=new Set,n=new Set(t);return e.reduce((a,i)=>{if(t&&!Te(i)&&i.as==="script"&&i.href&&n.has(i.href))return a;let o=JSON.stringify(qr(i));return r.has(o)||(r.add(o),a.push({key:o,link:i})),a},[])}function dt(e){let t=It(e);return t.search===void 0&&(t.search=""),t}let q;function en(){if(q!==void 0)return q;let e=document.createElement("link");return q=e.relList.supports("preload"),e=null,q}/**
65
+ * @remix-run/react v2.10.0
66
+ *
67
+ * Copyright (c) Remix Software Inc.
68
+ *
69
+ * This source code is licensed under the MIT license found in the
70
+ * LICENSE.md file in the root directory of this source tree.
71
+ *
72
+ * @license MIT
73
+ */const tn={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},rn=/[&><\u2028\u2029]/g;function ee(e){return e.replace(rn,t=>tn[t])}function Me(e){return{__html:e}}/**
74
+ * @remix-run/react v2.10.0
75
+ *
76
+ * Copyright (c) Remix Software Inc.
77
+ *
78
+ * This source code is licensed under the MIT license found in the
79
+ * LICENSE.md file in the root directory of this source tree.
80
+ *
81
+ * @license MIT
82
+ */function nn(e){return e.headers.get("X-Remix-Catch")!=null}function an(e){return e.headers.get("X-Remix-Error")!=null}function on(e){return ht(e)&&e.status>=400&&e.headers.get("X-Remix-Error")==null&&e.headers.get("X-Remix-Catch")==null&&e.headers.get("X-Remix-Response")==null}function ln(e){return e.headers.get("X-Remix-Redirect")!=null}function sn(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function ht(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function un(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}async function mt(e,t,r=0){let n=new URL(e.url);n.searchParams.set("_data",t),r>0&&await new Promise(o=>setTimeout(o,5**r*10));let a=await yt(e),i=window.__remixRevalidation,s=await fetch(n.href,a).catch(o=>{if(typeof i=="number"&&i===window.__remixRevalidation&&(o==null?void 0:o.name)==="TypeError"&&r<3)return mt(e,t,r+1);throw o});if(an(s)){let o=await s.json(),u=new Error(o.message);return u.stack=o.stack,u}if(on(s)){let o=await s.text(),u=new Error(o);return u.stack=void 0,u}return s}async function yt(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}const cn="__deferred_promise:";async function fn(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=dn(e),i=(await n.next()).value;if(!i)throw new Error("no critical data");let s=JSON.parse(i);if(typeof s=="object"&&s!==null)for(let[o,u]of Object.entries(s))typeof u!="string"||!u.startsWith(cn)||(t=t||{},t[o]=new Promise((c,f)=>{r[o]={resolve:d=>{c(d),delete r[o]},reject:d=>{f(d),delete r[o]}}}));return(async()=>{try{for await(let o of n){let[u,...c]=o.split(":"),f=c.join(":"),d=JSON.parse(f);if(u==="data")for(let[h,y]of Object.entries(d))r[h]&&r[h].resolve(y);else if(u==="error")for(let[h,y]of Object.entries(d)){let m=new Error(y.message);m.stack=y.stack,r[h]&&r[h].reject(m)}}for(let[o,u]of Object.entries(r))u.reject(new $t(`Deferred ${o} will never be resolved`))}catch(o){for(let u of Object.values(r))u.reject(o)}})(),new jt({...s,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*dn(e){let t=e.getReader(),r=[],n=[],a=!1,i=new TextEncoder,s=new TextDecoder,o=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let c=await t.read();if(c.done){a=!0;break}r.push(c.value);try{let d=s.decode(He(...r)).split(`
83
+
84
+ `);if(d.length>=2&&(n.push(...d.slice(0,-1)),r=[i.encode(d.slice(-1).join(`
85
+
86
+ `))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=s.decode(He(...r)).split(`
87
+
88
+ `).filter(f=>f),r=[]),n.shift()},u=await o();for(;u;)yield u,u=await o()}function He(...e){let t=new Uint8Array(e.reduce((n,a)=>n+a.length,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}/**
89
+ * @remix-run/react v2.10.0
90
+ *
91
+ * Copyright (c) Remix Software Inc.
92
+ *
93
+ * This source code is licensed under the MIT license found in the
94
+ * LICENSE.md file in the root directory of this source tree.
95
+ *
96
+ * @license MIT
97
+ */function zn(e,t){return async({request:r,matches:n})=>r.method!=="GET"?hn(r,n):mn(e,t,r,n)}function hn(e,t){return Promise.all(t.map(async r=>{let n;return{...await r.resolve(async i=>({type:"data",result:await i(async()=>{let o=Oe(e.url),u=await yt(e),{data:c,status:f}=await Ee(o,u);return n=f,Se(c,r.route.id)}),status:n})),status:n}}))}function mn(e,t,r,n){let a;return Promise.all(n.map(async i=>i.resolve(async s=>{let o,u=yn(Oe(r.url));return e.routes[i.route.id].hasClientLoader?o=await s(async()=>{u.searchParams.set("_routes",i.route.id);let{data:c}=await Ee(u);return Be(c,i.route.id)}):o=await s(async()=>{a||(u=pt(e,t,n.map(f=>f.route),n.filter(f=>f.shouldLoad).map(f=>f.route),u),a=Ee(u).then(({data:f})=>f));let c=await a;return Be(c,i.route.id)}),{type:"data",result:o}})))}function yn(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function pt(e,t,r,n,a){let i=c=>c.filter(f=>e.routes[f].hasLoader).join(",");if(!r.some(c=>{var f,d;return((f=t[c.id])===null||f===void 0?void 0:f.shouldRevalidate)||((d=e.routes[c.id])===null||d===void 0?void 0:d.hasClientLoader)}))return a;let o=i(r.map(c=>c.id)),u=i(n.filter(c=>{var f;return!((f=e.routes[c.id])!==null&&f!==void 0&&f.hasClientLoader)}).map(c=>c.id));return o!==u&&a.searchParams.set("_routes",u),a}function Oe(e){let t=typeof e=="string"?new URL(e,window.location.origin):e;return t.pathname=`${t.pathname==="/"?"_root":t.pathname}.data`,t}async function Ee(e,t){let r=await fetch(e,t);H(r.body,"No response body to decode");try{let n=await pn(r.body,window);return{status:r.status,data:n.value}}catch(n){throw console.error(n),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function pn(e,t){return Jr(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,i,s]=n,o=Error;a&&a in t&&typeof t[a]=="function"&&(o=t[a]);let u=new o(i);return u.stack=s,{value:u}}if(r==="ErrorResponse"){let[a,i,s]=n;return{value:new ae(i,s,a)}}if(r==="SingleFetchRedirect")return{value:{[st]:n[0]}}}]})}function Be(e,t){let r=e[st];return r?Se(r,t):e[t]!==void 0?Se(e[t],t):null}function Se(e,t){if("error"in e)throw e.error;if("redirect"in e){let r={};return e.revalidate&&(r["X-Remix-Revalidate"]="yes"),e.reload&&(r["X-Remix-Reload-Document"]="yes"),Ke(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}/**
98
+ * @remix-run/react v2.10.0
99
+ *
100
+ * Copyright (c) Remix Software Inc.
101
+ *
102
+ * This source code is licensed under the MIT license found in the
103
+ * LICENSE.md file in the root directory of this source tree.
104
+ *
105
+ * @license MIT
106
+ */class Yn extends l.Component{constructor(t){super(t),this.state={error:t.error||null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error||null,location:t.location}:{error:t.error||r.error,location:r.location}}render(){return this.state.error?l.createElement(gt,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}}function gt({error:e,isOutsideRemixApp:t}){console.error(e);let r=l.createElement("script",{dangerouslySetInnerHTML:{__html:`
107
+ console.log(
108
+ "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information."
109
+ );
110
+ `}});if(Ut(e))return l.createElement(Re,{title:"Unhandled Thrown Response!"},l.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}return l.createElement(Re,{title:"Application Error!",isOutsideRemixApp:t},l.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),l.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function Re({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){var a;let{routeModules:i}=z();return(a=i.root)!==null&&a!==void 0&&a.Layout&&!r?n:l.createElement("html",{lang:"en"},l.createElement("head",null,l.createElement("meta",{charSet:"utf-8"}),l.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),l.createElement("title",null,e)),l.createElement("body",null,l.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?l.createElement(Nn,null):null)))}/**
111
+ * @remix-run/react v2.10.0
112
+ *
113
+ * Copyright (c) Remix Software Inc.
114
+ *
115
+ * This source code is licensed under the MIT license found in the
116
+ * LICENSE.md file in the root directory of this source tree.
117
+ *
118
+ * @license MIT
119
+ */function gn(){return l.createElement(Re,{title:"Loading...",renderScripts:!0},l.createElement("script",{dangerouslySetInnerHTML:{__html:`
120
+ console.log(
121
+ "💿 Hey developer 👋. You can provide a way better UX than this " +
122
+ "when your app is running \`clientLoader\` functions on hydration. " +
123
+ "Check out https://remix.run/route/hydrate-fallback for more information."
124
+ );
125
+ `}}))}/**
126
+ * @remix-run/react v2.10.0
127
+ *
128
+ * Copyright (c) Remix Software Inc.
129
+ *
130
+ * This source code is licensed under the MIT license found in the
131
+ * LICENSE.md file in the root directory of this source tree.
132
+ *
133
+ * @license MIT
134
+ */function vt(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function vn(e,t,r){let n=wt(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?gn:void 0,i=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>l.createElement(gt,{error:Mt()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:l.createElement(t.Layout,null,l.createElement(n,null))}:{Component:n},...i?{errorElement:l.createElement(t.Layout,null,l.createElement(i,null))}:{ErrorBoundary:i},...a?{hydrateFallbackElement:l.createElement(t.Layout,null,l.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:i,HydrateFallback:a}}function Wn(e,t,r,n,a,i){return Ce(t,r,n,a,i,"",vt(t),e)}function te(e,t,r){if(r){let s=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(s),new ae(400,"Bad Request",new Error(s),!0)}let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction)throw console.error(a),new ae(400,"Bad Request",new Error(a),!0)}function pe(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new ae(405,"Method Not Allowed",new Error(n),!0)}function Ce(e,t,r,n,a,i="",s=vt(e),o){return(s[i]||[]).map(u=>{let c=t[u.id];async function f(w,g,x){if(typeof x=="function")return await x();let S=await En(w,u);return g?Sn(S):S}function d(w,g,x){return u.hasLoader?f(w,g,x):Promise.resolve(null)}function h(w,g,x){if(!u.hasAction)throw pe("action",u.id);return f(w,g,x)}async function y(w){let g=t[u.id],x=g?ct(u,g):Promise.resolve();try{return w()}finally{await x}}let m={id:u.id,index:u.index,path:u.path};if(c){var v,R,b;Object.assign(m,{...m,...vn(u,c,a),handle:c.handle,shouldRevalidate:o?Je(u.id,c.shouldRevalidate,o):c.shouldRevalidate});let w=r==null||(v=r.loaderData)===null||v===void 0?void 0:v[u.id],g=r==null||(R=r.errors)===null||R===void 0?void 0:R[u.id],x=o==null&&(((b=c.clientLoader)===null||b===void 0?void 0:b.hydrate)===!0||!u.hasLoader);m.loader=async({request:S,params:E},_)=>{try{return await y(async()=>(H(c,"No `routeModule` available for critical-route loader"),c.clientLoader?c.clientLoader({request:S,params:E,async serverLoader(){if(te("loader",u,a),x){if(g!==void 0)throw g;return w}return d(S,!0,_)}}):a?null:d(S,!1,_)))}finally{x=!1}},m.loader.hydrate=bn(u,c,a),m.action=({request:S,params:E},_)=>y(async()=>{if(H(c,"No `routeModule` available for critical-route action"),!c.clientAction){if(a)throw pe("clientAction",u.id);return h(S,!1,_)}return c.clientAction({request:S,params:E,async serverAction(){return te("action",u,a),h(S,!0,_)}})})}else u.hasClientLoader||(m.loader=({request:w},g)=>y(()=>a?Promise.resolve(null):d(w,!1,g))),u.hasClientAction||(m.action=({request:w},g)=>y(()=>{if(a)throw pe("clientAction",u.id);return h(w,!1,g)})),m.lazy=async()=>{let w=await wn(u,t),g={...w};if(w.clientLoader){let x=w.clientLoader;g.loader=(S,E)=>x({...S,async serverLoader(){return te("loader",u,a),d(S.request,!0,E)}})}if(w.clientAction){let x=w.clientAction;g.action=(S,E)=>x({...S,async serverAction(){return te("action",u,a),h(S.request,!0,E)}})}return o&&(g.shouldRevalidate=Je(u.id,w.shouldRevalidate,o)),{...g.loader?{loader:g.loader}:{},...g.action?{action:g.action}:{},hasErrorBoundary:g.hasErrorBoundary,shouldRevalidate:g.shouldRevalidate,handle:g.handle,Component:g.Component,ErrorBoundary:g.ErrorBoundary}};let p=Ce(e,t,r,n,a,u.id,s,o);return p.length>0&&(m.children=p),m})}function Je(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function wn(e,t){let r=await ut(e,t);return await ct(e,r),{Component:wt(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function En(e,t){let r=await mt(e,t.id);if(r instanceof Error)throw r;if(ln(r))throw Rn(r);if(nn(r))throw r;return sn(r)&&r.body?await fn(r.body):r}function Sn(e){if(un(e))return e.data;if(ht(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function Rn(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),n={},a=e.headers.get("X-Remix-Revalidate");a&&(n["X-Remix-Revalidate"]=a);let i=e.headers.get("X-Remix-Reload-Document");return i&&(n["X-Remix-Reload-Document"]=i),Ke(r,{status:t,headers:n})}function wt(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function bn(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}/**
135
+ * @remix-run/react v2.10.0
136
+ *
137
+ * Copyright (c) Remix Software Inc.
138
+ *
139
+ * This source code is licensed under the MIT license found in the
140
+ * LICENSE.md file in the root directory of this source tree.
141
+ *
142
+ * @license MIT
143
+ */const _n=7680;let U=null;function ke(e,t){return e.unstable_fogOfWar===!0&&!t}function xn(e,t){let r=new Set(t.state.matches.map(s=>s.route.id)),n=t.state.location.pathname.split("/").filter(Boolean),a=["/"];for(n.pop();n.length>0;)a.push(`/${n.join("/")}`),n.pop();a.forEach(s=>{let o=Xe(t.routes,s,t.basename);o&&o.forEach(u=>r.add(u.route.id))});let i=[...r].reduce((s,o)=>Object.assign(s,{[o]:e.routes[o]}),{});return{...e,routes:i}}function Vn(e,t,r,n,a){return ke(r,n)?(U={nextPaths:new Set,knownGoodPaths:new Set,known404Paths:new Set},{enabled:!0,patchRoutesOnMiss:async({path:i,patch:s})=>{U.known404Paths.has(i)||U.knownGoodPaths.has(i)||await Et([i],U,e,t,r,n,a,s)}}):{enabled:!1}}function Kn(e,t,r,n,a){l.useEffect(()=>{var i;if(!ke(n,a)||((i=navigator.connection)===null||i===void 0?void 0:i.saveData)===!0)return;function s(d){if(!d)return;let h=new URL(d,window.location.origin),{knownGoodPaths:y,known404Paths:m,nextPaths:v}=U;y.has(h.pathname)||m.has(h.pathname)||v.add(h.pathname)}async function o(){let d=Ln(U);if(d.length!==0)try{await Et(d,U,t,r,n,a,e.basename,e.patchRoutes)}catch(h){console.error("Failed to fetch manifest patches",h)}}document.body.querySelectorAll("a[data-discover]").forEach(d=>s(d.getAttribute("href"))),o();let u=Tn(o,100);function c(d){return d.nodeType===Node.ELEMENT_NODE}let f=new MutationObserver(d=>{let h=new Set;d.forEach(y=>{[y.target,...y.addedNodes].forEach(m=>{c(m)&&(m.tagName==="A"&&m.getAttribute("data-discover")?h.add(m):m.tagName!=="A"&&m.querySelectorAll("a[data-discover]").forEach(v=>h.add(v)))})}),h.forEach(y=>s(y.getAttribute("href"))),u()});return f.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href"]}),()=>f.disconnect()},[n,a,t,r,e])}function Ln(e,t){let{knownGoodPaths:r,known404Paths:n,nextPaths:a}=e;return Array.from(a.keys()).filter(i=>r.has(i)||n.has(i)?(a.delete(i),!1):!0)}async function Et(e,t,r,n,a,i,s,o){let{nextPaths:u,knownGoodPaths:c,known404Paths:f}=t,d=`${s??"/"}/__manifest`.replace(/\/+/g,"/"),h=new URL(d,window.location.origin);if(h.searchParams.set("version",r.version),e.forEach(p=>h.searchParams.append("p",p)),h.toString().length>_n){u.clear();return}let y=await fetch(h);if(y.ok){if(y.status>=400)throw new Error(await y.text())}else throw new Error(`${y.status} ${y.statusText}`);let m=await y.json(),v=new Set(Object.keys(r.routes)),R=Object.values(m.patches).reduce((p,w)=>v.has(w.id)?p:Object.assign(p,{[w.id]:w}),{});Object.assign(r.routes,R),m.notFoundPaths.forEach(p=>f.add(p)),e.forEach(p=>c.add(p));let b=new Set;Object.values(R).forEach(p=>{(!p.parentId||!R[p.parentId])&&b.add(p.parentId)}),b.forEach(p=>o(p||null,Ce(R,n,null,a,i,p)))}function Tn(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}/**
144
+ * @remix-run/react v2.10.0
145
+ *
146
+ * Copyright (c) Remix Software Inc.
147
+ *
148
+ * This source code is licensed under the MIT license found in the
149
+ * LICENSE.md file in the root directory of this source tree.
150
+ *
151
+ * @license MIT
152
+ */function St(){let e=l.useContext(be);return H(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function ce(){let e=l.useContext(oe);return H(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const Rt=l.createContext(void 0);Rt.displayName="Remix";function z(){let e=l.useContext(Rt);return H(e,"You must render this element inside a <Remix> element"),e}function bt(e,t){let[r,n]=l.useState(!1),[a,i]=l.useState(!1),{onFocus:s,onBlur:o,onMouseEnter:u,onMouseLeave:c,onTouchStart:f}=t,d=l.useRef(null);l.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let m=R=>{R.forEach(b=>{i(b.isIntersecting)})},v=new IntersectionObserver(m,{threshold:.5});return d.current&&v.observe(d.current),()=>{v.disconnect()}}},[e]);let h=()=>{e==="intent"&&n(!0)},y=()=>{e==="intent"&&(n(!1),i(!1))};return l.useEffect(()=>{if(r){let m=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(m)}}},[r]),[a,d,{onFocus:W(s,h),onBlur:W(o,y),onMouseEnter:W(u,h),onMouseLeave:W(c,y),onTouchStart:W(f,h)}]}const _t=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;let Pn=l.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&_t.test(e),s=_e(e),[o,u,c]=bt(t,n);return l.createElement(l.Fragment,null,l.createElement(gr,P({},n,c,{ref:xt(a,u),to:e,"data-discover":!i&&r==="render"?"true":void 0})),o&&!i?l.createElement(De,{page:s}):null)});Pn.displayName="NavLink";let On=l.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&_t.test(e),s=_e(e),[o,u,c]=bt(t,n);return l.createElement(l.Fragment,null,l.createElement(rt,P({},n,c,{ref:xt(a,u),to:e,"data-discover":!i&&r==="render"?"true":void 0})),o&&!i?l.createElement(De,{page:s}):null)});On.displayName="Link";function W(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Ae(e,t,r){if(r&&!ne)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function Xn(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=z(),{errors:a,matches:i}=ce(),s=Ae(i,a,e),o=l.useMemo(()=>Wr(s,r,t),[s,r,t]);return l.createElement(l.Fragment,null,n?l.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,o.map(({key:u,link:c})=>Te(c)?l.createElement(De,P({key:u},c)):l.createElement("link",P({key:u},c))))}function De({page:e,...t}){let{router:r}=St(),n=l.useMemo(()=>Xe(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?l.createElement(kn,P({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Cn(e){let{manifest:t,routeModules:r}=z(),[n,a]=l.useState([]);return l.useEffect(()=>{let i=!1;return Xr(e,t,r).then(s=>{i||a(s)}),()=>{i=!0}},[e,t,r]),n}function kn({page:e,matches:t,...r}){let n=B(),{future:a,manifest:i,routeModules:s}=z(),{matches:o}=ce(),u=l.useMemo(()=>Ue(e,t,o,i,n,"data"),[e,t,o,i,n]),c=l.useMemo(()=>Ue(e,t,o,i,n,"assets"),[e,t,o,i,n]),f=l.useMemo(()=>Gr(e,u,i),[u,e,i]),d=l.useMemo(()=>Zr(c,i),[c,i]),h=Cn(c),y=null;if(!a.unstable_singleFetch)y=f.map(m=>l.createElement("link",P({key:m,rel:"prefetch",as:"fetch",href:m},r)));else if(u.length>0){let m=pt(i,s,t.map(v=>v.route),u.map(v=>v.route),Oe(e));m.searchParams.get("_routes")!==""&&(y=l.createElement("link",P({key:m.pathname+m.search,rel:"prefetch",as:"fetch",href:m.pathname+m.search},r)))}return l.createElement(l.Fragment,null,y,d.map(m=>l.createElement("link",P({key:m,rel:"modulepreload",href:m},r))),h.map(({key:m,link:v})=>l.createElement("link",P({key:m},v))))}function Gn(){let{isSpaMode:e,routeModules:t}=z(),{errors:r,matches:n,loaderData:a}=ce(),i=B(),s=Ae(n,r,e),o=null;r&&(o=r[s[s.length-1].route.id]);let u=[],c=null,f=[];for(let d=0;d<s.length;d++){let h=s[d],y=h.route.id,m=a[y],v=h.params,R=t[y],b=[],p={id:y,data:m,meta:[],params:h.params,pathname:h.pathname,handle:h.route.handle,error:o};if(f[d]=p,R!=null&&R.meta?b=typeof R.meta=="function"?R.meta({data:m,params:v,location:i,matches:f,error:o}):Array.isArray(R.meta)?[...R.meta]:R.meta:c&&(b=[...c]),b=b||[],!Array.isArray(b))throw new Error("The route at "+h.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
153
+
154
+ To reference the meta function API, see https://remix.run/route/meta`);p.meta=b,f[d]=p,u=[...b],c=u}return l.createElement(l.Fragment,null,u.flat().map(d=>{if(!d)return null;if("tagName"in d){let{tagName:h,...y}=d;if(!An(h))return console.warn(`A meta object uses an invalid tagName: ${h}. Expected either 'link' or 'meta'`),null;let m=h;return l.createElement(m,P({key:JSON.stringify(y)},y))}if("title"in d)return l.createElement("title",{key:"title"},String(d.title));if("charset"in d&&(d.charSet??(d.charSet=d.charset),delete d.charset),"charSet"in d&&d.charSet!=null)return typeof d.charSet=="string"?l.createElement("meta",{key:"charSet",charSet:d.charSet}):null;if("script:ld+json"in d)try{let h=JSON.stringify(d["script:ld+json"]);return l.createElement("script",{key:`script:ld+json:${h}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:h}})}catch{return null}return l.createElement("meta",P({key:JSON.stringify(d)},d))}))}function An(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function Dn(e){return l.createElement(Bt,e)}let ne=!1;function Nn(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:i,future:s,renderMeta:o}=z(),{router:u,static:c,staticContext:f}=St(),{matches:d}=ce(),h=ke(s,i);o&&(o.didRenderScripts=!0);let y=Ae(d,null,i);l.useEffect(()=>{ne=!0},[]);let m=(S,E)=>{let _;return a&&E instanceof Error?_=a(E):_=E,`${JSON.stringify(S)}:__remixContext.p(!1, ${ee(JSON.stringify(_))})`},v=(S,E,_)=>{let L;try{L=JSON.stringify(_)}catch(k){return m(E,k)}return`${JSON.stringify(E)}:__remixContext.p(${ee(L)})`},R=(S,E,_)=>{let L;return a&&_ instanceof Error?L=a(_):L=_,`__remixContext.r(${JSON.stringify(S)}, ${JSON.stringify(E)}, !1, ${ee(JSON.stringify(L))})`},b=(S,E,_)=>{let L;try{L=JSON.stringify(_)}catch(k){return R(S,E,k)}return`__remixContext.r(${JSON.stringify(S)}, ${JSON.stringify(E)}, ${ee(L)})`},p=[],w=l.useMemo(()=>{var S;let E=s.unstable_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",_=f?`window.__remixContext = ${r};${E}`:" ",L=s.unstable_singleFetch||f==null?void 0:f.activeDeferreds;_+=L?["__remixContext.p = function(v,e,p,x) {"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
155
+ x.stack=undefined;`," p=Promise.reject(x);"," } else {"," p=Promise.resolve(v);"," }"," return p;","};","__remixContext.n = function(i,k) {"," __remixContext.t = __remixContext.t || {};"," __remixContext.t[i] = __remixContext.t[i] || {};"," let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:""," return p;","};","__remixContext.r = function(i,k,v,e,p,x) {"," p = __remixContext.t[i][k];"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
156
+ x.stack=undefined;`," p.e(x);"," } else {"," p.r(v);"," }","};"].join(`
157
+ `)+Object.entries(L).map(([T,N])=>{let F=new Set(N.pendingKeys),fe=N.deferredKeys.map(I=>{if(F.has(I))return p.push(l.createElement(ze,{key:`${T} | ${I}`,deferredData:N,routeId:T,dataKey:I,scriptProps:e,serializeData:b,serializeError:R})),`${JSON.stringify(I)}:__remixContext.n(${JSON.stringify(T)}, ${JSON.stringify(I)})`;{let de=N.data[I];return typeof de._error<"u"?m(I,de._error):v(T,I,de._data)}}).join(`,
158
+ `);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(T)}], {${fe}});`}).join(`
159
+ `)+(p.length>0?`__remixContext.a=${p.length};`:""):"";let k=c?`${(S=t.hmr)!==null&&S!==void 0&&S.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${h?"":`import ${JSON.stringify(t.url)}`};
160
+ ${y.map((T,N)=>`import * as route${N} from ${JSON.stringify(t.routes[T.route.id].module)};`).join(`
161
+ `)}
162
+ ${h?`window.__remixManifest = ${JSON.stringify(xn(t,u),null,2)};`:""}
163
+ window.__remixRouteModules = {${y.map((T,N)=>`${JSON.stringify(T.route.id)}:route${N}`).join(",")}};
164
+
165
+ import(${JSON.stringify(t.entry.module)});`:" ";return l.createElement(l.Fragment,null,l.createElement("script",P({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Me(_),type:void 0})),l.createElement("script",P({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Me(k),type:"module",async:!0})))},[]);if(!c&&typeof __remixContext=="object"&&__remixContext.a)for(let S=0;S<__remixContext.a;S++)p.push(l.createElement(ze,{key:S,scriptProps:e,serializeData:b,serializeError:R}));let g=y.map(S=>{let E=t.routes[S.route.id];return(E.imports||[]).concat([E.module])}).flat(1),x=ne?[]:t.entry.imports.concat(g);return ne?null:l.createElement(l.Fragment,null,h?null:l.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),l.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),In(x).map(S=>l.createElement("link",{key:S,rel:"modulepreload",href:S,crossOrigin:e.crossOrigin})),w,p)}function ze({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&H(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),l.createElement(l.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:l.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?l.createElement(Dn,{resolve:t.data[e],errorElement:l.createElement(Fn,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:s=>l.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,s)}}))}):l.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function Fn({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=Jt();return l.createElement("script",P({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function In(e){return[...new Set(e)]}function Zn(){return Ht()}function Qn(e){return zt(e)}function qn(e={}){return br(e)}function xt(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}export{Dn as A,vr as F,On as L,Gn as M,Pn as N,Kt as R,Nn as S,P as _,qn as a,Qn as b,Hn as c,Bn as d,at as e,Wn as f,pn as g,Ce as h,H as i,Vn as j,zn as k,Kn as l,Rt as m,Yn as n,Mn as o,z as p,Jn as q,qe as r,bn as s,Xn as t,Zn as u};
166
+ //# sourceMappingURL=components-BMzmvxYw.js.map