@epic-web/workshop-app 4.6.5 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (811) hide show
  1. package/build/client/assets/{_-COWH0sBh.js → _-Bd2gNcck.js} +2 -2
  2. package/build/client/assets/{_-COWH0sBh.js.map → _-Bd2gNcck.js.map} +1 -1
  3. package/build/client/assets/{_exerciseNumber-D5XVFEL6.js → _exerciseNumber-CFOo2dQj.js} +2 -2
  4. package/build/client/assets/{_exerciseNumber-D5XVFEL6.js.map → _exerciseNumber-CFOo2dQj.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-C37pli7_.js → _exerciseNumber_._stepNumber-DCbWNWpZ.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-C37pli7_.js.map → _exerciseNumber_._stepNumber-DCbWNWpZ.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber_.finished-P7xMAtl1.js +2 -0
  8. package/build/client/assets/_exerciseNumber_.finished-P7xMAtl1.js.map +1 -0
  9. package/build/client/assets/_layout-Bdd3mpVx.js +2 -0
  10. package/build/client/assets/_layout-Bdd3mpVx.js.map +1 -0
  11. package/build/client/assets/_layout-DHBLG7Ti.js +6 -0
  12. package/build/client/assets/_layout-DHBLG7Ti.js.map +1 -0
  13. package/build/client/assets/_layout-DaZNLfOL.js +2 -0
  14. package/build/client/assets/{_layout-BR-Qyofe.js.map → _layout-DaZNLfOL.js.map} +1 -1
  15. package/build/client/assets/{_layout-D0zbQZjf.js → _layout-rEQoj43V.js} +2 -2
  16. package/build/client/assets/{_layout-D0zbQZjf.js.map → _layout-rEQoj43V.js.map} +1 -1
  17. package/build/client/assets/{account-DesvwOeg.js → account-CnLkZd_O.js} +2 -2
  18. package/build/client/assets/{account-DesvwOeg.js.map → account-CnLkZd_O.js.map} +1 -1
  19. package/build/client/assets/{button-BfWwrI9B.js → button-CyZl24U2.js} +2 -2
  20. package/build/client/assets/{button-BfWwrI9B.js.map → button-CyZl24U2.js.map} +1 -1
  21. package/build/client/assets/{client-hints-BKxdo5Js.js → client-hints-BE5mB4r0.js} +2 -2
  22. package/build/client/assets/{client-hints-BKxdo5Js.js.map → client-hints-BE5mB4r0.js.map} +1 -1
  23. package/build/client/assets/components-BMzmvxYw.js +166 -0
  24. package/build/client/assets/components-BMzmvxYw.js.map +1 -0
  25. package/build/client/assets/diff-P5f7-8E4.js +2 -0
  26. package/build/client/assets/diff-P5f7-8E4.js.map +1 -0
  27. package/build/client/assets/diff-PfwTHr6-.js +2 -0
  28. package/build/client/assets/{diff-KDzcgGYL.js.map → diff-PfwTHr6-.js.map} +1 -1
  29. package/build/client/assets/{discord-0kv66Q6F.js → discord-COPE8EOZ.js} +2 -2
  30. package/build/client/assets/{discord-0kv66Q6F.js.map → discord-COPE8EOZ.js.map} +1 -1
  31. package/build/client/assets/discord-DIog7bBO.js +2 -0
  32. package/build/client/assets/discord-DIog7bBO.js.map +1 -0
  33. package/build/client/assets/entry.client-B0vV2fsa.js +43 -0
  34. package/build/client/assets/entry.client-B0vV2fsa.js.map +1 -0
  35. package/build/client/assets/{epic-video-BwtXsHGU.js → epic-video-CYnG2ziQ.js} +128 -128
  36. package/build/client/assets/epic-video-CYnG2ziQ.js.map +1 -0
  37. package/build/client/assets/{error-boundary-Bcric_4t.js → error-boundary-DxfVshQ5.js} +2 -2
  38. package/build/client/assets/{error-boundary-Bcric_4t.js.map → error-boundary-DxfVshQ5.js.map} +1 -1
  39. package/build/client/assets/finished-DP5ynR5u.js +2 -0
  40. package/build/client/assets/finished-DP5ynR5u.js.map +1 -0
  41. package/build/client/assets/index-4E9_Sx3m.js +42 -0
  42. package/build/client/assets/index-4E9_Sx3m.js.map +1 -0
  43. package/build/client/assets/{index-Bg9MMnnf.js → index-90bzTYUX.js} +2 -2
  44. package/build/client/assets/index-90bzTYUX.js.map +1 -0
  45. package/build/client/assets/{index-BQRtqn3g.js → index-BXefr1BB.js} +2 -2
  46. package/build/client/assets/{index-BQRtqn3g.js.map → index-BXefr1BB.js.map} +1 -1
  47. package/build/client/assets/index-Czg1ruVn.js +37 -0
  48. package/build/client/assets/index-Czg1ruVn.js.map +1 -0
  49. package/build/client/assets/{index-9nNr0Zqr.js → index-D6ukHE4T.js} +2 -2
  50. package/build/client/assets/{index-9nNr0Zqr.js.map → index-D6ukHE4T.js.map} +1 -1
  51. package/build/client/assets/index-Doi37489.js +3 -0
  52. package/build/client/assets/index-Doi37489.js.map +1 -0
  53. package/build/client/assets/{loading-C9f_vBoM.js → loading-CNWJVymJ.js} +2 -2
  54. package/build/client/assets/{loading-C9f_vBoM.js.map → loading-CNWJVymJ.js.map} +1 -1
  55. package/build/client/assets/{login-D8zyjBAb.js → login-DxG854vQ.js} +2 -2
  56. package/build/client/assets/{login-D8zyjBAb.js.map → login-DxG854vQ.js.map} +1 -1
  57. package/build/client/assets/manifest-a1fde59b.js +1 -0
  58. package/build/client/assets/mdx-CR7Me1v_.js +2 -0
  59. package/build/client/assets/{mdx-BYvGbvEr.js.map → mdx-CR7Me1v_.js.map} +1 -1
  60. package/build/client/assets/misc-CypjEQkt.js +2 -0
  61. package/build/client/assets/misc-CypjEQkt.js.map +1 -0
  62. package/build/client/assets/{nav-chevrons-DOYtx9XE.js → nav-chevrons-BYKwyIgG.js} +2 -2
  63. package/build/client/assets/{nav-chevrons-DOYtx9XE.js.map → nav-chevrons-BYKwyIgG.js.map} +1 -1
  64. package/build/client/assets/{onboarding-euWyXpCL.js → onboarding-b9lcdh4n.js} +2 -2
  65. package/build/client/assets/{onboarding-euWyXpCL.js.map → onboarding-b9lcdh4n.js.map} +1 -1
  66. package/build/client/assets/{presence-BJPzwbUy.js → presence-DXXVJbaH.js} +2 -2
  67. package/build/client/assets/{presence-BJPzwbUy.js.map → presence-DXXVJbaH.js.map} +1 -1
  68. package/build/client/assets/progress-B_mReZVE.js +2 -0
  69. package/build/client/assets/progress-B_mReZVE.js.map +1 -0
  70. package/build/client/assets/{progress-bar-7LK87ZMh.js → progress-bar-DCrt7X4t.js} +2 -2
  71. package/build/client/assets/{progress-bar-7LK87ZMh.js.map → progress-bar-DCrt7X4t.js.map} +1 -1
  72. package/build/client/assets/{request-info-Dyls4H67.js → request-info-CUT0ULYN.js} +2 -2
  73. package/build/client/assets/{request-info-Dyls4H67.js.map → request-info-CUT0ULYN.js.map} +1 -1
  74. package/build/client/assets/{root-BXq0yevS.js → root-bgHbi7rA.js} +4 -4
  75. package/build/client/assets/root-bgHbi7rA.js.map +1 -0
  76. package/build/client/assets/{seo-CHrqghsC.js → seo-Bu3_n5my.js} +2 -2
  77. package/build/client/assets/{seo-CHrqghsC.js.map → seo-Bu3_n5my.js.map} +1 -1
  78. package/build/client/assets/{support-DUAHYT3r.js → support-DrY-qRGh.js} +2 -2
  79. package/build/client/assets/{support-DUAHYT3r.js.map → support-DrY-qRGh.js.map} +1 -1
  80. package/build/client/assets/tailwind-D2vjZZFL.css +1 -0
  81. package/build/client/assets/tooltip-CfmIzAYi.js +2 -0
  82. package/build/client/assets/tooltip-CfmIzAYi.js.map +1 -0
  83. package/build/client/assets/{use-event-source-aW6X9lN1.js → use-event-source-ySol3hbz.js} +2 -2
  84. package/build/client/assets/{use-event-source-aW6X9lN1.js.map → use-event-source-ySol3hbz.js.map} +1 -1
  85. package/build/client/assets/{user-73ocDYRe.js → user-C4QTtQw5.js} +2 -2
  86. package/build/client/assets/{user-73ocDYRe.js.map → user-C4QTtQw5.js.map} +1 -1
  87. package/build/server/index.js +850 -616
  88. package/build/server/index.js.map +1 -1
  89. package/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +65 -3
  90. package/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +65 -3
  91. package/node_modules/@babel/runtime/package.json +1 -28
  92. package/node_modules/@conform-to/dom/dom.d.ts +17 -5
  93. package/node_modules/@conform-to/dom/form.d.ts +221 -122
  94. package/node_modules/@conform-to/dom/index.d.ts +24 -2
  95. package/node_modules/@conform-to/dom/intent.d.ts +92 -60
  96. package/node_modules/@conform-to/dom/package.json +1 -1
  97. package/node_modules/@conform-to/dom/parse.d.ts +47 -27
  98. package/node_modules/@conform-to/dom/types.d.ts +17 -14
  99. package/node_modules/@conform-to/dom/util.d.ts +4 -1
  100. package/node_modules/@conform-to/react/context.d.ts +187 -59
  101. package/node_modules/@conform-to/react/context.js +3 -5
  102. package/node_modules/@conform-to/react/context.mjs +4 -6
  103. package/node_modules/@conform-to/react/experimental.d.ts +0 -0
  104. package/node_modules/@conform-to/react/hooks.d.ts +53 -24
  105. package/node_modules/@conform-to/react/index.d.ts +28 -4
  106. package/node_modules/@conform-to/react/integrations.js +14 -1
  107. package/node_modules/@conform-to/react/integrations.mjs +14 -1
  108. package/node_modules/@conform-to/react/package.json +2 -2
  109. package/node_modules/@conform-to/zod/coercion.d.ts +14 -4
  110. package/node_modules/@conform-to/zod/constraint.d.ts +3 -1
  111. package/node_modules/@conform-to/zod/package.json +2 -2
  112. package/node_modules/@conform-to/zod/parse.d.ts +43 -25
  113. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -1
  114. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +14 -3
  115. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +51 -51
  116. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +51 -51
  117. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +14 -3
  118. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +14 -3
  119. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +14 -3
  120. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -1
  121. package/node_modules/@floating-ui/core/package.json +2 -2
  122. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -1
  123. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +12 -11
  124. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +11 -8
  125. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +11 -8
  126. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +1 -12
  127. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +1 -12
  128. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +12 -11
  129. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -1
  130. package/node_modules/@floating-ui/dom/package.json +2 -2
  131. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts +12 -4
  132. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.ts +12 -4
  133. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +1 -0
  134. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +1 -0
  135. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js +1 -0
  136. package/node_modules/@floating-ui/react-dom/package.json +1 -1
  137. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +11 -6
  138. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +11 -6
  139. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +2 -0
  140. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +2 -0
  141. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +13 -1
  142. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +13 -1
  143. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +13 -0
  144. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -1
  145. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +2 -0
  146. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +13 -1
  147. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +13 -0
  148. package/node_modules/@floating-ui/utils/package.json +1 -1
  149. package/node_modules/@radix-ui/number/dist/index.d.mts +2 -2
  150. package/node_modules/@radix-ui/number/dist/index.d.ts +2 -2
  151. package/node_modules/@radix-ui/number/dist/index.js +28 -10
  152. package/node_modules/@radix-ui/number/dist/index.js.map +7 -1
  153. package/node_modules/@radix-ui/number/dist/index.mjs +6 -7
  154. package/node_modules/@radix-ui/number/dist/index.mjs.map +7 -1
  155. package/node_modules/@radix-ui/number/package.json +1 -4
  156. package/node_modules/@radix-ui/primitive/dist/index.d.mts +2 -2
  157. package/node_modules/@radix-ui/primitive/dist/index.d.ts +2 -2
  158. package/node_modules/@radix-ui/primitive/dist/index.js +33 -13
  159. package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -1
  160. package/node_modules/@radix-ui/primitive/dist/index.mjs +11 -10
  161. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -1
  162. package/node_modules/@radix-ui/primitive/package.json +1 -4
  163. package/node_modules/@radix-ui/react-accordion/dist/index.d.mts +40 -28
  164. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts +40 -28
  165. package/node_modules/@radix-ui/react-accordion/dist/index.js +324 -316
  166. package/node_modules/@radix-ui/react-accordion/dist/index.js.map +7 -1
  167. package/node_modules/@radix-ui/react-accordion/dist/index.mjs +293 -300
  168. package/node_modules/@radix-ui/react-accordion/dist/index.mjs.map +7 -1
  169. package/node_modules/@radix-ui/react-accordion/package.json +12 -13
  170. package/node_modules/@radix-ui/react-arrow/dist/index.d.mts +8 -8
  171. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts +8 -8
  172. package/node_modules/@radix-ui/react-arrow/dist/index.js +57 -37
  173. package/node_modules/@radix-ui/react-arrow/dist/index.js.map +7 -1
  174. package/node_modules/@radix-ui/react-arrow/dist/index.mjs +25 -30
  175. package/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +7 -1
  176. package/node_modules/@radix-ui/react-arrow/package.json +4 -5
  177. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +27 -16
  178. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +27 -16
  179. package/node_modules/@radix-ui/react-collapsible/dist/index.js +176 -167
  180. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +7 -1
  181. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +143 -153
  182. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +7 -1
  183. package/node_modules/@radix-ui/react-collapsible/package.json +11 -12
  184. package/node_modules/@radix-ui/react-collection/dist/index.d.mts +27 -15
  185. package/node_modules/@radix-ui/react-collection/dist/index.d.ts +27 -15
  186. package/node_modules/@radix-ui/react-collection/dist/index.js +99 -112
  187. package/node_modules/@radix-ui/react-collection/dist/index.js.map +7 -1
  188. package/node_modules/@radix-ui/react-collection/dist/index.mjs +68 -106
  189. package/node_modules/@radix-ui/react-collection/dist/index.mjs.map +7 -1
  190. package/node_modules/@radix-ui/react-collection/package.json +7 -8
  191. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +5 -4
  192. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +5 -4
  193. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +47 -30
  194. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -1
  195. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +16 -27
  196. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -1
  197. package/node_modules/@radix-ui/react-compose-refs/package.json +2 -5
  198. package/node_modules/@radix-ui/react-context/dist/index.d.mts +10 -8
  199. package/node_modules/@radix-ui/react-context/dist/index.d.ts +10 -8
  200. package/node_modules/@radix-ui/react-context/dist/index.js +104 -123
  201. package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -1
  202. package/node_modules/@radix-ui/react-context/dist/index.mjs +73 -120
  203. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -1
  204. package/node_modules/@radix-ui/react-context/package.json +2 -5
  205. package/node_modules/@radix-ui/react-direction/dist/index.d.mts +6 -5
  206. package/node_modules/@radix-ui/react-direction/dist/index.d.ts +6 -5
  207. package/node_modules/@radix-ui/react-direction/dist/index.js +47 -24
  208. package/node_modules/@radix-ui/react-direction/dist/index.js.map +7 -1
  209. package/node_modules/@radix-ui/react-direction/dist/index.mjs +16 -20
  210. package/node_modules/@radix-ui/react-direction/dist/index.mjs.map +7 -1
  211. package/node_modules/@radix-ui/react-direction/package.json +2 -5
  212. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +10 -10
  213. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +10 -10
  214. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +230 -270
  215. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +7 -1
  216. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +199 -261
  217. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +7 -1
  218. package/node_modules/@radix-ui/react-dismissable-layer/package.json +9 -10
  219. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.mts +4 -4
  220. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts +4 -4
  221. package/node_modules/@radix-ui/react-focus-guards/dist/index.js +63 -39
  222. package/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +7 -1
  223. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +32 -34
  224. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.map +7 -1
  225. package/node_modules/@radix-ui/react-focus-guards/package.json +2 -5
  226. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts +8 -8
  227. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts +8 -8
  228. package/node_modules/@radix-ui/react-focus-scope/dist/index.js +228 -282
  229. package/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +7 -1
  230. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +197 -275
  231. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.map +7 -1
  232. package/node_modules/@radix-ui/react-focus-scope/package.json +6 -7
  233. package/node_modules/@radix-ui/react-id/dist/index.d.mts +2 -2
  234. package/node_modules/@radix-ui/react-id/dist/index.d.ts +2 -2
  235. package/node_modules/@radix-ui/react-id/dist/index.js +47 -26
  236. package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -1
  237. package/node_modules/@radix-ui/react-id/dist/index.mjs +14 -22
  238. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -1
  239. package/node_modules/@radix-ui/react-id/package.json +3 -4
  240. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +48 -37
  241. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +48 -37
  242. package/node_modules/@radix-ui/react-popover/dist/index.js +319 -311
  243. package/node_modules/@radix-ui/react-popover/dist/index.js.map +7 -1
  244. package/node_modules/@radix-ui/react-popover/dist/index.mjs +288 -291
  245. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +7 -1
  246. package/node_modules/@radix-ui/react-popover/package.json +17 -18
  247. package/node_modules/@radix-ui/react-popper/dist/index.d.mts +36 -25
  248. package/node_modules/@radix-ui/react-popper/dist/index.d.ts +36 -25
  249. package/node_modules/@radix-ui/react-popper/dist/index.js +305 -321
  250. package/node_modules/@radix-ui/react-popper/dist/index.js.map +7 -1
  251. package/node_modules/@radix-ui/react-popper/dist/index.mjs +284 -305
  252. package/node_modules/@radix-ui/react-popper/dist/index.mjs.map +7 -1
  253. package/node_modules/@radix-ui/react-popper/package.json +12 -13
  254. package/node_modules/@radix-ui/react-portal/dist/index.d.mts +9 -9
  255. package/node_modules/@radix-ui/react-portal/dist/index.d.ts +9 -9
  256. package/node_modules/@radix-ui/react-portal/dist/index.js +52 -34
  257. package/node_modules/@radix-ui/react-portal/dist/index.js.map +7 -1
  258. package/node_modules/@radix-ui/react-portal/dist/index.mjs +21 -27
  259. package/node_modules/@radix-ui/react-portal/dist/index.mjs.map +7 -1
  260. package/node_modules/@radix-ui/react-portal/package.json +5 -5
  261. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +5 -4
  262. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +5 -4
  263. package/node_modules/@radix-ui/react-presence/dist/index.js +147 -132
  264. package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -1
  265. package/node_modules/@radix-ui/react-presence/dist/index.mjs +116 -129
  266. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -1
  267. package/node_modules/@radix-ui/react-presence/package.json +5 -6
  268. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +8 -9
  269. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +8 -9
  270. package/node_modules/@radix-ui/react-primitive/dist/index.js +73 -100
  271. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -1
  272. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +42 -93
  273. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -1
  274. package/node_modules/@radix-ui/react-primitive/package.json +4 -5
  275. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts +25 -13
  276. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts +25 -13
  277. package/node_modules/@radix-ui/react-roving-focus/dist/index.js +239 -247
  278. package/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +7 -1
  279. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +209 -238
  280. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +7 -1
  281. package/node_modules/@radix-ui/react-roving-focus/package.json +12 -13
  282. package/node_modules/@radix-ui/react-select/dist/index.d.mts +77 -65
  283. package/node_modules/@radix-ui/react-select/dist/index.d.ts +77 -65
  284. package/node_modules/@radix-ui/react-select/dist/index.js +1107 -1235
  285. package/node_modules/@radix-ui/react-select/dist/index.js.map +7 -1
  286. package/node_modules/@radix-ui/react-select/dist/index.mjs +1076 -1197
  287. package/node_modules/@radix-ui/react-select/dist/index.mjs.map +7 -1
  288. package/node_modules/@radix-ui/react-select/package.json +23 -24
  289. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +9 -7
  290. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +9 -7
  291. package/node_modules/@radix-ui/react-slot/dist/index.js +107 -87
  292. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -1
  293. package/node_modules/@radix-ui/react-slot/dist/index.mjs +76 -80
  294. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -1
  295. package/node_modules/@radix-ui/react-slot/package.json +3 -4
  296. package/node_modules/@radix-ui/react-tabs/dist/index.d.mts +32 -21
  297. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts +32 -21
  298. package/node_modules/@radix-ui/react-tabs/dist/index.js +217 -184
  299. package/node_modules/@radix-ui/react-tabs/dist/index.js.map +7 -1
  300. package/node_modules/@radix-ui/react-tabs/dist/index.mjs +185 -169
  301. package/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +7 -1
  302. package/node_modules/@radix-ui/react-tabs/package.json +11 -12
  303. package/node_modules/@radix-ui/react-toast/dist/index.d.mts +43 -32
  304. package/node_modules/@radix-ui/react-toast/dist/index.d.ts +43 -32
  305. package/node_modules/@radix-ui/react-toast/dist/index.js +645 -715
  306. package/node_modules/@radix-ui/react-toast/dist/index.js.map +7 -1
  307. package/node_modules/@radix-ui/react-toast/dist/index.mjs +614 -695
  308. package/node_modules/@radix-ui/react-toast/dist/index.mjs.map +7 -1
  309. package/node_modules/@radix-ui/react-toast/package.json +15 -16
  310. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.mts +2 -2
  311. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts +2 -2
  312. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +42 -23
  313. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +7 -1
  314. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +11 -21
  315. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +7 -1
  316. package/node_modules/@radix-ui/react-use-callback-ref/package.json +2 -5
  317. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +4 -3
  318. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +4 -3
  319. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +75 -52
  320. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -1
  321. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +44 -50
  322. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -1
  323. package/node_modules/@radix-ui/react-use-controllable-state/package.json +3 -4
  324. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.mts +2 -2
  325. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts +2 -2
  326. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +50 -29
  327. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +7 -1
  328. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +17 -25
  329. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.map +7 -1
  330. package/node_modules/@radix-ui/react-use-escape-keydown/package.json +3 -4
  331. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +4 -3
  332. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +4 -3
  333. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +38 -17
  334. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -1
  335. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +7 -15
  336. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -1
  337. package/node_modules/@radix-ui/react-use-layout-effect/package.json +2 -5
  338. package/node_modules/@radix-ui/react-use-previous/dist/index.d.mts +2 -2
  339. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts +2 -2
  340. package/node_modules/@radix-ui/react-use-previous/dist/index.js +45 -26
  341. package/node_modules/@radix-ui/react-use-previous/dist/index.js.map +7 -1
  342. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs +14 -24
  343. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs.map +7 -1
  344. package/node_modules/@radix-ui/react-use-previous/package.json +2 -5
  345. package/node_modules/@radix-ui/react-use-rect/dist/index.d.mts +4 -3
  346. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts +4 -3
  347. package/node_modules/@radix-ui/react-use-rect/dist/index.js +52 -32
  348. package/node_modules/@radix-ui/react-use-rect/dist/index.js.map +7 -1
  349. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs +19 -28
  350. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs.map +7 -1
  351. package/node_modules/@radix-ui/react-use-rect/package.json +3 -4
  352. package/node_modules/@radix-ui/react-use-size/dist/index.d.mts +2 -2
  353. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts +2 -2
  354. package/node_modules/@radix-ui/react-use-size/dist/index.js +70 -57
  355. package/node_modules/@radix-ui/react-use-size/dist/index.js.map +7 -1
  356. package/node_modules/@radix-ui/react-use-size/dist/index.mjs +39 -55
  357. package/node_modules/@radix-ui/react-use-size/dist/index.mjs.map +7 -1
  358. package/node_modules/@radix-ui/react-use-size/package.json +3 -4
  359. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts +8 -8
  360. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts +8 -8
  361. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js +64 -41
  362. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +7 -1
  363. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +33 -35
  364. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.map +7 -1
  365. package/node_modules/@radix-ui/react-visually-hidden/package.json +4 -5
  366. package/node_modules/@radix-ui/rect/dist/index.d.mts +3 -3
  367. package/node_modules/@radix-ui/rect/dist/index.d.ts +3 -3
  368. package/node_modules/@radix-ui/rect/dist/index.js +69 -66
  369. package/node_modules/@radix-ui/rect/dist/index.js.map +7 -1
  370. package/node_modules/@radix-ui/rect/dist/index.mjs +47 -63
  371. package/node_modules/@radix-ui/rect/dist/index.mjs.map +7 -1
  372. package/node_modules/@radix-ui/rect/package.json +1 -4
  373. package/node_modules/@remix-run/react/CHANGELOG.md +18 -0
  374. package/node_modules/@remix-run/react/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
  375. package/node_modules/@remix-run/react/dist/browser.js +14 -3
  376. package/node_modules/@remix-run/react/dist/components.d.ts +9 -0
  377. package/node_modules/@remix-run/react/dist/components.js +23 -19
  378. package/node_modules/@remix-run/react/dist/data.js +1 -1
  379. package/node_modules/@remix-run/react/dist/entry.d.ts +1 -0
  380. package/node_modules/@remix-run/react/dist/errorBoundaries.d.ts +5 -2
  381. package/node_modules/@remix-run/react/dist/errorBoundaries.js +26 -5
  382. package/node_modules/@remix-run/react/dist/errors.js +1 -1
  383. package/node_modules/@remix-run/react/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -1
  384. package/node_modules/@remix-run/react/dist/esm/browser.js +14 -3
  385. package/node_modules/@remix-run/react/dist/esm/components.js +24 -20
  386. package/node_modules/@remix-run/react/dist/esm/data.js +1 -1
  387. package/node_modules/@remix-run/react/dist/esm/errorBoundaries.js +26 -5
  388. package/node_modules/@remix-run/react/dist/esm/errors.js +1 -1
  389. package/node_modules/@remix-run/react/dist/esm/fallback.js +1 -1
  390. package/node_modules/@remix-run/react/dist/esm/fog-of-war.js +226 -0
  391. package/node_modules/@remix-run/react/dist/esm/index.js +1 -1
  392. package/node_modules/@remix-run/react/dist/esm/invariant.js +1 -1
  393. package/node_modules/@remix-run/react/dist/esm/links.js +2 -2
  394. package/node_modules/@remix-run/react/dist/esm/markup.js +1 -1
  395. package/node_modules/@remix-run/react/dist/esm/routeModules.js +1 -1
  396. package/node_modules/@remix-run/react/dist/esm/routes.js +1 -1
  397. package/node_modules/@remix-run/react/dist/esm/scroll-restoration.js +1 -1
  398. package/node_modules/@remix-run/react/dist/esm/server.js +1 -1
  399. package/node_modules/@remix-run/react/dist/esm/single-fetch.js +1 -1
  400. package/node_modules/@remix-run/react/dist/fallback.js +1 -1
  401. package/node_modules/@remix-run/react/dist/fog-of-war.d.ts +37 -0
  402. package/node_modules/@remix-run/react/dist/fog-of-war.js +254 -0
  403. package/node_modules/@remix-run/react/dist/index.js +1 -1
  404. package/node_modules/@remix-run/react/dist/invariant.js +1 -1
  405. package/node_modules/@remix-run/react/dist/links.js +2 -2
  406. package/node_modules/@remix-run/react/dist/markup.js +1 -1
  407. package/node_modules/@remix-run/react/dist/routeModules.js +1 -1
  408. package/node_modules/@remix-run/react/dist/routes.d.ts +1 -1
  409. package/node_modules/@remix-run/react/dist/routes.js +1 -1
  410. package/node_modules/@remix-run/react/dist/scroll-restoration.js +1 -1
  411. package/node_modules/@remix-run/react/dist/server.js +1 -1
  412. package/node_modules/@remix-run/react/dist/single-fetch.js +1 -1
  413. package/node_modules/@remix-run/react/package.json +8 -8
  414. package/node_modules/@remix-run/router/CHANGELOG.md +9 -0
  415. package/node_modules/@remix-run/router/dist/index.d.ts +1 -1
  416. package/node_modules/@remix-run/router/dist/router.cjs.js +467 -80
  417. package/node_modules/@remix-run/router/dist/router.cjs.js.map +1 -1
  418. package/node_modules/@remix-run/router/dist/router.d.ts +11 -1
  419. package/node_modules/@remix-run/router/dist/router.js +457 -76
  420. package/node_modules/@remix-run/router/dist/router.js.map +1 -1
  421. package/node_modules/@remix-run/router/dist/router.umd.js +467 -80
  422. package/node_modules/@remix-run/router/dist/router.umd.js.map +1 -1
  423. package/node_modules/@remix-run/router/dist/router.umd.min.js +2 -2
  424. package/node_modules/@remix-run/router/dist/router.umd.min.js.map +1 -1
  425. package/node_modules/@remix-run/router/dist/utils.d.ts +9 -1
  426. package/node_modules/@remix-run/router/index.ts +1 -0
  427. package/node_modules/@remix-run/router/package.json +1 -1
  428. package/node_modules/@remix-run/router/router.ts +586 -73
  429. package/node_modules/@remix-run/router/utils.ts +51 -8
  430. package/node_modules/@remix-run/server-runtime/CHANGELOG.md +17 -0
  431. package/node_modules/@remix-run/server-runtime/dist/cookies.js +1 -1
  432. package/node_modules/@remix-run/server-runtime/dist/data.js +1 -1
  433. package/node_modules/@remix-run/server-runtime/dist/deprecations.js +1 -1
  434. package/node_modules/@remix-run/server-runtime/dist/dev.js +1 -1
  435. package/node_modules/@remix-run/server-runtime/dist/entry.d.ts +1 -0
  436. package/node_modules/@remix-run/server-runtime/dist/entry.js +1 -1
  437. package/node_modules/@remix-run/server-runtime/dist/errors.js +1 -1
  438. package/node_modules/@remix-run/server-runtime/dist/esm/cookies.js +1 -1
  439. package/node_modules/@remix-run/server-runtime/dist/esm/data.js +1 -1
  440. package/node_modules/@remix-run/server-runtime/dist/esm/deprecations.js +1 -1
  441. package/node_modules/@remix-run/server-runtime/dist/esm/dev.js +1 -1
  442. package/node_modules/@remix-run/server-runtime/dist/esm/entry.js +1 -1
  443. package/node_modules/@remix-run/server-runtime/dist/esm/errors.js +1 -1
  444. package/node_modules/@remix-run/server-runtime/dist/esm/formData.js +1 -1
  445. package/node_modules/@remix-run/server-runtime/dist/esm/headers.js +1 -1
  446. package/node_modules/@remix-run/server-runtime/dist/esm/index.js +1 -1
  447. package/node_modules/@remix-run/server-runtime/dist/esm/invariant.js +1 -1
  448. package/node_modules/@remix-run/server-runtime/dist/esm/markup.js +1 -1
  449. package/node_modules/@remix-run/server-runtime/dist/esm/mode.js +1 -1
  450. package/node_modules/@remix-run/server-runtime/dist/esm/responses.js +1 -1
  451. package/node_modules/@remix-run/server-runtime/dist/esm/routeMatching.js +1 -1
  452. package/node_modules/@remix-run/server-runtime/dist/esm/routes.js +1 -1
  453. package/node_modules/@remix-run/server-runtime/dist/esm/server.js +76 -11
  454. package/node_modules/@remix-run/server-runtime/dist/esm/serverHandoff.js +1 -1
  455. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/cookieStorage.js +1 -1
  456. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/memoryStorage.js +1 -1
  457. package/node_modules/@remix-run/server-runtime/dist/esm/sessions.js +1 -1
  458. package/node_modules/@remix-run/server-runtime/dist/esm/single-fetch.js +17 -8
  459. package/node_modules/@remix-run/server-runtime/dist/esm/upload/errors.js +1 -1
  460. package/node_modules/@remix-run/server-runtime/dist/esm/upload/memoryUploadHandler.js +1 -1
  461. package/node_modules/@remix-run/server-runtime/dist/esm/warnings.js +1 -1
  462. package/node_modules/@remix-run/server-runtime/dist/formData.js +1 -1
  463. package/node_modules/@remix-run/server-runtime/dist/headers.js +1 -1
  464. package/node_modules/@remix-run/server-runtime/dist/index.js +1 -1
  465. package/node_modules/@remix-run/server-runtime/dist/invariant.js +1 -1
  466. package/node_modules/@remix-run/server-runtime/dist/markup.js +1 -1
  467. package/node_modules/@remix-run/server-runtime/dist/mode.js +1 -1
  468. package/node_modules/@remix-run/server-runtime/dist/responses.js +1 -1
  469. package/node_modules/@remix-run/server-runtime/dist/routeMatching.js +1 -1
  470. package/node_modules/@remix-run/server-runtime/dist/routes.js +1 -1
  471. package/node_modules/@remix-run/server-runtime/dist/server.js +70 -5
  472. package/node_modules/@remix-run/server-runtime/dist/serverHandoff.js +1 -1
  473. package/node_modules/@remix-run/server-runtime/dist/sessions/cookieStorage.js +1 -1
  474. package/node_modules/@remix-run/server-runtime/dist/sessions/memoryStorage.js +1 -1
  475. package/node_modules/@remix-run/server-runtime/dist/sessions.js +1 -1
  476. package/node_modules/@remix-run/server-runtime/dist/single-fetch.d.ts +3 -0
  477. package/node_modules/@remix-run/server-runtime/dist/single-fetch.js +18 -7
  478. package/node_modules/@remix-run/server-runtime/dist/upload/errors.js +1 -1
  479. package/node_modules/@remix-run/server-runtime/dist/upload/memoryUploadHandler.js +1 -1
  480. package/node_modules/@remix-run/server-runtime/dist/warnings.js +1 -1
  481. package/node_modules/@remix-run/server-runtime/package.json +3 -3
  482. package/node_modules/deep-eql/index.js +10 -5
  483. package/node_modules/deep-eql/package.json +1 -1
  484. package/node_modules/framer-motion/dist/cjs/{dom-entry-DSxBucW4.js → dom-entry-GDJJhIpT.js} +59 -106
  485. package/node_modules/framer-motion/dist/cjs/dom-entry.js +1 -1
  486. package/node_modules/framer-motion/dist/cjs/index.js +123 -36
  487. package/node_modules/framer-motion/dist/dom.js +1 -1
  488. package/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs +3 -3
  489. package/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs +6 -3
  490. package/node_modules/framer-motion/dist/es/motion/index.mjs +33 -13
  491. package/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs +6 -3
  492. package/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs +54 -3
  493. package/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +5 -2
  494. package/node_modules/framer-motion/dist/es/projection-entry.mjs +11 -0
  495. package/node_modules/framer-motion/dist/es/render/VisualElement.mjs +30 -78
  496. package/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs +5 -1
  497. package/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +1 -1
  498. package/node_modules/framer-motion/dist/es/utils/mix/color.mjs +8 -2
  499. package/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +1 -3
  500. package/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +5 -0
  501. package/node_modules/framer-motion/dist/es/value/index.mjs +1 -1
  502. package/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +1 -1
  503. package/node_modules/framer-motion/dist/framer-motion.dev.js +175 -134
  504. package/node_modules/framer-motion/dist/framer-motion.js +1 -1
  505. package/node_modules/framer-motion/dist/index.d.ts +78 -78
  506. package/node_modules/framer-motion/dist/three-entry.d.ts +59 -72
  507. package/node_modules/framer-motion/package.json +14 -28
  508. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +15 -4
  509. package/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
  510. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +12 -4
  511. package/node_modules/react-remove-scroll/dist/es2015/types.d.ts +10 -2
  512. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.js +15 -4
  513. package/node_modules/react-remove-scroll/dist/es2019/UI.js +2 -2
  514. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.js +12 -4
  515. package/node_modules/react-remove-scroll/dist/es2019/types.d.ts +10 -2
  516. package/node_modules/react-remove-scroll/dist/es5/SideEffect.js +15 -4
  517. package/node_modules/react-remove-scroll/dist/es5/UI.js +2 -2
  518. package/node_modules/react-remove-scroll/dist/es5/handleScroll.js +12 -4
  519. package/node_modules/react-remove-scroll/dist/es5/types.d.ts +10 -2
  520. package/node_modules/react-remove-scroll/dist/index.js +93 -0
  521. package/node_modules/react-remove-scroll/package.json +4 -3
  522. package/node_modules/react-router/CHANGELOG.md +14 -0
  523. package/node_modules/react-router/dist/index.d.ts +4 -1
  524. package/node_modules/react-router/dist/index.js +3 -2
  525. package/node_modules/react-router/dist/index.js.map +1 -1
  526. package/node_modules/react-router/dist/main.js +1 -1
  527. package/node_modules/react-router/dist/react-router.development.js +3 -2
  528. package/node_modules/react-router/dist/react-router.development.js.map +1 -1
  529. package/node_modules/react-router/dist/react-router.production.min.js +2 -2
  530. package/node_modules/react-router/dist/react-router.production.min.js.map +1 -1
  531. package/node_modules/react-router/dist/umd/react-router.development.js +3 -2
  532. package/node_modules/react-router/dist/umd/react-router.development.js.map +1 -1
  533. package/node_modules/react-router/dist/umd/react-router.production.min.js +2 -2
  534. package/node_modules/react-router/dist/umd/react-router.production.min.js.map +1 -1
  535. package/node_modules/react-router/package.json +3 -3
  536. package/node_modules/react-router-dom/CHANGELOG.md +17 -0
  537. package/node_modules/react-router-dom/dist/dom.d.ts +29 -16
  538. package/node_modules/react-router-dom/dist/index.d.ts +18 -6
  539. package/node_modules/react-router-dom/dist/index.js +3 -1
  540. package/node_modules/react-router-dom/dist/index.js.map +1 -1
  541. package/node_modules/react-router-dom/dist/main.js +1 -1
  542. package/node_modules/react-router-dom/dist/react-router-dom.development.js +29 -1
  543. package/node_modules/react-router-dom/dist/react-router-dom.development.js.map +1 -1
  544. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js +2 -2
  545. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js.map +1 -1
  546. package/node_modules/react-router-dom/dist/server.js +4 -1
  547. package/node_modules/react-router-dom/dist/server.mjs +4 -1
  548. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js +29 -1
  549. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js.map +1 -1
  550. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js +2 -2
  551. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js.map +1 -1
  552. package/node_modules/react-router-dom/package.json +3 -3
  553. package/node_modules/react-router-dom/server.js +4 -1
  554. package/node_modules/react-router-dom/server.mjs +4 -1
  555. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/README.md +32 -112
  556. package/node_modules/source-map/dist/source-map.debug.js +3234 -0
  557. package/node_modules/source-map/dist/source-map.js +3233 -0
  558. package/node_modules/source-map/dist/source-map.min.js +2 -0
  559. package/node_modules/source-map/dist/source-map.min.js.map +1 -0
  560. package/node_modules/source-map/lib/array-set.js +121 -0
  561. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/base64-vlq.js +40 -11
  562. package/node_modules/source-map/lib/base64.js +67 -0
  563. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/binary-search.js +19 -15
  564. package/node_modules/source-map/lib/mapping-list.js +79 -0
  565. package/node_modules/source-map/lib/quick-sort.js +114 -0
  566. package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  567. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/source-map-generator.js +169 -157
  568. package/node_modules/source-map/lib/source-node.js +413 -0
  569. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/util.js +51 -109
  570. package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/package.json +9 -27
  571. package/node_modules/source-map/source-map.d.ts +98 -0
  572. package/node_modules/source-map/source-map.js +8 -0
  573. package/node_modules/turbo-stream/dist/flatten.d.ts +1 -1
  574. package/node_modules/turbo-stream/dist/flatten.js +44 -9
  575. package/node_modules/turbo-stream/dist/turbo-stream.js +11 -2
  576. package/node_modules/turbo-stream/dist/turbo-stream.mjs +58 -7
  577. package/node_modules/turbo-stream/dist/unflatten.js +2 -0
  578. package/node_modules/turbo-stream/dist/utils.d.ts +1 -0
  579. package/node_modules/turbo-stream/dist/utils.js +2 -1
  580. package/node_modules/turbo-stream/package.json +1 -1
  581. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/index.d.ts +1 -0
  582. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/package.json +2 -1
  583. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/readme.md +1 -0
  584. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-literal.d.ts +6 -4
  585. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge-deep.d.ts +8 -9
  586. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/omit-deep.d.ts +3 -3
  587. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/paths.d.ts +14 -8
  588. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/schema.d.ts +12 -12
  589. package/node_modules/type-fest/source/simplify-deep.d.ts +115 -0
  590. package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/simplify.d.ts +1 -1
  591. package/package.json +4 -4
  592. package/build/client/assets/_exerciseNumber_.finished-B7SgnqdS.js +0 -2
  593. package/build/client/assets/_exerciseNumber_.finished-B7SgnqdS.js.map +0 -1
  594. package/build/client/assets/_layout-BG1Jwh7V.js +0 -2
  595. package/build/client/assets/_layout-BG1Jwh7V.js.map +0 -1
  596. package/build/client/assets/_layout-BR-Qyofe.js +0 -2
  597. package/build/client/assets/_layout-CNgYirUN.js +0 -2
  598. package/build/client/assets/_layout-CNgYirUN.js.map +0 -1
  599. package/build/client/assets/components-C5xBZAiL.js +0 -119
  600. package/build/client/assets/components-C5xBZAiL.js.map +0 -1
  601. package/build/client/assets/diff-BKsbFB6w.js +0 -42
  602. package/build/client/assets/diff-BKsbFB6w.js.map +0 -1
  603. package/build/client/assets/diff-KDzcgGYL.js +0 -2
  604. package/build/client/assets/discord-Xp0X4-Fl.js +0 -2
  605. package/build/client/assets/discord-Xp0X4-Fl.js.map +0 -1
  606. package/build/client/assets/entry.client-0j1eoieD.js +0 -80
  607. package/build/client/assets/entry.client-0j1eoieD.js.map +0 -1
  608. package/build/client/assets/epic-video-BwtXsHGU.js.map +0 -1
  609. package/build/client/assets/finished-BI2-0Ykt.js +0 -2
  610. package/build/client/assets/finished-BI2-0Ykt.js.map +0 -1
  611. package/build/client/assets/index-Bg9MMnnf.js.map +0 -1
  612. package/build/client/assets/index-D6ygCrVn.js +0 -37
  613. package/build/client/assets/index-D6ygCrVn.js.map +0 -1
  614. package/build/client/assets/index-r90CY6Wk.js +0 -8
  615. package/build/client/assets/index-r90CY6Wk.js.map +0 -1
  616. package/build/client/assets/manifest-f472ec85.js +0 -1
  617. package/build/client/assets/mdx-BYvGbvEr.js +0 -2
  618. package/build/client/assets/misc-DNgC2Frq.js +0 -2
  619. package/build/client/assets/misc-DNgC2Frq.js.map +0 -1
  620. package/build/client/assets/progress-CF9Xwfxf.js +0 -2
  621. package/build/client/assets/progress-CF9Xwfxf.js.map +0 -1
  622. package/build/client/assets/root-BXq0yevS.js.map +0 -1
  623. package/build/client/assets/tailwind-Ck4g-nq0.css +0 -1
  624. package/build/client/assets/tooltip-Kw0lYWBI.js +0 -2
  625. package/build/client/assets/tooltip-Kw0lYWBI.js.map +0 -1
  626. package/node_modules/@babel/runtime/helpers/AsyncGenerator.js +0 -64
  627. package/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js +0 -64
  628. package/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +0 -10
  629. package/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js +0 -8
  630. package/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +0 -10
  631. package/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js +0 -8
  632. package/node_modules/@conform-to/dom/rollup.config.js +0 -100
  633. package/node_modules/@conform-to/react/rollup.config.js +0 -102
  634. package/node_modules/@conform-to/zod/rollup.config.js +0 -100
  635. package/node_modules/@radix-ui/number/dist/index.d.ts.map +0 -1
  636. package/node_modules/@radix-ui/primitive/dist/index.d.ts.map +0 -1
  637. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts.map +0 -1
  638. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts.map +0 -1
  639. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts.map +0 -1
  640. package/node_modules/@radix-ui/react-collection/dist/index.d.ts.map +0 -1
  641. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts.map +0 -1
  642. package/node_modules/@radix-ui/react-context/dist/index.d.ts.map +0 -1
  643. package/node_modules/@radix-ui/react-direction/dist/index.d.ts.map +0 -1
  644. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts.map +0 -1
  645. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts.map +0 -1
  646. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts.map +0 -1
  647. package/node_modules/@radix-ui/react-id/dist/index.d.ts.map +0 -1
  648. package/node_modules/@radix-ui/react-popover/dist/index.d.ts.map +0 -1
  649. package/node_modules/@radix-ui/react-popper/dist/index.d.ts.map +0 -1
  650. package/node_modules/@radix-ui/react-portal/dist/index.d.ts.map +0 -1
  651. package/node_modules/@radix-ui/react-presence/dist/index.d.ts.map +0 -1
  652. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts.map +0 -1
  653. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts.map +0 -1
  654. package/node_modules/@radix-ui/react-select/dist/index.d.ts.map +0 -1
  655. package/node_modules/@radix-ui/react-slot/dist/index.d.ts.map +0 -1
  656. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts.map +0 -1
  657. package/node_modules/@radix-ui/react-toast/dist/index.d.ts.map +0 -1
  658. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts.map +0 -1
  659. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts.map +0 -1
  660. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts.map +0 -1
  661. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts.map +0 -1
  662. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts.map +0 -1
  663. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts.map +0 -1
  664. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts.map +0 -1
  665. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts.map +0 -1
  666. package/node_modules/@radix-ui/rect/dist/index.d.ts.map +0 -1
  667. package/node_modules/@remix-run/server-runtime/node_modules/source-map/dist/source-map.js +0 -1
  668. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/array-set.js +0 -100
  669. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/base64.js +0 -18
  670. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/mapping-list.js +0 -80
  671. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/source-map-consumer.js +0 -1237
  672. package/node_modules/@remix-run/server-runtime/node_modules/source-map/lib/source-node.js +0 -404
  673. package/node_modules/@remix-run/server-runtime/node_modules/source-map/source-map.d.ts +0 -369
  674. package/node_modules/@remix-run/server-runtime/node_modules/source-map/source-map.js +0 -8
  675. package/node_modules/framer-motion/dist/projection.dev.js +0 -6659
  676. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/LICENSE +0 -0
  677. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/mappings.wasm +0 -0
  678. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/read-wasm.js +0 -0
  679. /package/node_modules/{@remix-run/server-runtime/node_modules/source-map → source-map}/lib/wasm.js +0 -0
  680. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/and.d.ts +0 -0
  681. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-indices.d.ts +0 -0
  682. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-slice.d.ts +0 -0
  683. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-splice.d.ts +0 -0
  684. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/array-values.d.ts +0 -0
  685. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/async-return-type.d.ts +0 -0
  686. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/asyncify.d.ts +0 -0
  687. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/basic.d.ts +0 -0
  688. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-case.d.ts +0 -0
  689. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-cased-properties-deep.d.ts +0 -0
  690. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/camel-cased-properties.d.ts +0 -0
  691. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-except.d.ts +0 -0
  692. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-keys.d.ts +0 -0
  693. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-pick-deep.d.ts +0 -0
  694. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-pick.d.ts +0 -0
  695. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/conditional-simplify.d.ts +0 -0
  696. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-case.d.ts +0 -0
  697. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-cased-properties-deep.d.ts +0 -0
  698. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/delimiter-cased-properties.d.ts +0 -0
  699. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/distributed-omit.d.ts +0 -0
  700. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/distributed-pick.d.ts +0 -0
  701. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/empty-object.d.ts +0 -0
  702. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/enforce-optional.d.ts +0 -0
  703. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/entries.d.ts +0 -0
  704. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/entry.d.ts +0 -0
  705. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/exact.d.ts +0 -0
  706. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/except.d.ts +0 -0
  707. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/fixed-length-array.d.ts +0 -0
  708. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/get.d.ts +0 -0
  709. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/global-this.d.ts +0 -0
  710. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/greater-than-or-equal.d.ts +0 -0
  711. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/greater-than.d.ts +0 -0
  712. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-optional-keys.d.ts +0 -0
  713. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-readonly-keys.d.ts +0 -0
  714. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-required-keys.d.ts +0 -0
  715. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/has-writable-keys.d.ts +0 -0
  716. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-any.d.ts +0 -0
  717. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-empty-object.d.ts +0 -0
  718. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-never.d.ts +0 -0
  719. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-null.d.ts +0 -0
  720. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/if-unknown.d.ts +0 -0
  721. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/includes.d.ts +0 -0
  722. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/int-range.d.ts +0 -0
  723. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/internal.d.ts +0 -0
  724. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/invariant-of.d.ts +0 -0
  725. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-any.d.ts +0 -0
  726. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-equal.d.ts +0 -0
  727. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-float.d.ts +0 -0
  728. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-integer.d.ts +0 -0
  729. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-never.d.ts +0 -0
  730. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-null.d.ts +0 -0
  731. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/is-unknown.d.ts +0 -0
  732. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/iterable-element.d.ts +0 -0
  733. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/join.d.ts +0 -0
  734. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/jsonifiable.d.ts +0 -0
  735. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/jsonify.d.ts +0 -0
  736. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-case.d.ts +0 -0
  737. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-cased-properties-deep.d.ts +0 -0
  738. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/kebab-cased-properties.d.ts +0 -0
  739. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/keys-of-union.d.ts +0 -0
  740. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/last-array-element.d.ts +0 -0
  741. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/less-than-or-equal.d.ts +0 -0
  742. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/less-than.d.ts +0 -0
  743. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-to-primitive-deep.d.ts +0 -0
  744. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-to-primitive.d.ts +0 -0
  745. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/literal-union.d.ts +0 -0
  746. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge-exclusive.d.ts +0 -0
  747. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/merge.d.ts +0 -0
  748. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/multidimensional-array.d.ts +0 -0
  749. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/multidimensional-readonly-array.d.ts +0 -0
  750. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/non-empty-object.d.ts +0 -0
  751. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/numeric.d.ts +0 -0
  752. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/observable-like.d.ts +0 -0
  753. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/omit-index-signature.d.ts +0 -0
  754. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/opaque.d.ts +0 -0
  755. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/optional-keys-of.d.ts +0 -0
  756. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/or.d.ts +0 -0
  757. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/override-properties.d.ts +0 -0
  758. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/package-json.d.ts +0 -0
  759. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/partial-deep.d.ts +0 -0
  760. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/partial-on-undefined-deep.d.ts +0 -0
  761. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-case.d.ts +0 -0
  762. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-cased-properties-deep.d.ts +0 -0
  763. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pascal-cased-properties.d.ts +0 -0
  764. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pick-deep.d.ts +0 -0
  765. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/pick-index-signature.d.ts +0 -0
  766. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/primitive.d.ts +0 -0
  767. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/promisable.d.ts +0 -0
  768. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-deep.d.ts +0 -0
  769. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-keys-of.d.ts +0 -0
  770. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/readonly-tuple.d.ts +0 -0
  771. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/replace.d.ts +0 -0
  772. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-all-or-none.d.ts +0 -0
  773. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-at-least-one.d.ts +0 -0
  774. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-exactly-one.d.ts +0 -0
  775. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/require-one-or-none.d.ts +0 -0
  776. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/required-deep.d.ts +0 -0
  777. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/required-keys-of.d.ts +0 -0
  778. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/screaming-snake-case.d.ts +0 -0
  779. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-field-type.d.ts +0 -0
  780. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-non-nullable.d.ts +0 -0
  781. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-optional.d.ts +0 -0
  782. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-parameter-type.d.ts +0 -0
  783. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-readonly.d.ts +0 -0
  784. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-required.d.ts +0 -0
  785. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/set-return-type.d.ts +0 -0
  786. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/shared-union-fields-deep.d.ts +0 -0
  787. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/single-key-object.d.ts +0 -0
  788. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-case.d.ts +0 -0
  789. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-cased-properties-deep.d.ts +0 -0
  790. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/snake-cased-properties.d.ts +0 -0
  791. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/split-words.d.ts +0 -0
  792. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/split.d.ts +0 -0
  793. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/spread.d.ts +0 -0
  794. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/string-key-of.d.ts +0 -0
  795. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/string-slice.d.ts +0 -0
  796. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/stringified.d.ts +0 -0
  797. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/subtract.d.ts +0 -0
  798. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/sum.d.ts +0 -0
  799. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tagged-union.d.ts +0 -0
  800. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/trim.d.ts +0 -0
  801. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tsconfig-json.d.ts +0 -0
  802. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/tuple-to-union.d.ts +0 -0
  803. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/typed-array.d.ts +0 -0
  804. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/undefined-on-partial-deep.d.ts +0 -0
  805. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/union-to-intersection.d.ts +0 -0
  806. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/unknown-array.d.ts +0 -0
  807. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/unknown-record.d.ts +0 -0
  808. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/value-of.d.ts +0 -0
  809. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable-deep.d.ts +0 -0
  810. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable-keys-of.d.ts +0 -0
  811. /package/node_modules/{remix-utils/node_modules/type-fest → type-fest}/source/writable.d.ts +0 -0
@@ -16,6 +16,7 @@ var TYPE_REGEXP = "R";
16
16
  var TYPE_SET = "S";
17
17
  var TYPE_SYMBOL = "Y";
18
18
  var TYPE_URL = "U";
19
+ var TYPE_PREVIOUS_RESOLVED = "Z";
19
20
  var Deferred = class {
20
21
  promise;
21
22
  resolve;
@@ -52,7 +53,7 @@ function flatten(input) {
52
53
  const { indices } = this;
53
54
  const existing = indices.get(input);
54
55
  if (existing)
55
- return existing;
56
+ return [existing];
56
57
  if (input === void 0)
57
58
  return UNDEFINED;
58
59
  if (input === null)
@@ -129,9 +130,20 @@ function stringify(input, index) {
129
130
  input.source
130
131
  )},${JSON.stringify(input.flags)}]`;
131
132
  } else if (input instanceof Set) {
132
- str[index] = `["${TYPE_SET}",${[...input].map((val) => flatten.call(this, val)).join(",")}]`;
133
+ if (input.size > 0) {
134
+ str[index] = `["${TYPE_SET}",${[...input].map((val) => flatten.call(this, val)).join(",")}]`;
135
+ } else {
136
+ str[index] = `["${TYPE_SET}"]`;
137
+ }
133
138
  } else if (input instanceof Map) {
134
- str[index] = `["${TYPE_MAP}",${[...input].flatMap(([k, v]) => [flatten.call(this, k), flatten.call(this, v)]).join(",")}]`;
139
+ if (input.size > 0) {
140
+ str[index] = `["${TYPE_MAP}",${[...input].flatMap(([k, v]) => [
141
+ flatten.call(this, k),
142
+ flatten.call(this, v)
143
+ ]).join(",")}]`;
144
+ } else {
145
+ str[index] = `["${TYPE_MAP}"]`;
146
+ }
135
147
  } else if (input instanceof Promise) {
136
148
  str[index] = `["${TYPE_PROMISE}",${index}]`;
137
149
  deferred[index] = input;
@@ -151,8 +163,28 @@ function stringify(input, index) {
151
163
  }
152
164
  break;
153
165
  }
154
- default:
155
- throw new Error("Cannot encode function or unexpected type");
166
+ default: {
167
+ const isArray = Array.isArray(input);
168
+ let pluginHandled = false;
169
+ if (!isArray && plugins) {
170
+ for (const plugin of plugins) {
171
+ const pluginResult = plugin(input);
172
+ if (Array.isArray(pluginResult)) {
173
+ pluginHandled = true;
174
+ const [pluginIdentifier, ...rest] = pluginResult;
175
+ str[index] = `[${JSON.stringify(pluginIdentifier)}`;
176
+ if (rest.length > 0) {
177
+ str[index] += `,${rest.map((v) => flatten.call(this, v)).join(",")}`;
178
+ }
179
+ str[index] += "]";
180
+ break;
181
+ }
182
+ }
183
+ }
184
+ if (!pluginHandled) {
185
+ throw new Error("Cannot encode function or unexpected type");
186
+ }
187
+ }
156
188
  }
157
189
  }
158
190
  var objectProtoNames = Object.getOwnPropertyNames(Object.prototype).sort().join("\0");
@@ -244,6 +276,8 @@ function hydrate(index) {
244
276
  let error = errorType && globalObj && globalObj[errorType] ? new globalObj[errorType](message) : new Error(message);
245
277
  hydrated[index] = error;
246
278
  return error;
279
+ case TYPE_PREVIOUS_RESOLVED:
280
+ return hydrate.call(this, b);
247
281
  default:
248
282
  if (Array.isArray(plugins)) {
249
283
  const args = value.slice(1).map((i) => hydrate.call(this, i));
@@ -386,6 +420,9 @@ function encode(input, options) {
386
420
  const readable = new ReadableStream({
387
421
  async start(controller) {
388
422
  const id = flatten.call(encoder, input);
423
+ if (Array.isArray(id)) {
424
+ throw new Error("This should never happen");
425
+ }
389
426
  if (id < 0) {
390
427
  controller.enqueue(textEncoder.encode(`${id}
391
428
  `));
@@ -408,7 +445,14 @@ function encode(input, options) {
408
445
  ).then(
409
446
  (resolved) => {
410
447
  const id2 = flatten.call(encoder, resolved);
411
- if (id2 < 0) {
448
+ if (Array.isArray(id2)) {
449
+ controller.enqueue(
450
+ textEncoder.encode(
451
+ `${TYPE_PROMISE}${deferredId}:[["${TYPE_PREVIOUS_RESOLVED}",${id2[0]}]]
452
+ `
453
+ )
454
+ );
455
+ } else if (id2 < 0) {
412
456
  controller.enqueue(
413
457
  textEncoder.encode(`${TYPE_PROMISE}${deferredId}:${id2}
414
458
  `)
@@ -429,7 +473,14 @@ function encode(input, options) {
429
473
  reason = new Error("An unknown error occurred");
430
474
  }
431
475
  const id2 = flatten.call(encoder, reason);
432
- if (id2 < 0) {
476
+ if (Array.isArray(id2)) {
477
+ controller.enqueue(
478
+ textEncoder.encode(
479
+ `${TYPE_ERROR}${deferredId}:[["${TYPE_PREVIOUS_RESOLVED}",${id2[0]}]]
480
+ `
481
+ )
482
+ );
483
+ } else if (id2 < 0) {
433
484
  controller.enqueue(
434
485
  textEncoder.encode(`${TYPE_ERROR}${deferredId}:${id2}
435
486
  `)
@@ -89,6 +89,8 @@ function hydrate(index) {
89
89
  : new Error(message);
90
90
  hydrated[index] = error;
91
91
  return error;
92
+ case utils_js_1.TYPE_PREVIOUS_RESOLVED:
93
+ return hydrate.call(this, b);
92
94
  default:
93
95
  // Run plugins at the end so we have a chance to resolve primitives
94
96
  // without running into a loop
@@ -15,6 +15,7 @@ export declare const TYPE_REGEXP = "R";
15
15
  export declare const TYPE_SET = "S";
16
16
  export declare const TYPE_SYMBOL = "Y";
17
17
  export declare const TYPE_URL = "U";
18
+ export declare const TYPE_PREVIOUS_RESOLVED = "Z";
18
19
  export type DecodePlugin = (type: string, ...data: unknown[]) => {
19
20
  value: unknown;
20
21
  } | false | null | undefined;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createLineSplittingTransform = exports.Deferred = exports.TYPE_URL = exports.TYPE_SYMBOL = exports.TYPE_SET = exports.TYPE_REGEXP = exports.TYPE_PROMISE = exports.TYPE_NULL_OBJECT = exports.TYPE_MAP = exports.TYPE_ERROR = exports.TYPE_DATE = exports.TYPE_BIGINT = exports.UNDEFINED = exports.POSITIVE_INFINITY = exports.NULL = exports.NEGATIVE_ZERO = exports.NEGATIVE_INFINITY = exports.NAN = exports.HOLE = void 0;
3
+ exports.createLineSplittingTransform = exports.Deferred = exports.TYPE_PREVIOUS_RESOLVED = exports.TYPE_URL = exports.TYPE_SYMBOL = exports.TYPE_SET = exports.TYPE_REGEXP = exports.TYPE_PROMISE = exports.TYPE_NULL_OBJECT = exports.TYPE_MAP = exports.TYPE_ERROR = exports.TYPE_DATE = exports.TYPE_BIGINT = exports.UNDEFINED = exports.POSITIVE_INFINITY = exports.NULL = exports.NEGATIVE_ZERO = exports.NEGATIVE_INFINITY = exports.NAN = exports.HOLE = void 0;
4
4
  exports.HOLE = -1;
5
5
  exports.NAN = -2;
6
6
  exports.NEGATIVE_INFINITY = -3;
@@ -18,6 +18,7 @@ exports.TYPE_REGEXP = "R";
18
18
  exports.TYPE_SET = "S";
19
19
  exports.TYPE_SYMBOL = "Y";
20
20
  exports.TYPE_URL = "U";
21
+ exports.TYPE_PREVIOUS_RESOLVED = "Z";
21
22
  class Deferred {
22
23
  promise;
23
24
  resolve;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "turbo-stream",
3
- "version": "2.0.1",
3
+ "version": "2.2.0",
4
4
  "description": "A streaming data transport format that aims to support built-in features such as Promises, Dates, RegExps, Maps, Sets and more.",
5
5
  "files": [
6
6
  "dist",
@@ -61,6 +61,7 @@ export type {SetReturnType} from './source/set-return-type';
61
61
  export type {SetParameterType} from './source/set-parameter-type';
62
62
  export type {Asyncify} from './source/asyncify';
63
63
  export type {Simplify} from './source/simplify';
64
+ export type {SimplifyDeep} from './source/simplify-deep';
64
65
  export type {Jsonify} from './source/jsonify';
65
66
  export type {Jsonifiable} from './source/jsonifiable';
66
67
  export type {Schema} from './source/schema';
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "type-fest",
3
- "version": "4.18.3",
3
+ "version": "4.20.1",
4
4
  "description": "A collection of essential TypeScript types",
5
5
  "license": "(MIT OR CC0-1.0)",
6
6
  "repository": "sindresorhus/type-fest",
@@ -47,6 +47,7 @@
47
47
  },
48
48
  "xo": {
49
49
  "rules": {
50
+ "@typescript-eslint/no-extraneous-class": "off",
50
51
  "@typescript-eslint/ban-ts-comment": "off",
51
52
  "@typescript-eslint/ban-types": "off",
52
53
  "@typescript-eslint/naming-convention": "off",
@@ -173,6 +173,7 @@ Click the type names for complete docs.
173
173
  - [`SetReturnType`](source/set-return-type.d.ts) - Create a function type with a return type of your choice and the same parameters as the given function type.
174
174
  - [`SetParameterType`](source/set-parameter-type.d.ts) - Create a function that replaces some parameters with the given parameters.
175
175
  - [`Simplify`](source/simplify.d.ts) - Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
176
+ - [`SimplifyDeep`](source/simplify-deep.d.ts) - Deeply simplifies an object type.
176
177
  - [`Get`](source/get.d.ts) - Get a deeply-nested property from an object using a key path, like [Lodash's `.get()`](https://lodash.com/docs/latest#get) function.
177
178
  - [`StringKeyOf`](source/string-key-of.d.ts) - Get keys of the given type as strings.
178
179
  - [`Schema`](source/schema.d.ts) - Create a deep version of another object type where property values are recursively replaced into a given value type.
@@ -22,10 +22,12 @@ LiteralCheck<1, string>
22
22
  */
23
23
  type LiteralCheck<T, LiteralType extends Primitive> = (
24
24
  IsNever<T> extends false // Must be wider than `never`
25
- ? [T] extends [LiteralType] // Must be narrower than `LiteralType`
26
- ? [LiteralType] extends [T] // Cannot be wider than `LiteralType`
27
- ? false
28
- : true
25
+ ? [T] extends [LiteralType & infer U] // Remove any branding
26
+ ? [U] extends [LiteralType] // Must be narrower than `LiteralType`
27
+ ? [LiteralType] extends [U] // Cannot be wider than `LiteralType`
28
+ ? false
29
+ : true
30
+ : false
29
31
  : false
30
32
  : false
31
33
  );
@@ -11,11 +11,10 @@ import type {
11
11
  } from './internal';
12
12
  import type {UnknownRecord} from './unknown-record';
13
13
  import type {EnforceOptional} from './enforce-optional';
14
+ import type {SimplifyDeep} from './simplify-deep';
15
+ import type {UnknownArray} from './unknown-array';
14
16
 
15
- /**
16
- Deeply simplifies an object excluding iterables and functions. Used internally to improve the UX and accept both interfaces and type aliases as inputs.
17
- */
18
- export type SimplifyDeep<Type> = ConditionalSimplifyDeep<Type, Function | Iterable<unknown>, object>;
17
+ type SimplifyDeepExcludeArray<T> = SimplifyDeep<T, UnknownArray>;
19
18
 
20
19
  /**
21
20
  Try to merge two record properties or return the source property value, preserving `undefined` properties values in both cases.
@@ -251,7 +250,7 @@ type MergeDeepArrayRecursive<
251
250
  : DoMergeArrayOrTuple<Destination, Source, Options>
252
251
  : Destination[number] extends UnknownRecord
253
252
  ? Source[number] extends UnknownRecord
254
- ? Array<SimplifyDeep<MergeDeepRecord<Destination[number], Source[number], Options>>>
253
+ ? Array<SimplifyDeepExcludeArray<MergeDeepRecord<Destination[number], Source[number], Options>>>
255
254
  : DoMergeArrayOrTuple<Destination, Source, Options>
256
255
  : DoMergeArrayOrTuple<Destination, Source, Options>;
257
256
 
@@ -294,7 +293,7 @@ type MergeDeepOrReturn<
294
293
  Destination,
295
294
  Source,
296
295
  Options extends MergeDeepInternalOptions,
297
- > = SimplifyDeep<[undefined] extends [Destination | Source]
296
+ > = SimplifyDeepExcludeArray<[undefined] extends [Destination | Source]
298
297
  ? DefaultType
299
298
  : Destination extends UnknownRecord
300
299
  ? Source extends UnknownRecord
@@ -357,7 +356,7 @@ type DefaultMergeDeepOptions<Options extends MergeDeepOptions> = Merge<{
357
356
  /**
358
357
  This utility selects the correct entry point with the corresponding default options. This avoids re-merging the options at each iteration.
359
358
  */
360
- type MergeDeepWithDefaultOptions<Destination, Source, Options extends MergeDeepOptions> = SimplifyDeep<
359
+ type MergeDeepWithDefaultOptions<Destination, Source, Options extends MergeDeepOptions> = SimplifyDeepExcludeArray<
361
360
  [undefined] extends [Destination | Source]
362
361
  ? never
363
362
  : Destination extends UnknownRecord
@@ -481,7 +480,7 @@ function mergeDeep<Destination, Source, Options extends MergeDeepOptions = {}>(
481
480
  @category Utilities
482
481
  */
483
482
  export type MergeDeep<Destination, Source, Options extends MergeDeepOptions = {}> = MergeDeepWithDefaultOptions<
484
- SimplifyDeep<Destination>,
485
- SimplifyDeep<Source>,
483
+ SimplifyDeepExcludeArray<Destination>,
484
+ SimplifyDeepExcludeArray<Source>,
486
485
  Options
487
486
  >;
@@ -3,9 +3,9 @@ import type {ExactKey, IsArrayReadonly, NonRecursiveType, SetArrayAccess, ToStri
3
3
  import type {IsEqual} from './is-equal';
4
4
  import type {IsNever} from './is-never';
5
5
  import type {LiteralUnion} from './literal-union';
6
- import type {SimplifyDeep} from './merge-deep';
7
6
  import type {Paths} from './paths';
8
7
  import type {SharedUnionFieldsDeep} from './shared-union-fields-deep';
8
+ import type {SimplifyDeep} from './simplify-deep';
9
9
  import type {UnknownArray} from './unknown-array';
10
10
 
11
11
  /**
@@ -75,8 +75,8 @@ export type OmitDeep<T, PathUnion extends LiteralUnion<Paths<T>, string>> =
75
75
  SimplifyDeep<
76
76
  SharedUnionFieldsDeep<
77
77
  {[P in PathUnion]: OmitDeepWithOnePath<T, P>}[PathUnion]
78
- >
79
- >;
78
+ >,
79
+ UnknownArray>;
80
80
 
81
81
  /**
82
82
  Omit one path from the given object/array.
@@ -3,6 +3,8 @@ import type {EmptyObject} from './empty-object';
3
3
  import type {IsAny} from './is-any';
4
4
  import type {IsNever} from './is-never';
5
5
  import type {UnknownArray} from './unknown-array';
6
+ import type {Sum} from './sum';
7
+ import type {LessThan} from './less-than';
6
8
 
7
9
  /**
8
10
  Generate a union of all possible paths to properties in the given object.
@@ -45,7 +47,9 @@ open('listB.1'); // TypeError. Because listB only has one element.
45
47
  @category Object
46
48
  @category Array
47
49
  */
48
- export type Paths<T> =
50
+ export type Paths<T> = Paths_<T>;
51
+
52
+ type Paths_<T, Depth extends number = 0> =
49
53
  T extends NonRecursiveType | ReadonlyMap<unknown, unknown> | ReadonlySet<unknown>
50
54
  ? never
51
55
  : IsAny<T> extends true
@@ -53,14 +57,14 @@ export type Paths<T> =
53
57
  : T extends UnknownArray
54
58
  ? number extends T['length']
55
59
  // We need to handle the fixed and non-fixed index part of the array separately.
56
- ? InternalPaths<StaticPartOfArray<T>>
57
- | InternalPaths<Array<VariablePartOfArray<T>[number]>>
58
- : InternalPaths<T>
60
+ ? InternalPaths<StaticPartOfArray<T>, Depth>
61
+ | InternalPaths<Array<VariablePartOfArray<T>[number]>, Depth>
62
+ : InternalPaths<T, Depth>
59
63
  : T extends object
60
- ? InternalPaths<T>
64
+ ? InternalPaths<T, Depth>
61
65
  : never;
62
66
 
63
- export type InternalPaths<_T, T = Required<_T>> =
67
+ export type InternalPaths<_T, Depth extends number = 0, T = Required<_T>> =
64
68
  T extends EmptyObject | readonly []
65
69
  ? never
66
70
  : {
@@ -71,8 +75,10 @@ export type InternalPaths<_T, T = Required<_T>> =
71
75
  | Key
72
76
  | ToString<Key>
73
77
  | (
74
- IsNever<Paths<T[Key]>> extends false
75
- ? `${Key}.${Paths<T[Key]>}`
78
+ LessThan<Depth, 15> extends true // Limit the depth to prevent infinite recursion
79
+ ? IsNever<Paths_<T[Key], Sum<Depth, 1>>> extends false
80
+ ? `${Key}.${Paths_<T[Key], Sum<Depth, 1>>}`
81
+ : never
76
82
  : never
77
83
  )
78
84
  : never
@@ -47,25 +47,25 @@ export type Schema<ObjectType, ValueType> = ObjectType extends string
47
47
  ? ValueType
48
48
  : ObjectType extends ReadonlySet<unknown>
49
49
  ? ValueType
50
- : ObjectType extends readonly unknown[]
51
- ? ValueType
52
- : ObjectType extends unknown[]
50
+ : ObjectType extends Array<infer U>
51
+ ? Array<Schema<U, ValueType>>
52
+ : ObjectType extends (...arguments_: unknown[]) => unknown
53
53
  ? ValueType
54
- : ObjectType extends (...arguments_: unknown[]) => unknown
54
+ : ObjectType extends Date
55
55
  ? ValueType
56
- : ObjectType extends Date
56
+ : ObjectType extends Function
57
57
  ? ValueType
58
- : ObjectType extends Function
58
+ : ObjectType extends RegExp
59
59
  ? ValueType
60
- : ObjectType extends RegExp
61
- ? ValueType
62
- : ObjectType extends object
63
- ? SchemaObject<ObjectType, ValueType>
64
- : ValueType;
60
+ : ObjectType extends object
61
+ ? SchemaObject<ObjectType, ValueType>
62
+ : ValueType;
65
63
 
66
64
  /**
67
65
  Same as `Schema`, but accepts only `object`s as inputs. Internal helper for `Schema`.
68
66
  */
69
67
  type SchemaObject<ObjectType extends object, K> = {
70
- [KeyType in keyof ObjectType]: Schema<ObjectType[KeyType], K> | K;
68
+ [KeyType in keyof ObjectType]: ObjectType[KeyType] extends readonly unknown[] | unknown[]
69
+ ? Schema<ObjectType[KeyType], K>
70
+ : Schema<ObjectType[KeyType], K> | K;
71
71
  };
@@ -0,0 +1,115 @@
1
+ import type {ConditionalSimplifyDeep} from './conditional-simplify';
2
+ import type {NonRecursiveType} from './internal';
3
+
4
+ /**
5
+ Deeply simplifies an object type.
6
+
7
+ You can exclude certain types from being simplified by providing them in the second generic `ExcludeType`.
8
+
9
+ Useful to flatten the type output to improve type hints shown in editors.
10
+
11
+ @example
12
+ ```
13
+ import type {SimplifyDeep} from 'type-fest';
14
+
15
+ type PositionX = {
16
+ left: number;
17
+ right: number;
18
+ };
19
+
20
+ type PositionY = {
21
+ top: number;
22
+ bottom: number;
23
+ };
24
+
25
+ type Properties1 = {
26
+ height: number;
27
+ position: PositionY;
28
+ };
29
+
30
+ type Properties2 = {
31
+ width: number;
32
+ position: PositionX;
33
+ };
34
+
35
+ type Properties = Properties1 & Properties2;
36
+ // In your editor, hovering over `Props` will show the following:
37
+ //
38
+ // type Properties = Properties1 & Properties2;
39
+
40
+ type SimplifyDeepProperties = SimplifyDeep<Properties1 & Properties2>;
41
+ // But if wrapped in SimplifyDeep, hovering over `SimplifyDeepProperties` will show a flattened object with all the properties:
42
+ //
43
+ // SimplifyDeepProperties = {
44
+ // height: number;
45
+ // width: number;
46
+ // position: {
47
+ // top: number;
48
+ // bottom: number;
49
+ // left: number;
50
+ // right: number;
51
+ // };
52
+ // };
53
+ ```
54
+
55
+ @example
56
+ ```
57
+ import type {SimplifyDeep} from 'type-fest';
58
+
59
+ // A complex type that you don't want or need to simplify
60
+ type ComplexType = {
61
+ a: string;
62
+ b: 'b';
63
+ c: number;
64
+ ...
65
+ };
66
+
67
+ type PositionX = {
68
+ left: number;
69
+ right: number;
70
+ };
71
+
72
+ type PositionY = {
73
+ top: number;
74
+ bottom: number;
75
+ };
76
+
77
+ // You want to simplify all other types
78
+ type Properties1 = {
79
+ height: number;
80
+ position: PositionY;
81
+ foo: ComplexType;
82
+ };
83
+
84
+ type Properties2 = {
85
+ width: number;
86
+ position: PositionX;
87
+ foo: ComplexType;
88
+ };
89
+
90
+ type SimplifyDeepProperties = SimplifyDeep<Properties1 & Properties2, ComplexType>;
91
+ // If wrapped in `SimplifyDeep` and set `ComplexType` to exclude, hovering over `SimplifyDeepProperties` will
92
+ // show a flattened object with all the properties except `ComplexType`:
93
+ //
94
+ // SimplifyDeepProperties = {
95
+ // height: number;
96
+ // width: number;
97
+ // position: {
98
+ // top: number;
99
+ // bottom: number;
100
+ // left: number;
101
+ // right: number;
102
+ // };
103
+ // foo: ComplexType;
104
+ // };
105
+ ```
106
+
107
+ @see Simplify
108
+ @category Object
109
+ */
110
+ export type SimplifyDeep<Type, ExcludeType = never> =
111
+ ConditionalSimplifyDeep<
112
+ Type,
113
+ ExcludeType | NonRecursiveType | Set<unknown> | Map<unknown, unknown>,
114
+ object
115
+ >;
@@ -52,7 +52,7 @@ fn(someInterface as Simplify<SomeInterface>); // Good: transform an `interface`
52
52
  ```
53
53
 
54
54
  @link https://github.com/microsoft/TypeScript/issues/15300
55
-
55
+ @see SimplifyDeep
56
56
  @category Object
57
57
  */
58
58
  export type Simplify<T> = {[KeyType in keyof T]: T[KeyType]} & {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epic-web/workshop-app",
3
- "version": "4.6.5",
3
+ "version": "4.7.0",
4
4
  "sideEffects": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -44,8 +44,8 @@
44
44
  "@epic-web/invariant": "^1.0.0",
45
45
  "@epic-web/remember": "^1.0.2",
46
46
  "@epic-web/restore-scroll": "^1.1.1",
47
- "@epic-web/workshop-presence": "4.6.5",
48
- "@epic-web/workshop-utils": "4.6.5",
47
+ "@epic-web/workshop-presence": "4.7.0",
48
+ "@epic-web/workshop-utils": "4.7.0",
49
49
  "@mdx-js/mdx": "^3.0.1",
50
50
  "@mux/mux-player-react": "^2.6.0",
51
51
  "@paralleldrive/cuid2": "^2.2.2",
@@ -64,7 +64,7 @@
64
64
  "@types/chai": "^4.3.16",
65
65
  "@types/chai-dom": "^1.11.3",
66
66
  "@vercel/og": "^0.6.2",
67
- "address": "^2.0.2",
67
+ "address": "^2.0.3",
68
68
  "ansi-to-html": "^0.7.2",
69
69
  "chai": "^5.1.1",
70
70
  "chai-dom": "^1.12.0",
@@ -1,2 +0,0 @@
1
- import{j as r,r as n}from"./index-D6ygCrVn.js";import{E as c}from"./index-9nNr0Zqr.js";import{E as a}from"./epic-video-BwtXsHGU.js";import{L as x}from"./loading-C9f_vBoM.js";import{N as d}from"./nav-chevrons-DOYtx9XE.js";import{M as m,E as f}from"./mdx-BYvGbvEr.js";import{P as p}from"./progress-CF9Xwfxf.js";import{c as u}from"./misc-DNgC2Frq.js";import{g as h}from"./seo-CHrqghsC.js";import{u as b,L as j}from"./components-C5xBZAiL.js";import"./index-Bg9MMnnf.js";import"./request-info-Dyls4H67.js";import"./tooltip-Kw0lYWBI.js";import"./client-hints-BKxdo5Js.js";import"./clsx-B-dksMZM.js";import"./progress-bar-7LK87ZMh.js";const R=({data:e,matches:i})=>{var t;const o=e==null?void 0:e.exercise.exerciseNumber.toString().padStart(2,"0"),s=(t=i.find(l=>l.id==="root"))==null?void 0:t.data;return!e||!s?[{title:"🦉 | Error"}]:h({title:`🦉 | ${o}. ${e.exercise.title} | ${s==null?void 0:s.workshopTitle}`,description:`Elaboration for ${o}. ${e.exercise.title}`,ogTitle:`Finished: ${e.exercise.title}`,ogDescription:`Elaboration for exercise ${Number(o)}`,instructor:s.instructor,requestInfo:s.requestInfo})},g={h1:()=>null};function U(){const e=b(),i=e.exercise.exerciseNumber.toString().padStart(2,"0");return r.jsx("div",{className:"flex flex-grow flex-col",children:r.jsxs("main",{className:"grid h-full flex-grow grid-cols-1 grid-rows-2 lg:grid-cols-2 lg:grid-rows-1",children:[r.jsxs("div",{className:"relative col-span-1 row-span-1 flex h-full flex-col lg:border-r",children:[r.jsx("h1",{className:"h-14 border-b pl-10 pr-5 text-sm font-medium uppercase leading-none",children:r.jsx("div",{className:"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2",children:r.jsxs("div",{className:"flex items-center justify-start gap-x-2",children:[r.jsx(j,{to:`/${i}`,className:"hover:underline",children:`${i}. ${e.exercise.title}`}),r.jsx("span",{children:"/"}),r.jsx("span",{children:"Elaboration"})]})})}),r.jsx("article",{className:"shadow-on-scrollbox h-full w-full max-w-none flex-1 scroll-pt-6 space-y-6 overflow-y-auto p-10 pt-8 scrollbar-thin scrollbar-thumb-scrollbar",id:e.articleId,children:e.exercise.finishedCode?r.jsx(a,{epicVideoInfosPromise:e.epicVideoInfosPromise,children:r.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:r.jsx(m,{code:e.exercise.finishedCode,components:g})})}):"No finished instructions yet..."}),r.jsx(c,{elementQuery:`#${e.articleId}`}),r.jsx(p,{type:"finished",exerciseNumber:e.exercise.exerciseNumber,className:"h-14 border-t px-6"}),r.jsxs("div",{className:"flex h-16 justify-between border-b-4 border-t lg:border-b-0",children:[r.jsx("div",{}),e.exerciseFinished?r.jsx(f,{file:e.exerciseFinished.file,relativePath:e.exerciseFinished.relativePath}):null,r.jsx(d,{prev:e.prevStepLink,next:e.nextStepLink})]})]}),r.jsx(N,{exerciseFormEmbedUrl:e.exerciseFormEmbedUrl,exerciseTitle:e.exercise.title})]})})}function N({exerciseFormEmbedUrl:e,exerciseTitle:i}){const[o,s]=n.useState(!1);return r.jsxs("div",{className:"relative flex-shrink-0",children:[o?null:r.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:r.jsx(x,{children:r.jsxs("span",{children:["Loading ",i," Elaboration form"]})})}),r.jsx("iframe",{onLoad:()=>s(!0),title:"Elaboration",src:e,className:u("absolute inset-0 flex h-full w-full transition-opacity duration-300",o?"opacity-100":"opacity-0")})]})}export{U as default,R as meta};
2
- //# sourceMappingURL=_exerciseNumber_.finished-B7SgnqdS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_exerciseNumber_.finished-B7SgnqdS.js","sources":["../../../app/routes/_app+/_exercises+/$exerciseNumber_.finished.tsx"],"sourcesContent":["import path from 'path'\nimport { invariantResponse } from '@epic-web/invariant'\nimport { ElementScrollRestoration } from '@epic-web/restore-scroll'\nimport {\n\tgetAppPageRoute,\n\tgetApps,\n\tgetExercise,\n\tgetWorkshopRoot,\n\tgetWorkshopTitle,\n\tisExerciseStepApp,\n} from '@epic-web/workshop-utils/apps.server'\nimport {\n\tcombineServerTimings,\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { getPkgProp } from '@epic-web/workshop-utils/utils.server'\nimport {\n\tdefer,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\ttype MetaFunction,\n} from '@remix-run/node'\nimport { Link, useLoaderData } from '@remix-run/react'\nimport slugify from '@sindresorhus/slugify'\nimport * as React from 'react'\nimport { EpicVideoInfoProvider } from '#app/components/epic-video.tsx'\nimport { Loading } from '#app/components/loading.tsx'\nimport { NavChevrons } from '#app/components/nav-chevrons.tsx'\nimport { type loader as rootLoader } from '#app/root.tsx'\nimport { EditFileOnGitHub } from '#app/routes/launch-editor.tsx'\nimport { ProgressToggle } from '#app/routes/progress.tsx'\nimport { getEpicVideoInfos } from '#app/utils/epic-api.ts'\nimport { Mdx } from '#app/utils/mdx.tsx'\nimport { cn } from '#app/utils/misc.tsx'\nimport { getSeoMetaTags } from '#app/utils/seo.js'\n\nexport const meta: MetaFunction<typeof loader, { root: typeof rootLoader }> = ({\n\tdata,\n\tmatches,\n}) => {\n\tconst number = data?.exercise.exerciseNumber.toString().padStart(2, '0')\n\n\tconst rootData = matches.find((m) => m.id === 'root')?.data\n\tif (!data || !rootData) return [{ title: '🦉 | Error' }]\n\n\treturn getSeoMetaTags({\n\t\ttitle: `🦉 | ${number}. ${data.exercise.title} | ${rootData?.workshopTitle}`,\n\t\tdescription: `Elaboration for ${number}. ${data.exercise.title}`,\n\t\togTitle: `Finished: ${data.exercise.title}`,\n\t\togDescription: `Elaboration for exercise ${Number(number)}`,\n\t\tinstructor: rootData.instructor,\n\t\trequestInfo: rootData.requestInfo,\n\t})\n}\n\nexport async function loader({ request, params }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('exerciseFinishedLoader')\n\tinvariantResponse(params.exerciseNumber, 'exerciseNumber is required')\n\tconst exercise = await getExercise(params.exerciseNumber, {\n\t\ttimings,\n\t\trequest,\n\t})\n\tif (!exercise) {\n\t\tthrow new Response('Not found', { status: 404 })\n\t}\n\tconst workshopTitle = await getWorkshopTitle()\n\tconst workshopRoot = getWorkshopRoot()\n\tconst exerciseFormTemplate = await getPkgProp(\n\t\tworkshopRoot,\n\t\t'epicshop.forms.exercise',\n\t\t`https://docs.google.com/forms/d/e/1FAIpQLSf3o9xyjQepTlOTH5Z7ZwkeSTdXh6YWI_RGc9KiyD3oUN0p6w/viewform?hl=en&embedded=true&entry.1836176234={workshopTitle}&entry.428900931={exerciseTitle}`,\n\t)\n\tconst exerciseFormEmbedUrl = exerciseFormTemplate\n\t\t.replace('{workshopTitle}', encodeURIComponent(workshopTitle))\n\t\t.replace('{exerciseTitle}', encodeURIComponent(exercise.title))\n\tconst nextExercise = await getExercise(exercise.exerciseNumber + 1, {\n\t\ttimings,\n\t\trequest,\n\t})\n\n\tconst finishedFilepath = path.join(\n\t\tgetWorkshopRoot(),\n\t\t'exercises',\n\t\texercise.dirName,\n\t\t'FINISHED.mdx',\n\t)\n\n\tconst apps = await getApps({ request, timings })\n\tconst exerciseApps = apps\n\t\t.filter(isExerciseStepApp)\n\t\t.filter((app) => app.exerciseNumber === exercise.exerciseNumber)\n\tconst prevApp = exerciseApps[exerciseApps.length - 1]\n\n\tconst articleId = `workshop-${slugify(workshopTitle)}-${\n\t\texercise.exerciseNumber\n\t}-finished`\n\n\treturn defer(\n\t\t{\n\t\t\tarticleId,\n\t\t\tworkshopTitle,\n\t\t\texercise,\n\t\t\texerciseFormEmbedUrl,\n\t\t\tepicVideoInfosPromise: getEpicVideoInfos(\n\t\t\t\texercise.finishedEpicVideoEmbeds,\n\t\t\t\t{ request },\n\t\t\t),\n\t\t\texerciseFinished: exercise.finishedCode\n\t\t\t\t? {\n\t\t\t\t\t\tfile: finishedFilepath,\n\t\t\t\t\t\trelativePath: `exercises/${exercise.dirName}/FINISHED.mdx`,\n\t\t\t\t\t}\n\t\t\t\t: null,\n\t\t\tprevStepLink: prevApp\n\t\t\t\t? {\n\t\t\t\t\t\tto: getAppPageRoute(prevApp),\n\t\t\t\t\t\t'aria-label': `${prevApp.title} (${prevApp.type})`,\n\t\t\t\t\t}\n\t\t\t\t: null,\n\t\t\tnextStepLink: nextExercise\n\t\t\t\t? {\n\t\t\t\t\t\tto: `/${nextExercise.exerciseNumber.toString().padStart(2, '0')}`,\n\t\t\t\t\t\t'aria-label': `${nextExercise.title}`,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tto: '/finished',\n\t\t\t\t\t\t'aria-label': 'Finished! 🎉',\n\t\t\t\t\t},\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders, parentHeaders }) => {\n\tconst headers = {\n\t\t'Cache-Control': loaderHeaders.get('Cache-Control') ?? '',\n\t\t'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nconst mdxComponents = { h1: () => null }\nexport default function ExerciseFinished() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst exerciseNumber = data.exercise.exerciseNumber\n\t\t.toString()\n\t\t.padStart(2, '0')\n\n\treturn (\n\t\t<div className=\"flex flex-grow flex-col\">\n\t\t\t<main className=\"grid h-full flex-grow grid-cols-1 grid-rows-2 lg:grid-cols-2 lg:grid-rows-1\">\n\t\t\t\t<div className=\"relative col-span-1 row-span-1 flex h-full flex-col lg:border-r\">\n\t\t\t\t\t<h1 className=\"h-14 border-b pl-10 pr-5 text-sm font-medium uppercase leading-none\">\n\t\t\t\t\t\t<div className=\"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-start gap-x-2\">\n\t\t\t\t\t\t\t\t<Link to={`/${exerciseNumber}`} className=\"hover:underline\">\n\t\t\t\t\t\t\t\t\t{`${exerciseNumber}. ${data.exercise.title}`}\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t<span>/</span>\n\t\t\t\t\t\t\t\t<span>Elaboration</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</h1>\n\n\t\t\t\t\t<article\n\t\t\t\t\t\tclassName=\"shadow-on-scrollbox h-full w-full max-w-none flex-1 scroll-pt-6 space-y-6 overflow-y-auto p-10 pt-8 scrollbar-thin scrollbar-thumb-scrollbar\"\n\t\t\t\t\t\tid={data.articleId}\n\t\t\t\t\t>\n\t\t\t\t\t\t{data.exercise.finishedCode ? (\n\t\t\t\t\t\t\t<EpicVideoInfoProvider\n\t\t\t\t\t\t\t\tepicVideoInfosPromise={data.epicVideoInfosPromise}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"prose dark:prose-invert sm:prose-lg\">\n\t\t\t\t\t\t\t\t\t<Mdx\n\t\t\t\t\t\t\t\t\t\tcode={data.exercise.finishedCode}\n\t\t\t\t\t\t\t\t\t\tcomponents={mdxComponents}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</EpicVideoInfoProvider>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t// TODO: render a random dad joke...\n\t\t\t\t\t\t\t'No finished instructions yet...'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</article>\n\t\t\t\t\t<ElementScrollRestoration elementQuery={`#${data.articleId}`} />\n\t\t\t\t\t<ProgressToggle\n\t\t\t\t\t\ttype=\"finished\"\n\t\t\t\t\t\texerciseNumber={data.exercise.exerciseNumber}\n\t\t\t\t\t\tclassName=\"h-14 border-t px-6\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"flex h-16 justify-between border-b-4 border-t lg:border-b-0\">\n\t\t\t\t\t\t<div />\n\t\t\t\t\t\t{data.exerciseFinished ? (\n\t\t\t\t\t\t\t<EditFileOnGitHub\n\t\t\t\t\t\t\t\tfile={data.exerciseFinished.file}\n\t\t\t\t\t\t\t\trelativePath={data.exerciseFinished.relativePath}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<NavChevrons prev={data.prevStepLink} next={data.nextStepLink} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<Survey\n\t\t\t\t\texerciseFormEmbedUrl={data.exerciseFormEmbedUrl}\n\t\t\t\t\texerciseTitle={data.exercise.title}\n\t\t\t\t/>\n\t\t\t</main>\n\t\t</div>\n\t)\n}\n\nfunction Survey({\n\texerciseFormEmbedUrl,\n\texerciseTitle,\n}: {\n\texerciseFormEmbedUrl: string\n\texerciseTitle: string\n}) {\n\tconst [iframeLoaded, setIframeLoaded] = React.useState(false)\n\treturn (\n\t\t<div className=\"relative flex-shrink-0\">\n\t\t\t{!iframeLoaded ? (\n\t\t\t\t<div className=\"absolute inset-0 z-10 flex items-center justify-center\">\n\t\t\t\t\t<Loading>\n\t\t\t\t\t\t<span>Loading {exerciseTitle} Elaboration form</span>\n\t\t\t\t\t</Loading>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<iframe\n\t\t\t\tonLoad={() => setIframeLoaded(true)}\n\t\t\t\ttitle=\"Elaboration\"\n\t\t\t\tsrc={exerciseFormEmbedUrl}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute inset-0 flex h-full w-full transition-opacity duration-300',\n\t\t\t\t\tiframeLoaded ? 'opacity-100' : 'opacity-0',\n\t\t\t\t)}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n"],"names":["meta","data","matches","number","exercise","exerciseNumber","toString","padStart","rootData","find","m","id","title","getSeoMetaTags","workshopTitle","description","ogTitle","ogDescription","Number","instructor","requestInfo","mdxComponents","h1","ExerciseFinished","useLoaderData","className","children","jsxs","jsx","Link","to","articleId","finishedCode","EpicVideoInfoProvider","epicVideoInfosPromise","Mdx","code","components","ElementScrollRestoration","elementQuery","ProgressToggle","type","exerciseFinished","EditFileOnGitHub","file","relativePath","NavChevrons","prev","prevStepLink","next","nextStepLink","Survey","exerciseFormEmbedUrl","exerciseTitle","iframeLoaded","setIframeLoaded","React","Loading","onLoad","src","cn"],"mappings":"onBAqCO,MAAMA,EAAiEA,CAAC,CAC9EC,KAAAA,EACAC,QAAAA,CACD,IAAM,OACC,MAAAC,EAASF,GAAAA,YAAAA,EAAMG,SAASC,eAAeC,WAAWC,SAAS,EAAG,KAE9DC,GAAWN,EAAAA,EAAQO,KAAMC,GAAMA,EAAEC,KAAO,MAAM,IAAnCT,YAAAA,EAAsCD,KACnD,MAAA,CAACA,GAAQ,CAACO,EAAiB,CAAC,CAAEI,MAAO,YAAa,CAAC,EAEhDC,EAAe,CACrBD,MAAO,QAAQT,CAAM,KAAKF,EAAKG,SAASQ,KAAK,MAAMJ,GAAAA,YAAAA,EAAUM,aAAa,GAC1EC,YAAa,mBAAmBZ,CAAM,KAAKF,EAAKG,SAASQ,KAAK,GAC9DI,QAAS,aAAaf,EAAKG,SAASQ,KAAK,GACzCK,cAAe,4BAA4BC,OAAOf,CAAM,CAAC,GACzDgB,WAAYX,EAASW,WACrBC,YAAaZ,EAASY,WACvB,CAAC,CACF,EA4FMC,EAAgB,CAAEC,GAAIA,IAAM,IAAK,EACvC,SAAwBC,GAAmB,CAC1C,MAAMtB,EAAOuB,IACPnB,EAAiBJ,EAAKG,SAASC,eACnCC,WACAC,SAAS,EAAG,GAAG,EAEjB,aACE,MAAI,CAAAkB,UAAU,0BACdC,SAACC,EAAA,KAAA,OAAA,CAAKF,UAAU,8EACfC,SAAA,CAACC,EAAA,KAAA,MAAA,CAAIF,UAAU,kEACdC,SAAA,CAACE,EAAA,IAAA,KAAA,CAAGH,UAAU,sEACbC,SAACE,EAAA,IAAA,MAAA,CAAIH,UAAU,gEACdC,SAAAC,EAAA,KAAC,MAAI,CAAAF,UAAU,0CACdC,SAAA,CAAAE,EAAA,IAACC,EAAK,CAAAC,GAAI,IAAIzB,CAAc,GAAIoB,UAAU,kBACxCC,SAAA,GAAGrB,CAAc,KAAKJ,EAAKG,SAASQ,KAAK,EAC3C,CAAA,EACAgB,EAAA,IAAC,QAAKF,SAAC,GAAA,CAAA,EACPE,EAAA,IAAC,QAAKF,SAAW,aAAA,CAAA,CAAA,EAClB,EACD,CACD,CAAA,EAEAE,EAAA,IAAC,UAAA,CACAH,UAAU,+IACVd,GAAIV,EAAK8B,UAERL,SAAAzB,EAAKG,SAAS4B,aACdJ,EAAAA,IAACK,EAAA,CACAC,sBAAuBjC,EAAKiC,sBAE5BR,SAAAE,EAAA,IAAC,MAAI,CAAAH,UAAU,sCACdC,SAAAE,EAAA,IAACO,EAAA,CACAC,KAAMnC,EAAKG,SAAS4B,aACpBK,WAAYhB,EACb,EACD,CAAA,CACD,EAGA,iCAAA,CAEF,QACCiB,EAAyB,CAAAC,aAAc,IAAItC,EAAK8B,SAAS,EAAI,CAAA,EAC9DH,EAAA,IAACY,EAAA,CACAC,KAAK,WACLpC,eAAgBJ,EAAKG,SAASC,eAC9BoB,UAAU,oBAAA,CACX,EACAE,EAAA,KAAC,MAAI,CAAAF,UAAU,8DACdC,SAAA,CAAAE,EAAA,IAAC,MAAI,CAAA,CAAA,EACJ3B,EAAKyC,iBACLd,EAAA,IAACe,EAAA,CACAC,KAAM3C,EAAKyC,iBAAiBE,KAC5BC,aAAc5C,EAAKyC,iBAAiBG,aACrC,EACG,WACHC,EAAY,CAAAC,KAAM9C,EAAK+C,aAAcC,KAAMhD,EAAKiD,YAAc,CAAA,CAAA,CAChE,CAAA,CAAA,CACD,CAAA,EACAtB,EAAA,IAACuB,EAAA,CACAC,qBAAsBnD,EAAKmD,qBAC3BC,cAAepD,EAAKG,SAASQ,KAAA,CAC9B,CAAA,EACD,CACD,CAAA,CAEF,CAEA,SAASuC,EAAO,CACfC,qBAAAA,EACAC,cAAAA,CACD,EAGG,CACF,KAAM,CAACC,EAAcC,CAAe,EAAIC,WAAe,EAAK,EAE3D,OAAA7B,EAAAA,KAAC,MAAI,CAAAF,UAAU,yBACbC,SAAA,CAAC4B,EAME,WALF,MAAI,CAAA7B,UAAU,yDACdC,SAACE,EAAA,IAAA6B,EAAA,CACA/B,gBAAC,OAAK,CAAAA,SAAA,CAAA,WAAS2B,EAAc,mBAAA,EAAiB,EAC/C,EACD,EAEDzB,EAAA,IAAC,SAAA,CACA8B,OAAQA,IAAMH,EAAgB,EAAI,EAClC3C,MAAM,cACN+C,IAAKP,EACL3B,UAAWmC,EACV,sEACAN,EAAe,cAAgB,WAChC,CAAA,CACD,CAAA,CACD,CAAA,CAEF"}