@epic-web/workshop-app 4.6.5 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (811) 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-D5XVFEL6.js → _exerciseNumber-CFOo2dQj.js} +2 -2
  4. package/build/client/assets/{_exerciseNumber-D5XVFEL6.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-a1fde59b.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-BXq0yevS.js → root-bgHbi7rA.js} +4 -4
  75. package/build/client/assets/root-bgHbi7rA.js.map +1 -0
  76. package/build/client/assets/{seo-CHrqghsC.js → seo-Bu3_n5my.js} +2 -2
  77. package/build/client/assets/{seo-CHrqghsC.js.map → seo-Bu3_n5my.js.map} +1 -1
  78. package/build/client/assets/{support-DUAHYT3r.js → support-DrY-qRGh.js} +2 -2
  79. package/build/client/assets/{support-DUAHYT3r.js.map → support-DrY-qRGh.js.map} +1 -1
  80. package/build/client/assets/tailwind-D2vjZZFL.css +1 -0
  81. package/build/client/assets/tooltip-CfmIzAYi.js +2 -0
  82. package/build/client/assets/tooltip-CfmIzAYi.js.map +1 -0
  83. package/build/client/assets/{use-event-source-aW6X9lN1.js → use-event-source-ySol3hbz.js} +2 -2
  84. package/build/client/assets/{use-event-source-aW6X9lN1.js.map → use-event-source-ySol3hbz.js.map} +1 -1
  85. package/build/client/assets/{user-73ocDYRe.js → user-C4QTtQw5.js} +2 -2
  86. package/build/client/assets/{user-73ocDYRe.js.map → user-C4QTtQw5.js.map} +1 -1
  87. package/build/server/index.js +850 -616
  88. package/build/server/index.js.map +1 -1
  89. package/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +65 -3
  90. package/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +65 -3
  91. package/node_modules/@babel/runtime/package.json +1 -28
  92. package/node_modules/@conform-to/dom/dom.d.ts +17 -5
  93. package/node_modules/@conform-to/dom/form.d.ts +221 -122
  94. package/node_modules/@conform-to/dom/index.d.ts +24 -2
  95. package/node_modules/@conform-to/dom/intent.d.ts +92 -60
  96. package/node_modules/@conform-to/dom/package.json +1 -1
  97. package/node_modules/@conform-to/dom/parse.d.ts +47 -27
  98. package/node_modules/@conform-to/dom/types.d.ts +17 -14
  99. package/node_modules/@conform-to/dom/util.d.ts +4 -1
  100. package/node_modules/@conform-to/react/context.d.ts +187 -59
  101. package/node_modules/@conform-to/react/context.js +3 -5
  102. package/node_modules/@conform-to/react/context.mjs +4 -6
  103. package/node_modules/@conform-to/react/experimental.d.ts +0 -0
  104. package/node_modules/@conform-to/react/hooks.d.ts +53 -24
  105. package/node_modules/@conform-to/react/index.d.ts +28 -4
  106. package/node_modules/@conform-to/react/integrations.js +14 -1
  107. package/node_modules/@conform-to/react/integrations.mjs +14 -1
  108. package/node_modules/@conform-to/react/package.json +2 -2
  109. package/node_modules/@conform-to/zod/coercion.d.ts +14 -4
  110. package/node_modules/@conform-to/zod/constraint.d.ts +3 -1
  111. package/node_modules/@conform-to/zod/package.json +2 -2
  112. package/node_modules/@conform-to/zod/parse.d.ts +43 -25
  113. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -1
  114. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +14 -3
  115. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +51 -51
  116. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +51 -51
  117. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +14 -3
  118. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +14 -3
  119. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +14 -3
  120. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -1
  121. package/node_modules/@floating-ui/core/package.json +2 -2
  122. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -1
  123. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +12 -11
  124. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +11 -8
  125. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +11 -8
  126. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +1 -12
  127. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +1 -12
  128. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +12 -11
  129. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -1
  130. package/node_modules/@floating-ui/dom/package.json +2 -2
  131. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts +12 -4
  132. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.ts +12 -4
  133. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +1 -0
  134. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +1 -0
  135. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js +1 -0
  136. package/node_modules/@floating-ui/react-dom/package.json +1 -1
  137. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +11 -6
  138. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +11 -6
  139. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +2 -0
  140. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +2 -0
  141. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +13 -1
  142. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +13 -1
  143. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +13 -0
  144. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -1
  145. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +2 -0
  146. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +13 -1
  147. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +13 -0
  148. package/node_modules/@floating-ui/utils/package.json +1 -1
  149. package/node_modules/@radix-ui/number/dist/index.d.mts +2 -2
  150. package/node_modules/@radix-ui/number/dist/index.d.ts +2 -2
  151. package/node_modules/@radix-ui/number/dist/index.js +28 -10
  152. package/node_modules/@radix-ui/number/dist/index.js.map +7 -1
  153. package/node_modules/@radix-ui/number/dist/index.mjs +6 -7
  154. package/node_modules/@radix-ui/number/dist/index.mjs.map +7 -1
  155. package/node_modules/@radix-ui/number/package.json +1 -4
  156. package/node_modules/@radix-ui/primitive/dist/index.d.mts +2 -2
  157. package/node_modules/@radix-ui/primitive/dist/index.d.ts +2 -2
  158. package/node_modules/@radix-ui/primitive/dist/index.js +33 -13
  159. package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -1
  160. package/node_modules/@radix-ui/primitive/dist/index.mjs +11 -10
  161. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -1
  162. package/node_modules/@radix-ui/primitive/package.json +1 -4
  163. package/node_modules/@radix-ui/react-accordion/dist/index.d.mts +40 -28
  164. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts +40 -28
  165. package/node_modules/@radix-ui/react-accordion/dist/index.js +324 -316
  166. package/node_modules/@radix-ui/react-accordion/dist/index.js.map +7 -1
  167. package/node_modules/@radix-ui/react-accordion/dist/index.mjs +293 -300
  168. package/node_modules/@radix-ui/react-accordion/dist/index.mjs.map +7 -1
  169. package/node_modules/@radix-ui/react-accordion/package.json +12 -13
  170. package/node_modules/@radix-ui/react-arrow/dist/index.d.mts +8 -8
  171. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts +8 -8
  172. package/node_modules/@radix-ui/react-arrow/dist/index.js +57 -37
  173. package/node_modules/@radix-ui/react-arrow/dist/index.js.map +7 -1
  174. package/node_modules/@radix-ui/react-arrow/dist/index.mjs +25 -30
  175. package/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +7 -1
  176. package/node_modules/@radix-ui/react-arrow/package.json +4 -5
  177. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +27 -16
  178. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +27 -16
  179. package/node_modules/@radix-ui/react-collapsible/dist/index.js +176 -167
  180. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +7 -1
  181. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +143 -153
  182. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +7 -1
  183. package/node_modules/@radix-ui/react-collapsible/package.json +11 -12
  184. package/node_modules/@radix-ui/react-collection/dist/index.d.mts +27 -15
  185. package/node_modules/@radix-ui/react-collection/dist/index.d.ts +27 -15
  186. package/node_modules/@radix-ui/react-collection/dist/index.js +99 -112
  187. package/node_modules/@radix-ui/react-collection/dist/index.js.map +7 -1
  188. package/node_modules/@radix-ui/react-collection/dist/index.mjs +68 -106
  189. package/node_modules/@radix-ui/react-collection/dist/index.mjs.map +7 -1
  190. package/node_modules/@radix-ui/react-collection/package.json +7 -8
  191. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +5 -4
  192. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +5 -4
  193. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +47 -30
  194. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -1
  195. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +16 -27
  196. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -1
  197. package/node_modules/@radix-ui/react-compose-refs/package.json +2 -5
  198. package/node_modules/@radix-ui/react-context/dist/index.d.mts +10 -8
  199. package/node_modules/@radix-ui/react-context/dist/index.d.ts +10 -8
  200. package/node_modules/@radix-ui/react-context/dist/index.js +104 -123
  201. package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -1
  202. package/node_modules/@radix-ui/react-context/dist/index.mjs +73 -120
  203. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -1
  204. package/node_modules/@radix-ui/react-context/package.json +2 -5
  205. package/node_modules/@radix-ui/react-direction/dist/index.d.mts +6 -5
  206. package/node_modules/@radix-ui/react-direction/dist/index.d.ts +6 -5
  207. package/node_modules/@radix-ui/react-direction/dist/index.js +47 -24
  208. package/node_modules/@radix-ui/react-direction/dist/index.js.map +7 -1
  209. package/node_modules/@radix-ui/react-direction/dist/index.mjs +16 -20
  210. package/node_modules/@radix-ui/react-direction/dist/index.mjs.map +7 -1
  211. package/node_modules/@radix-ui/react-direction/package.json +2 -5
  212. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +10 -10
  213. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +10 -10
  214. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +230 -270
  215. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +7 -1
  216. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +199 -261
  217. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +7 -1
  218. package/node_modules/@radix-ui/react-dismissable-layer/package.json +9 -10
  219. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.mts +4 -4
  220. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts +4 -4
  221. package/node_modules/@radix-ui/react-focus-guards/dist/index.js +63 -39
  222. package/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +7 -1
  223. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +32 -34
  224. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.map +7 -1
  225. package/node_modules/@radix-ui/react-focus-guards/package.json +2 -5
  226. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts +8 -8
  227. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts +8 -8
  228. package/node_modules/@radix-ui/react-focus-scope/dist/index.js +228 -282
  229. package/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +7 -1
  230. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +197 -275
  231. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.map +7 -1
  232. package/node_modules/@radix-ui/react-focus-scope/package.json +6 -7
  233. package/node_modules/@radix-ui/react-id/dist/index.d.mts +2 -2
  234. package/node_modules/@radix-ui/react-id/dist/index.d.ts +2 -2
  235. package/node_modules/@radix-ui/react-id/dist/index.js +47 -26
  236. package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -1
  237. package/node_modules/@radix-ui/react-id/dist/index.mjs +14 -22
  238. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -1
  239. package/node_modules/@radix-ui/react-id/package.json +3 -4
  240. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +48 -37
  241. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +48 -37
  242. package/node_modules/@radix-ui/react-popover/dist/index.js +319 -311
  243. package/node_modules/@radix-ui/react-popover/dist/index.js.map +7 -1
  244. package/node_modules/@radix-ui/react-popover/dist/index.mjs +288 -291
  245. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +7 -1
  246. package/node_modules/@radix-ui/react-popover/package.json +17 -18
  247. package/node_modules/@radix-ui/react-popper/dist/index.d.mts +36 -25
  248. package/node_modules/@radix-ui/react-popper/dist/index.d.ts +36 -25
  249. package/node_modules/@radix-ui/react-popper/dist/index.js +305 -321
  250. package/node_modules/@radix-ui/react-popper/dist/index.js.map +7 -1
  251. package/node_modules/@radix-ui/react-popper/dist/index.mjs +284 -305
  252. package/node_modules/@radix-ui/react-popper/dist/index.mjs.map +7 -1
  253. package/node_modules/@radix-ui/react-popper/package.json +12 -13
  254. package/node_modules/@radix-ui/react-portal/dist/index.d.mts +9 -9
  255. package/node_modules/@radix-ui/react-portal/dist/index.d.ts +9 -9
  256. package/node_modules/@radix-ui/react-portal/dist/index.js +52 -34
  257. package/node_modules/@radix-ui/react-portal/dist/index.js.map +7 -1
  258. package/node_modules/@radix-ui/react-portal/dist/index.mjs +21 -27
  259. package/node_modules/@radix-ui/react-portal/dist/index.mjs.map +7 -1
  260. package/node_modules/@radix-ui/react-portal/package.json +5 -5
  261. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +5 -4
  262. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +5 -4
  263. package/node_modules/@radix-ui/react-presence/dist/index.js +147 -132
  264. package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -1
  265. package/node_modules/@radix-ui/react-presence/dist/index.mjs +116 -129
  266. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -1
  267. package/node_modules/@radix-ui/react-presence/package.json +5 -6
  268. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +8 -9
  269. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +8 -9
  270. package/node_modules/@radix-ui/react-primitive/dist/index.js +73 -100
  271. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -1
  272. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +42 -93
  273. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -1
  274. package/node_modules/@radix-ui/react-primitive/package.json +4 -5
  275. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts +25 -13
  276. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts +25 -13
  277. package/node_modules/@radix-ui/react-roving-focus/dist/index.js +239 -247
  278. package/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +7 -1
  279. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +209 -238
  280. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +7 -1
  281. package/node_modules/@radix-ui/react-roving-focus/package.json +12 -13
  282. package/node_modules/@radix-ui/react-select/dist/index.d.mts +77 -65
  283. package/node_modules/@radix-ui/react-select/dist/index.d.ts +77 -65
  284. package/node_modules/@radix-ui/react-select/dist/index.js +1107 -1235
  285. package/node_modules/@radix-ui/react-select/dist/index.js.map +7 -1
  286. package/node_modules/@radix-ui/react-select/dist/index.mjs +1076 -1197
  287. package/node_modules/@radix-ui/react-select/dist/index.mjs.map +7 -1
  288. package/node_modules/@radix-ui/react-select/package.json +23 -24
  289. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +9 -7
  290. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +9 -7
  291. package/node_modules/@radix-ui/react-slot/dist/index.js +107 -87
  292. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -1
  293. package/node_modules/@radix-ui/react-slot/dist/index.mjs +76 -80
  294. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -1
  295. package/node_modules/@radix-ui/react-slot/package.json +3 -4
  296. package/node_modules/@radix-ui/react-tabs/dist/index.d.mts +32 -21
  297. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts +32 -21
  298. package/node_modules/@radix-ui/react-tabs/dist/index.js +217 -184
  299. package/node_modules/@radix-ui/react-tabs/dist/index.js.map +7 -1
  300. package/node_modules/@radix-ui/react-tabs/dist/index.mjs +185 -169
  301. package/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +7 -1
  302. package/node_modules/@radix-ui/react-tabs/package.json +11 -12
  303. package/node_modules/@radix-ui/react-toast/dist/index.d.mts +43 -32
  304. package/node_modules/@radix-ui/react-toast/dist/index.d.ts +43 -32
  305. package/node_modules/@radix-ui/react-toast/dist/index.js +645 -715
  306. package/node_modules/@radix-ui/react-toast/dist/index.js.map +7 -1
  307. package/node_modules/@radix-ui/react-toast/dist/index.mjs +614 -695
  308. package/node_modules/@radix-ui/react-toast/dist/index.mjs.map +7 -1
  309. package/node_modules/@radix-ui/react-toast/package.json +15 -16
  310. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.mts +2 -2
  311. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts +2 -2
  312. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +42 -23
  313. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +7 -1
  314. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +11 -21
  315. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +7 -1
  316. package/node_modules/@radix-ui/react-use-callback-ref/package.json +2 -5
  317. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +4 -3
  318. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +4 -3
  319. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +75 -52
  320. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -1
  321. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +44 -50
  322. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -1
  323. package/node_modules/@radix-ui/react-use-controllable-state/package.json +3 -4
  324. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.mts +2 -2
  325. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts +2 -2
  326. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +50 -29
  327. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +7 -1
  328. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +17 -25
  329. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.map +7 -1
  330. package/node_modules/@radix-ui/react-use-escape-keydown/package.json +3 -4
  331. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +4 -3
  332. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +4 -3
  333. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +38 -17
  334. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -1
  335. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +7 -15
  336. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -1
  337. package/node_modules/@radix-ui/react-use-layout-effect/package.json +2 -5
  338. package/node_modules/@radix-ui/react-use-previous/dist/index.d.mts +2 -2
  339. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts +2 -2
  340. package/node_modules/@radix-ui/react-use-previous/dist/index.js +45 -26
  341. package/node_modules/@radix-ui/react-use-previous/dist/index.js.map +7 -1
  342. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs +14 -24
  343. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs.map +7 -1
  344. package/node_modules/@radix-ui/react-use-previous/package.json +2 -5
  345. package/node_modules/@radix-ui/react-use-rect/dist/index.d.mts +4 -3
  346. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts +4 -3
  347. package/node_modules/@radix-ui/react-use-rect/dist/index.js +52 -32
  348. package/node_modules/@radix-ui/react-use-rect/dist/index.js.map +7 -1
  349. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs +19 -28
  350. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs.map +7 -1
  351. package/node_modules/@radix-ui/react-use-rect/package.json +3 -4
  352. package/node_modules/@radix-ui/react-use-size/dist/index.d.mts +2 -2
  353. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts +2 -2
  354. package/node_modules/@radix-ui/react-use-size/dist/index.js +70 -57
  355. package/node_modules/@radix-ui/react-use-size/dist/index.js.map +7 -1
  356. package/node_modules/@radix-ui/react-use-size/dist/index.mjs +39 -55
  357. package/node_modules/@radix-ui/react-use-size/dist/index.mjs.map +7 -1
  358. package/node_modules/@radix-ui/react-use-size/package.json +3 -4
  359. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts +8 -8
  360. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts +8 -8
  361. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js +64 -41
  362. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +7 -1
  363. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +33 -35
  364. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.map +7 -1
  365. package/node_modules/@radix-ui/react-visually-hidden/package.json +4 -5
  366. package/node_modules/@radix-ui/rect/dist/index.d.mts +3 -3
  367. package/node_modules/@radix-ui/rect/dist/index.d.ts +3 -3
  368. package/node_modules/@radix-ui/rect/dist/index.js +69 -66
  369. package/node_modules/@radix-ui/rect/dist/index.js.map +7 -1
  370. package/node_modules/@radix-ui/rect/dist/index.mjs +47 -63
  371. package/node_modules/@radix-ui/rect/dist/index.mjs.map +7 -1
  372. package/node_modules/@radix-ui/rect/package.json +1 -4
  373. package/node_modules/@remix-run/react/CHANGELOG.md +18 -0
  374. package/node_modules/@remix-run/react/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
  375. package/node_modules/@remix-run/react/dist/browser.js +14 -3
  376. package/node_modules/@remix-run/react/dist/components.d.ts +9 -0
  377. package/node_modules/@remix-run/react/dist/components.js +23 -19
  378. package/node_modules/@remix-run/react/dist/data.js +1 -1
  379. package/node_modules/@remix-run/react/dist/entry.d.ts +1 -0
  380. package/node_modules/@remix-run/react/dist/errorBoundaries.d.ts +5 -2
  381. package/node_modules/@remix-run/react/dist/errorBoundaries.js +26 -5
  382. package/node_modules/@remix-run/react/dist/errors.js +1 -1
  383. package/node_modules/@remix-run/react/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -1
  384. package/node_modules/@remix-run/react/dist/esm/browser.js +14 -3
  385. package/node_modules/@remix-run/react/dist/esm/components.js +24 -20
  386. package/node_modules/@remix-run/react/dist/esm/data.js +1 -1
  387. package/node_modules/@remix-run/react/dist/esm/errorBoundaries.js +26 -5
  388. package/node_modules/@remix-run/react/dist/esm/errors.js +1 -1
  389. package/node_modules/@remix-run/react/dist/esm/fallback.js +1 -1
  390. package/node_modules/@remix-run/react/dist/esm/fog-of-war.js +226 -0
  391. package/node_modules/@remix-run/react/dist/esm/index.js +1 -1
  392. package/node_modules/@remix-run/react/dist/esm/invariant.js +1 -1
  393. package/node_modules/@remix-run/react/dist/esm/links.js +2 -2
  394. package/node_modules/@remix-run/react/dist/esm/markup.js +1 -1
  395. package/node_modules/@remix-run/react/dist/esm/routeModules.js +1 -1
  396. package/node_modules/@remix-run/react/dist/esm/routes.js +1 -1
  397. package/node_modules/@remix-run/react/dist/esm/scroll-restoration.js +1 -1
  398. package/node_modules/@remix-run/react/dist/esm/server.js +1 -1
  399. package/node_modules/@remix-run/react/dist/esm/single-fetch.js +1 -1
  400. package/node_modules/@remix-run/react/dist/fallback.js +1 -1
  401. package/node_modules/@remix-run/react/dist/fog-of-war.d.ts +37 -0
  402. package/node_modules/@remix-run/react/dist/fog-of-war.js +254 -0
  403. package/node_modules/@remix-run/react/dist/index.js +1 -1
  404. package/node_modules/@remix-run/react/dist/invariant.js +1 -1
  405. package/node_modules/@remix-run/react/dist/links.js +2 -2
  406. package/node_modules/@remix-run/react/dist/markup.js +1 -1
  407. package/node_modules/@remix-run/react/dist/routeModules.js +1 -1
  408. package/node_modules/@remix-run/react/dist/routes.d.ts +1 -1
  409. package/node_modules/@remix-run/react/dist/routes.js +1 -1
  410. package/node_modules/@remix-run/react/dist/scroll-restoration.js +1 -1
  411. package/node_modules/@remix-run/react/dist/server.js +1 -1
  412. package/node_modules/@remix-run/react/dist/single-fetch.js +1 -1
  413. package/node_modules/@remix-run/react/package.json +8 -8
  414. package/node_modules/@remix-run/router/CHANGELOG.md +9 -0
  415. package/node_modules/@remix-run/router/dist/index.d.ts +1 -1
  416. package/node_modules/@remix-run/router/dist/router.cjs.js +467 -80
  417. package/node_modules/@remix-run/router/dist/router.cjs.js.map +1 -1
  418. package/node_modules/@remix-run/router/dist/router.d.ts +11 -1
  419. package/node_modules/@remix-run/router/dist/router.js +457 -76
  420. package/node_modules/@remix-run/router/dist/router.js.map +1 -1
  421. package/node_modules/@remix-run/router/dist/router.umd.js +467 -80
  422. package/node_modules/@remix-run/router/dist/router.umd.js.map +1 -1
  423. package/node_modules/@remix-run/router/dist/router.umd.min.js +2 -2
  424. package/node_modules/@remix-run/router/dist/router.umd.min.js.map +1 -1
  425. package/node_modules/@remix-run/router/dist/utils.d.ts +9 -1
  426. package/node_modules/@remix-run/router/index.ts +1 -0
  427. package/node_modules/@remix-run/router/package.json +1 -1
  428. package/node_modules/@remix-run/router/router.ts +586 -73
  429. package/node_modules/@remix-run/router/utils.ts +51 -8
  430. package/node_modules/@remix-run/server-runtime/CHANGELOG.md +17 -0
  431. package/node_modules/@remix-run/server-runtime/dist/cookies.js +1 -1
  432. package/node_modules/@remix-run/server-runtime/dist/data.js +1 -1
  433. package/node_modules/@remix-run/server-runtime/dist/deprecations.js +1 -1
  434. package/node_modules/@remix-run/server-runtime/dist/dev.js +1 -1
  435. package/node_modules/@remix-run/server-runtime/dist/entry.d.ts +1 -0
  436. package/node_modules/@remix-run/server-runtime/dist/entry.js +1 -1
  437. package/node_modules/@remix-run/server-runtime/dist/errors.js +1 -1
  438. package/node_modules/@remix-run/server-runtime/dist/esm/cookies.js +1 -1
  439. package/node_modules/@remix-run/server-runtime/dist/esm/data.js +1 -1
  440. package/node_modules/@remix-run/server-runtime/dist/esm/deprecations.js +1 -1
  441. package/node_modules/@remix-run/server-runtime/dist/esm/dev.js +1 -1
  442. package/node_modules/@remix-run/server-runtime/dist/esm/entry.js +1 -1
  443. package/node_modules/@remix-run/server-runtime/dist/esm/errors.js +1 -1
  444. package/node_modules/@remix-run/server-runtime/dist/esm/formData.js +1 -1
  445. package/node_modules/@remix-run/server-runtime/dist/esm/headers.js +1 -1
  446. package/node_modules/@remix-run/server-runtime/dist/esm/index.js +1 -1
  447. package/node_modules/@remix-run/server-runtime/dist/esm/invariant.js +1 -1
  448. package/node_modules/@remix-run/server-runtime/dist/esm/markup.js +1 -1
  449. package/node_modules/@remix-run/server-runtime/dist/esm/mode.js +1 -1
  450. package/node_modules/@remix-run/server-runtime/dist/esm/responses.js +1 -1
  451. package/node_modules/@remix-run/server-runtime/dist/esm/routeMatching.js +1 -1
  452. package/node_modules/@remix-run/server-runtime/dist/esm/routes.js +1 -1
  453. package/node_modules/@remix-run/server-runtime/dist/esm/server.js +76 -11
  454. package/node_modules/@remix-run/server-runtime/dist/esm/serverHandoff.js +1 -1
  455. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/cookieStorage.js +1 -1
  456. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/memoryStorage.js +1 -1
  457. package/node_modules/@remix-run/server-runtime/dist/esm/sessions.js +1 -1
  458. package/node_modules/@remix-run/server-runtime/dist/esm/single-fetch.js +17 -8
  459. package/node_modules/@remix-run/server-runtime/dist/esm/upload/errors.js +1 -1
  460. package/node_modules/@remix-run/server-runtime/dist/esm/upload/memoryUploadHandler.js +1 -1
  461. package/node_modules/@remix-run/server-runtime/dist/esm/warnings.js +1 -1
  462. package/node_modules/@remix-run/server-runtime/dist/formData.js +1 -1
  463. package/node_modules/@remix-run/server-runtime/dist/headers.js +1 -1
  464. package/node_modules/@remix-run/server-runtime/dist/index.js +1 -1
  465. package/node_modules/@remix-run/server-runtime/dist/invariant.js +1 -1
  466. package/node_modules/@remix-run/server-runtime/dist/markup.js +1 -1
  467. package/node_modules/@remix-run/server-runtime/dist/mode.js +1 -1
  468. package/node_modules/@remix-run/server-runtime/dist/responses.js +1 -1
  469. package/node_modules/@remix-run/server-runtime/dist/routeMatching.js +1 -1
  470. package/node_modules/@remix-run/server-runtime/dist/routes.js +1 -1
  471. package/node_modules/@remix-run/server-runtime/dist/server.js +70 -5
  472. package/node_modules/@remix-run/server-runtime/dist/serverHandoff.js +1 -1
  473. package/node_modules/@remix-run/server-runtime/dist/sessions/cookieStorage.js +1 -1
  474. package/node_modules/@remix-run/server-runtime/dist/sessions/memoryStorage.js +1 -1
  475. package/node_modules/@remix-run/server-runtime/dist/sessions.js +1 -1
  476. package/node_modules/@remix-run/server-runtime/dist/single-fetch.d.ts +3 -0
  477. package/node_modules/@remix-run/server-runtime/dist/single-fetch.js +18 -7
  478. package/node_modules/@remix-run/server-runtime/dist/upload/errors.js +1 -1
  479. package/node_modules/@remix-run/server-runtime/dist/upload/memoryUploadHandler.js +1 -1
  480. package/node_modules/@remix-run/server-runtime/dist/warnings.js +1 -1
  481. package/node_modules/@remix-run/server-runtime/package.json +3 -3
  482. package/node_modules/deep-eql/index.js +10 -5
  483. package/node_modules/deep-eql/package.json +1 -1
  484. package/node_modules/framer-motion/dist/cjs/{dom-entry-DSxBucW4.js → dom-entry-GDJJhIpT.js} +59 -106
  485. package/node_modules/framer-motion/dist/cjs/dom-entry.js +1 -1
  486. package/node_modules/framer-motion/dist/cjs/index.js +123 -36
  487. package/node_modules/framer-motion/dist/dom.js +1 -1
  488. package/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs +3 -3
  489. package/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs +6 -3
  490. package/node_modules/framer-motion/dist/es/motion/index.mjs +33 -13
  491. package/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs +6 -3
  492. package/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs +54 -3
  493. package/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +5 -2
  494. package/node_modules/framer-motion/dist/es/projection-entry.mjs +11 -0
  495. package/node_modules/framer-motion/dist/es/render/VisualElement.mjs +30 -78
  496. package/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs +5 -1
  497. package/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +1 -1
  498. package/node_modules/framer-motion/dist/es/utils/mix/color.mjs +8 -2
  499. package/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +1 -3
  500. package/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +5 -0
  501. package/node_modules/framer-motion/dist/es/value/index.mjs +1 -1
  502. package/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +1 -1
  503. package/node_modules/framer-motion/dist/framer-motion.dev.js +175 -134
  504. package/node_modules/framer-motion/dist/framer-motion.js +1 -1
  505. package/node_modules/framer-motion/dist/index.d.ts +78 -78
  506. package/node_modules/framer-motion/dist/three-entry.d.ts +59 -72
  507. package/node_modules/framer-motion/package.json +14 -28
  508. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +15 -4
  509. package/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
  510. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +12 -4
  511. package/node_modules/react-remove-scroll/dist/es2015/types.d.ts +10 -2
  512. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.js +15 -4
  513. package/node_modules/react-remove-scroll/dist/es2019/UI.js +2 -2
  514. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.js +12 -4
  515. package/node_modules/react-remove-scroll/dist/es2019/types.d.ts +10 -2
  516. package/node_modules/react-remove-scroll/dist/es5/SideEffect.js +15 -4
  517. package/node_modules/react-remove-scroll/dist/es5/UI.js +2 -2
  518. package/node_modules/react-remove-scroll/dist/es5/handleScroll.js +12 -4
  519. package/node_modules/react-remove-scroll/dist/es5/types.d.ts +10 -2
  520. package/node_modules/react-remove-scroll/dist/index.js +93 -0
  521. package/node_modules/react-remove-scroll/package.json +4 -3
  522. package/node_modules/react-router/CHANGELOG.md +14 -0
  523. package/node_modules/react-router/dist/index.d.ts +4 -1
  524. package/node_modules/react-router/dist/index.js +3 -2
  525. package/node_modules/react-router/dist/index.js.map +1 -1
  526. package/node_modules/react-router/dist/main.js +1 -1
  527. package/node_modules/react-router/dist/react-router.development.js +3 -2
  528. package/node_modules/react-router/dist/react-router.development.js.map +1 -1
  529. package/node_modules/react-router/dist/react-router.production.min.js +2 -2
  530. package/node_modules/react-router/dist/react-router.production.min.js.map +1 -1
  531. package/node_modules/react-router/dist/umd/react-router.development.js +3 -2
  532. package/node_modules/react-router/dist/umd/react-router.development.js.map +1 -1
  533. package/node_modules/react-router/dist/umd/react-router.production.min.js +2 -2
  534. package/node_modules/react-router/dist/umd/react-router.production.min.js.map +1 -1
  535. package/node_modules/react-router/package.json +3 -3
  536. package/node_modules/react-router-dom/CHANGELOG.md +17 -0
  537. package/node_modules/react-router-dom/dist/dom.d.ts +29 -16
  538. package/node_modules/react-router-dom/dist/index.d.ts +18 -6
  539. package/node_modules/react-router-dom/dist/index.js +3 -1
  540. package/node_modules/react-router-dom/dist/index.js.map +1 -1
  541. package/node_modules/react-router-dom/dist/main.js +1 -1
  542. package/node_modules/react-router-dom/dist/react-router-dom.development.js +29 -1
  543. package/node_modules/react-router-dom/dist/react-router-dom.development.js.map +1 -1
  544. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js +2 -2
  545. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js.map +1 -1
  546. package/node_modules/react-router-dom/dist/server.js +4 -1
  547. package/node_modules/react-router-dom/dist/server.mjs +4 -1
  548. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js +29 -1
  549. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js.map +1 -1
  550. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js +2 -2
  551. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js.map +1 -1
  552. package/node_modules/react-router-dom/package.json +3 -3
  553. package/node_modules/react-router-dom/server.js +4 -1
  554. package/node_modules/react-router-dom/server.mjs +4 -1
  555. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/README.md +32 -112
  556. package/node_modules/source-map/dist/source-map.debug.js +3234 -0
  557. package/node_modules/source-map/dist/source-map.js +3233 -0
  558. package/node_modules/source-map/dist/source-map.min.js +2 -0
  559. package/node_modules/source-map/dist/source-map.min.js.map +1 -0
  560. package/node_modules/source-map/lib/array-set.js +121 -0
  561. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/base64-vlq.js +40 -11
  562. package/node_modules/source-map/lib/base64.js +67 -0
  563. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/binary-search.js +19 -15
  564. package/node_modules/source-map/lib/mapping-list.js +79 -0
  565. package/node_modules/source-map/lib/quick-sort.js +114 -0
  566. package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  567. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/source-map-generator.js +169 -157
  568. package/node_modules/source-map/lib/source-node.js +413 -0
  569. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/util.js +51 -109
  570. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/package.json +9 -27
  571. package/node_modules/source-map/source-map.d.ts +98 -0
  572. package/node_modules/source-map/source-map.js +8 -0
  573. package/node_modules/turbo-stream/dist/flatten.d.ts +1 -1
  574. package/node_modules/turbo-stream/dist/flatten.js +44 -9
  575. package/node_modules/turbo-stream/dist/turbo-stream.js +11 -2
  576. package/node_modules/turbo-stream/dist/turbo-stream.mjs +58 -7
  577. package/node_modules/turbo-stream/dist/unflatten.js +2 -0
  578. package/node_modules/turbo-stream/dist/utils.d.ts +1 -0
  579. package/node_modules/turbo-stream/dist/utils.js +2 -1
  580. package/node_modules/turbo-stream/package.json +1 -1
  581. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/index.d.ts +1 -0
  582. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/package.json +2 -1
  583. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/readme.md +1 -0
  584. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-literal.d.ts +6 -4
  585. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge-deep.d.ts +8 -9
  586. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/omit-deep.d.ts +3 -3
  587. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/paths.d.ts +14 -8
  588. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/schema.d.ts +12 -12
  589. package/node_modules/type-fest/source/simplify-deep.d.ts +115 -0
  590. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/simplify.d.ts +1 -1
  591. package/package.json +4 -4
  592. package/build/client/assets/_exerciseNumber_.finished-B7SgnqdS.js +0 -2
  593. package/build/client/assets/_exerciseNumber_.finished-B7SgnqdS.js.map +0 -1
  594. package/build/client/assets/_layout-BG1Jwh7V.js +0 -2
  595. package/build/client/assets/_layout-BG1Jwh7V.js.map +0 -1
  596. package/build/client/assets/_layout-BR-Qyofe.js +0 -2
  597. package/build/client/assets/_layout-CNgYirUN.js +0 -2
  598. package/build/client/assets/_layout-CNgYirUN.js.map +0 -1
  599. package/build/client/assets/components-C5xBZAiL.js +0 -119
  600. package/build/client/assets/components-C5xBZAiL.js.map +0 -1
  601. package/build/client/assets/diff-BKsbFB6w.js +0 -42
  602. package/build/client/assets/diff-BKsbFB6w.js.map +0 -1
  603. package/build/client/assets/diff-KDzcgGYL.js +0 -2
  604. package/build/client/assets/discord-Xp0X4-Fl.js +0 -2
  605. package/build/client/assets/discord-Xp0X4-Fl.js.map +0 -1
  606. package/build/client/assets/entry.client-0j1eoieD.js +0 -80
  607. package/build/client/assets/entry.client-0j1eoieD.js.map +0 -1
  608. package/build/client/assets/epic-video-BwtXsHGU.js.map +0 -1
  609. package/build/client/assets/finished-BI2-0Ykt.js +0 -2
  610. package/build/client/assets/finished-BI2-0Ykt.js.map +0 -1
  611. package/build/client/assets/index-Bg9MMnnf.js.map +0 -1
  612. package/build/client/assets/index-D6ygCrVn.js +0 -37
  613. package/build/client/assets/index-D6ygCrVn.js.map +0 -1
  614. package/build/client/assets/index-r90CY6Wk.js +0 -8
  615. package/build/client/assets/index-r90CY6Wk.js.map +0 -1
  616. package/build/client/assets/manifest-f472ec85.js +0 -1
  617. package/build/client/assets/mdx-BYvGbvEr.js +0 -2
  618. package/build/client/assets/misc-DNgC2Frq.js +0 -2
  619. package/build/client/assets/misc-DNgC2Frq.js.map +0 -1
  620. package/build/client/assets/progress-CF9Xwfxf.js +0 -2
  621. package/build/client/assets/progress-CF9Xwfxf.js.map +0 -1
  622. package/build/client/assets/root-BXq0yevS.js.map +0 -1
  623. package/build/client/assets/tailwind-Ck4g-nq0.css +0 -1
  624. package/build/client/assets/tooltip-Kw0lYWBI.js +0 -2
  625. package/build/client/assets/tooltip-Kw0lYWBI.js.map +0 -1
  626. package/node_modules/@babel/runtime/helpers/AsyncGenerator.js +0 -64
  627. package/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js +0 -64
  628. package/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +0 -10
  629. package/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js +0 -8
  630. package/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +0 -10
  631. package/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js +0 -8
  632. package/node_modules/@conform-to/dom/rollup.config.js +0 -100
  633. package/node_modules/@conform-to/react/rollup.config.js +0 -102
  634. package/node_modules/@conform-to/zod/rollup.config.js +0 -100
  635. package/node_modules/@radix-ui/number/dist/index.d.ts.map +0 -1
  636. package/node_modules/@radix-ui/primitive/dist/index.d.ts.map +0 -1
  637. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts.map +0 -1
  638. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts.map +0 -1
  639. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts.map +0 -1
  640. package/node_modules/@radix-ui/react-collection/dist/index.d.ts.map +0 -1
  641. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts.map +0 -1
  642. package/node_modules/@radix-ui/react-context/dist/index.d.ts.map +0 -1
  643. package/node_modules/@radix-ui/react-direction/dist/index.d.ts.map +0 -1
  644. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts.map +0 -1
  645. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts.map +0 -1
  646. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts.map +0 -1
  647. package/node_modules/@radix-ui/react-id/dist/index.d.ts.map +0 -1
  648. package/node_modules/@radix-ui/react-popover/dist/index.d.ts.map +0 -1
  649. package/node_modules/@radix-ui/react-popper/dist/index.d.ts.map +0 -1
  650. package/node_modules/@radix-ui/react-portal/dist/index.d.ts.map +0 -1
  651. package/node_modules/@radix-ui/react-presence/dist/index.d.ts.map +0 -1
  652. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts.map +0 -1
  653. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts.map +0 -1
  654. package/node_modules/@radix-ui/react-select/dist/index.d.ts.map +0 -1
  655. package/node_modules/@radix-ui/react-slot/dist/index.d.ts.map +0 -1
  656. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts.map +0 -1
  657. package/node_modules/@radix-ui/react-toast/dist/index.d.ts.map +0 -1
  658. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts.map +0 -1
  659. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts.map +0 -1
  660. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts.map +0 -1
  661. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts.map +0 -1
  662. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts.map +0 -1
  663. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts.map +0 -1
  664. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts.map +0 -1
  665. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts.map +0 -1
  666. package/node_modules/@radix-ui/rect/dist/index.d.ts.map +0 -1
  667. package/node_modules/@remix-run/server-runtime/node_modules/source-map/dist/source-map.js +0 -1
  668. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/array-set.js +0 -100
  669. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/base64.js +0 -18
  670. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/mapping-list.js +0 -80
  671. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/source-map-consumer.js +0 -1237
  672. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/source-node.js +0 -404
  673. package/node_modules/@remix-run/server-runtime/node_modules/source-map/source-map.d.ts +0 -369
  674. package/node_modules/@remix-run/server-runtime/node_modules/source-map/source-map.js +0 -8
  675. package/node_modules/framer-motion/dist/projection.dev.js +0 -6659
  676. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/LICENSE +0 -0
  677. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/mappings.wasm +0 -0
  678. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/read-wasm.js +0 -0
  679. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/wasm.js +0 -0
  680. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/and.d.ts +0 -0
  681. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-indices.d.ts +0 -0
  682. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-slice.d.ts +0 -0
  683. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-splice.d.ts +0 -0
  684. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-values.d.ts +0 -0
  685. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/async-return-type.d.ts +0 -0
  686. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/asyncify.d.ts +0 -0
  687. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/basic.d.ts +0 -0
  688. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-case.d.ts +0 -0
  689. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-cased-properties-deep.d.ts +0 -0
  690. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-cased-properties.d.ts +0 -0
  691. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-except.d.ts +0 -0
  692. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-keys.d.ts +0 -0
  693. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-pick-deep.d.ts +0 -0
  694. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-pick.d.ts +0 -0
  695. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-simplify.d.ts +0 -0
  696. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-case.d.ts +0 -0
  697. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-cased-properties-deep.d.ts +0 -0
  698. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-cased-properties.d.ts +0 -0
  699. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/distributed-omit.d.ts +0 -0
  700. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/distributed-pick.d.ts +0 -0
  701. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/empty-object.d.ts +0 -0
  702. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/enforce-optional.d.ts +0 -0
  703. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/entries.d.ts +0 -0
  704. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/entry.d.ts +0 -0
  705. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/exact.d.ts +0 -0
  706. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/except.d.ts +0 -0
  707. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/fixed-length-array.d.ts +0 -0
  708. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/get.d.ts +0 -0
  709. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/global-this.d.ts +0 -0
  710. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/greater-than-or-equal.d.ts +0 -0
  711. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/greater-than.d.ts +0 -0
  712. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-optional-keys.d.ts +0 -0
  713. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-readonly-keys.d.ts +0 -0
  714. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-required-keys.d.ts +0 -0
  715. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-writable-keys.d.ts +0 -0
  716. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-any.d.ts +0 -0
  717. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-empty-object.d.ts +0 -0
  718. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-never.d.ts +0 -0
  719. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-null.d.ts +0 -0
  720. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-unknown.d.ts +0 -0
  721. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/includes.d.ts +0 -0
  722. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/int-range.d.ts +0 -0
  723. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/internal.d.ts +0 -0
  724. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/invariant-of.d.ts +0 -0
  725. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-any.d.ts +0 -0
  726. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-equal.d.ts +0 -0
  727. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-float.d.ts +0 -0
  728. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-integer.d.ts +0 -0
  729. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-never.d.ts +0 -0
  730. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-null.d.ts +0 -0
  731. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-unknown.d.ts +0 -0
  732. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/iterable-element.d.ts +0 -0
  733. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/join.d.ts +0 -0
  734. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/jsonifiable.d.ts +0 -0
  735. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/jsonify.d.ts +0 -0
  736. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-case.d.ts +0 -0
  737. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-cased-properties-deep.d.ts +0 -0
  738. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-cased-properties.d.ts +0 -0
  739. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/keys-of-union.d.ts +0 -0
  740. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/last-array-element.d.ts +0 -0
  741. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/less-than-or-equal.d.ts +0 -0
  742. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/less-than.d.ts +0 -0
  743. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-to-primitive-deep.d.ts +0 -0
  744. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-to-primitive.d.ts +0 -0
  745. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-union.d.ts +0 -0
  746. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge-exclusive.d.ts +0 -0
  747. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge.d.ts +0 -0
  748. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/multidimensional-array.d.ts +0 -0
  749. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/multidimensional-readonly-array.d.ts +0 -0
  750. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/non-empty-object.d.ts +0 -0
  751. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/numeric.d.ts +0 -0
  752. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/observable-like.d.ts +0 -0
  753. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/omit-index-signature.d.ts +0 -0
  754. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/opaque.d.ts +0 -0
  755. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/optional-keys-of.d.ts +0 -0
  756. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/or.d.ts +0 -0
  757. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/override-properties.d.ts +0 -0
  758. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/package-json.d.ts +0 -0
  759. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/partial-deep.d.ts +0 -0
  760. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/partial-on-undefined-deep.d.ts +0 -0
  761. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-case.d.ts +0 -0
  762. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-cased-properties-deep.d.ts +0 -0
  763. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-cased-properties.d.ts +0 -0
  764. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pick-deep.d.ts +0 -0
  765. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pick-index-signature.d.ts +0 -0
  766. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/primitive.d.ts +0 -0
  767. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/promisable.d.ts +0 -0
  768. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-deep.d.ts +0 -0
  769. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-keys-of.d.ts +0 -0
  770. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-tuple.d.ts +0 -0
  771. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/replace.d.ts +0 -0
  772. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-all-or-none.d.ts +0 -0
  773. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-at-least-one.d.ts +0 -0
  774. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-exactly-one.d.ts +0 -0
  775. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-one-or-none.d.ts +0 -0
  776. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/required-deep.d.ts +0 -0
  777. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/required-keys-of.d.ts +0 -0
  778. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/screaming-snake-case.d.ts +0 -0
  779. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-field-type.d.ts +0 -0
  780. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-non-nullable.d.ts +0 -0
  781. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-optional.d.ts +0 -0
  782. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-parameter-type.d.ts +0 -0
  783. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-readonly.d.ts +0 -0
  784. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-required.d.ts +0 -0
  785. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-return-type.d.ts +0 -0
  786. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/shared-union-fields-deep.d.ts +0 -0
  787. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/single-key-object.d.ts +0 -0
  788. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-case.d.ts +0 -0
  789. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-cased-properties-deep.d.ts +0 -0
  790. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-cased-properties.d.ts +0 -0
  791. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/split-words.d.ts +0 -0
  792. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/split.d.ts +0 -0
  793. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/spread.d.ts +0 -0
  794. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/string-key-of.d.ts +0 -0
  795. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/string-slice.d.ts +0 -0
  796. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/stringified.d.ts +0 -0
  797. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/subtract.d.ts +0 -0
  798. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/sum.d.ts +0 -0
  799. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tagged-union.d.ts +0 -0
  800. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/trim.d.ts +0 -0
  801. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tsconfig-json.d.ts +0 -0
  802. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tuple-to-union.d.ts +0 -0
  803. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/typed-array.d.ts +0 -0
  804. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/undefined-on-partial-deep.d.ts +0 -0
  805. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/union-to-intersection.d.ts +0 -0
  806. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/unknown-array.d.ts +0 -0
  807. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/unknown-record.d.ts +0 -0
  808. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/value-of.d.ts +0 -0
  809. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable-deep.d.ts +0 -0
  810. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable-keys-of.d.ts +0 -0
  811. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -78,7 +78,8 @@ class RemixErrorBoundary extends React__namespace.Component {
78
78
  render() {
79
79
  if (this.state.error) {
80
80
  return /*#__PURE__*/React__namespace.createElement(RemixRootDefaultErrorBoundary, {
81
- error: this.state.error
81
+ error: this.state.error,
82
+ isOutsideRemixApp: true
82
83
  });
83
84
  } else {
84
85
  return this.props.children;
@@ -90,7 +91,8 @@ class RemixErrorBoundary extends React__namespace.Component {
90
91
  * When app's don't provide a root level ErrorBoundary, we default to this.
91
92
  */
92
93
  function RemixRootDefaultErrorBoundary({
93
- error
94
+ error,
95
+ isOutsideRemixApp
94
96
  }) {
95
97
  console.error(error);
96
98
  let heyDeveloper = /*#__PURE__*/React__namespace.createElement("script", {
@@ -119,7 +121,8 @@ function RemixRootDefaultErrorBoundary({
119
121
  errorInstance = new Error(errorString);
120
122
  }
121
123
  return /*#__PURE__*/React__namespace.createElement(BoundaryShell, {
122
- title: "Application Error!"
124
+ title: "Application Error!",
125
+ isOutsideRemixApp: isOutsideRemixApp
123
126
  }, /*#__PURE__*/React__namespace.createElement("h1", {
124
127
  style: {
125
128
  fontSize: "24px"
@@ -136,13 +139,31 @@ function RemixRootDefaultErrorBoundary({
136
139
  function BoundaryShell({
137
140
  title,
138
141
  renderScripts,
142
+ isOutsideRemixApp,
139
143
  children
140
144
  }) {
141
145
  var _routeModules$root;
142
146
  let {
143
147
  routeModules
144
148
  } = components.useRemixContext();
145
- if ((_routeModules$root = routeModules.root) !== null && _routeModules$root !== void 0 && _routeModules$root.Layout) {
149
+
150
+ // Generally speaking, when the root route has a Layout we want to use that
151
+ // as the app shell instead of the default `BoundaryShell` wrapper markup below.
152
+ // This is true for `loader`/`action` errors, most render errors, and
153
+ // `HydrateFallback` scenarios.
154
+
155
+ // However, render errors thrown from the `Layout` present a bit of an issue
156
+ // because if the `Layout` itself throws during the `ErrorBoundary` pass and
157
+ // we bubble outside the `RouterProvider` to the wrapping `RemixErrorBoundary`,
158
+ // by returning only `children` here we'll be trying to append a `<div>` to
159
+ // the `document` and the DOM will throw, putting React into an error/hydration
160
+ // loop.
161
+
162
+ // Instead, if we're ever rendering from the outermost `RemixErrorBoundary`
163
+ // during hydration that wraps `RouterProvider`, then we can't trust the
164
+ // `Layout` and should fallback to the default app shell so we're always
165
+ // returning an `<html>` document.
166
+ if ((_routeModules$root = routeModules.root) !== null && _routeModules$root !== void 0 && _routeModules$root.Layout && !isOutsideRemixApp) {
146
167
  return children;
147
168
  }
148
169
  return /*#__PURE__*/React__namespace.createElement("html", {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -18,6 +18,7 @@ import { deserializeErrors } from './errors.js';
18
18
  import { createClientRoutesWithHMRRevalidationOptOut, createClientRoutes, shouldHydrateRouteLoader } from './routes.js';
19
19
  import { decodeViaTurboStream, getSingleFetchDataStrategy } from './single-fetch.js';
20
20
  import invariant from './invariant.js';
21
+ import { initFogOfWar, useFogOFWarDiscovery } from './fog-of-war.js';
21
22
 
22
23
  /* eslint-disable prefer-let/prefer-let */
23
24
 
@@ -168,7 +169,7 @@ function RemixBrowser(_props) {
168
169
  ...window.__remixContext.state.loaderData
169
170
  }
170
171
  };
171
- let initialMatches = matchRoutes(routes, window.location);
172
+ let initialMatches = matchRoutes(routes, window.location, window.__remixContext.basename);
172
173
  if (initialMatches) {
173
174
  for (let match of initialMatches) {
174
175
  let routeId = match.route.id;
@@ -194,6 +195,10 @@ function RemixBrowser(_props) {
194
195
  hydrationData.errors = deserializeErrors(hydrationData.errors);
195
196
  }
196
197
  }
198
+ let {
199
+ enabled: isFogOfWarEnabled,
200
+ patchRoutesOnMiss
201
+ } = initFogOfWar(window.__remixManifest, window.__remixRouteModules, window.__remixContext.future, window.__remixContext.isSpaMode, window.__remixContext.basename);
197
202
 
198
203
  // We don't use createBrowserRouter here because we need fine-grained control
199
204
  // over initialization to support synchronous `clientLoader` flows.
@@ -212,7 +217,10 @@ function RemixBrowser(_props) {
212
217
  },
213
218
  hydrationData,
214
219
  mapRouteProperties: UNSAFE_mapRouteProperties,
215
- unstable_dataStrategy: window.__remixContext.future.unstable_singleFetch ? getSingleFetchDataStrategy(window.__remixManifest, window.__remixRouteModules) : undefined
220
+ unstable_dataStrategy: window.__remixContext.future.unstable_singleFetch ? getSingleFetchDataStrategy(window.__remixManifest, window.__remixRouteModules) : undefined,
221
+ ...(isFogOfWarEnabled ? {
222
+ unstable_patchRoutesOnMiss: patchRoutesOnMiss
223
+ } : {})
216
224
  });
217
225
 
218
226
  // We can call initialize() immediately if the router doesn't have any
@@ -266,6 +274,9 @@ function RemixBrowser(_props) {
266
274
  });
267
275
  }, [location]);
268
276
 
277
+ // eslint-disable-next-line react-hooks/rules-of-hooks
278
+ useFogOFWarDiscovery(router, window.__remixManifest, window.__remixRouteModules, window.__remixContext.future, window.__remixContext.isSpaMode);
279
+
269
280
  // We need to include a wrapper RemixErrorBoundary here in case the root error
270
281
  // boundary also throws and we need to bubble up outside of the router entirely.
271
282
  // Then we need a stateful location here so the user can back-button navigate
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -10,11 +10,12 @@
10
10
  */
11
11
  import { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.js';
12
12
  import * as React from 'react';
13
- import { useHref, NavLink as NavLink$1, Link as Link$1, matchRoutes, useLocation, Await as Await$1, useNavigation, useAsyncError, useMatches as useMatches$1, useLoaderData as useLoaderData$1, useRouteLoaderData as useRouteLoaderData$1, useActionData as useActionData$1, useFetcher as useFetcher$1, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext } from 'react-router-dom';
13
+ import { useHref, NavLink as NavLink$1, Link as Link$1, matchRoutes, useLocation, Await as Await$1, useAsyncError, useMatches as useMatches$1, useLoaderData as useLoaderData$1, useRouteLoaderData as useRouteLoaderData$1, useActionData as useActionData$1, useFetcher as useFetcher$1, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext } from 'react-router-dom';
14
14
  import invariant from './invariant.js';
15
15
  import { getKeyedLinksForMatches, isPageLinkDescriptor, getNewMatchesForLinks, getDataLinkHrefs, getModuleLinkHrefs, getKeyedPrefetchLinks } from './links.js';
16
16
  import { escapeHtml, createHtml } from './markup.js';
17
17
  import { addRevalidationParam, singleFetchUrl } from './single-fetch.js';
18
+ import { isFogOfWarEnabled, getPartialManifest } from './fog-of-war.js';
18
19
 
19
20
  function useDataRouterContext() {
20
21
  let context = React.useContext(UNSAFE_DataRouterContext);
@@ -41,6 +42,13 @@ function useRemixContext() {
41
42
  ////////////////////////////////////////////////////////////////////////////////
42
43
  // Public API
43
44
 
45
+ /**
46
+ * Defines the discovery behavior of the link:
47
+ *
48
+ * - "render": Eagerly discover when the link is rendered (default)
49
+ * - "none": No eager discovery - discover when the link is clicked
50
+ */
51
+
44
52
  /**
45
53
  * Defines the prefetching behavior of the link:
46
54
  *
@@ -119,6 +127,7 @@ const ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;
119
127
  let NavLink = /*#__PURE__*/React.forwardRef(({
120
128
  to,
121
129
  prefetch = "none",
130
+ discover = "render",
122
131
  ...props
123
132
  }, forwardedRef) => {
124
133
  let isAbsolute = typeof to === "string" && ABSOLUTE_URL_REGEX.test(to);
@@ -126,7 +135,8 @@ let NavLink = /*#__PURE__*/React.forwardRef(({
126
135
  let [shouldPrefetch, ref, prefetchHandlers] = usePrefetchBehavior(prefetch, props);
127
136
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NavLink$1, _extends({}, props, prefetchHandlers, {
128
137
  ref: mergeRefs(forwardedRef, ref),
129
- to: to
138
+ to: to,
139
+ "data-discover": !isAbsolute && discover === "render" ? "true" : undefined
130
140
  })), shouldPrefetch && !isAbsolute ? /*#__PURE__*/React.createElement(PrefetchPageLinks, {
131
141
  page: href
132
142
  }) : null);
@@ -142,6 +152,7 @@ NavLink.displayName = "NavLink";
142
152
  let Link = /*#__PURE__*/React.forwardRef(({
143
153
  to,
144
154
  prefetch = "none",
155
+ discover = "render",
145
156
  ...props
146
157
  }, forwardedRef) => {
147
158
  let isAbsolute = typeof to === "string" && ABSOLUTE_URL_REGEX.test(to);
@@ -149,7 +160,8 @@ let Link = /*#__PURE__*/React.forwardRef(({
149
160
  let [shouldPrefetch, ref, prefetchHandlers] = usePrefetchBehavior(prefetch, props);
150
161
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Link$1, _extends({}, props, prefetchHandlers, {
151
162
  ref: mergeRefs(forwardedRef, ref),
152
- to: to
163
+ to: to,
164
+ "data-discover": !isAbsolute && discover === "render" ? "true" : undefined
153
165
  })), shouldPrefetch && !isAbsolute ? /*#__PURE__*/React.createElement(PrefetchPageLinks, {
154
166
  page: href
155
167
  }) : null);
@@ -472,7 +484,7 @@ function Scripts(props) {
472
484
  let {
473
485
  matches: routerMatches
474
486
  } = useDataRouterStateContext();
475
- let navigation = useNavigation();
487
+ let enableFogOfWar = isFogOfWarEnabled(future, isSpaMode);
476
488
 
477
489
  // Let <RemixServer> know that we hydrated and we should render the single
478
490
  // fetch streaming scripts
@@ -567,8 +579,11 @@ function Scripts(props) {
567
579
  }).join(",\n");
568
580
  return `Object.assign(__remixContext.state.loaderData[${JSON.stringify(routeId)}], {${promiseKeyValues}});`;
569
581
  }).join("\n") + (deferredScripts.length > 0 ? `__remixContext.a=${deferredScripts.length};` : "");
570
- let routeModulesScript = !isStatic ? " " : `${(_manifest$hmr = manifest.hmr) !== null && _manifest$hmr !== void 0 && _manifest$hmr.runtime ? `import ${JSON.stringify(manifest.hmr.runtime)};` : ""}import ${JSON.stringify(manifest.url)};
582
+ let routeModulesScript = !isStatic ? " " : `${(_manifest$hmr = manifest.hmr) !== null && _manifest$hmr !== void 0 && _manifest$hmr.runtime ? `import ${JSON.stringify(manifest.hmr.runtime)};` : ""}${enableFogOfWar ? "" : `import ${JSON.stringify(manifest.url)}`};
571
583
  ${matches.map((match, index) => `import * as route${index} from ${JSON.stringify(manifest.routes[match.route.id].module)};`).join("\n")}
584
+ ${enableFogOfWar ?
585
+ // Inline a minimal manifest with the SSR matches
586
+ `window.__remixManifest = ${JSON.stringify(getPartialManifest(manifest, router), null, 2)};` : ""}
572
587
  window.__remixRouteModules = {${matches.map((match, index) => `${JSON.stringify(match.route.id)}:route${index}`).join(",")}};
573
588
 
574
589
  import(${JSON.stringify(manifest.entry.module)});`;
@@ -597,27 +612,16 @@ import(${JSON.stringify(manifest.entry.module)});`;
597
612
  }));
598
613
  }
599
614
  }
600
-
601
- // avoid waterfall when importing the next route module
602
- let nextMatches = React.useMemo(() => {
603
- if (navigation.location) {
604
- // FIXME: can probably use transitionManager `nextMatches`
605
- let matches = matchRoutes(router.routes, navigation.location, router.basename);
606
- invariant(matches, `No routes match path "${navigation.location.pathname}"`);
607
- return matches;
608
- }
609
- return [];
610
- }, [navigation.location, router.routes, router.basename]);
611
- let routePreloads = matches.concat(nextMatches).map(match => {
615
+ let routePreloads = matches.map(match => {
612
616
  let route = manifest.routes[match.route.id];
613
617
  return (route.imports || []).concat([route.module]);
614
618
  }).flat(1);
615
619
  let preloads = isHydrated ? [] : manifest.entry.imports.concat(routePreloads);
616
- return isHydrated ? null : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("link", {
620
+ return isHydrated ? null : /*#__PURE__*/React.createElement(React.Fragment, null, !enableFogOfWar ? /*#__PURE__*/React.createElement("link", {
617
621
  rel: "modulepreload",
618
622
  href: manifest.url,
619
623
  crossOrigin: props.crossOrigin
620
- }), /*#__PURE__*/React.createElement("link", {
624
+ }) : null, /*#__PURE__*/React.createElement("link", {
621
625
  rel: "modulepreload",
622
626
  href: manifest.entry.module,
623
627
  crossOrigin: props.crossOrigin
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -54,7 +54,8 @@ class RemixErrorBoundary extends React.Component {
54
54
  render() {
55
55
  if (this.state.error) {
56
56
  return /*#__PURE__*/React.createElement(RemixRootDefaultErrorBoundary, {
57
- error: this.state.error
57
+ error: this.state.error,
58
+ isOutsideRemixApp: true
58
59
  });
59
60
  } else {
60
61
  return this.props.children;
@@ -66,7 +67,8 @@ class RemixErrorBoundary extends React.Component {
66
67
  * When app's don't provide a root level ErrorBoundary, we default to this.
67
68
  */
68
69
  function RemixRootDefaultErrorBoundary({
69
- error
70
+ error,
71
+ isOutsideRemixApp
70
72
  }) {
71
73
  console.error(error);
72
74
  let heyDeveloper = /*#__PURE__*/React.createElement("script", {
@@ -95,7 +97,8 @@ function RemixRootDefaultErrorBoundary({
95
97
  errorInstance = new Error(errorString);
96
98
  }
97
99
  return /*#__PURE__*/React.createElement(BoundaryShell, {
98
- title: "Application Error!"
100
+ title: "Application Error!",
101
+ isOutsideRemixApp: isOutsideRemixApp
99
102
  }, /*#__PURE__*/React.createElement("h1", {
100
103
  style: {
101
104
  fontSize: "24px"
@@ -112,13 +115,31 @@ function RemixRootDefaultErrorBoundary({
112
115
  function BoundaryShell({
113
116
  title,
114
117
  renderScripts,
118
+ isOutsideRemixApp,
115
119
  children
116
120
  }) {
117
121
  var _routeModules$root;
118
122
  let {
119
123
  routeModules
120
124
  } = useRemixContext();
121
- if ((_routeModules$root = routeModules.root) !== null && _routeModules$root !== void 0 && _routeModules$root.Layout) {
125
+
126
+ // Generally speaking, when the root route has a Layout we want to use that
127
+ // as the app shell instead of the default `BoundaryShell` wrapper markup below.
128
+ // This is true for `loader`/`action` errors, most render errors, and
129
+ // `HydrateFallback` scenarios.
130
+
131
+ // However, render errors thrown from the `Layout` present a bit of an issue
132
+ // because if the `Layout` itself throws during the `ErrorBoundary` pass and
133
+ // we bubble outside the `RouterProvider` to the wrapping `RemixErrorBoundary`,
134
+ // by returning only `children` here we'll be trying to append a `<div>` to
135
+ // the `document` and the DOM will throw, putting React into an error/hydration
136
+ // loop.
137
+
138
+ // Instead, if we're ever rendering from the outermost `RemixErrorBoundary`
139
+ // during hydration that wraps `RouterProvider`, then we can't trust the
140
+ // `Layout` and should fallback to the default app shell so we're always
141
+ // returning an `<html>` document.
142
+ if ((_routeModules$root = routeModules.root) !== null && _routeModules$root !== void 0 && _routeModules$root.Layout && !isOutsideRemixApp) {
122
143
  return children;
123
144
  }
124
145
  return /*#__PURE__*/React.createElement("html", {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -0,0 +1,226 @@
1
+ /**
2
+ * @remix-run/react v2.10.0
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ import { matchRoutes } from '@remix-run/router';
12
+ import * as React from 'react';
13
+ import { createClientRoutes } from './routes.js';
14
+
15
+ // 7.5k to come in under the ~8k limit for most browsers
16
+ // https://stackoverflow.com/a/417184
17
+ const URL_LIMIT = 7680;
18
+ let fogOfWar = null;
19
+ function isFogOfWarEnabled(future, isSpaMode) {
20
+ return future.unstable_fogOfWar === true && !isSpaMode;
21
+ }
22
+ function getPartialManifest(manifest, router) {
23
+ // Start with our matches for this pathname
24
+ let routeIds = new Set(router.state.matches.map(m => m.route.id));
25
+ let segments = router.state.location.pathname.split("/").filter(Boolean);
26
+ let paths = ["/"];
27
+
28
+ // We've already matched to the last segment
29
+ segments.pop();
30
+
31
+ // Traverse each path for our parents and match in case they have pathless/index
32
+ // children we need to include in the initial manifest
33
+ while (segments.length > 0) {
34
+ paths.push(`/${segments.join("/")}`);
35
+ segments.pop();
36
+ }
37
+ paths.forEach(path => {
38
+ let matches = matchRoutes(router.routes, path, router.basename);
39
+ if (matches) {
40
+ matches.forEach(m => routeIds.add(m.route.id));
41
+ }
42
+ });
43
+ let initialRoutes = [...routeIds].reduce((acc, id) => Object.assign(acc, {
44
+ [id]: manifest.routes[id]
45
+ }), {});
46
+ return {
47
+ ...manifest,
48
+ routes: initialRoutes
49
+ };
50
+ }
51
+ function initFogOfWar(manifest, routeModules, future, isSpaMode, basename) {
52
+ if (!isFogOfWarEnabled(future, isSpaMode)) {
53
+ return {
54
+ enabled: false
55
+ };
56
+ }
57
+ fogOfWar = {
58
+ nextPaths: new Set(),
59
+ knownGoodPaths: new Set(),
60
+ known404Paths: new Set()
61
+ };
62
+ return {
63
+ enabled: true,
64
+ patchRoutesOnMiss: async ({
65
+ path,
66
+ patch
67
+ }) => {
68
+ if (fogOfWar.known404Paths.has(path) || fogOfWar.knownGoodPaths.has(path)) {
69
+ return;
70
+ }
71
+ await fetchAndApplyManifestPatches([path], fogOfWar, manifest, routeModules, future, isSpaMode, basename, patch);
72
+ }
73
+ };
74
+ }
75
+ function useFogOFWarDiscovery(router, manifest, routeModules, future, isSpaMode) {
76
+ React.useEffect(() => {
77
+ var _navigator$connection;
78
+ // Don't prefetch if not enabled or if the user has `saveData` enabled
79
+ if (!isFogOfWarEnabled(future, isSpaMode) || ((_navigator$connection = navigator.connection) === null || _navigator$connection === void 0 ? void 0 : _navigator$connection.saveData) === true) {
80
+ return;
81
+ }
82
+
83
+ // Register a link href for patching
84
+ function registerPath(path) {
85
+ if (!path) {
86
+ return;
87
+ }
88
+ let url = new URL(path, window.location.origin);
89
+ let {
90
+ knownGoodPaths,
91
+ known404Paths,
92
+ nextPaths
93
+ } = fogOfWar;
94
+ if (knownGoodPaths.has(url.pathname) || known404Paths.has(url.pathname)) {
95
+ return;
96
+ }
97
+ nextPaths.add(url.pathname);
98
+ }
99
+
100
+ // Fetch patches for all currently rendered links
101
+ async function fetchPatches() {
102
+ let lazyPaths = getFogOfWarPaths(fogOfWar);
103
+ if (lazyPaths.length === 0) {
104
+ return;
105
+ }
106
+ try {
107
+ await fetchAndApplyManifestPatches(lazyPaths, fogOfWar, manifest, routeModules, future, isSpaMode, router.basename, router.patchRoutes);
108
+ } catch (e) {
109
+ console.error("Failed to fetch manifest patches", e);
110
+ }
111
+ }
112
+
113
+ // Register and fetch patches for all initially-rendered links
114
+ document.body.querySelectorAll("a[data-discover]").forEach(a => registerPath(a.getAttribute("href")));
115
+ fetchPatches();
116
+
117
+ // Setup a MutationObserver to fetch all subsequently rendered links
118
+ let debouncedFetchPatches = debounce(fetchPatches, 100);
119
+ function isElement(node) {
120
+ return node.nodeType === Node.ELEMENT_NODE;
121
+ }
122
+ let observer = new MutationObserver(records => {
123
+ let links = new Set();
124
+ records.forEach(r => {
125
+ [r.target, ...r.addedNodes].forEach(node => {
126
+ if (!isElement(node)) return;
127
+ if (node.tagName === "A" && node.getAttribute("data-discover")) {
128
+ links.add(node);
129
+ } else if (node.tagName !== "A") {
130
+ node.querySelectorAll("a[data-discover]").forEach(el => links.add(el));
131
+ }
132
+ });
133
+ });
134
+ links.forEach(link => registerPath(link.getAttribute("href")));
135
+ debouncedFetchPatches();
136
+ });
137
+ observer.observe(document.documentElement, {
138
+ subtree: true,
139
+ childList: true,
140
+ attributes: true,
141
+ attributeFilter: ["data-discover", "href"]
142
+ });
143
+ return () => observer.disconnect();
144
+ }, [future, isSpaMode, manifest, routeModules, router]);
145
+ }
146
+ function getFogOfWarPaths(fogOfWar, router) {
147
+ let {
148
+ knownGoodPaths,
149
+ known404Paths,
150
+ nextPaths
151
+ } = fogOfWar;
152
+ return Array.from(nextPaths.keys()).filter(path => {
153
+ if (knownGoodPaths.has(path)) {
154
+ nextPaths.delete(path);
155
+ return false;
156
+ }
157
+ if (known404Paths.has(path)) {
158
+ nextPaths.delete(path);
159
+ return false;
160
+ }
161
+ return true;
162
+ });
163
+ }
164
+ async function fetchAndApplyManifestPatches(paths, _fogOfWar, manifest, routeModules, future, isSpaMode, basename, patchRoutes) {
165
+ let {
166
+ nextPaths,
167
+ knownGoodPaths,
168
+ known404Paths
169
+ } = _fogOfWar;
170
+ let manifestPath = `${basename ?? "/"}/__manifest`.replace(/\/+/g, "/");
171
+ let url = new URL(manifestPath, window.location.origin);
172
+ url.searchParams.set("version", manifest.version);
173
+ paths.forEach(path => url.searchParams.append("p", path));
174
+
175
+ // If the URL is nearing the ~8k limit on GET requests, skip this optimization
176
+ // step and just let discovery happen on link click. We also wipe out the
177
+ // nextPaths Set here so we can start filling it with fresh links
178
+ if (url.toString().length > URL_LIMIT) {
179
+ nextPaths.clear();
180
+ return;
181
+ }
182
+ let res = await fetch(url);
183
+ if (!res.ok) {
184
+ throw new Error(`${res.status} ${res.statusText}`);
185
+ } else if (res.status >= 400) {
186
+ throw new Error(await res.text());
187
+ }
188
+ let data = await res.json();
189
+
190
+ // Capture this before we apply the patches to the manifest
191
+ let knownRoutes = new Set(Object.keys(manifest.routes));
192
+
193
+ // Patch routes we don't know about yet into the manifest
194
+ let patches = Object.values(data.patches).reduce((acc, route) => !knownRoutes.has(route.id) ? Object.assign(acc, {
195
+ [route.id]: route
196
+ }) : acc, {});
197
+ Object.assign(manifest.routes, patches);
198
+
199
+ // Track legit 404s so we don't try to fetch them again
200
+ data.notFoundPaths.forEach(p => known404Paths.add(p));
201
+
202
+ // Track matched paths so we don't have to fetch them again
203
+ paths.forEach(p => knownGoodPaths.add(p));
204
+
205
+ // Identify all parentIds for which we have new children to add and patch
206
+ // in their new children
207
+ let parentIds = new Set();
208
+ Object.values(patches).forEach(patch => {
209
+ if (!patch.parentId || !patches[patch.parentId]) {
210
+ parentIds.add(patch.parentId);
211
+ }
212
+ });
213
+ parentIds.forEach(parentId => patchRoutes(parentId || null, createClientRoutes(patches, routeModules, null, future, isSpaMode, parentId)));
214
+ }
215
+
216
+ // Thanks Josh!
217
+ // https://www.joshwcomeau.com/snippets/javascript/debounce/
218
+ function debounce(callback, wait) {
219
+ let timeoutId;
220
+ return (...args) => {
221
+ window.clearTimeout(timeoutId);
222
+ timeoutId = window.setTimeout(() => callback(...args), wait);
223
+ };
224
+ }
225
+
226
+ export { fetchAndApplyManifestPatches, getPartialManifest, initFogOfWar, isFogOfWarEnabled, useFogOFWarDiscovery };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -169,7 +169,7 @@ function getNewMatchesForLinks(page, nextMatches, currentMatches, manifest, loca
169
169
  }
170
170
  function getDataLinkHrefs(page, matches, manifest) {
171
171
  let path = parsePathPatch(page);
172
- return dedupeHrefs(matches.filter(match => manifest.routes[match.route.id].hasLoader).map(match => {
172
+ return dedupeHrefs(matches.filter(match => manifest.routes[match.route.id].hasLoader && !manifest.routes[match.route.id].hasClientLoader).map(match => {
173
173
  let {
174
174
  pathname,
175
175
  search
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/react v2.9.2
2
+ * @remix-run/react v2.10.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *