@epic-web/workshop-app 4.6.6 → 4.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (809) hide show
  1. package/build/client/assets/{_-COWH0sBh.js → _-Bd2gNcck.js} +2 -2
  2. package/build/client/assets/{_-COWH0sBh.js.map → _-Bd2gNcck.js.map} +1 -1
  3. package/build/client/assets/{_exerciseNumber-wyz3vbhs.js → _exerciseNumber-CFOo2dQj.js} +2 -2
  4. package/build/client/assets/{_exerciseNumber-wyz3vbhs.js.map → _exerciseNumber-CFOo2dQj.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-C37pli7_.js → _exerciseNumber_._stepNumber-DCbWNWpZ.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-C37pli7_.js.map → _exerciseNumber_._stepNumber-DCbWNWpZ.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber_.finished-P7xMAtl1.js +2 -0
  8. package/build/client/assets/_exerciseNumber_.finished-P7xMAtl1.js.map +1 -0
  9. package/build/client/assets/_layout-Bdd3mpVx.js +2 -0
  10. package/build/client/assets/_layout-Bdd3mpVx.js.map +1 -0
  11. package/build/client/assets/_layout-DHBLG7Ti.js +6 -0
  12. package/build/client/assets/_layout-DHBLG7Ti.js.map +1 -0
  13. package/build/client/assets/_layout-DaZNLfOL.js +2 -0
  14. package/build/client/assets/{_layout-BR-Qyofe.js.map → _layout-DaZNLfOL.js.map} +1 -1
  15. package/build/client/assets/{_layout-D0zbQZjf.js → _layout-rEQoj43V.js} +2 -2
  16. package/build/client/assets/{_layout-D0zbQZjf.js.map → _layout-rEQoj43V.js.map} +1 -1
  17. package/build/client/assets/{account-DesvwOeg.js → account-CnLkZd_O.js} +2 -2
  18. package/build/client/assets/{account-DesvwOeg.js.map → account-CnLkZd_O.js.map} +1 -1
  19. package/build/client/assets/{button-BfWwrI9B.js → button-CyZl24U2.js} +2 -2
  20. package/build/client/assets/{button-BfWwrI9B.js.map → button-CyZl24U2.js.map} +1 -1
  21. package/build/client/assets/{client-hints-BKxdo5Js.js → client-hints-BE5mB4r0.js} +2 -2
  22. package/build/client/assets/{client-hints-BKxdo5Js.js.map → client-hints-BE5mB4r0.js.map} +1 -1
  23. package/build/client/assets/components-BMzmvxYw.js +166 -0
  24. package/build/client/assets/components-BMzmvxYw.js.map +1 -0
  25. package/build/client/assets/diff-P5f7-8E4.js +2 -0
  26. package/build/client/assets/diff-P5f7-8E4.js.map +1 -0
  27. package/build/client/assets/diff-PfwTHr6-.js +2 -0
  28. package/build/client/assets/{diff-KDzcgGYL.js.map → diff-PfwTHr6-.js.map} +1 -1
  29. package/build/client/assets/{discord-0kv66Q6F.js → discord-COPE8EOZ.js} +2 -2
  30. package/build/client/assets/{discord-0kv66Q6F.js.map → discord-COPE8EOZ.js.map} +1 -1
  31. package/build/client/assets/discord-DIog7bBO.js +2 -0
  32. package/build/client/assets/discord-DIog7bBO.js.map +1 -0
  33. package/build/client/assets/entry.client-B0vV2fsa.js +43 -0
  34. package/build/client/assets/entry.client-B0vV2fsa.js.map +1 -0
  35. package/build/client/assets/{epic-video-BwtXsHGU.js → epic-video-CYnG2ziQ.js} +128 -128
  36. package/build/client/assets/epic-video-CYnG2ziQ.js.map +1 -0
  37. package/build/client/assets/{error-boundary-Bcric_4t.js → error-boundary-DxfVshQ5.js} +2 -2
  38. package/build/client/assets/{error-boundary-Bcric_4t.js.map → error-boundary-DxfVshQ5.js.map} +1 -1
  39. package/build/client/assets/finished-DP5ynR5u.js +2 -0
  40. package/build/client/assets/finished-DP5ynR5u.js.map +1 -0
  41. package/build/client/assets/index-4E9_Sx3m.js +42 -0
  42. package/build/client/assets/index-4E9_Sx3m.js.map +1 -0
  43. package/build/client/assets/{index-Bg9MMnnf.js → index-90bzTYUX.js} +2 -2
  44. package/build/client/assets/index-90bzTYUX.js.map +1 -0
  45. package/build/client/assets/{index-BQRtqn3g.js → index-BXefr1BB.js} +2 -2
  46. package/build/client/assets/{index-BQRtqn3g.js.map → index-BXefr1BB.js.map} +1 -1
  47. package/build/client/assets/index-Czg1ruVn.js +37 -0
  48. package/build/client/assets/index-Czg1ruVn.js.map +1 -0
  49. package/build/client/assets/{index-9nNr0Zqr.js → index-D6ukHE4T.js} +2 -2
  50. package/build/client/assets/{index-9nNr0Zqr.js.map → index-D6ukHE4T.js.map} +1 -1
  51. package/build/client/assets/index-Doi37489.js +3 -0
  52. package/build/client/assets/index-Doi37489.js.map +1 -0
  53. package/build/client/assets/{loading-C9f_vBoM.js → loading-CNWJVymJ.js} +2 -2
  54. package/build/client/assets/{loading-C9f_vBoM.js.map → loading-CNWJVymJ.js.map} +1 -1
  55. package/build/client/assets/{login-D8zyjBAb.js → login-DxG854vQ.js} +2 -2
  56. package/build/client/assets/{login-D8zyjBAb.js.map → login-DxG854vQ.js.map} +1 -1
  57. package/build/client/assets/manifest-805aa13a.js +1 -0
  58. package/build/client/assets/mdx-CR7Me1v_.js +2 -0
  59. package/build/client/assets/{mdx-BYvGbvEr.js.map → mdx-CR7Me1v_.js.map} +1 -1
  60. package/build/client/assets/misc-CypjEQkt.js +2 -0
  61. package/build/client/assets/misc-CypjEQkt.js.map +1 -0
  62. package/build/client/assets/{nav-chevrons-DOYtx9XE.js → nav-chevrons-BYKwyIgG.js} +2 -2
  63. package/build/client/assets/{nav-chevrons-DOYtx9XE.js.map → nav-chevrons-BYKwyIgG.js.map} +1 -1
  64. package/build/client/assets/{onboarding-euWyXpCL.js → onboarding-b9lcdh4n.js} +2 -2
  65. package/build/client/assets/{onboarding-euWyXpCL.js.map → onboarding-b9lcdh4n.js.map} +1 -1
  66. package/build/client/assets/{presence-BJPzwbUy.js → presence-DXXVJbaH.js} +2 -2
  67. package/build/client/assets/{presence-BJPzwbUy.js.map → presence-DXXVJbaH.js.map} +1 -1
  68. package/build/client/assets/progress-B_mReZVE.js +2 -0
  69. package/build/client/assets/progress-B_mReZVE.js.map +1 -0
  70. package/build/client/assets/{progress-bar-7LK87ZMh.js → progress-bar-DCrt7X4t.js} +2 -2
  71. package/build/client/assets/{progress-bar-7LK87ZMh.js.map → progress-bar-DCrt7X4t.js.map} +1 -1
  72. package/build/client/assets/{request-info-Dyls4H67.js → request-info-CUT0ULYN.js} +2 -2
  73. package/build/client/assets/{request-info-Dyls4H67.js.map → request-info-CUT0ULYN.js.map} +1 -1
  74. package/build/client/assets/{root-BQ7V6fP4.js → root-bgHbi7rA.js} +4 -4
  75. package/build/client/assets/root-bgHbi7rA.js.map +1 -0
  76. package/build/client/assets/{support-DUAHYT3r.js → support-DrY-qRGh.js} +2 -2
  77. package/build/client/assets/{support-DUAHYT3r.js.map → support-DrY-qRGh.js.map} +1 -1
  78. package/build/client/assets/tailwind-D2vjZZFL.css +1 -0
  79. package/build/client/assets/tooltip-CfmIzAYi.js +2 -0
  80. package/build/client/assets/tooltip-CfmIzAYi.js.map +1 -0
  81. package/build/client/assets/{use-event-source-aW6X9lN1.js → use-event-source-ySol3hbz.js} +2 -2
  82. package/build/client/assets/{use-event-source-aW6X9lN1.js.map → use-event-source-ySol3hbz.js.map} +1 -1
  83. package/build/client/assets/{user-73ocDYRe.js → user-C4QTtQw5.js} +2 -2
  84. package/build/client/assets/{user-73ocDYRe.js.map → user-C4QTtQw5.js.map} +1 -1
  85. package/build/server/index.js +840 -607
  86. package/build/server/index.js.map +1 -1
  87. package/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +65 -3
  88. package/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +65 -3
  89. package/node_modules/@babel/runtime/package.json +1 -28
  90. package/node_modules/@conform-to/dom/dom.d.ts +17 -5
  91. package/node_modules/@conform-to/dom/form.d.ts +221 -122
  92. package/node_modules/@conform-to/dom/index.d.ts +24 -2
  93. package/node_modules/@conform-to/dom/intent.d.ts +92 -60
  94. package/node_modules/@conform-to/dom/package.json +1 -1
  95. package/node_modules/@conform-to/dom/parse.d.ts +47 -27
  96. package/node_modules/@conform-to/dom/types.d.ts +17 -14
  97. package/node_modules/@conform-to/dom/util.d.ts +4 -1
  98. package/node_modules/@conform-to/react/context.d.ts +187 -59
  99. package/node_modules/@conform-to/react/context.js +3 -5
  100. package/node_modules/@conform-to/react/context.mjs +4 -6
  101. package/node_modules/@conform-to/react/experimental.d.ts +0 -0
  102. package/node_modules/@conform-to/react/hooks.d.ts +53 -24
  103. package/node_modules/@conform-to/react/index.d.ts +28 -4
  104. package/node_modules/@conform-to/react/integrations.js +14 -1
  105. package/node_modules/@conform-to/react/integrations.mjs +14 -1
  106. package/node_modules/@conform-to/react/package.json +2 -2
  107. package/node_modules/@conform-to/zod/coercion.d.ts +14 -4
  108. package/node_modules/@conform-to/zod/constraint.d.ts +3 -1
  109. package/node_modules/@conform-to/zod/package.json +2 -2
  110. package/node_modules/@conform-to/zod/parse.d.ts +43 -25
  111. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -1
  112. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +14 -3
  113. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +51 -51
  114. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +51 -51
  115. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +14 -3
  116. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +14 -3
  117. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +14 -3
  118. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -1
  119. package/node_modules/@floating-ui/core/package.json +2 -2
  120. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -1
  121. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +12 -11
  122. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +11 -8
  123. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +11 -8
  124. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +1 -12
  125. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +1 -12
  126. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +12 -11
  127. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -1
  128. package/node_modules/@floating-ui/dom/package.json +2 -2
  129. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts +12 -4
  130. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.ts +12 -4
  131. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +1 -0
  132. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +1 -0
  133. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js +1 -0
  134. package/node_modules/@floating-ui/react-dom/package.json +1 -1
  135. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +11 -6
  136. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +11 -6
  137. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +2 -0
  138. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +2 -0
  139. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +13 -1
  140. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +13 -1
  141. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +13 -0
  142. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -1
  143. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +2 -0
  144. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +13 -1
  145. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +13 -0
  146. package/node_modules/@floating-ui/utils/package.json +1 -1
  147. package/node_modules/@radix-ui/number/dist/index.d.mts +2 -2
  148. package/node_modules/@radix-ui/number/dist/index.d.ts +2 -2
  149. package/node_modules/@radix-ui/number/dist/index.js +28 -10
  150. package/node_modules/@radix-ui/number/dist/index.js.map +7 -1
  151. package/node_modules/@radix-ui/number/dist/index.mjs +6 -7
  152. package/node_modules/@radix-ui/number/dist/index.mjs.map +7 -1
  153. package/node_modules/@radix-ui/number/package.json +1 -4
  154. package/node_modules/@radix-ui/primitive/dist/index.d.mts +2 -2
  155. package/node_modules/@radix-ui/primitive/dist/index.d.ts +2 -2
  156. package/node_modules/@radix-ui/primitive/dist/index.js +33 -13
  157. package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -1
  158. package/node_modules/@radix-ui/primitive/dist/index.mjs +11 -10
  159. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -1
  160. package/node_modules/@radix-ui/primitive/package.json +1 -4
  161. package/node_modules/@radix-ui/react-accordion/dist/index.d.mts +40 -28
  162. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts +40 -28
  163. package/node_modules/@radix-ui/react-accordion/dist/index.js +324 -316
  164. package/node_modules/@radix-ui/react-accordion/dist/index.js.map +7 -1
  165. package/node_modules/@radix-ui/react-accordion/dist/index.mjs +293 -300
  166. package/node_modules/@radix-ui/react-accordion/dist/index.mjs.map +7 -1
  167. package/node_modules/@radix-ui/react-accordion/package.json +12 -13
  168. package/node_modules/@radix-ui/react-arrow/dist/index.d.mts +8 -8
  169. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts +8 -8
  170. package/node_modules/@radix-ui/react-arrow/dist/index.js +57 -37
  171. package/node_modules/@radix-ui/react-arrow/dist/index.js.map +7 -1
  172. package/node_modules/@radix-ui/react-arrow/dist/index.mjs +25 -30
  173. package/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +7 -1
  174. package/node_modules/@radix-ui/react-arrow/package.json +4 -5
  175. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +27 -16
  176. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +27 -16
  177. package/node_modules/@radix-ui/react-collapsible/dist/index.js +176 -167
  178. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +7 -1
  179. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +143 -153
  180. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +7 -1
  181. package/node_modules/@radix-ui/react-collapsible/package.json +11 -12
  182. package/node_modules/@radix-ui/react-collection/dist/index.d.mts +27 -15
  183. package/node_modules/@radix-ui/react-collection/dist/index.d.ts +27 -15
  184. package/node_modules/@radix-ui/react-collection/dist/index.js +99 -112
  185. package/node_modules/@radix-ui/react-collection/dist/index.js.map +7 -1
  186. package/node_modules/@radix-ui/react-collection/dist/index.mjs +68 -106
  187. package/node_modules/@radix-ui/react-collection/dist/index.mjs.map +7 -1
  188. package/node_modules/@radix-ui/react-collection/package.json +7 -8
  189. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +5 -4
  190. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +5 -4
  191. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +47 -30
  192. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -1
  193. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +16 -27
  194. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -1
  195. package/node_modules/@radix-ui/react-compose-refs/package.json +2 -5
  196. package/node_modules/@radix-ui/react-context/dist/index.d.mts +10 -8
  197. package/node_modules/@radix-ui/react-context/dist/index.d.ts +10 -8
  198. package/node_modules/@radix-ui/react-context/dist/index.js +104 -123
  199. package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -1
  200. package/node_modules/@radix-ui/react-context/dist/index.mjs +73 -120
  201. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -1
  202. package/node_modules/@radix-ui/react-context/package.json +2 -5
  203. package/node_modules/@radix-ui/react-direction/dist/index.d.mts +6 -5
  204. package/node_modules/@radix-ui/react-direction/dist/index.d.ts +6 -5
  205. package/node_modules/@radix-ui/react-direction/dist/index.js +47 -24
  206. package/node_modules/@radix-ui/react-direction/dist/index.js.map +7 -1
  207. package/node_modules/@radix-ui/react-direction/dist/index.mjs +16 -20
  208. package/node_modules/@radix-ui/react-direction/dist/index.mjs.map +7 -1
  209. package/node_modules/@radix-ui/react-direction/package.json +2 -5
  210. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +10 -10
  211. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +10 -10
  212. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +230 -270
  213. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +7 -1
  214. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +199 -261
  215. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +7 -1
  216. package/node_modules/@radix-ui/react-dismissable-layer/package.json +9 -10
  217. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.mts +4 -4
  218. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts +4 -4
  219. package/node_modules/@radix-ui/react-focus-guards/dist/index.js +63 -39
  220. package/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +7 -1
  221. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +32 -34
  222. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.map +7 -1
  223. package/node_modules/@radix-ui/react-focus-guards/package.json +2 -5
  224. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts +8 -8
  225. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts +8 -8
  226. package/node_modules/@radix-ui/react-focus-scope/dist/index.js +228 -282
  227. package/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +7 -1
  228. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +197 -275
  229. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.map +7 -1
  230. package/node_modules/@radix-ui/react-focus-scope/package.json +6 -7
  231. package/node_modules/@radix-ui/react-id/dist/index.d.mts +2 -2
  232. package/node_modules/@radix-ui/react-id/dist/index.d.ts +2 -2
  233. package/node_modules/@radix-ui/react-id/dist/index.js +47 -26
  234. package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -1
  235. package/node_modules/@radix-ui/react-id/dist/index.mjs +14 -22
  236. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -1
  237. package/node_modules/@radix-ui/react-id/package.json +3 -4
  238. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +48 -37
  239. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +48 -37
  240. package/node_modules/@radix-ui/react-popover/dist/index.js +319 -311
  241. package/node_modules/@radix-ui/react-popover/dist/index.js.map +7 -1
  242. package/node_modules/@radix-ui/react-popover/dist/index.mjs +288 -291
  243. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +7 -1
  244. package/node_modules/@radix-ui/react-popover/package.json +17 -18
  245. package/node_modules/@radix-ui/react-popper/dist/index.d.mts +36 -25
  246. package/node_modules/@radix-ui/react-popper/dist/index.d.ts +36 -25
  247. package/node_modules/@radix-ui/react-popper/dist/index.js +305 -321
  248. package/node_modules/@radix-ui/react-popper/dist/index.js.map +7 -1
  249. package/node_modules/@radix-ui/react-popper/dist/index.mjs +284 -305
  250. package/node_modules/@radix-ui/react-popper/dist/index.mjs.map +7 -1
  251. package/node_modules/@radix-ui/react-popper/package.json +12 -13
  252. package/node_modules/@radix-ui/react-portal/dist/index.d.mts +9 -9
  253. package/node_modules/@radix-ui/react-portal/dist/index.d.ts +9 -9
  254. package/node_modules/@radix-ui/react-portal/dist/index.js +52 -34
  255. package/node_modules/@radix-ui/react-portal/dist/index.js.map +7 -1
  256. package/node_modules/@radix-ui/react-portal/dist/index.mjs +21 -27
  257. package/node_modules/@radix-ui/react-portal/dist/index.mjs.map +7 -1
  258. package/node_modules/@radix-ui/react-portal/package.json +5 -5
  259. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +5 -4
  260. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +5 -4
  261. package/node_modules/@radix-ui/react-presence/dist/index.js +147 -132
  262. package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -1
  263. package/node_modules/@radix-ui/react-presence/dist/index.mjs +116 -129
  264. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -1
  265. package/node_modules/@radix-ui/react-presence/package.json +5 -6
  266. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +8 -9
  267. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +8 -9
  268. package/node_modules/@radix-ui/react-primitive/dist/index.js +73 -100
  269. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -1
  270. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +42 -93
  271. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -1
  272. package/node_modules/@radix-ui/react-primitive/package.json +4 -5
  273. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts +25 -13
  274. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts +25 -13
  275. package/node_modules/@radix-ui/react-roving-focus/dist/index.js +239 -247
  276. package/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +7 -1
  277. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +209 -238
  278. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +7 -1
  279. package/node_modules/@radix-ui/react-roving-focus/package.json +12 -13
  280. package/node_modules/@radix-ui/react-select/dist/index.d.mts +77 -65
  281. package/node_modules/@radix-ui/react-select/dist/index.d.ts +77 -65
  282. package/node_modules/@radix-ui/react-select/dist/index.js +1107 -1235
  283. package/node_modules/@radix-ui/react-select/dist/index.js.map +7 -1
  284. package/node_modules/@radix-ui/react-select/dist/index.mjs +1076 -1197
  285. package/node_modules/@radix-ui/react-select/dist/index.mjs.map +7 -1
  286. package/node_modules/@radix-ui/react-select/package.json +23 -24
  287. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +9 -7
  288. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +9 -7
  289. package/node_modules/@radix-ui/react-slot/dist/index.js +107 -87
  290. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -1
  291. package/node_modules/@radix-ui/react-slot/dist/index.mjs +76 -80
  292. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -1
  293. package/node_modules/@radix-ui/react-slot/package.json +3 -4
  294. package/node_modules/@radix-ui/react-tabs/dist/index.d.mts +32 -21
  295. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts +32 -21
  296. package/node_modules/@radix-ui/react-tabs/dist/index.js +217 -184
  297. package/node_modules/@radix-ui/react-tabs/dist/index.js.map +7 -1
  298. package/node_modules/@radix-ui/react-tabs/dist/index.mjs +185 -169
  299. package/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +7 -1
  300. package/node_modules/@radix-ui/react-tabs/package.json +11 -12
  301. package/node_modules/@radix-ui/react-toast/dist/index.d.mts +43 -32
  302. package/node_modules/@radix-ui/react-toast/dist/index.d.ts +43 -32
  303. package/node_modules/@radix-ui/react-toast/dist/index.js +645 -715
  304. package/node_modules/@radix-ui/react-toast/dist/index.js.map +7 -1
  305. package/node_modules/@radix-ui/react-toast/dist/index.mjs +614 -695
  306. package/node_modules/@radix-ui/react-toast/dist/index.mjs.map +7 -1
  307. package/node_modules/@radix-ui/react-toast/package.json +15 -16
  308. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.mts +2 -2
  309. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts +2 -2
  310. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +42 -23
  311. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +7 -1
  312. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +11 -21
  313. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +7 -1
  314. package/node_modules/@radix-ui/react-use-callback-ref/package.json +2 -5
  315. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +4 -3
  316. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +4 -3
  317. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +75 -52
  318. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -1
  319. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +44 -50
  320. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -1
  321. package/node_modules/@radix-ui/react-use-controllable-state/package.json +3 -4
  322. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.mts +2 -2
  323. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts +2 -2
  324. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +50 -29
  325. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +7 -1
  326. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +17 -25
  327. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.map +7 -1
  328. package/node_modules/@radix-ui/react-use-escape-keydown/package.json +3 -4
  329. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +4 -3
  330. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +4 -3
  331. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +38 -17
  332. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -1
  333. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +7 -15
  334. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -1
  335. package/node_modules/@radix-ui/react-use-layout-effect/package.json +2 -5
  336. package/node_modules/@radix-ui/react-use-previous/dist/index.d.mts +2 -2
  337. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts +2 -2
  338. package/node_modules/@radix-ui/react-use-previous/dist/index.js +45 -26
  339. package/node_modules/@radix-ui/react-use-previous/dist/index.js.map +7 -1
  340. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs +14 -24
  341. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs.map +7 -1
  342. package/node_modules/@radix-ui/react-use-previous/package.json +2 -5
  343. package/node_modules/@radix-ui/react-use-rect/dist/index.d.mts +4 -3
  344. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts +4 -3
  345. package/node_modules/@radix-ui/react-use-rect/dist/index.js +52 -32
  346. package/node_modules/@radix-ui/react-use-rect/dist/index.js.map +7 -1
  347. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs +19 -28
  348. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs.map +7 -1
  349. package/node_modules/@radix-ui/react-use-rect/package.json +3 -4
  350. package/node_modules/@radix-ui/react-use-size/dist/index.d.mts +2 -2
  351. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts +2 -2
  352. package/node_modules/@radix-ui/react-use-size/dist/index.js +70 -57
  353. package/node_modules/@radix-ui/react-use-size/dist/index.js.map +7 -1
  354. package/node_modules/@radix-ui/react-use-size/dist/index.mjs +39 -55
  355. package/node_modules/@radix-ui/react-use-size/dist/index.mjs.map +7 -1
  356. package/node_modules/@radix-ui/react-use-size/package.json +3 -4
  357. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts +8 -8
  358. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts +8 -8
  359. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js +64 -41
  360. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +7 -1
  361. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +33 -35
  362. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.map +7 -1
  363. package/node_modules/@radix-ui/react-visually-hidden/package.json +4 -5
  364. package/node_modules/@radix-ui/rect/dist/index.d.mts +3 -3
  365. package/node_modules/@radix-ui/rect/dist/index.d.ts +3 -3
  366. package/node_modules/@radix-ui/rect/dist/index.js +69 -66
  367. package/node_modules/@radix-ui/rect/dist/index.js.map +7 -1
  368. package/node_modules/@radix-ui/rect/dist/index.mjs +47 -63
  369. package/node_modules/@radix-ui/rect/dist/index.mjs.map +7 -1
  370. package/node_modules/@radix-ui/rect/package.json +1 -4
  371. package/node_modules/@remix-run/react/CHANGELOG.md +18 -0
  372. package/node_modules/@remix-run/react/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
  373. package/node_modules/@remix-run/react/dist/browser.js +14 -3
  374. package/node_modules/@remix-run/react/dist/components.d.ts +9 -0
  375. package/node_modules/@remix-run/react/dist/components.js +23 -19
  376. package/node_modules/@remix-run/react/dist/data.js +1 -1
  377. package/node_modules/@remix-run/react/dist/entry.d.ts +1 -0
  378. package/node_modules/@remix-run/react/dist/errorBoundaries.d.ts +5 -2
  379. package/node_modules/@remix-run/react/dist/errorBoundaries.js +26 -5
  380. package/node_modules/@remix-run/react/dist/errors.js +1 -1
  381. package/node_modules/@remix-run/react/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -1
  382. package/node_modules/@remix-run/react/dist/esm/browser.js +14 -3
  383. package/node_modules/@remix-run/react/dist/esm/components.js +24 -20
  384. package/node_modules/@remix-run/react/dist/esm/data.js +1 -1
  385. package/node_modules/@remix-run/react/dist/esm/errorBoundaries.js +26 -5
  386. package/node_modules/@remix-run/react/dist/esm/errors.js +1 -1
  387. package/node_modules/@remix-run/react/dist/esm/fallback.js +1 -1
  388. package/node_modules/@remix-run/react/dist/esm/fog-of-war.js +226 -0
  389. package/node_modules/@remix-run/react/dist/esm/index.js +1 -1
  390. package/node_modules/@remix-run/react/dist/esm/invariant.js +1 -1
  391. package/node_modules/@remix-run/react/dist/esm/links.js +2 -2
  392. package/node_modules/@remix-run/react/dist/esm/markup.js +1 -1
  393. package/node_modules/@remix-run/react/dist/esm/routeModules.js +1 -1
  394. package/node_modules/@remix-run/react/dist/esm/routes.js +1 -1
  395. package/node_modules/@remix-run/react/dist/esm/scroll-restoration.js +1 -1
  396. package/node_modules/@remix-run/react/dist/esm/server.js +1 -1
  397. package/node_modules/@remix-run/react/dist/esm/single-fetch.js +1 -1
  398. package/node_modules/@remix-run/react/dist/fallback.js +1 -1
  399. package/node_modules/@remix-run/react/dist/fog-of-war.d.ts +37 -0
  400. package/node_modules/@remix-run/react/dist/fog-of-war.js +254 -0
  401. package/node_modules/@remix-run/react/dist/index.js +1 -1
  402. package/node_modules/@remix-run/react/dist/invariant.js +1 -1
  403. package/node_modules/@remix-run/react/dist/links.js +2 -2
  404. package/node_modules/@remix-run/react/dist/markup.js +1 -1
  405. package/node_modules/@remix-run/react/dist/routeModules.js +1 -1
  406. package/node_modules/@remix-run/react/dist/routes.d.ts +1 -1
  407. package/node_modules/@remix-run/react/dist/routes.js +1 -1
  408. package/node_modules/@remix-run/react/dist/scroll-restoration.js +1 -1
  409. package/node_modules/@remix-run/react/dist/server.js +1 -1
  410. package/node_modules/@remix-run/react/dist/single-fetch.js +1 -1
  411. package/node_modules/@remix-run/react/package.json +8 -8
  412. package/node_modules/@remix-run/router/CHANGELOG.md +9 -0
  413. package/node_modules/@remix-run/router/dist/index.d.ts +1 -1
  414. package/node_modules/@remix-run/router/dist/router.cjs.js +467 -80
  415. package/node_modules/@remix-run/router/dist/router.cjs.js.map +1 -1
  416. package/node_modules/@remix-run/router/dist/router.d.ts +11 -1
  417. package/node_modules/@remix-run/router/dist/router.js +457 -76
  418. package/node_modules/@remix-run/router/dist/router.js.map +1 -1
  419. package/node_modules/@remix-run/router/dist/router.umd.js +467 -80
  420. package/node_modules/@remix-run/router/dist/router.umd.js.map +1 -1
  421. package/node_modules/@remix-run/router/dist/router.umd.min.js +2 -2
  422. package/node_modules/@remix-run/router/dist/router.umd.min.js.map +1 -1
  423. package/node_modules/@remix-run/router/dist/utils.d.ts +9 -1
  424. package/node_modules/@remix-run/router/index.ts +1 -0
  425. package/node_modules/@remix-run/router/package.json +1 -1
  426. package/node_modules/@remix-run/router/router.ts +586 -73
  427. package/node_modules/@remix-run/router/utils.ts +51 -8
  428. package/node_modules/@remix-run/server-runtime/CHANGELOG.md +17 -0
  429. package/node_modules/@remix-run/server-runtime/dist/cookies.js +1 -1
  430. package/node_modules/@remix-run/server-runtime/dist/data.js +1 -1
  431. package/node_modules/@remix-run/server-runtime/dist/deprecations.js +1 -1
  432. package/node_modules/@remix-run/server-runtime/dist/dev.js +1 -1
  433. package/node_modules/@remix-run/server-runtime/dist/entry.d.ts +1 -0
  434. package/node_modules/@remix-run/server-runtime/dist/entry.js +1 -1
  435. package/node_modules/@remix-run/server-runtime/dist/errors.js +1 -1
  436. package/node_modules/@remix-run/server-runtime/dist/esm/cookies.js +1 -1
  437. package/node_modules/@remix-run/server-runtime/dist/esm/data.js +1 -1
  438. package/node_modules/@remix-run/server-runtime/dist/esm/deprecations.js +1 -1
  439. package/node_modules/@remix-run/server-runtime/dist/esm/dev.js +1 -1
  440. package/node_modules/@remix-run/server-runtime/dist/esm/entry.js +1 -1
  441. package/node_modules/@remix-run/server-runtime/dist/esm/errors.js +1 -1
  442. package/node_modules/@remix-run/server-runtime/dist/esm/formData.js +1 -1
  443. package/node_modules/@remix-run/server-runtime/dist/esm/headers.js +1 -1
  444. package/node_modules/@remix-run/server-runtime/dist/esm/index.js +1 -1
  445. package/node_modules/@remix-run/server-runtime/dist/esm/invariant.js +1 -1
  446. package/node_modules/@remix-run/server-runtime/dist/esm/markup.js +1 -1
  447. package/node_modules/@remix-run/server-runtime/dist/esm/mode.js +1 -1
  448. package/node_modules/@remix-run/server-runtime/dist/esm/responses.js +1 -1
  449. package/node_modules/@remix-run/server-runtime/dist/esm/routeMatching.js +1 -1
  450. package/node_modules/@remix-run/server-runtime/dist/esm/routes.js +1 -1
  451. package/node_modules/@remix-run/server-runtime/dist/esm/server.js +76 -11
  452. package/node_modules/@remix-run/server-runtime/dist/esm/serverHandoff.js +1 -1
  453. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/cookieStorage.js +1 -1
  454. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/memoryStorage.js +1 -1
  455. package/node_modules/@remix-run/server-runtime/dist/esm/sessions.js +1 -1
  456. package/node_modules/@remix-run/server-runtime/dist/esm/single-fetch.js +17 -8
  457. package/node_modules/@remix-run/server-runtime/dist/esm/upload/errors.js +1 -1
  458. package/node_modules/@remix-run/server-runtime/dist/esm/upload/memoryUploadHandler.js +1 -1
  459. package/node_modules/@remix-run/server-runtime/dist/esm/warnings.js +1 -1
  460. package/node_modules/@remix-run/server-runtime/dist/formData.js +1 -1
  461. package/node_modules/@remix-run/server-runtime/dist/headers.js +1 -1
  462. package/node_modules/@remix-run/server-runtime/dist/index.js +1 -1
  463. package/node_modules/@remix-run/server-runtime/dist/invariant.js +1 -1
  464. package/node_modules/@remix-run/server-runtime/dist/markup.js +1 -1
  465. package/node_modules/@remix-run/server-runtime/dist/mode.js +1 -1
  466. package/node_modules/@remix-run/server-runtime/dist/responses.js +1 -1
  467. package/node_modules/@remix-run/server-runtime/dist/routeMatching.js +1 -1
  468. package/node_modules/@remix-run/server-runtime/dist/routes.js +1 -1
  469. package/node_modules/@remix-run/server-runtime/dist/server.js +70 -5
  470. package/node_modules/@remix-run/server-runtime/dist/serverHandoff.js +1 -1
  471. package/node_modules/@remix-run/server-runtime/dist/sessions/cookieStorage.js +1 -1
  472. package/node_modules/@remix-run/server-runtime/dist/sessions/memoryStorage.js +1 -1
  473. package/node_modules/@remix-run/server-runtime/dist/sessions.js +1 -1
  474. package/node_modules/@remix-run/server-runtime/dist/single-fetch.d.ts +3 -0
  475. package/node_modules/@remix-run/server-runtime/dist/single-fetch.js +18 -7
  476. package/node_modules/@remix-run/server-runtime/dist/upload/errors.js +1 -1
  477. package/node_modules/@remix-run/server-runtime/dist/upload/memoryUploadHandler.js +1 -1
  478. package/node_modules/@remix-run/server-runtime/dist/warnings.js +1 -1
  479. package/node_modules/@remix-run/server-runtime/package.json +3 -3
  480. package/node_modules/deep-eql/index.js +10 -5
  481. package/node_modules/deep-eql/package.json +1 -1
  482. package/node_modules/framer-motion/dist/cjs/{dom-entry-DSxBucW4.js → dom-entry-GDJJhIpT.js} +59 -106
  483. package/node_modules/framer-motion/dist/cjs/dom-entry.js +1 -1
  484. package/node_modules/framer-motion/dist/cjs/index.js +123 -36
  485. package/node_modules/framer-motion/dist/dom.js +1 -1
  486. package/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs +3 -3
  487. package/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs +6 -3
  488. package/node_modules/framer-motion/dist/es/motion/index.mjs +33 -13
  489. package/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs +6 -3
  490. package/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs +54 -3
  491. package/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +5 -2
  492. package/node_modules/framer-motion/dist/es/projection-entry.mjs +11 -0
  493. package/node_modules/framer-motion/dist/es/render/VisualElement.mjs +30 -78
  494. package/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs +5 -1
  495. package/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +1 -1
  496. package/node_modules/framer-motion/dist/es/utils/mix/color.mjs +8 -2
  497. package/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +1 -3
  498. package/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +5 -0
  499. package/node_modules/framer-motion/dist/es/value/index.mjs +1 -1
  500. package/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +1 -1
  501. package/node_modules/framer-motion/dist/framer-motion.dev.js +175 -134
  502. package/node_modules/framer-motion/dist/framer-motion.js +1 -1
  503. package/node_modules/framer-motion/dist/index.d.ts +78 -78
  504. package/node_modules/framer-motion/dist/three-entry.d.ts +59 -72
  505. package/node_modules/framer-motion/package.json +14 -28
  506. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +15 -4
  507. package/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
  508. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +12 -4
  509. package/node_modules/react-remove-scroll/dist/es2015/types.d.ts +10 -2
  510. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.js +15 -4
  511. package/node_modules/react-remove-scroll/dist/es2019/UI.js +2 -2
  512. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.js +12 -4
  513. package/node_modules/react-remove-scroll/dist/es2019/types.d.ts +10 -2
  514. package/node_modules/react-remove-scroll/dist/es5/SideEffect.js +15 -4
  515. package/node_modules/react-remove-scroll/dist/es5/UI.js +2 -2
  516. package/node_modules/react-remove-scroll/dist/es5/handleScroll.js +12 -4
  517. package/node_modules/react-remove-scroll/dist/es5/types.d.ts +10 -2
  518. package/node_modules/react-remove-scroll/dist/index.js +93 -0
  519. package/node_modules/react-remove-scroll/package.json +4 -3
  520. package/node_modules/react-router/CHANGELOG.md +14 -0
  521. package/node_modules/react-router/dist/index.d.ts +4 -1
  522. package/node_modules/react-router/dist/index.js +3 -2
  523. package/node_modules/react-router/dist/index.js.map +1 -1
  524. package/node_modules/react-router/dist/main.js +1 -1
  525. package/node_modules/react-router/dist/react-router.development.js +3 -2
  526. package/node_modules/react-router/dist/react-router.development.js.map +1 -1
  527. package/node_modules/react-router/dist/react-router.production.min.js +2 -2
  528. package/node_modules/react-router/dist/react-router.production.min.js.map +1 -1
  529. package/node_modules/react-router/dist/umd/react-router.development.js +3 -2
  530. package/node_modules/react-router/dist/umd/react-router.development.js.map +1 -1
  531. package/node_modules/react-router/dist/umd/react-router.production.min.js +2 -2
  532. package/node_modules/react-router/dist/umd/react-router.production.min.js.map +1 -1
  533. package/node_modules/react-router/package.json +3 -3
  534. package/node_modules/react-router-dom/CHANGELOG.md +17 -0
  535. package/node_modules/react-router-dom/dist/dom.d.ts +29 -16
  536. package/node_modules/react-router-dom/dist/index.d.ts +18 -6
  537. package/node_modules/react-router-dom/dist/index.js +3 -1
  538. package/node_modules/react-router-dom/dist/index.js.map +1 -1
  539. package/node_modules/react-router-dom/dist/main.js +1 -1
  540. package/node_modules/react-router-dom/dist/react-router-dom.development.js +29 -1
  541. package/node_modules/react-router-dom/dist/react-router-dom.development.js.map +1 -1
  542. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js +2 -2
  543. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js.map +1 -1
  544. package/node_modules/react-router-dom/dist/server.js +4 -1
  545. package/node_modules/react-router-dom/dist/server.mjs +4 -1
  546. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js +29 -1
  547. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js.map +1 -1
  548. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js +2 -2
  549. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js.map +1 -1
  550. package/node_modules/react-router-dom/package.json +3 -3
  551. package/node_modules/react-router-dom/server.js +4 -1
  552. package/node_modules/react-router-dom/server.mjs +4 -1
  553. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/README.md +32 -112
  554. package/node_modules/source-map/dist/source-map.debug.js +3234 -0
  555. package/node_modules/source-map/dist/source-map.js +3233 -0
  556. package/node_modules/source-map/dist/source-map.min.js +2 -0
  557. package/node_modules/source-map/dist/source-map.min.js.map +1 -0
  558. package/node_modules/source-map/lib/array-set.js +121 -0
  559. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/base64-vlq.js +40 -11
  560. package/node_modules/source-map/lib/base64.js +67 -0
  561. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/binary-search.js +19 -15
  562. package/node_modules/source-map/lib/mapping-list.js +79 -0
  563. package/node_modules/source-map/lib/quick-sort.js +114 -0
  564. package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  565. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/source-map-generator.js +169 -157
  566. package/node_modules/source-map/lib/source-node.js +413 -0
  567. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/util.js +51 -109
  568. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/package.json +9 -27
  569. package/node_modules/source-map/source-map.d.ts +98 -0
  570. package/node_modules/source-map/source-map.js +8 -0
  571. package/node_modules/turbo-stream/dist/flatten.d.ts +1 -1
  572. package/node_modules/turbo-stream/dist/flatten.js +44 -9
  573. package/node_modules/turbo-stream/dist/turbo-stream.js +11 -2
  574. package/node_modules/turbo-stream/dist/turbo-stream.mjs +58 -7
  575. package/node_modules/turbo-stream/dist/unflatten.js +2 -0
  576. package/node_modules/turbo-stream/dist/utils.d.ts +1 -0
  577. package/node_modules/turbo-stream/dist/utils.js +2 -1
  578. package/node_modules/turbo-stream/package.json +1 -1
  579. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/index.d.ts +1 -0
  580. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/package.json +2 -1
  581. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/readme.md +1 -0
  582. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-literal.d.ts +6 -4
  583. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge-deep.d.ts +8 -9
  584. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/omit-deep.d.ts +3 -3
  585. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/paths.d.ts +14 -8
  586. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/schema.d.ts +12 -12
  587. package/node_modules/type-fest/source/simplify-deep.d.ts +115 -0
  588. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/simplify.d.ts +1 -1
  589. package/package.json +4 -4
  590. package/build/client/assets/_exerciseNumber_.finished-DNtyBHjg.js +0 -2
  591. package/build/client/assets/_exerciseNumber_.finished-DNtyBHjg.js.map +0 -1
  592. package/build/client/assets/_layout-BR-Qyofe.js +0 -2
  593. package/build/client/assets/_layout-CNgYirUN.js +0 -2
  594. package/build/client/assets/_layout-CNgYirUN.js.map +0 -1
  595. package/build/client/assets/_layout-xu6a9He_.js +0 -2
  596. package/build/client/assets/_layout-xu6a9He_.js.map +0 -1
  597. package/build/client/assets/components-C5xBZAiL.js +0 -119
  598. package/build/client/assets/components-C5xBZAiL.js.map +0 -1
  599. package/build/client/assets/diff-BKsbFB6w.js +0 -42
  600. package/build/client/assets/diff-BKsbFB6w.js.map +0 -1
  601. package/build/client/assets/diff-KDzcgGYL.js +0 -2
  602. package/build/client/assets/discord-Xp0X4-Fl.js +0 -2
  603. package/build/client/assets/discord-Xp0X4-Fl.js.map +0 -1
  604. package/build/client/assets/entry.client-0j1eoieD.js +0 -80
  605. package/build/client/assets/entry.client-0j1eoieD.js.map +0 -1
  606. package/build/client/assets/epic-video-BwtXsHGU.js.map +0 -1
  607. package/build/client/assets/finished-Cu9PZd5Q.js +0 -2
  608. package/build/client/assets/finished-Cu9PZd5Q.js.map +0 -1
  609. package/build/client/assets/index-Bg9MMnnf.js.map +0 -1
  610. package/build/client/assets/index-D6ygCrVn.js +0 -37
  611. package/build/client/assets/index-D6ygCrVn.js.map +0 -1
  612. package/build/client/assets/index-r90CY6Wk.js +0 -8
  613. package/build/client/assets/index-r90CY6Wk.js.map +0 -1
  614. package/build/client/assets/manifest-b31ba37c.js +0 -1
  615. package/build/client/assets/mdx-BYvGbvEr.js +0 -2
  616. package/build/client/assets/misc-DNgC2Frq.js +0 -2
  617. package/build/client/assets/misc-DNgC2Frq.js.map +0 -1
  618. package/build/client/assets/progress-CF9Xwfxf.js +0 -2
  619. package/build/client/assets/progress-CF9Xwfxf.js.map +0 -1
  620. package/build/client/assets/root-BQ7V6fP4.js.map +0 -1
  621. package/build/client/assets/tailwind-Ck4g-nq0.css +0 -1
  622. package/build/client/assets/tooltip-Kw0lYWBI.js +0 -2
  623. package/build/client/assets/tooltip-Kw0lYWBI.js.map +0 -1
  624. package/node_modules/@babel/runtime/helpers/AsyncGenerator.js +0 -64
  625. package/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js +0 -64
  626. package/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +0 -10
  627. package/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js +0 -8
  628. package/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +0 -10
  629. package/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js +0 -8
  630. package/node_modules/@conform-to/dom/rollup.config.js +0 -100
  631. package/node_modules/@conform-to/react/rollup.config.js +0 -102
  632. package/node_modules/@conform-to/zod/rollup.config.js +0 -100
  633. package/node_modules/@radix-ui/number/dist/index.d.ts.map +0 -1
  634. package/node_modules/@radix-ui/primitive/dist/index.d.ts.map +0 -1
  635. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts.map +0 -1
  636. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts.map +0 -1
  637. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts.map +0 -1
  638. package/node_modules/@radix-ui/react-collection/dist/index.d.ts.map +0 -1
  639. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts.map +0 -1
  640. package/node_modules/@radix-ui/react-context/dist/index.d.ts.map +0 -1
  641. package/node_modules/@radix-ui/react-direction/dist/index.d.ts.map +0 -1
  642. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts.map +0 -1
  643. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts.map +0 -1
  644. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts.map +0 -1
  645. package/node_modules/@radix-ui/react-id/dist/index.d.ts.map +0 -1
  646. package/node_modules/@radix-ui/react-popover/dist/index.d.ts.map +0 -1
  647. package/node_modules/@radix-ui/react-popper/dist/index.d.ts.map +0 -1
  648. package/node_modules/@radix-ui/react-portal/dist/index.d.ts.map +0 -1
  649. package/node_modules/@radix-ui/react-presence/dist/index.d.ts.map +0 -1
  650. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts.map +0 -1
  651. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts.map +0 -1
  652. package/node_modules/@radix-ui/react-select/dist/index.d.ts.map +0 -1
  653. package/node_modules/@radix-ui/react-slot/dist/index.d.ts.map +0 -1
  654. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts.map +0 -1
  655. package/node_modules/@radix-ui/react-toast/dist/index.d.ts.map +0 -1
  656. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts.map +0 -1
  657. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts.map +0 -1
  658. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts.map +0 -1
  659. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts.map +0 -1
  660. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts.map +0 -1
  661. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts.map +0 -1
  662. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts.map +0 -1
  663. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts.map +0 -1
  664. package/node_modules/@radix-ui/rect/dist/index.d.ts.map +0 -1
  665. package/node_modules/@remix-run/server-runtime/node_modules/source-map/dist/source-map.js +0 -1
  666. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/array-set.js +0 -100
  667. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/base64.js +0 -18
  668. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/mapping-list.js +0 -80
  669. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/source-map-consumer.js +0 -1237
  670. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/source-node.js +0 -404
  671. package/node_modules/@remix-run/server-runtime/node_modules/source-map/source-map.d.ts +0 -369
  672. package/node_modules/@remix-run/server-runtime/node_modules/source-map/source-map.js +0 -8
  673. package/node_modules/framer-motion/dist/projection.dev.js +0 -6659
  674. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/LICENSE +0 -0
  675. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/mappings.wasm +0 -0
  676. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/read-wasm.js +0 -0
  677. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/wasm.js +0 -0
  678. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/and.d.ts +0 -0
  679. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-indices.d.ts +0 -0
  680. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-slice.d.ts +0 -0
  681. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-splice.d.ts +0 -0
  682. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-values.d.ts +0 -0
  683. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/async-return-type.d.ts +0 -0
  684. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/asyncify.d.ts +0 -0
  685. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/basic.d.ts +0 -0
  686. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-case.d.ts +0 -0
  687. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-cased-properties-deep.d.ts +0 -0
  688. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-cased-properties.d.ts +0 -0
  689. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-except.d.ts +0 -0
  690. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-keys.d.ts +0 -0
  691. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-pick-deep.d.ts +0 -0
  692. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-pick.d.ts +0 -0
  693. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-simplify.d.ts +0 -0
  694. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-case.d.ts +0 -0
  695. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-cased-properties-deep.d.ts +0 -0
  696. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-cased-properties.d.ts +0 -0
  697. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/distributed-omit.d.ts +0 -0
  698. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/distributed-pick.d.ts +0 -0
  699. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/empty-object.d.ts +0 -0
  700. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/enforce-optional.d.ts +0 -0
  701. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/entries.d.ts +0 -0
  702. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/entry.d.ts +0 -0
  703. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/exact.d.ts +0 -0
  704. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/except.d.ts +0 -0
  705. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/fixed-length-array.d.ts +0 -0
  706. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/get.d.ts +0 -0
  707. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/global-this.d.ts +0 -0
  708. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/greater-than-or-equal.d.ts +0 -0
  709. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/greater-than.d.ts +0 -0
  710. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-optional-keys.d.ts +0 -0
  711. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-readonly-keys.d.ts +0 -0
  712. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-required-keys.d.ts +0 -0
  713. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-writable-keys.d.ts +0 -0
  714. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-any.d.ts +0 -0
  715. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-empty-object.d.ts +0 -0
  716. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-never.d.ts +0 -0
  717. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-null.d.ts +0 -0
  718. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-unknown.d.ts +0 -0
  719. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/includes.d.ts +0 -0
  720. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/int-range.d.ts +0 -0
  721. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/internal.d.ts +0 -0
  722. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/invariant-of.d.ts +0 -0
  723. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-any.d.ts +0 -0
  724. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-equal.d.ts +0 -0
  725. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-float.d.ts +0 -0
  726. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-integer.d.ts +0 -0
  727. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-never.d.ts +0 -0
  728. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-null.d.ts +0 -0
  729. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-unknown.d.ts +0 -0
  730. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/iterable-element.d.ts +0 -0
  731. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/join.d.ts +0 -0
  732. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/jsonifiable.d.ts +0 -0
  733. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/jsonify.d.ts +0 -0
  734. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-case.d.ts +0 -0
  735. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-cased-properties-deep.d.ts +0 -0
  736. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-cased-properties.d.ts +0 -0
  737. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/keys-of-union.d.ts +0 -0
  738. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/last-array-element.d.ts +0 -0
  739. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/less-than-or-equal.d.ts +0 -0
  740. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/less-than.d.ts +0 -0
  741. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-to-primitive-deep.d.ts +0 -0
  742. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-to-primitive.d.ts +0 -0
  743. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-union.d.ts +0 -0
  744. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge-exclusive.d.ts +0 -0
  745. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge.d.ts +0 -0
  746. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/multidimensional-array.d.ts +0 -0
  747. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/multidimensional-readonly-array.d.ts +0 -0
  748. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/non-empty-object.d.ts +0 -0
  749. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/numeric.d.ts +0 -0
  750. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/observable-like.d.ts +0 -0
  751. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/omit-index-signature.d.ts +0 -0
  752. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/opaque.d.ts +0 -0
  753. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/optional-keys-of.d.ts +0 -0
  754. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/or.d.ts +0 -0
  755. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/override-properties.d.ts +0 -0
  756. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/package-json.d.ts +0 -0
  757. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/partial-deep.d.ts +0 -0
  758. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/partial-on-undefined-deep.d.ts +0 -0
  759. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-case.d.ts +0 -0
  760. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-cased-properties-deep.d.ts +0 -0
  761. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-cased-properties.d.ts +0 -0
  762. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pick-deep.d.ts +0 -0
  763. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pick-index-signature.d.ts +0 -0
  764. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/primitive.d.ts +0 -0
  765. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/promisable.d.ts +0 -0
  766. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-deep.d.ts +0 -0
  767. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-keys-of.d.ts +0 -0
  768. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-tuple.d.ts +0 -0
  769. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/replace.d.ts +0 -0
  770. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-all-or-none.d.ts +0 -0
  771. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-at-least-one.d.ts +0 -0
  772. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-exactly-one.d.ts +0 -0
  773. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-one-or-none.d.ts +0 -0
  774. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/required-deep.d.ts +0 -0
  775. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/required-keys-of.d.ts +0 -0
  776. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/screaming-snake-case.d.ts +0 -0
  777. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-field-type.d.ts +0 -0
  778. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-non-nullable.d.ts +0 -0
  779. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-optional.d.ts +0 -0
  780. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-parameter-type.d.ts +0 -0
  781. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-readonly.d.ts +0 -0
  782. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-required.d.ts +0 -0
  783. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-return-type.d.ts +0 -0
  784. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/shared-union-fields-deep.d.ts +0 -0
  785. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/single-key-object.d.ts +0 -0
  786. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-case.d.ts +0 -0
  787. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-cased-properties-deep.d.ts +0 -0
  788. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-cased-properties.d.ts +0 -0
  789. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/split-words.d.ts +0 -0
  790. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/split.d.ts +0 -0
  791. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/spread.d.ts +0 -0
  792. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/string-key-of.d.ts +0 -0
  793. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/string-slice.d.ts +0 -0
  794. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/stringified.d.ts +0 -0
  795. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/subtract.d.ts +0 -0
  796. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/sum.d.ts +0 -0
  797. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tagged-union.d.ts +0 -0
  798. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/trim.d.ts +0 -0
  799. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tsconfig-json.d.ts +0 -0
  800. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tuple-to-union.d.ts +0 -0
  801. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/typed-array.d.ts +0 -0
  802. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/undefined-on-partial-deep.d.ts +0 -0
  803. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/union-to-intersection.d.ts +0 -0
  804. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/unknown-array.d.ts +0 -0
  805. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/unknown-record.d.ts +0 -0
  806. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/value-of.d.ts +0 -0
  807. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable-deep.d.ts +0 -0
  808. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable-keys-of.d.ts +0 -0
  809. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable.d.ts +0 -0
@@ -1,2 +1,2 @@
1
- import{j as e}from"./index-D6ygCrVn.js";import{I as t}from"./misc-DNgC2Frq.js";import{L as o}from"./components-C5xBZAiL.js";function l({prev:r,next:a}){return e.jsxs("div",{className:"relative flex h-full overflow-hidden",children:[r?e.jsx(o,{prefetch:"intent",...r,className:"group flex h-full items-center justify-center border-l px-7",children:e.jsxs(e.Fragment,{children:[e.jsx(t,{name:"ChevronLeft",className:"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0"}),e.jsx(t,{name:"ChevronLeft",className:"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100"})]})}):null,a?e.jsx(o,{prefetch:"intent",...a,className:"group flex h-full items-center justify-center border-l px-7",children:e.jsxs(e.Fragment,{children:[e.jsx(t,{name:"ChevronRight",className:"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0"}),e.jsx(t,{name:"ChevronRight",className:"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100"})]})}):null]})}export{l as N};
2
- //# sourceMappingURL=nav-chevrons-DOYtx9XE.js.map
1
+ import{j as e}from"./index-Czg1ruVn.js";import{I as t}from"./misc-CypjEQkt.js";import{L as o}from"./components-BMzmvxYw.js";function l({prev:r,next:a}){return e.jsxs("div",{className:"relative flex h-full overflow-hidden",children:[r?e.jsx(o,{prefetch:"intent",...r,className:"group flex h-full items-center justify-center border-l px-7",children:e.jsxs(e.Fragment,{children:[e.jsx(t,{name:"ChevronLeft",className:"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0"}),e.jsx(t,{name:"ChevronLeft",className:"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100"})]})}):null,a?e.jsx(o,{prefetch:"intent",...a,className:"group flex h-full items-center justify-center border-l px-7",children:e.jsxs(e.Fragment,{children:[e.jsx(t,{name:"ChevronRight",className:"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0"}),e.jsx(t,{name:"ChevronRight",className:"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100"})]})}):null]})}export{l as N};
2
+ //# sourceMappingURL=nav-chevrons-BYKwyIgG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-chevrons-DOYtx9XE.js","sources":["../../../app/components/nav-chevrons.tsx"],"sourcesContent":["import { Link, type LinkProps } from '@remix-run/react'\nimport { Icon } from './icons.tsx'\n\nexport function NavChevrons({\n\tprev,\n\tnext,\n}: {\n\tprev?: LinkProps | null\n\tnext?: LinkProps | null\n}) {\n\treturn (\n\t\t<div className=\"relative flex h-full overflow-hidden\">\n\t\t\t{prev ? (\n\t\t\t\t<Link\n\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t{...prev}\n\t\t\t\t\tclassName=\"group flex h-full items-center justify-center border-l px-7\"\n\t\t\t\t\tchildren={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronLeft\"\n\t\t\t\t\t\t\t\tclassName=\"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronLeft\"\n\t\t\t\t\t\t\t\tclassName=\"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{next ? (\n\t\t\t\t<Link\n\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t{...next}\n\t\t\t\t\tclassName=\"group flex h-full items-center justify-center border-l px-7\"\n\t\t\t\t\tchildren={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronRight\"\n\t\t\t\t\t\t\t\tclassName=\"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronRight\"\n\t\t\t\t\t\t\t\tclassName=\"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n"],"names":["NavChevrons","prev","next","jsxs","jsx","Link","Fragment","Icon"],"mappings":"4HAGO,SAASA,EAAY,CAC3B,KAAAC,EACA,KAAAC,CACD,EAGG,CAED,OAAAC,EAAA,KAAC,MAAI,CAAA,UAAU,uCACb,SAAA,CACAF,EAAAG,EAAA,IAACC,EAAA,CACA,SAAS,SACR,GAAGJ,EACJ,UAAU,8DACV,SAEEE,EAAA,KAAAG,WAAA,CAAA,SAAA,CAAAF,EAAA,IAACG,EAAA,CACA,KAAK,cACL,UAAU,2GAAA,CACX,EACAH,EAAA,IAACG,EAAA,CACA,KAAK,cACL,UAAU,0HAAA,CACX,CAAA,EACD,CAAA,CAAA,EAGC,KACHL,EACAE,EAAA,IAACC,EAAA,CACA,SAAS,SACR,GAAGH,EACJ,UAAU,8DACV,SAEEC,EAAA,KAAAG,WAAA,CAAA,SAAA,CAAAF,EAAA,IAACG,EAAA,CACA,KAAK,eACL,UAAU,2GAAA,CACX,EACAH,EAAA,IAACG,EAAA,CACA,KAAK,eACL,UAAU,0HAAA,CACX,CAAA,EACD,CAAA,CAAA,EAGC,IACL,CAAA,CAAA,CAEF"}
1
+ {"version":3,"file":"nav-chevrons-BYKwyIgG.js","sources":["../../../app/components/nav-chevrons.tsx"],"sourcesContent":["import { Link, type LinkProps } from '@remix-run/react'\nimport { Icon } from './icons.tsx'\n\nexport function NavChevrons({\n\tprev,\n\tnext,\n}: {\n\tprev?: LinkProps | null\n\tnext?: LinkProps | null\n}) {\n\treturn (\n\t\t<div className=\"relative flex h-full overflow-hidden\">\n\t\t\t{prev ? (\n\t\t\t\t<Link\n\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t{...prev}\n\t\t\t\t\tclassName=\"group flex h-full items-center justify-center border-l px-7\"\n\t\t\t\t\tchildren={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronLeft\"\n\t\t\t\t\t\t\t\tclassName=\"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronLeft\"\n\t\t\t\t\t\t\t\tclassName=\"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{next ? (\n\t\t\t\t<Link\n\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t{...next}\n\t\t\t\t\tclassName=\"group flex h-full items-center justify-center border-l px-7\"\n\t\t\t\t\tchildren={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronRight\"\n\t\t\t\t\t\t\t\tclassName=\"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronRight\"\n\t\t\t\t\t\t\t\tclassName=\"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n"],"names":["NavChevrons","prev","next","jsxs","jsx","Link","Fragment","Icon"],"mappings":"4HAGO,SAASA,EAAY,CAC3B,KAAAC,EACA,KAAAC,CACD,EAGG,CAED,OAAAC,EAAA,KAAC,MAAI,CAAA,UAAU,uCACb,SAAA,CACAF,EAAAG,EAAA,IAACC,EAAA,CACA,SAAS,SACR,GAAGJ,EACJ,UAAU,8DACV,SAEEE,EAAA,KAAAG,WAAA,CAAA,SAAA,CAAAF,EAAA,IAACG,EAAA,CACA,KAAK,cACL,UAAU,2GAAA,CACX,EACAH,EAAA,IAACG,EAAA,CACA,KAAK,cACL,UAAU,0HAAA,CACX,CAAA,EACD,CAAA,CAAA,EAGC,KACHL,EACAE,EAAA,IAACC,EAAA,CACA,SAAS,SACR,GAAGH,EACJ,UAAU,8DACV,SAEEC,EAAA,KAAAG,WAAA,CAAA,SAAA,CAAAF,EAAA,IAACG,EAAA,CACA,KAAK,eACL,UAAU,2GAAA,CACX,EACAH,EAAA,IAACG,EAAA,CACA,KAAK,eACL,UAAU,0HAAA,CACX,CAAA,EACD,CAAA,CAAA,EAGC,IACL,CAAA,CAAA,CAEF"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"./index-D6ygCrVn.js";import{B as t}from"./button-BfWwrI9B.js";import{E as r,D as s}from"./epic-video-BwtXsHGU.js";import{u as i,F as l}from"./components-C5xBZAiL.js";import"./clsx-B-dksMZM.js";import"./index-Bg9MMnnf.js";import"./request-info-Dyls4H67.js";import"./misc-DNgC2Frq.js";import"./tooltip-Kw0lYWBI.js";import"./client-hints-BKxdo5Js.js";import"./loading-C9f_vBoM.js";function w(){const o=i();return e.jsxs("main",{className:"flex h-full w-full flex-col items-center justify-between gap-4",children:[e.jsxs("div",{className:"container flex h-full w-full max-w-5xl flex-1 flex-col items-center gap-4 overflow-y-scroll py-12 scrollbar-thin scrollbar-thumb-scrollbar",children:[e.jsx("h1",{className:"text-5xl",children:"Onboarding"}),e.jsx("p",{className:"text-xl",children:"Welcome to EpicWeb.dev!"}),e.jsxs("p",{className:"text-lg",children:["Before you get started, ",e.jsx("strong",{children:"you must watch the tour video"}),"! You're going to be spending a lot of time in here, so it's important you understand how to work effectively in this workshop"]}),e.jsx("div",{className:"w-[780px] max-w-full",children:e.jsx(r,{epicVideoInfosPromise:o.videoInfos,children:e.jsx(s,{url:o.tourUrl})})})]}),e.jsx(l,{method:"post",className:"pb-4",children:e.jsx(t,{name:"intent",value:"complete",varient:"primary",children:"I've watched it. Let's go!"})})]})}export{w as default};
2
- //# sourceMappingURL=onboarding-euWyXpCL.js.map
1
+ import{j as e}from"./index-Czg1ruVn.js";import{B as t}from"./button-CyZl24U2.js";import{E as r,D as s}from"./epic-video-CYnG2ziQ.js";import{u as i,F as l}from"./components-BMzmvxYw.js";import"./clsx-B-dksMZM.js";import"./index-90bzTYUX.js";import"./request-info-CUT0ULYN.js";import"./misc-CypjEQkt.js";import"./tooltip-CfmIzAYi.js";import"./client-hints-BE5mB4r0.js";import"./loading-CNWJVymJ.js";function w(){const o=i();return e.jsxs("main",{className:"flex h-full w-full flex-col items-center justify-between gap-4",children:[e.jsxs("div",{className:"container flex h-full w-full max-w-5xl flex-1 flex-col items-center gap-4 overflow-y-scroll py-12 scrollbar-thin scrollbar-thumb-scrollbar",children:[e.jsx("h1",{className:"text-5xl",children:"Onboarding"}),e.jsx("p",{className:"text-xl",children:"Welcome to EpicWeb.dev!"}),e.jsxs("p",{className:"text-lg",children:["Before you get started, ",e.jsx("strong",{children:"you must watch the tour video"}),"! You're going to be spending a lot of time in here, so it's important you understand how to work effectively in this workshop"]}),e.jsx("div",{className:"w-[780px] max-w-full",children:e.jsx(r,{epicVideoInfosPromise:o.videoInfos,children:e.jsx(s,{url:o.tourUrl})})})]}),e.jsx(l,{method:"post",className:"pb-4",children:e.jsx(t,{name:"intent",value:"complete",varient:"primary",children:"I've watched it. Let's go!"})})]})}export{w as default};
2
+ //# sourceMappingURL=onboarding-b9lcdh4n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-euWyXpCL.js","sources":["../../../app/routes/onboarding.tsx"],"sourcesContent":["import { invariantResponse } from '@epic-web/invariant'\nimport { updateOnboardingData } from '@epic-web/workshop-utils/db.server'\nimport { makeTimings } from '@epic-web/workshop-utils/timing.server'\nimport {\n\tdefer,\n\tredirect,\n\ttype ActionFunctionArgs,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n} from '@remix-run/node'\nimport { Form, useLoaderData } from '@remix-run/react'\nimport { Button } from '#app/components/button.tsx'\nimport {\n\tDeferredEpicVideo,\n\tEpicVideoInfoProvider,\n} from '#app/components/epic-video.tsx'\nimport { getEpicVideoInfos } from '#app/utils/epic-api.ts'\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('onboarding')\n\n\tconst tourUrl =\n\t\t'https://www.epicweb.dev/tips/get-started-with-the-epic-workshop-app'\n\tconst videoInfos = getEpicVideoInfos([tourUrl], { request, timings })\n\treturn defer(\n\t\t{ tourUrl, videoInfos },\n\t\t{ headers: { 'Server-Timing': timings.toString() } },\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders }) => {\n\tconst headers = {\n\t\t'Server-Timing': loaderHeaders.get('Server-Timing') ?? '',\n\t}\n\treturn headers\n}\n\nexport async function action({ request }: ActionFunctionArgs) {\n\tconst data = await request.formData()\n\tconst intent = data.get('intent')\n\tinvariantResponse(intent === 'complete', 'Invalid intent')\n\tawait updateOnboardingData({ finishedTourVideo: true })\n\tthrow redirect('/account')\n}\n\nexport default function Onboarding() {\n\tconst data = useLoaderData<typeof loader>()\n\treturn (\n\t\t<main className=\"flex h-full w-full flex-col items-center justify-between gap-4\">\n\t\t\t<div className=\"container flex h-full w-full max-w-5xl flex-1 flex-col items-center gap-4 overflow-y-scroll py-12 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t<h1 className=\"text-5xl\">Onboarding</h1>\n\t\t\t\t<p className=\"text-xl\">Welcome to EpicWeb.dev!</p>\n\t\t\t\t<p className=\"text-lg\">\n\t\t\t\t\tBefore you get started, <strong>you must watch the tour video</strong>\n\t\t\t\t\t! You're going to be spending a lot of time in here, so it's important\n\t\t\t\t\tyou understand how to work effectively in this workshop\n\t\t\t\t</p>\n\t\t\t\t<div className=\"w-[780px] max-w-full\">\n\t\t\t\t\t<EpicVideoInfoProvider epicVideoInfosPromise={data.videoInfos}>\n\t\t\t\t\t\t<DeferredEpicVideo url={data.tourUrl} />\n\t\t\t\t\t</EpicVideoInfoProvider>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Form method=\"post\" className=\"pb-4\">\n\t\t\t\t<Button name=\"intent\" value=\"complete\" varient=\"primary\">\n\t\t\t\t\tI've watched it. Let's go!\n\t\t\t\t</Button>\n\t\t\t</Form>\n\t\t</main>\n\t)\n}\n"],"names":["Onboarding","data","useLoaderData","jsxs","className","children","jsx","EpicVideoInfoProvider","epicVideoInfosPromise","videoInfos","DeferredEpicVideo","url","tourUrl","Form","method","Button","name","value","varient"],"mappings":"6YA6CA,SAAwBA,GAAa,CACpC,MAAMC,EAAOC,IAEZ,OAAAC,EAAAA,KAAC,OAAK,CAAAC,UAAU,iEACfC,SAAA,CAACF,EAAA,KAAA,MAAA,CAAIC,UAAU,6IACdC,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,WAAWC,SAAU,YAAA,CAAA,EAClCC,EAAA,IAAA,IAAA,CAAEF,UAAU,UAAUC,SAAuB,yBAAA,CAAA,EAC9CF,EAAA,KAAC,IAAE,CAAAC,UAAU,UAAUC,SAAA,CAAA,2BACEC,EAAA,IAAC,UAAOD,SAA6B,+BAAA,CAAA,EAAS,gIAAA,CAGvE,CAAA,EACCC,EAAA,IAAA,MAAA,CAAIF,UAAU,uBACdC,eAACE,EAAsB,CAAAC,sBAAuBP,EAAKQ,WAClDJ,eAACK,EAAkB,CAAAC,IAAKV,EAAKW,QAAS,EACvC,CACD,CAAA,CAAA,CACD,CAAA,EACCN,EAAA,IAAAO,EAAA,CAAKC,OAAO,OAAOV,UAAU,OAC7BC,SAAAC,EAAA,IAACS,EAAO,CAAAC,KAAK,SAASC,MAAM,WAAWC,QAAQ,UAAUb,sCAEzD,CACD,CAAA,CAAA,CACD,CAAA,CAEF"}
1
+ {"version":3,"file":"onboarding-b9lcdh4n.js","sources":["../../../app/routes/onboarding.tsx"],"sourcesContent":["import { invariantResponse } from '@epic-web/invariant'\nimport { updateOnboardingData } from '@epic-web/workshop-utils/db.server'\nimport { makeTimings } from '@epic-web/workshop-utils/timing.server'\nimport {\n\tdefer,\n\tredirect,\n\ttype ActionFunctionArgs,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n} from '@remix-run/node'\nimport { Form, useLoaderData } from '@remix-run/react'\nimport { Button } from '#app/components/button.tsx'\nimport {\n\tDeferredEpicVideo,\n\tEpicVideoInfoProvider,\n} from '#app/components/epic-video.tsx'\nimport { getEpicVideoInfos } from '#app/utils/epic-api.ts'\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('onboarding')\n\n\tconst tourUrl =\n\t\t'https://www.epicweb.dev/tips/get-started-with-the-epic-workshop-app'\n\tconst videoInfos = getEpicVideoInfos([tourUrl], { request, timings })\n\treturn defer(\n\t\t{ tourUrl, videoInfos },\n\t\t{ headers: { 'Server-Timing': timings.toString() } },\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders }) => {\n\tconst headers = {\n\t\t'Server-Timing': loaderHeaders.get('Server-Timing') ?? '',\n\t}\n\treturn headers\n}\n\nexport async function action({ request }: ActionFunctionArgs) {\n\tconst data = await request.formData()\n\tconst intent = data.get('intent')\n\tinvariantResponse(intent === 'complete', 'Invalid intent')\n\tawait updateOnboardingData({ finishedTourVideo: true })\n\tthrow redirect('/account')\n}\n\nexport default function Onboarding() {\n\tconst data = useLoaderData<typeof loader>()\n\treturn (\n\t\t<main className=\"flex h-full w-full flex-col items-center justify-between gap-4\">\n\t\t\t<div className=\"container flex h-full w-full max-w-5xl flex-1 flex-col items-center gap-4 overflow-y-scroll py-12 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t<h1 className=\"text-5xl\">Onboarding</h1>\n\t\t\t\t<p className=\"text-xl\">Welcome to EpicWeb.dev!</p>\n\t\t\t\t<p className=\"text-lg\">\n\t\t\t\t\tBefore you get started, <strong>you must watch the tour video</strong>\n\t\t\t\t\t! You're going to be spending a lot of time in here, so it's important\n\t\t\t\t\tyou understand how to work effectively in this workshop\n\t\t\t\t</p>\n\t\t\t\t<div className=\"w-[780px] max-w-full\">\n\t\t\t\t\t<EpicVideoInfoProvider epicVideoInfosPromise={data.videoInfos}>\n\t\t\t\t\t\t<DeferredEpicVideo url={data.tourUrl} />\n\t\t\t\t\t</EpicVideoInfoProvider>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Form method=\"post\" className=\"pb-4\">\n\t\t\t\t<Button name=\"intent\" value=\"complete\" varient=\"primary\">\n\t\t\t\t\tI've watched it. Let's go!\n\t\t\t\t</Button>\n\t\t\t</Form>\n\t\t</main>\n\t)\n}\n"],"names":["Onboarding","data","useLoaderData","jsxs","className","children","jsx","EpicVideoInfoProvider","epicVideoInfosPromise","videoInfos","DeferredEpicVideo","url","tourUrl","Form","method","Button","name","value","varient"],"mappings":"6YA6CA,SAAwBA,GAAa,CACpC,MAAMC,EAAOC,IAEZ,OAAAC,EAAAA,KAAC,OAAK,CAAAC,UAAU,iEACfC,SAAA,CAACF,EAAA,KAAA,MAAA,CAAIC,UAAU,6IACdC,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,WAAWC,SAAU,YAAA,CAAA,EAClCC,EAAA,IAAA,IAAA,CAAEF,UAAU,UAAUC,SAAuB,yBAAA,CAAA,EAC9CF,EAAA,KAAC,IAAE,CAAAC,UAAU,UAAUC,SAAA,CAAA,2BACEC,EAAA,IAAC,UAAOD,SAA6B,+BAAA,CAAA,EAAS,gIAAA,CAGvE,CAAA,EACCC,EAAA,IAAA,MAAA,CAAIF,UAAU,uBACdC,eAACE,EAAsB,CAAAC,sBAAuBP,EAAKQ,WAClDJ,eAACK,EAAkB,CAAAC,IAAKV,EAAKW,QAAS,EACvC,CACD,CAAA,CAAA,CACD,CAAA,EACCN,EAAA,IAAAO,EAAA,CAAKC,OAAO,OAAOV,UAAU,OAC7BC,SAAAC,EAAA,IAACS,EAAO,CAAAC,KAAK,SAASC,MAAM,WAAWC,QAAQ,UAAUb,sCAEzD,CACD,CAAA,CAAA,CACD,CAAA,CAEF"}
@@ -1,4 +1,4 @@
1
- var ie=Object.defineProperty;var ce=(t,n,e)=>n in t?ie(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var d=(t,n,e)=>(ce(t,typeof n!="symbol"?n+"":n,e),e);import{h as et,r as E,j as ae,b as ue}from"./index-D6ygCrVn.js";import{z as p,u as le}from"./request-info-Dyls4H67.js";import{b as K}from"./components-C5xBZAiL.js";const at="epic-web-presence",he=`https://epic-web-presence.kentcdodds.partykit.dev/parties/main/${at}`,X=p.object({id:p.string(),avatarUrl:p.string().nullable().optional(),name:p.string().nullable().optional(),location:p.object({workshopTitle:p.string().nullable().optional(),origin:p.string().nullable().optional(),exercise:p.object({type:p.union([p.literal("problem"),p.literal("solution")]).nullable().optional(),exerciseNumber:p.number().nullable().optional(),stepNumber:p.number().nullable().optional()}).nullable().optional()}).nullable().optional()}),fe=p.object({type:p.literal("remove-user"),payload:p.object({id:p.string()})}).or(p.object({type:p.literal("add-user"),payload:X})).or(p.object({type:p.literal("presence"),payload:p.object({users:p.array(X)})}));p.object({users:p.array(X)});var B={},y={},w={};Object.defineProperty(w,"__esModule",{value:!0});w.output=w.exists=w.hash=w.bytes=w.bool=w.number=w.isBytes=void 0;function F(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`positive integer expected, not ${t}`)}w.number=F;function ut(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}w.bool=ut;function lt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}w.isBytes=lt;function z(t,...n){if(!lt(t))throw new Error("Uint8Array expected");if(n.length>0&&!n.includes(t.length))throw new Error(`Uint8Array expected of length ${n}, not of length=${t.length}`)}w.bytes=z;function ht(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");F(t.outputLen),F(t.blockLen)}w.hash=ht;function ft(t,n=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(n&&t.finished)throw new Error("Hash#digest() has already been called")}w.exists=ft;function dt(t,n){z(t);const e=n.outputLen;if(t.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}w.output=dt;const de={number:F,bool:ut,bytes:z,hash:ht,exists:ft,output:dt};w.default=de;var u={};Object.defineProperty(u,"__esModule",{value:!0});u.add5L=u.add5H=u.add4H=u.add4L=u.add3H=u.add3L=u.add=u.rotlBL=u.rotlBH=u.rotlSL=u.rotlSH=u.rotr32L=u.rotr32H=u.rotrBL=u.rotrBH=u.rotrSL=u.rotrSH=u.shrSL=u.shrSH=u.toBig=u.split=u.fromBig=void 0;const D=BigInt(2**32-1),Q=BigInt(32);function J(t,n=!1){return n?{h:Number(t&D),l:Number(t>>Q&D)}:{h:Number(t>>Q&D)|0,l:Number(t&D)|0}}u.fromBig=J;function pt(t,n=!1){let e=new Uint32Array(t.length),s=new Uint32Array(t.length);for(let r=0;r<t.length;r++){const{h:i,l:c}=J(t[r],n);[e[r],s[r]]=[i,c]}return[e,s]}u.split=pt;const yt=(t,n)=>BigInt(t>>>0)<<Q|BigInt(n>>>0);u.toBig=yt;const _t=(t,n,e)=>t>>>e;u.shrSH=_t;const gt=(t,n,e)=>t<<32-e|n>>>e;u.shrSL=gt;const mt=(t,n,e)=>t>>>e|n<<32-e;u.rotrSH=mt;const bt=(t,n,e)=>t<<32-e|n>>>e;u.rotrSL=bt;const wt=(t,n,e)=>t<<64-e|n>>>e-32;u.rotrBH=wt;const Lt=(t,n,e)=>t>>>e-32|n<<64-e;u.rotrBL=Lt;const kt=(t,n)=>n;u.rotr32H=kt;const vt=(t,n)=>t;u.rotr32L=vt;const Et=(t,n,e)=>t<<e|n>>>32-e;u.rotlSH=Et;const St=(t,n,e)=>n<<e|t>>>32-e;u.rotlSL=St;const xt=(t,n,e)=>n<<e-32|t>>>64-e;u.rotlBH=xt;const Tt=(t,n,e)=>t<<e-32|n>>>64-e;u.rotlBL=Tt;function Ot(t,n,e,s){const r=(n>>>0)+(s>>>0);return{h:t+e+(r/2**32|0)|0,l:r|0}}u.add=Ot;const Ct=(t,n,e)=>(t>>>0)+(n>>>0)+(e>>>0);u.add3L=Ct;const Bt=(t,n,e,s)=>n+e+s+(t/2**32|0)|0;u.add3H=Bt;const It=(t,n,e,s)=>(t>>>0)+(n>>>0)+(e>>>0)+(s>>>0);u.add4L=It;const Ut=(t,n,e,s,r)=>n+e+s+r+(t/2**32|0)|0;u.add4H=Ut;const Pt=(t,n,e,s,r)=>(t>>>0)+(n>>>0)+(e>>>0)+(s>>>0)+(r>>>0);u.add5L=Pt;const Nt=(t,n,e,s,r,i)=>n+e+s+r+i+(t/2**32|0)|0;u.add5H=Nt;const pe={fromBig:J,split:pt,toBig:yt,shrSH:_t,shrSL:gt,rotrSH:mt,rotrSL:bt,rotrBH:wt,rotrBL:Lt,rotr32H:kt,rotr32L:vt,rotlSH:Et,rotlSL:St,rotlBH:xt,rotlBL:Tt,add:Ot,add3L:Ct,add3H:Bt,add4L:It,add4H:Ut,add5H:Nt,add5L:Pt};u.default=pe;var Ht={},q={};Object.defineProperty(q,"__esModule",{value:!0});q.crypto=void 0;q.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(t){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(t,"__esModule",{value:!0}),t.randomBytes=t.wrapXOFConstructorWithOpts=t.wrapConstructorWithOpts=t.wrapConstructor=t.checkOpts=t.Hash=t.concatBytes=t.toBytes=t.utf8ToBytes=t.asyncLoop=t.nextTick=t.hexToBytes=t.bytesToHex=t.byteSwap32=t.byteSwapIfBE=t.byteSwap=t.isLE=t.rotl=t.rotr=t.createView=t.u32=t.u8=t.isBytes=void 0;const n=q,e=w;function s(o){return o instanceof Uint8Array||o!=null&&typeof o=="object"&&o.constructor.name==="Uint8Array"}t.isBytes=s;const r=o=>new Uint8Array(o.buffer,o.byteOffset,o.byteLength);t.u8=r;const i=o=>new Uint32Array(o.buffer,o.byteOffset,Math.floor(o.byteLength/4));t.u32=i;const c=o=>new DataView(o.buffer,o.byteOffset,o.byteLength);t.createView=c;const a=(o,f)=>o<<32-f|o>>>f;t.rotr=a;const h=(o,f)=>o<<f|o>>>32-f>>>0;t.rotl=h,t.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;const l=o=>o<<24&4278190080|o<<8&16711680|o>>>8&65280|o>>>24&255;t.byteSwap=l,t.byteSwapIfBE=t.isLE?o=>o:o=>(0,t.byteSwap)(o);function L(o){for(let f=0;f<o.length;f++)o[f]=(0,t.byteSwap)(o[f])}t.byteSwap32=L;const b=Array.from({length:256},(o,f)=>f.toString(16).padStart(2,"0"));function S(o){(0,e.bytes)(o);let f="";for(let m=0;m<o.length;m++)f+=b[o[m]];return f}t.bytesToHex=S;const _={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function x(o){if(o>=_._0&&o<=_._9)return o-_._0;if(o>=_._A&&o<=_._F)return o-(_._A-10);if(o>=_._a&&o<=_._f)return o-(_._a-10)}function W(o){if(typeof o!="string")throw new Error("hex string expected, got "+typeof o);const f=o.length,m=f/2;if(f%2)throw new Error("padded hex string expected, got unpadded hex of length "+f);const g=new Uint8Array(m);for(let k=0,v=0;k<m;k++,v+=2){const Z=x(o.charCodeAt(v)),tt=x(o.charCodeAt(v+1));if(Z===void 0||tt===void 0){const oe=o[v]+o[v+1];throw new Error('hex string expected, got non-hex character "'+oe+'" at index '+v)}g[k]=Z*16+tt}return g}t.hexToBytes=W;const O=async()=>{};t.nextTick=O;async function C(o,f,m){let g=Date.now();for(let k=0;k<o;k++){m(k);const v=Date.now()-g;v>=0&&v<f||(await(0,t.nextTick)(),g+=v)}}t.asyncLoop=C;function Y(o){if(typeof o!="string")throw new Error(`utf8ToBytes expected string, got ${typeof o}`);return new Uint8Array(new TextEncoder().encode(o))}t.utf8ToBytes=Y;function j(o){return typeof o=="string"&&(o=Y(o)),(0,e.bytes)(o),o}t.toBytes=j;function Jt(...o){let f=0;for(let g=0;g<o.length;g++){const k=o[g];(0,e.bytes)(k),f+=k.length}const m=new Uint8Array(f);for(let g=0,k=0;g<o.length;g++){const v=o[g];m.set(v,k),k+=v.length}return m}t.concatBytes=Jt;class Yt{clone(){return this._cloneInto()}}t.Hash=Yt;const Zt={}.toString;function te(o,f){if(f!==void 0&&Zt.call(f)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(o,f)}t.checkOpts=te;function ee(o){const f=g=>o().update(j(g)).digest(),m=o();return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=()=>o(),f}t.wrapConstructor=ee;function ne(o){const f=(g,k)=>o(k).update(j(g)).digest(),m=o({});return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=g=>o(g),f}t.wrapConstructorWithOpts=ne;function se(o){const f=(g,k)=>o(k).update(j(g)).digest(),m=o({});return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=g=>o(g),f}t.wrapXOFConstructorWithOpts=se;function re(o=32){if(n.crypto&&typeof n.crypto.getRandomValues=="function")return n.crypto.getRandomValues(new Uint8Array(o));throw new Error("crypto.getRandomValues must be defined")}t.randomBytes=re})(Ht);Object.defineProperty(y,"__esModule",{value:!0});y.shake256=y.shake128=y.keccak_512=y.keccak_384=y.keccak_256=y.keccak_224=y.sha3_512=y.sha3_384=y.sha3_256=y.sha3_224=y.Keccak=y.keccakP=void 0;const N=w,R=u,T=Ht,At=[],Rt=[],Mt=[],ye=BigInt(0),H=BigInt(1),_e=BigInt(2),ge=BigInt(7),me=BigInt(256),be=BigInt(113);for(let t=0,n=H,e=1,s=0;t<24;t++){[e,s]=[s,(2*e+3*s)%5],At.push(2*(5*s+e)),Rt.push((t+1)*(t+2)/2%64);let r=ye;for(let i=0;i<7;i++)n=(n<<H^(n>>ge)*be)%me,n&_e&&(r^=H<<(H<<BigInt(i))-H);Mt.push(r)}const[we,Le]=(0,R.split)(Mt,!0),nt=(t,n,e)=>e>32?(0,R.rotlBH)(t,n,e):(0,R.rotlSH)(t,n,e),st=(t,n,e)=>e>32?(0,R.rotlBL)(t,n,e):(0,R.rotlSL)(t,n,e);function Wt(t,n=24){const e=new Uint32Array(10);for(let s=24-n;s<24;s++){for(let c=0;c<10;c++)e[c]=t[c]^t[c+10]^t[c+20]^t[c+30]^t[c+40];for(let c=0;c<10;c+=2){const a=(c+8)%10,h=(c+2)%10,l=e[h],L=e[h+1],b=nt(l,L,1)^e[a],S=st(l,L,1)^e[a+1];for(let _=0;_<50;_+=10)t[c+_]^=b,t[c+_+1]^=S}let r=t[2],i=t[3];for(let c=0;c<24;c++){const a=Rt[c],h=nt(r,i,a),l=st(r,i,a),L=At[c];r=t[L],i=t[L+1],t[L]=h,t[L+1]=l}for(let c=0;c<50;c+=10){for(let a=0;a<10;a++)e[a]=t[c+a];for(let a=0;a<10;a++)t[c+a]^=~e[(a+2)%10]&e[(a+4)%10]}t[0]^=we[s],t[1]^=Le[s]}e.fill(0)}y.keccakP=Wt;class M extends T.Hash{constructor(n,e,s,r=!1,i=24){if(super(),this.blockLen=n,this.suffix=e,this.outputLen=s,this.enableXOF=r,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,N.number)(s),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,T.u32)(this.state)}keccak(){T.isLE||(0,T.byteSwap32)(this.state32),Wt(this.state32,this.rounds),T.isLE||(0,T.byteSwap32)(this.state32),this.posOut=0,this.pos=0}update(n){(0,N.exists)(this);const{blockLen:e,state:s}=this;n=(0,T.toBytes)(n);const r=n.length;for(let i=0;i<r;){const c=Math.min(e-this.pos,r-i);for(let a=0;a<c;a++)s[this.pos++]^=n[i++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:n,suffix:e,pos:s,blockLen:r}=this;n[s]^=e,e&128&&s===r-1&&this.keccak(),n[r-1]^=128,this.keccak()}writeInto(n){(0,N.exists)(this,!1),(0,N.bytes)(n),this.finish();const e=this.state,{blockLen:s}=this;for(let r=0,i=n.length;r<i;){this.posOut>=s&&this.keccak();const c=Math.min(s-this.posOut,i-r);n.set(e.subarray(this.posOut,this.posOut+c),r),this.posOut+=c,r+=c}return n}xofInto(n){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(n)}xof(n){return(0,N.number)(n),this.xofInto(new Uint8Array(n))}digestInto(n){if((0,N.output)(n,this),this.finished)throw new Error("digest() was already called");return this.writeInto(n),this.destroy(),n}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(n){const{blockLen:e,suffix:s,outputLen:r,rounds:i,enableXOF:c}=this;return n||(n=new M(e,s,r,c,i)),n.state32.set(this.state32),n.pos=this.pos,n.posOut=this.posOut,n.finished=this.finished,n.rounds=i,n.suffix=s,n.outputLen=r,n.enableXOF=c,n.destroyed=this.destroyed,n}}y.Keccak=M;const I=(t,n,e)=>(0,T.wrapConstructor)(()=>new M(n,t,e));y.sha3_224=I(6,144,224/8);y.sha3_256=I(6,136,256/8);y.sha3_384=I(6,104,384/8);y.sha3_512=I(6,72,512/8);y.keccak_224=I(1,144,224/8);y.keccak_256=I(1,136,256/8);y.keccak_384=I(1,104,384/8);y.keccak_512=I(1,72,512/8);const jt=(t,n,e)=>(0,T.wrapXOFConstructorWithOpts)((s={})=>new M(n,t,s.dkLen===void 0?e:s.dkLen,!0));y.shake128=jt(31,168,128/8);y.shake256=jt(31,136,256/8);const{sha3_512:ke}=y,Dt=24,A=32,V=(t=4,n=Math.random)=>{let e="";for(;e.length<t;)e=e+Math.floor(n()*36).toString(36);return e};function $t(t){let n=8n,e=0n;for(const s of t.values()){const r=BigInt(s);e=(e<<n)+r}return e}const Ft=(t="")=>$t(ke(t)).toString(36).slice(1),rt=Array.from({length:26},(t,n)=>String.fromCharCode(n+97)),ve=t=>rt[Math.floor(t()*rt.length)],qt=({globalObj:t=typeof et<"u"?et:typeof window<"u"?window:{},random:n=Math.random}={})=>{const e=Object.keys(t).toString(),s=e.length?e+V(A,n):V(A,n);return Ft(s).substring(0,A)},Gt=t=>()=>t++,Ee=476782367,Xt=({random:t=Math.random,counter:n=Gt(Math.floor(t()*Ee)),length:e=Dt,fingerprint:s=qt({random:t})}={})=>function(){const i=ve(t),c=Date.now().toString(36),a=n().toString(36),h=V(e,t),l=`${c+h+a+s}`;return`${i+Ft(l).substring(1,e)}`},Se=Xt(),xe=(t,{minLength:n=2,maxLength:e=A}={})=>{const s=t.length,r=/^[0-9a-z]+$/;try{if(typeof t=="string"&&s>=n&&s<=e&&r.test(t))return!0}finally{}return!1};B.getConstants=()=>({defaultLength:Dt,bigLength:A});B.init=Xt;B.createId=Se;B.bufToBigInt=$t;B.createCounter=Gt;B.createFingerprint=qt;B.isCuid=xe;const{createId:Te,init:ze,getConstants:Je,isCuid:Ye}=B;var Oe=Te;(!globalThis.EventTarget||!globalThis.Event)&&console.error(`
1
+ var ie=Object.defineProperty;var ce=(t,n,e)=>n in t?ie(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var d=(t,n,e)=>ce(t,typeof n!="symbol"?n+"":n,e);import{k as et,r as E,j as ae,b as ue}from"./index-Czg1ruVn.js";import{z as p,u as le}from"./request-info-CUT0ULYN.js";import{b as K}from"./components-BMzmvxYw.js";const at="epic-web-presence",he=`https://epic-web-presence.kentcdodds.partykit.dev/parties/main/${at}`,X=p.object({id:p.string(),avatarUrl:p.string().nullable().optional(),name:p.string().nullable().optional(),location:p.object({workshopTitle:p.string().nullable().optional(),origin:p.string().nullable().optional(),exercise:p.object({type:p.union([p.literal("problem"),p.literal("solution")]).nullable().optional(),exerciseNumber:p.number().nullable().optional(),stepNumber:p.number().nullable().optional()}).nullable().optional()}).nullable().optional()}),fe=p.object({type:p.literal("remove-user"),payload:p.object({id:p.string()})}).or(p.object({type:p.literal("add-user"),payload:X})).or(p.object({type:p.literal("presence"),payload:p.object({users:p.array(X)})}));p.object({users:p.array(X)});var B={},y={},w={};Object.defineProperty(w,"__esModule",{value:!0});w.output=w.exists=w.hash=w.bytes=w.bool=w.number=w.isBytes=void 0;function F(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`positive integer expected, not ${t}`)}w.number=F;function ut(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}w.bool=ut;function lt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}w.isBytes=lt;function z(t,...n){if(!lt(t))throw new Error("Uint8Array expected");if(n.length>0&&!n.includes(t.length))throw new Error(`Uint8Array expected of length ${n}, not of length=${t.length}`)}w.bytes=z;function ht(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");F(t.outputLen),F(t.blockLen)}w.hash=ht;function ft(t,n=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(n&&t.finished)throw new Error("Hash#digest() has already been called")}w.exists=ft;function dt(t,n){z(t);const e=n.outputLen;if(t.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}w.output=dt;const de={number:F,bool:ut,bytes:z,hash:ht,exists:ft,output:dt};w.default=de;var u={};Object.defineProperty(u,"__esModule",{value:!0});u.add5L=u.add5H=u.add4H=u.add4L=u.add3H=u.add3L=u.add=u.rotlBL=u.rotlBH=u.rotlSL=u.rotlSH=u.rotr32L=u.rotr32H=u.rotrBL=u.rotrBH=u.rotrSL=u.rotrSH=u.shrSL=u.shrSH=u.toBig=u.split=u.fromBig=void 0;const D=BigInt(2**32-1),Q=BigInt(32);function J(t,n=!1){return n?{h:Number(t&D),l:Number(t>>Q&D)}:{h:Number(t>>Q&D)|0,l:Number(t&D)|0}}u.fromBig=J;function pt(t,n=!1){let e=new Uint32Array(t.length),s=new Uint32Array(t.length);for(let r=0;r<t.length;r++){const{h:i,l:c}=J(t[r],n);[e[r],s[r]]=[i,c]}return[e,s]}u.split=pt;const yt=(t,n)=>BigInt(t>>>0)<<Q|BigInt(n>>>0);u.toBig=yt;const _t=(t,n,e)=>t>>>e;u.shrSH=_t;const gt=(t,n,e)=>t<<32-e|n>>>e;u.shrSL=gt;const mt=(t,n,e)=>t>>>e|n<<32-e;u.rotrSH=mt;const bt=(t,n,e)=>t<<32-e|n>>>e;u.rotrSL=bt;const wt=(t,n,e)=>t<<64-e|n>>>e-32;u.rotrBH=wt;const Lt=(t,n,e)=>t>>>e-32|n<<64-e;u.rotrBL=Lt;const kt=(t,n)=>n;u.rotr32H=kt;const vt=(t,n)=>t;u.rotr32L=vt;const Et=(t,n,e)=>t<<e|n>>>32-e;u.rotlSH=Et;const St=(t,n,e)=>n<<e|t>>>32-e;u.rotlSL=St;const xt=(t,n,e)=>n<<e-32|t>>>64-e;u.rotlBH=xt;const Tt=(t,n,e)=>t<<e-32|n>>>64-e;u.rotlBL=Tt;function Ot(t,n,e,s){const r=(n>>>0)+(s>>>0);return{h:t+e+(r/2**32|0)|0,l:r|0}}u.add=Ot;const Ct=(t,n,e)=>(t>>>0)+(n>>>0)+(e>>>0);u.add3L=Ct;const Bt=(t,n,e,s)=>n+e+s+(t/2**32|0)|0;u.add3H=Bt;const It=(t,n,e,s)=>(t>>>0)+(n>>>0)+(e>>>0)+(s>>>0);u.add4L=It;const Ut=(t,n,e,s,r)=>n+e+s+r+(t/2**32|0)|0;u.add4H=Ut;const Pt=(t,n,e,s,r)=>(t>>>0)+(n>>>0)+(e>>>0)+(s>>>0)+(r>>>0);u.add5L=Pt;const Nt=(t,n,e,s,r,i)=>n+e+s+r+i+(t/2**32|0)|0;u.add5H=Nt;const pe={fromBig:J,split:pt,toBig:yt,shrSH:_t,shrSL:gt,rotrSH:mt,rotrSL:bt,rotrBH:wt,rotrBL:Lt,rotr32H:kt,rotr32L:vt,rotlSH:Et,rotlSL:St,rotlBH:xt,rotlBL:Tt,add:Ot,add3L:Ct,add3H:Bt,add4L:It,add4H:Ut,add5H:Nt,add5L:Pt};u.default=pe;var Ht={},q={};Object.defineProperty(q,"__esModule",{value:!0});q.crypto=void 0;q.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(t){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(t,"__esModule",{value:!0}),t.randomBytes=t.wrapXOFConstructorWithOpts=t.wrapConstructorWithOpts=t.wrapConstructor=t.checkOpts=t.Hash=t.concatBytes=t.toBytes=t.utf8ToBytes=t.asyncLoop=t.nextTick=t.hexToBytes=t.bytesToHex=t.byteSwap32=t.byteSwapIfBE=t.byteSwap=t.isLE=t.rotl=t.rotr=t.createView=t.u32=t.u8=t.isBytes=void 0;const n=q,e=w;function s(o){return o instanceof Uint8Array||o!=null&&typeof o=="object"&&o.constructor.name==="Uint8Array"}t.isBytes=s;const r=o=>new Uint8Array(o.buffer,o.byteOffset,o.byteLength);t.u8=r;const i=o=>new Uint32Array(o.buffer,o.byteOffset,Math.floor(o.byteLength/4));t.u32=i;const c=o=>new DataView(o.buffer,o.byteOffset,o.byteLength);t.createView=c;const a=(o,f)=>o<<32-f|o>>>f;t.rotr=a;const h=(o,f)=>o<<f|o>>>32-f>>>0;t.rotl=h,t.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;const l=o=>o<<24&4278190080|o<<8&16711680|o>>>8&65280|o>>>24&255;t.byteSwap=l,t.byteSwapIfBE=t.isLE?o=>o:o=>(0,t.byteSwap)(o);function L(o){for(let f=0;f<o.length;f++)o[f]=(0,t.byteSwap)(o[f])}t.byteSwap32=L;const b=Array.from({length:256},(o,f)=>f.toString(16).padStart(2,"0"));function S(o){(0,e.bytes)(o);let f="";for(let m=0;m<o.length;m++)f+=b[o[m]];return f}t.bytesToHex=S;const _={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function x(o){if(o>=_._0&&o<=_._9)return o-_._0;if(o>=_._A&&o<=_._F)return o-(_._A-10);if(o>=_._a&&o<=_._f)return o-(_._a-10)}function W(o){if(typeof o!="string")throw new Error("hex string expected, got "+typeof o);const f=o.length,m=f/2;if(f%2)throw new Error("padded hex string expected, got unpadded hex of length "+f);const g=new Uint8Array(m);for(let k=0,v=0;k<m;k++,v+=2){const Z=x(o.charCodeAt(v)),tt=x(o.charCodeAt(v+1));if(Z===void 0||tt===void 0){const oe=o[v]+o[v+1];throw new Error('hex string expected, got non-hex character "'+oe+'" at index '+v)}g[k]=Z*16+tt}return g}t.hexToBytes=W;const O=async()=>{};t.nextTick=O;async function C(o,f,m){let g=Date.now();for(let k=0;k<o;k++){m(k);const v=Date.now()-g;v>=0&&v<f||(await(0,t.nextTick)(),g+=v)}}t.asyncLoop=C;function Y(o){if(typeof o!="string")throw new Error(`utf8ToBytes expected string, got ${typeof o}`);return new Uint8Array(new TextEncoder().encode(o))}t.utf8ToBytes=Y;function j(o){return typeof o=="string"&&(o=Y(o)),(0,e.bytes)(o),o}t.toBytes=j;function Jt(...o){let f=0;for(let g=0;g<o.length;g++){const k=o[g];(0,e.bytes)(k),f+=k.length}const m=new Uint8Array(f);for(let g=0,k=0;g<o.length;g++){const v=o[g];m.set(v,k),k+=v.length}return m}t.concatBytes=Jt;class Yt{clone(){return this._cloneInto()}}t.Hash=Yt;const Zt={}.toString;function te(o,f){if(f!==void 0&&Zt.call(f)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(o,f)}t.checkOpts=te;function ee(o){const f=g=>o().update(j(g)).digest(),m=o();return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=()=>o(),f}t.wrapConstructor=ee;function ne(o){const f=(g,k)=>o(k).update(j(g)).digest(),m=o({});return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=g=>o(g),f}t.wrapConstructorWithOpts=ne;function se(o){const f=(g,k)=>o(k).update(j(g)).digest(),m=o({});return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=g=>o(g),f}t.wrapXOFConstructorWithOpts=se;function re(o=32){if(n.crypto&&typeof n.crypto.getRandomValues=="function")return n.crypto.getRandomValues(new Uint8Array(o));throw new Error("crypto.getRandomValues must be defined")}t.randomBytes=re})(Ht);Object.defineProperty(y,"__esModule",{value:!0});y.shake256=y.shake128=y.keccak_512=y.keccak_384=y.keccak_256=y.keccak_224=y.sha3_512=y.sha3_384=y.sha3_256=y.sha3_224=y.Keccak=y.keccakP=void 0;const N=w,R=u,T=Ht,At=[],Rt=[],Mt=[],ye=BigInt(0),H=BigInt(1),_e=BigInt(2),ge=BigInt(7),me=BigInt(256),be=BigInt(113);for(let t=0,n=H,e=1,s=0;t<24;t++){[e,s]=[s,(2*e+3*s)%5],At.push(2*(5*s+e)),Rt.push((t+1)*(t+2)/2%64);let r=ye;for(let i=0;i<7;i++)n=(n<<H^(n>>ge)*be)%me,n&_e&&(r^=H<<(H<<BigInt(i))-H);Mt.push(r)}const[we,Le]=(0,R.split)(Mt,!0),nt=(t,n,e)=>e>32?(0,R.rotlBH)(t,n,e):(0,R.rotlSH)(t,n,e),st=(t,n,e)=>e>32?(0,R.rotlBL)(t,n,e):(0,R.rotlSL)(t,n,e);function Wt(t,n=24){const e=new Uint32Array(10);for(let s=24-n;s<24;s++){for(let c=0;c<10;c++)e[c]=t[c]^t[c+10]^t[c+20]^t[c+30]^t[c+40];for(let c=0;c<10;c+=2){const a=(c+8)%10,h=(c+2)%10,l=e[h],L=e[h+1],b=nt(l,L,1)^e[a],S=st(l,L,1)^e[a+1];for(let _=0;_<50;_+=10)t[c+_]^=b,t[c+_+1]^=S}let r=t[2],i=t[3];for(let c=0;c<24;c++){const a=Rt[c],h=nt(r,i,a),l=st(r,i,a),L=At[c];r=t[L],i=t[L+1],t[L]=h,t[L+1]=l}for(let c=0;c<50;c+=10){for(let a=0;a<10;a++)e[a]=t[c+a];for(let a=0;a<10;a++)t[c+a]^=~e[(a+2)%10]&e[(a+4)%10]}t[0]^=we[s],t[1]^=Le[s]}e.fill(0)}y.keccakP=Wt;class M extends T.Hash{constructor(n,e,s,r=!1,i=24){if(super(),this.blockLen=n,this.suffix=e,this.outputLen=s,this.enableXOF=r,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,N.number)(s),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,T.u32)(this.state)}keccak(){T.isLE||(0,T.byteSwap32)(this.state32),Wt(this.state32,this.rounds),T.isLE||(0,T.byteSwap32)(this.state32),this.posOut=0,this.pos=0}update(n){(0,N.exists)(this);const{blockLen:e,state:s}=this;n=(0,T.toBytes)(n);const r=n.length;for(let i=0;i<r;){const c=Math.min(e-this.pos,r-i);for(let a=0;a<c;a++)s[this.pos++]^=n[i++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:n,suffix:e,pos:s,blockLen:r}=this;n[s]^=e,e&128&&s===r-1&&this.keccak(),n[r-1]^=128,this.keccak()}writeInto(n){(0,N.exists)(this,!1),(0,N.bytes)(n),this.finish();const e=this.state,{blockLen:s}=this;for(let r=0,i=n.length;r<i;){this.posOut>=s&&this.keccak();const c=Math.min(s-this.posOut,i-r);n.set(e.subarray(this.posOut,this.posOut+c),r),this.posOut+=c,r+=c}return n}xofInto(n){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(n)}xof(n){return(0,N.number)(n),this.xofInto(new Uint8Array(n))}digestInto(n){if((0,N.output)(n,this),this.finished)throw new Error("digest() was already called");return this.writeInto(n),this.destroy(),n}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(n){const{blockLen:e,suffix:s,outputLen:r,rounds:i,enableXOF:c}=this;return n||(n=new M(e,s,r,c,i)),n.state32.set(this.state32),n.pos=this.pos,n.posOut=this.posOut,n.finished=this.finished,n.rounds=i,n.suffix=s,n.outputLen=r,n.enableXOF=c,n.destroyed=this.destroyed,n}}y.Keccak=M;const I=(t,n,e)=>(0,T.wrapConstructor)(()=>new M(n,t,e));y.sha3_224=I(6,144,224/8);y.sha3_256=I(6,136,256/8);y.sha3_384=I(6,104,384/8);y.sha3_512=I(6,72,512/8);y.keccak_224=I(1,144,224/8);y.keccak_256=I(1,136,256/8);y.keccak_384=I(1,104,384/8);y.keccak_512=I(1,72,512/8);const jt=(t,n,e)=>(0,T.wrapXOFConstructorWithOpts)((s={})=>new M(n,t,s.dkLen===void 0?e:s.dkLen,!0));y.shake128=jt(31,168,128/8);y.shake256=jt(31,136,256/8);const{sha3_512:ke}=y,Dt=24,A=32,V=(t=4,n=Math.random)=>{let e="";for(;e.length<t;)e=e+Math.floor(n()*36).toString(36);return e};function $t(t){let n=8n,e=0n;for(const s of t.values()){const r=BigInt(s);e=(e<<n)+r}return e}const Ft=(t="")=>$t(ke(t)).toString(36).slice(1),rt=Array.from({length:26},(t,n)=>String.fromCharCode(n+97)),ve=t=>rt[Math.floor(t()*rt.length)],qt=({globalObj:t=typeof et<"u"?et:typeof window<"u"?window:{},random:n=Math.random}={})=>{const e=Object.keys(t).toString(),s=e.length?e+V(A,n):V(A,n);return Ft(s).substring(0,A)},Gt=t=>()=>t++,Ee=476782367,Xt=({random:t=Math.random,counter:n=Gt(Math.floor(t()*Ee)),length:e=Dt,fingerprint:s=qt({random:t})}={})=>function(){const i=ve(t),c=Date.now().toString(36),a=n().toString(36),h=V(e,t),l=`${c+h+a+s}`;return`${i+Ft(l).substring(1,e)}`},Se=Xt(),xe=(t,{minLength:n=2,maxLength:e=A}={})=>{const s=t.length,r=/^[0-9a-z]+$/;try{if(typeof t=="string"&&s>=n&&s<=e&&r.test(t))return!0}finally{}return!1};B.getConstants=()=>({defaultLength:Dt,bigLength:A});B.init=Xt;B.createId=Se;B.bufToBigInt=$t;B.createCounter=Gt;B.createFingerprint=qt;B.isCuid=xe;const{createId:Te,init:ze,getConstants:Je,isCuid:Ye}=B;var Oe=Te;(!globalThis.EventTarget||!globalThis.Event)&&console.error(`
2
2
  PartySocket requires a global 'EventTarget' class to be available!
3
3
  You can polyfill this global by adding this to your code before any partysocket imports:
4
4
 
@@ -25,4 +25,4 @@ const partysocket = new PartySocket({
25
25
  * https://github.com/pladaria/reconnecting-websocket
26
26
  * License MIT
27
27
  */var Ne=t=>t[1]!==null&&t[1]!==void 0;function He(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();let t=new Date().getTime(),n=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let s=Math.random()*16;return t>0?(s=(t+s)%16|0,t=Math.floor(t/16)):(s=(n+s)%16|0,n=Math.floor(n/16)),(e==="x"?s:s&3|8).toString(16)})}function Kt(t,n,e={}){const{host:s,path:r,protocol:i,room:c,party:a,query:h}=t;let l=s.replace(/^(http|https|ws|wss):\/\//,"");if(l.endsWith("/")&&(l=l.slice(0,-1)),r&&r.startsWith("/"))throw new Error("path must not start with a slash");const L=a??"main",b=r?`/${r}`:"",S=i||(l.startsWith("localhost:")||l.startsWith("127.0.0.1:")||l.startsWith("192.168.")||l.startsWith("10.")||l.startsWith("172.")&&l.split(".")[1]>="16"&&l.split(".")[1]<="31"||l.startsWith("[::ffff:7f00:1]:")?n:n+"s"),_=`${S}://${l}/${a?`parties/${a}`:"party"}/${c}${b}`,x=(O={})=>`${_}?${new URLSearchParams([...Object.entries(e),...Object.entries(O).filter(Ne)])}`,W=typeof h=="function"?async()=>x(await h()):x(h);return{host:l,path:b,room:c,name:L,protocol:S,partyUrl:_,urlProvider:W}}var Ae=class extends Pe{constructor(n){const e=it(n);super(e.urlProvider,e.protocols,e.socketOptions);d(this,"_pk");d(this,"_pkurl");d(this,"name");d(this,"room");d(this,"host");d(this,"path");this.partySocketOptions=n,this.setWSProperties(e)}updateProperties(n){const e=it({...this.partySocketOptions,...n,host:n.host??this.host,room:n.room??this.room,path:n.path??this.path});this._url=e.urlProvider,this._protocols=e.protocols,this._options=e.socketOptions,this.setWSProperties(e)}setWSProperties(n){const{_pk:e,_pkurl:s,name:r,room:i,host:c,path:a}=n;this._pk=e,this._pkurl=s,this.name=r,this.room=i,this.host=c,this.path=a}reconnect(n,e){if(!this.room||!this.host)throw new Error("The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.");super.reconnect(n,e)}get id(){return this._pk}get roomUrl(){return this._pkurl}static async fetch(n,e){const s=Kt(n,"http"),r=typeof s.urlProvider=="string"?s.urlProvider:await s.urlProvider();return(n.fetch??fetch)(r,e)}};function it(t){const{id:n,host:e,path:s,party:r,room:i,protocol:c,query:a,protocols:h,...l}=t,L=n||He(),b=Kt(t,"ws",{_pk:L});return{_pk:L,_pkurl:b.partyUrl,name:b.name,room:b.room,host:b.host,path:b.path,protocols:h,socketOptions:l,urlProvider:b.urlProvider}}var Re=(t,n)=>{const e=E.useRef(n);e.current=n,E.useEffect(()=>{const s=a=>{var h,l;return(l=(h=e.current)==null?void 0:h.onOpen)==null?void 0:l.call(h,a)},r=a=>{var h,l;return(l=(h=e.current)==null?void 0:h.onMessage)==null?void 0:l.call(h,a)},i=a=>{var h,l;return(l=(h=e.current)==null?void 0:h.onClose)==null?void 0:l.call(h,a)},c=a=>{var h,l;return(l=(h=e.current)==null?void 0:h.onError)==null?void 0:l.call(h,a)};return t.addEventListener("open",s),t.addEventListener("close",i),t.addEventListener("error",c),t.addEventListener("message",r),()=>{t.removeEventListener("open",s),t.removeEventListener("close",i),t.removeEventListener("error",c),t.removeEventListener("message",r)}},[t])},Me=t=>[t.startClosed,t.minUptime,t.maxRetries,t.connectionTimeout,t.maxEnqueuedMessages,t.maxReconnectionDelay,t.minReconnectionDelay,t.reconnectionDelayGrowFactor,t.debug];function We({options:t,createSocket:n,createSocketMemoKey:e}){const s=e(t),r=E.useMemo(()=>t,[s]),[i,c]=E.useState(()=>n({...r,startClosed:!0})),a=E.useRef(null),h=E.useRef(n);return h.current=n,E.useEffect(()=>{if(a.current===i){const l=h.current({...r,startClosed:!1});c(l)}else return!a.current&&r.startClosed!==!0&&i.reconnect(),a.current=i,()=>{i.close()}},[i,r]),i}function je(t){const{host:n,...e}=t,s=We({options:{host:n||(typeof window<"u"?window.location.host:"dummy-domain.com"),...e},createSocket:r=>new Ae(r),createSocketMemoKey:r=>JSON.stringify([r.query,r.id,r.host,r.room,r.party,r.path,r.protocol,r.protocols,...Me(r)])});return Re(s,t),s}const zt=E.createContext(null);function De(){var n;const t=K("root");return((n=t==null?void 0:t.preferences)==null?void 0:n.presence)??null}function $e(){const t=K("root");return(t==null?void 0:t.workshopTitle)??null}const Fe=p.object({type:p.union([p.literal("problem"),p.literal("solution")]).optional(),exerciseNumber:p.coerce.number().finite(),stepNumber:p.coerce.number().finite().optional()});function qe(t){const n=$e(),e=le(),s=ue(),r=De(),i=K("root"),[c,a]=E.useState((i==null?void 0:i.presence.users)??[]),[h]=E.useState(()=>{if(typeof document>"u")return null;if(t)return t.id;const O=sessionStorage.getItem("clientId");if(O)return O;const C=Oe();return sessionStorage.setItem("clientId",C),C}),l=je({host:new URL(he).host,room:at,onMessage(O){const C=fe.safeParse(JSON.parse(String(O.data)));C.success&&C.data.type==="presence"&&a(C.data.payload.users)}}),L=Fe.safeParse(s),b=L.success?L.data:null,S={workshopTitle:n,origin:e.origin,...b?{exercise:{type:b.type,exerciseNumber:b.exerciseNumber,stepNumber:b.stepNumber}}:null};let _=null;(!t||r!=null&&r.optOut)&&h?(t&&(_={type:"remove-user",payload:{id:t.id}}),_={type:"add-user",payload:{id:h,location:S}}):t&&(_={type:"add-user",payload:{id:t.id,name:t.name,avatarUrl:t.avatarUrl,location:S}});const x=_?JSON.stringify(_):null;return E.useEffect(()=>{x&&l.send(x)},[x,l]),{users:Ge(S,c)}}function Ge(t,n){return n.map(s=>{var c,a,h,l;let r=0;const i=4;return(t==null?void 0:t.workshopTitle)===((c=s.location)==null?void 0:c.workshopTitle)&&(r+=1,(a=t==null?void 0:t.exercise)!=null&&a.exerciseNumber&&t.exercise.exerciseNumber===((l=(h=s.location)==null?void 0:h.exercise)==null?void 0:l.exerciseNumber)&&(r+=1,t.exercise.stepNumber&&t.exercise.stepNumber===s.location.exercise.stepNumber&&(r+=1,t.exercise.type&&t.exercise.type===s.location.exercise.type&&(r+=1)))),{user:s,score:Math.floor(r/i*10)/10}}).sort((s,r)=>s.score===r.score?0:s.score>r.score?-1:1)}function Ze({user:t,children:n}){return ae.jsx(zt.Provider,{value:qe(t),children:n})}function tn(){const t=E.useContext(zt);if(!t)throw new Error("usePresence must be used within a PresenceProvider");return t}export{Ze as P,tn as a,De as u};
28
- //# sourceMappingURL=presence-BJPzwbUy.js.map
28
+ //# sourceMappingURL=presence-DXXVJbaH.js.map