@epic-web/workshop-app 5.1.0 → 5.1.2

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 (2187) hide show
  1. package/build/client/assets/_-CWSCXcBv.js +2 -0
  2. package/build/client/assets/_-CWSCXcBv.js.map +1 -0
  3. package/build/client/assets/_exerciseNumber-DarnXgbX.js +2 -0
  4. package/build/client/assets/_exerciseNumber-DarnXgbX.js.map +1 -0
  5. package/build/client/assets/_exerciseNumber_._stepNumber-BA2Xhzqs.js +2 -0
  6. package/build/client/assets/_exerciseNumber_._stepNumber-BA2Xhzqs.js.map +1 -0
  7. package/build/client/assets/_exerciseNumber_.finished-DEzaS_Ji.js +2 -0
  8. package/build/client/assets/_exerciseNumber_.finished-DEzaS_Ji.js.map +1 -0
  9. package/build/client/assets/_layout-88n0To1b.js +2 -0
  10. package/build/client/assets/_layout-88n0To1b.js.map +1 -0
  11. package/build/client/assets/_layout-BTrPWpBz.js +2 -0
  12. package/build/client/assets/_layout-BTrPWpBz.js.map +1 -0
  13. package/build/client/assets/_layout-T2hZtl0D.js +6 -0
  14. package/build/client/assets/_layout-T2hZtl0D.js.map +1 -0
  15. package/build/client/assets/_layout-gyrNluke.js +2 -0
  16. package/build/client/assets/_layout-gyrNluke.js.map +1 -0
  17. package/build/client/assets/accordion-DC885Li1.js +2 -0
  18. package/build/client/assets/accordion-DC885Li1.js.map +1 -0
  19. package/build/client/assets/account-CPFwPYf1.js +2 -0
  20. package/build/client/assets/account-CPFwPYf1.js.map +1 -0
  21. package/build/client/assets/app-CM8yuYni.js +2 -0
  22. package/build/client/assets/app-CM8yuYni.js.map +1 -0
  23. package/build/client/assets/button-DQ001ob0.js +2 -0
  24. package/build/client/assets/button-DQ001ob0.js.map +1 -0
  25. package/build/client/assets/components-9EGYHTc_.js +158 -0
  26. package/build/client/assets/components-9EGYHTc_.js.map +1 -0
  27. package/build/client/assets/diff-assn_bSK.js +2 -0
  28. package/build/client/assets/diff-assn_bSK.js.map +1 -0
  29. package/build/client/assets/diff-jlCv3hv0.js +2 -0
  30. package/build/client/assets/diff-jlCv3hv0.js.map +1 -0
  31. package/build/client/assets/discord-CHsbqaqM.js +2 -0
  32. package/build/client/assets/discord-CHsbqaqM.js.map +1 -0
  33. package/build/client/assets/discord-DoeazikD.js +2 -0
  34. package/build/client/assets/discord-DoeazikD.js.map +1 -0
  35. package/build/client/assets/entry.client-BTYTUpFV.js +44 -0
  36. package/build/client/assets/entry.client-BTYTUpFV.js.map +1 -0
  37. package/build/client/assets/epic-video-GDpD7_Qt.js +3053 -0
  38. package/build/client/assets/epic-video-GDpD7_Qt.js.map +1 -0
  39. package/build/client/assets/error-boundary-1-dmC941.js +2 -0
  40. package/build/client/assets/error-boundary-1-dmC941.js.map +1 -0
  41. package/build/client/assets/finished-DVV0zwmP.js +2 -0
  42. package/build/client/assets/finished-DVV0zwmP.js.map +1 -0
  43. package/build/client/assets/index-BCxBKsqT.js +2 -0
  44. package/build/client/assets/index-BCxBKsqT.js.map +1 -0
  45. package/build/client/assets/index-BFGhCX_U.js +38 -0
  46. package/build/client/assets/index-BFGhCX_U.js.map +1 -0
  47. package/build/client/assets/index-BuA_RWlU.js +2 -0
  48. package/build/client/assets/index-BuA_RWlU.js.map +1 -0
  49. package/build/client/assets/index-BuoaxPEj.js +42 -0
  50. package/build/client/assets/index-BuoaxPEj.js.map +1 -0
  51. package/build/client/assets/index-DJF1fiZI.js +2 -0
  52. package/build/client/assets/index-DJF1fiZI.js.map +1 -0
  53. package/build/client/assets/index-DRH72MzK.js +3 -0
  54. package/build/client/assets/index-DRH72MzK.js.map +1 -0
  55. package/build/client/assets/index-KgMLc41c.js +2 -0
  56. package/build/client/assets/index-KgMLc41c.js.map +1 -0
  57. package/build/client/assets/index-_J-F_Dnc.js +36 -0
  58. package/build/client/assets/index-_J-F_Dnc.js.map +1 -0
  59. package/build/client/assets/loading-Dk0n07O3.js +2 -0
  60. package/build/client/assets/loading-Dk0n07O3.js.map +1 -0
  61. package/build/client/assets/login-pZYDEC_l.js +2 -0
  62. package/build/client/assets/login-pZYDEC_l.js.map +1 -0
  63. package/build/client/assets/manifest-3338a6ab.js +1 -0
  64. package/build/client/assets/mdx-hW1uYjc1.js +2 -0
  65. package/build/client/assets/mdx-hW1uYjc1.js.map +1 -0
  66. package/build/client/assets/misc-BJtHv_Jh.js +2 -0
  67. package/build/client/assets/misc-BJtHv_Jh.js.map +1 -0
  68. package/build/client/assets/nav-chevrons-CgbSMLeb.js +2 -0
  69. package/build/client/assets/nav-chevrons-CgbSMLeb.js.map +1 -0
  70. package/build/client/assets/onboarding-DCuSqnkZ.js +2 -0
  71. package/build/client/assets/onboarding-DCuSqnkZ.js.map +1 -0
  72. package/build/client/assets/pe-ChIwTk8v.js +2 -0
  73. package/build/client/assets/pe-ChIwTk8v.js.map +1 -0
  74. package/build/client/assets/presence-CdyMdOKk.js +28 -0
  75. package/build/client/assets/presence-CdyMdOKk.js.map +1 -0
  76. package/build/client/assets/preview-CW_12I0i.js +2 -0
  77. package/build/client/assets/preview-CW_12I0i.js.map +1 -0
  78. package/build/client/assets/product-C1ynnrN_.js +2 -0
  79. package/build/client/assets/product-C1ynnrN_.js.map +1 -0
  80. package/build/client/assets/progress-DAB3nDa2.js +2 -0
  81. package/build/client/assets/progress-DAB3nDa2.js.map +1 -0
  82. package/build/client/assets/progress-bar-Cj5R4Zk7.js +2 -0
  83. package/build/client/assets/progress-bar-Cj5R4Zk7.js.map +1 -0
  84. package/build/client/assets/request-info-DCIQLE6H.js +2 -0
  85. package/build/client/assets/request-info-DCIQLE6H.js.map +1 -0
  86. package/build/client/assets/revalidation-ws-DU-PzW-_.js +2 -0
  87. package/build/client/assets/revalidation-ws-DU-PzW-_.js.map +1 -0
  88. package/build/client/assets/root-DojjHZlY.js +11 -0
  89. package/build/client/assets/root-DojjHZlY.js.map +1 -0
  90. package/build/client/assets/set-playground-DgnOJqFN.js +2 -0
  91. package/build/client/assets/set-playground-DgnOJqFN.js.map +1 -0
  92. package/build/client/assets/support-BNS-kEhc.js +2 -0
  93. package/build/client/assets/support-BNS-kEhc.js.map +1 -0
  94. package/build/client/assets/tailwind-B5AAMtGC.css +1 -0
  95. package/build/client/assets/test-DJ7oeeeg.js +2 -0
  96. package/build/client/assets/test-DJ7oeeeg.js.map +1 -0
  97. package/build/client/assets/tests-Bw1rCopV.js +4 -0
  98. package/build/client/assets/tests-Bw1rCopV.js.map +1 -0
  99. package/build/client/assets/tooltip-BgynKV2c.js +2 -0
  100. package/build/client/assets/tooltip-BgynKV2c.js.map +1 -0
  101. package/build/client/assets/use-event-source-x59d4R2Z.js +2 -0
  102. package/build/client/assets/use-event-source-x59d4R2Z.js.map +1 -0
  103. package/build/client/assets/user-BBryXlM_.js +2 -0
  104. package/build/client/assets/user-BBryXlM_.js.map +1 -0
  105. package/build/client/assets/workshop-config-DJY2cXU_.js +2 -0
  106. package/build/client/assets/workshop-config-DJY2cXU_.js.map +1 -0
  107. package/build/server/index.js +110 -2346
  108. package/build/server/index.js.map +1 -1
  109. package/dist/server/index.js +7 -12
  110. package/package.json +68 -95
  111. package/build/client/assets/_-ZHCWB__B.js +0 -2
  112. package/build/client/assets/_-ZHCWB__B.js.map +0 -1
  113. package/build/client/assets/_exerciseNumber-BFTlBdr4.js +0 -2
  114. package/build/client/assets/_exerciseNumber-BFTlBdr4.js.map +0 -1
  115. package/build/client/assets/_exerciseNumber_._stepNumber-_687iGFh.js +0 -2
  116. package/build/client/assets/_exerciseNumber_._stepNumber-_687iGFh.js.map +0 -1
  117. package/build/client/assets/_exerciseNumber_.finished-BEfn-nJi.js +0 -2
  118. package/build/client/assets/_exerciseNumber_.finished-BEfn-nJi.js.map +0 -1
  119. package/build/client/assets/_layout-BLJr2x2F.js +0 -2
  120. package/build/client/assets/_layout-BLJr2x2F.js.map +0 -1
  121. package/build/client/assets/_layout-BriOqd2R.js +0 -2
  122. package/build/client/assets/_layout-BriOqd2R.js.map +0 -1
  123. package/build/client/assets/_layout-Cfbi6StB.js +0 -2
  124. package/build/client/assets/_layout-Cfbi6StB.js.map +0 -1
  125. package/build/client/assets/_layout-frPHZWgR.js +0 -6
  126. package/build/client/assets/_layout-frPHZWgR.js.map +0 -1
  127. package/build/client/assets/accordion-DuE9VejZ.js +0 -2
  128. package/build/client/assets/accordion-DuE9VejZ.js.map +0 -1
  129. package/build/client/assets/account-DDuV9rZX.js +0 -2
  130. package/build/client/assets/account-DDuV9rZX.js.map +0 -1
  131. package/build/client/assets/app-wbMCZEiv.js +0 -2
  132. package/build/client/assets/app-wbMCZEiv.js.map +0 -1
  133. package/build/client/assets/button-CMkJ8p0a.js +0 -2
  134. package/build/client/assets/button-CMkJ8p0a.js.map +0 -1
  135. package/build/client/assets/components-DZ8XIeZ3.js +0 -166
  136. package/build/client/assets/components-DZ8XIeZ3.js.map +0 -1
  137. package/build/client/assets/diff-B6thd_Sf.js +0 -2
  138. package/build/client/assets/diff-B6thd_Sf.js.map +0 -1
  139. package/build/client/assets/diff-BEk79KPK.js +0 -2
  140. package/build/client/assets/diff-BEk79KPK.js.map +0 -1
  141. package/build/client/assets/discord-C9bVfiZ6.js +0 -2
  142. package/build/client/assets/discord-C9bVfiZ6.js.map +0 -1
  143. package/build/client/assets/discord-DYeU0QX6.js +0 -2
  144. package/build/client/assets/discord-DYeU0QX6.js.map +0 -1
  145. package/build/client/assets/entry.client-CW5CUf_W.js +0 -43
  146. package/build/client/assets/entry.client-CW5CUf_W.js.map +0 -1
  147. package/build/client/assets/epic-video-bs7WmhbC.js +0 -2988
  148. package/build/client/assets/epic-video-bs7WmhbC.js.map +0 -1
  149. package/build/client/assets/error-boundary-BcGxKpte.js +0 -2
  150. package/build/client/assets/error-boundary-BcGxKpte.js.map +0 -1
  151. package/build/client/assets/finished-C2dgX1d-.js +0 -2
  152. package/build/client/assets/finished-C2dgX1d-.js.map +0 -1
  153. package/build/client/assets/index-BczhSZ3e.js +0 -2
  154. package/build/client/assets/index-BczhSZ3e.js.map +0 -1
  155. package/build/client/assets/index-BjNhezSK.js +0 -42
  156. package/build/client/assets/index-BjNhezSK.js.map +0 -1
  157. package/build/client/assets/index-BvihEwfB.js +0 -36
  158. package/build/client/assets/index-BvihEwfB.js.map +0 -1
  159. package/build/client/assets/index-C2yr7Uiu.js +0 -2
  160. package/build/client/assets/index-C2yr7Uiu.js.map +0 -1
  161. package/build/client/assets/index-CuV1bRbu.js +0 -2
  162. package/build/client/assets/index-CuV1bRbu.js.map +0 -1
  163. package/build/client/assets/index-DBrRQJxF.js +0 -2
  164. package/build/client/assets/index-DBrRQJxF.js.map +0 -1
  165. package/build/client/assets/index-DF_XBInP.js +0 -37
  166. package/build/client/assets/index-DF_XBInP.js.map +0 -1
  167. package/build/client/assets/index-YtpQLUzj.js +0 -3
  168. package/build/client/assets/index-YtpQLUzj.js.map +0 -1
  169. package/build/client/assets/loading-Br41_Pbf.js +0 -2
  170. package/build/client/assets/loading-Br41_Pbf.js.map +0 -1
  171. package/build/client/assets/login-kjV7hrVt.js +0 -2
  172. package/build/client/assets/login-kjV7hrVt.js.map +0 -1
  173. package/build/client/assets/manifest-77ab30ae.js +0 -1
  174. package/build/client/assets/mdx-CRxPouxB.js +0 -2
  175. package/build/client/assets/mdx-CRxPouxB.js.map +0 -1
  176. package/build/client/assets/misc-BE75ioh8.js +0 -2
  177. package/build/client/assets/misc-BE75ioh8.js.map +0 -1
  178. package/build/client/assets/nav-chevrons-DYiI8EMU.js +0 -2
  179. package/build/client/assets/nav-chevrons-DYiI8EMU.js.map +0 -1
  180. package/build/client/assets/onboarding-B4Z_yevk.js +0 -2
  181. package/build/client/assets/onboarding-B4Z_yevk.js.map +0 -1
  182. package/build/client/assets/pe-CvPIToj6.js +0 -2
  183. package/build/client/assets/pe-CvPIToj6.js.map +0 -1
  184. package/build/client/assets/presence-Dd98AJ_5.js +0 -28
  185. package/build/client/assets/presence-Dd98AJ_5.js.map +0 -1
  186. package/build/client/assets/preview-DZcdG4kw.js +0 -2
  187. package/build/client/assets/preview-DZcdG4kw.js.map +0 -1
  188. package/build/client/assets/product-mjsTrqXs.js +0 -2
  189. package/build/client/assets/product-mjsTrqXs.js.map +0 -1
  190. package/build/client/assets/progress-Co-59mG2.js +0 -2
  191. package/build/client/assets/progress-Co-59mG2.js.map +0 -1
  192. package/build/client/assets/progress-bar-F8_2mvYp.js +0 -2
  193. package/build/client/assets/progress-bar-F8_2mvYp.js.map +0 -1
  194. package/build/client/assets/request-info-DGnmXtfj.js +0 -2
  195. package/build/client/assets/request-info-DGnmXtfj.js.map +0 -1
  196. package/build/client/assets/revalidation-ws-DcvYvzyj.js +0 -2
  197. package/build/client/assets/revalidation-ws-DcvYvzyj.js.map +0 -1
  198. package/build/client/assets/root-Cl86OUog.js +0 -11
  199. package/build/client/assets/root-Cl86OUog.js.map +0 -1
  200. package/build/client/assets/set-playground-pMKmtPtz.js +0 -2
  201. package/build/client/assets/set-playground-pMKmtPtz.js.map +0 -1
  202. package/build/client/assets/support-B0E_F4Zh.js +0 -2
  203. package/build/client/assets/support-B0E_F4Zh.js.map +0 -1
  204. package/build/client/assets/tailwind-B9pSujyx.css +0 -1
  205. package/build/client/assets/test-B6zIK2V6.js +0 -2
  206. package/build/client/assets/test-B6zIK2V6.js.map +0 -1
  207. package/build/client/assets/tests-BeAEgPAw.js +0 -4
  208. package/build/client/assets/tests-BeAEgPAw.js.map +0 -1
  209. package/build/client/assets/tooltip-6-WS-Xux.js +0 -2
  210. package/build/client/assets/tooltip-6-WS-Xux.js.map +0 -1
  211. package/build/client/assets/use-event-source-CCGBLG92.js +0 -2
  212. package/build/client/assets/use-event-source-CCGBLG92.js.map +0 -1
  213. package/build/client/assets/user-Boua6jiU.js +0 -2
  214. package/build/client/assets/user-Boua6jiU.js.map +0 -1
  215. package/build/client/assets/workshop-config-Ce9sSc3I.js +0 -2
  216. package/build/client/assets/workshop-config-Ce9sSc3I.js.map +0 -1
  217. package/node_modules/@babel/runtime/LICENSE +0 -22
  218. package/node_modules/@babel/runtime/README.md +0 -19
  219. package/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -4
  220. package/node_modules/@babel/runtime/helpers/OverloadYield.js +0 -4
  221. package/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js +0 -9
  222. package/node_modules/@babel/runtime/helpers/applyDecs.js +0 -236
  223. package/node_modules/@babel/runtime/helpers/applyDecs2203.js +0 -184
  224. package/node_modules/@babel/runtime/helpers/applyDecs2203R.js +0 -191
  225. package/node_modules/@babel/runtime/helpers/applyDecs2301.js +0 -222
  226. package/node_modules/@babel/runtime/helpers/applyDecs2305.js +0 -133
  227. package/node_modules/@babel/runtime/helpers/applyDecs2311.js +0 -124
  228. package/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -6
  229. package/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -4
  230. package/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -5
  231. package/node_modules/@babel/runtime/helpers/assertClassBrand.js +0 -5
  232. package/node_modules/@babel/runtime/helpers/assertThisInitialized.js +0 -5
  233. package/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js +0 -24
  234. package/node_modules/@babel/runtime/helpers/asyncIterator.js +0 -45
  235. package/node_modules/@babel/runtime/helpers/asyncToGenerator.js +0 -26
  236. package/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js +0 -5
  237. package/node_modules/@babel/runtime/helpers/callSuper.js +0 -7
  238. package/node_modules/@babel/runtime/helpers/checkInRHS.js +0 -6
  239. package/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js +0 -4
  240. package/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -10
  241. package/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -4
  242. package/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -7
  243. package/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -4
  244. package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -5
  245. package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -4
  246. package/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -5
  247. package/node_modules/@babel/runtime/helpers/classNameTDZError.js +0 -4
  248. package/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -7
  249. package/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -7
  250. package/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js +0 -5
  251. package/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js +0 -5
  252. package/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js +0 -5
  253. package/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js +0 -5
  254. package/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -7
  255. package/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js +0 -5
  256. package/node_modules/@babel/runtime/helpers/classPrivateGetter.js +0 -5
  257. package/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -5
  258. package/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js +0 -5
  259. package/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -4
  260. package/node_modules/@babel/runtime/helpers/classPrivateSetter.js +0 -5
  261. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -7
  262. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -7
  263. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -7
  264. package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js +0 -5
  265. package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -4
  266. package/node_modules/@babel/runtime/helpers/construct.js +0 -10
  267. package/node_modules/@babel/runtime/helpers/createClass.js +0 -13
  268. package/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js +0 -50
  269. package/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js +0 -19
  270. package/node_modules/@babel/runtime/helpers/createSuper.js +0 -16
  271. package/node_modules/@babel/runtime/helpers/decorate.js +0 -250
  272. package/node_modules/@babel/runtime/helpers/defaults.js +0 -9
  273. package/node_modules/@babel/runtime/helpers/defineAccessor.js +0 -8
  274. package/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -12
  275. package/node_modules/@babel/runtime/helpers/defineProperty.js +0 -10
  276. package/node_modules/@babel/runtime/helpers/dispose.js +0 -28
  277. package/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -4
  278. package/node_modules/@babel/runtime/helpers/esm/OverloadYield.js +0 -4
  279. package/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js +0 -9
  280. package/node_modules/@babel/runtime/helpers/esm/applyDecs.js +0 -236
  281. package/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js +0 -184
  282. package/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js +0 -191
  283. package/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js +0 -222
  284. package/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js +0 -133
  285. package/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js +0 -124
  286. package/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -6
  287. package/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -4
  288. package/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -5
  289. package/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js +0 -5
  290. package/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -5
  291. package/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js +0 -24
  292. package/node_modules/@babel/runtime/helpers/esm/asyncIterator.js +0 -45
  293. package/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +0 -26
  294. package/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js +0 -5
  295. package/node_modules/@babel/runtime/helpers/esm/callSuper.js +0 -7
  296. package/node_modules/@babel/runtime/helpers/esm/checkInRHS.js +0 -6
  297. package/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js +0 -4
  298. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -10
  299. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -4
  300. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -7
  301. package/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -4
  302. package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
  303. package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -4
  304. package/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -5
  305. package/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js +0 -4
  306. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -7
  307. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -7
  308. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js +0 -5
  309. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js +0 -5
  310. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js +0 -5
  311. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js +0 -5
  312. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
  313. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js +0 -5
  314. package/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js +0 -5
  315. package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -5
  316. package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js +0 -5
  317. package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -4
  318. package/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js +0 -5
  319. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -7
  320. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -7
  321. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -7
  322. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js +0 -5
  323. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -4
  324. package/node_modules/@babel/runtime/helpers/esm/construct.js +0 -10
  325. package/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -13
  326. package/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js +0 -50
  327. package/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js +0 -19
  328. package/node_modules/@babel/runtime/helpers/esm/createSuper.js +0 -16
  329. package/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -250
  330. package/node_modules/@babel/runtime/helpers/esm/defaults.js +0 -9
  331. package/node_modules/@babel/runtime/helpers/esm/defineAccessor.js +0 -8
  332. package/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -12
  333. package/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -10
  334. package/node_modules/@babel/runtime/helpers/esm/dispose.js +0 -28
  335. package/node_modules/@babel/runtime/helpers/esm/extends.js +0 -10
  336. package/node_modules/@babel/runtime/helpers/esm/get.js +0 -11
  337. package/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -6
  338. package/node_modules/@babel/runtime/helpers/esm/identity.js +0 -4
  339. package/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js +0 -27
  340. package/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -14
  341. package/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -5
  342. package/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js +0 -9
  343. package/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js +0 -4
  344. package/node_modules/@babel/runtime/helpers/esm/instanceof.js +0 -4
  345. package/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js +0 -6
  346. package/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js +0 -27
  347. package/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js +0 -8
  348. package/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -9
  349. package/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -4
  350. package/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +0 -28
  351. package/node_modules/@babel/runtime/helpers/esm/jsx.js +0 -22
  352. package/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js +0 -9
  353. package/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js +0 -4
  354. package/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -4
  355. package/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -4
  356. package/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js +0 -4
  357. package/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js +0 -4
  358. package/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -14
  359. package/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -23
  360. package/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -13
  361. package/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -10
  362. package/node_modules/@babel/runtime/helpers/esm/package.json +0 -3
  363. package/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -8
  364. package/node_modules/@babel/runtime/helpers/esm/readOnlyError.js +0 -4
  365. package/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +0 -304
  366. package/node_modules/@babel/runtime/helpers/esm/set.js +0 -22
  367. package/node_modules/@babel/runtime/helpers/esm/setFunctionName.js +0 -12
  368. package/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -6
  369. package/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js +0 -7
  370. package/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +0 -8
  371. package/node_modules/@babel/runtime/helpers/esm/superPropBase.js +0 -6
  372. package/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +0 -8
  373. package/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js +0 -4
  374. package/node_modules/@babel/runtime/helpers/esm/tdz.js +0 -4
  375. package/node_modules/@babel/runtime/helpers/esm/temporalRef.js +0 -6
  376. package/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js +0 -2
  377. package/node_modules/@babel/runtime/helpers/esm/toArray.js +0 -8
  378. package/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -8
  379. package/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -12
  380. package/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -7
  381. package/node_modules/@babel/runtime/helpers/esm/toSetter.js +0 -10
  382. package/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -10
  383. package/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -9
  384. package/node_modules/@babel/runtime/helpers/esm/using.js +0 -12
  385. package/node_modules/@babel/runtime/helpers/esm/usingCtx.js +0 -47
  386. package/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +0 -69
  387. package/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js +0 -27
  388. package/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js +0 -51
  389. package/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js +0 -4
  390. package/node_modules/@babel/runtime/helpers/extends.js +0 -10
  391. package/node_modules/@babel/runtime/helpers/get.js +0 -11
  392. package/node_modules/@babel/runtime/helpers/getPrototypeOf.js +0 -6
  393. package/node_modules/@babel/runtime/helpers/identity.js +0 -4
  394. package/node_modules/@babel/runtime/helpers/importDeferProxy.js +0 -27
  395. package/node_modules/@babel/runtime/helpers/inherits.js +0 -14
  396. package/node_modules/@babel/runtime/helpers/inheritsLoose.js +0 -5
  397. package/node_modules/@babel/runtime/helpers/initializerDefineProperty.js +0 -9
  398. package/node_modules/@babel/runtime/helpers/initializerWarningHelper.js +0 -4
  399. package/node_modules/@babel/runtime/helpers/instanceof.js +0 -4
  400. package/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -6
  401. package/node_modules/@babel/runtime/helpers/interopRequireWildcard.js +0 -27
  402. package/node_modules/@babel/runtime/helpers/isNativeFunction.js +0 -8
  403. package/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js +0 -9
  404. package/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -4
  405. package/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -28
  406. package/node_modules/@babel/runtime/helpers/jsx.js +0 -22
  407. package/node_modules/@babel/runtime/helpers/maybeArrayLike.js +0 -9
  408. package/node_modules/@babel/runtime/helpers/newArrowCheck.js +0 -4
  409. package/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -4
  410. package/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -4
  411. package/node_modules/@babel/runtime/helpers/nullishReceiverError.js +0 -4
  412. package/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js +0 -4
  413. package/node_modules/@babel/runtime/helpers/objectSpread.js +0 -14
  414. package/node_modules/@babel/runtime/helpers/objectSpread2.js +0 -23
  415. package/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +0 -13
  416. package/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +0 -10
  417. package/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js +0 -8
  418. package/node_modules/@babel/runtime/helpers/readOnlyError.js +0 -4
  419. package/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +0 -304
  420. package/node_modules/@babel/runtime/helpers/set.js +0 -22
  421. package/node_modules/@babel/runtime/helpers/setFunctionName.js +0 -12
  422. package/node_modules/@babel/runtime/helpers/setPrototypeOf.js +0 -6
  423. package/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js +0 -7
  424. package/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -8
  425. package/node_modules/@babel/runtime/helpers/superPropBase.js +0 -6
  426. package/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js +0 -8
  427. package/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js +0 -4
  428. package/node_modules/@babel/runtime/helpers/tdz.js +0 -4
  429. package/node_modules/@babel/runtime/helpers/temporalRef.js +0 -6
  430. package/node_modules/@babel/runtime/helpers/temporalUndefined.js +0 -2
  431. package/node_modules/@babel/runtime/helpers/toArray.js +0 -8
  432. package/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -8
  433. package/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -12
  434. package/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -7
  435. package/node_modules/@babel/runtime/helpers/toSetter.js +0 -10
  436. package/node_modules/@babel/runtime/helpers/typeof.js +0 -10
  437. package/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -9
  438. package/node_modules/@babel/runtime/helpers/using.js +0 -12
  439. package/node_modules/@babel/runtime/helpers/usingCtx.js +0 -47
  440. package/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +0 -69
  441. package/node_modules/@babel/runtime/helpers/wrapNativeSuper.js +0 -27
  442. package/node_modules/@babel/runtime/helpers/wrapRegExp.js +0 -51
  443. package/node_modules/@babel/runtime/helpers/writeOnlyError.js +0 -4
  444. package/node_modules/@babel/runtime/package.json +0 -1038
  445. package/node_modules/@babel/runtime/regenerator/index.js +0 -15
  446. package/node_modules/@conform-to/dom/LICENSE +0 -21
  447. package/node_modules/@conform-to/dom/README +0 -37
  448. package/node_modules/@conform-to/dom/_virtual/_rollupPluginBabelHelpers.js +0 -58
  449. package/node_modules/@conform-to/dom/_virtual/_rollupPluginBabelHelpers.mjs +0 -51
  450. package/node_modules/@conform-to/dom/dom.d.ts +0 -55
  451. package/node_modules/@conform-to/dom/dom.js +0 -104
  452. package/node_modules/@conform-to/dom/dom.mjs +0 -95
  453. package/node_modules/@conform-to/dom/form.d.ts +0 -246
  454. package/node_modules/@conform-to/dom/form.js +0 -582
  455. package/node_modules/@conform-to/dom/form.mjs +0 -578
  456. package/node_modules/@conform-to/dom/formdata.d.ts +0 -61
  457. package/node_modules/@conform-to/dom/formdata.js +0 -214
  458. package/node_modules/@conform-to/dom/formdata.mjs +0 -200
  459. package/node_modules/@conform-to/dom/index.d.ts +0 -26
  460. package/node_modules/@conform-to/dom/index.js +0 -20
  461. package/node_modules/@conform-to/dom/index.mjs +0 -4
  462. package/node_modules/@conform-to/dom/intent.d.ts +0 -114
  463. package/node_modules/@conform-to/dom/intent.js +0 -136
  464. package/node_modules/@conform-to/dom/intent.mjs +0 -126
  465. package/node_modules/@conform-to/dom/package.json +0 -59
  466. package/node_modules/@conform-to/dom/parse.d.ts +0 -50
  467. package/node_modules/@conform-to/dom/parse.js +0 -43
  468. package/node_modules/@conform-to/dom/parse.mjs +0 -37
  469. package/node_modules/@conform-to/dom/submission.d.ts +0 -135
  470. package/node_modules/@conform-to/dom/submission.js +0 -305
  471. package/node_modules/@conform-to/dom/submission.mjs +0 -288
  472. package/node_modules/@conform-to/dom/types.d.ts +0 -23
  473. package/node_modules/@conform-to/dom/util.d.ts +0 -6
  474. package/node_modules/@conform-to/dom/util.js +0 -19
  475. package/node_modules/@conform-to/dom/util.mjs +0 -13
  476. package/node_modules/@conform-to/react/LICENSE +0 -21
  477. package/node_modules/@conform-to/react/README +0 -37
  478. package/node_modules/@conform-to/react/_virtual/_rollupPluginBabelHelpers.js +0 -87
  479. package/node_modules/@conform-to/react/_virtual/_rollupPluginBabelHelpers.mjs +0 -78
  480. package/node_modules/@conform-to/react/context.d.ts +0 -200
  481. package/node_modules/@conform-to/react/context.js +0 -256
  482. package/node_modules/@conform-to/react/context.mjs +0 -241
  483. package/node_modules/@conform-to/react/experimental.d.ts +0 -0
  484. package/node_modules/@conform-to/react/helpers.d.ts +0 -208
  485. package/node_modules/@conform-to/react/helpers.js +0 -222
  486. package/node_modules/@conform-to/react/helpers.mjs +0 -211
  487. package/node_modules/@conform-to/react/hooks.d.ts +0 -63
  488. package/node_modules/@conform-to/react/hooks.js +0 -88
  489. package/node_modules/@conform-to/react/hooks.mjs +0 -79
  490. package/node_modules/@conform-to/react/index.d.ts +0 -29
  491. package/node_modules/@conform-to/react/index.js +0 -30
  492. package/node_modules/@conform-to/react/index.mjs +0 -5
  493. package/node_modules/@conform-to/react/integrations.d.ts +0 -45
  494. package/node_modules/@conform-to/react/integrations.js +0 -298
  495. package/node_modules/@conform-to/react/integrations.mjs +0 -284
  496. package/node_modules/@conform-to/react/package.json +0 -69
  497. package/node_modules/@conform-to/zod/LICENSE +0 -21
  498. package/node_modules/@conform-to/zod/README +0 -37
  499. package/node_modules/@conform-to/zod/_virtual/_rollupPluginBabelHelpers.js +0 -58
  500. package/node_modules/@conform-to/zod/_virtual/_rollupPluginBabelHelpers.mjs +0 -51
  501. package/node_modules/@conform-to/zod/coercion.d.ts +0 -37
  502. package/node_modules/@conform-to/zod/coercion.js +0 -171
  503. package/node_modules/@conform-to/zod/coercion.mjs +0 -164
  504. package/node_modules/@conform-to/zod/constraint.d.ts +0 -5
  505. package/node_modules/@conform-to/zod/constraint.js +0 -103
  506. package/node_modules/@conform-to/zod/constraint.mjs +0 -99
  507. package/node_modules/@conform-to/zod/index.d.ts +0 -2
  508. package/node_modules/@conform-to/zod/index.js +0 -12
  509. package/node_modules/@conform-to/zod/index.mjs +0 -2
  510. package/node_modules/@conform-to/zod/package.json +0 -61
  511. package/node_modules/@conform-to/zod/parse.d.ts +0 -46
  512. package/node_modules/@conform-to/zod/parse.js +0 -64
  513. package/node_modules/@conform-to/zod/parse.mjs +0 -59
  514. package/node_modules/@epic-web/client-hints/README.md +0 -221
  515. package/node_modules/@epic-web/client-hints/dist/color-scheme.d.ts +0 -12
  516. package/node_modules/@epic-web/client-hints/dist/color-scheme.js +0 -25
  517. package/node_modules/@epic-web/client-hints/dist/index.d.ts +0 -6
  518. package/node_modules/@epic-web/client-hints/dist/index.js +0 -79
  519. package/node_modules/@epic-web/client-hints/dist/reduced-motion.d.ts +0 -12
  520. package/node_modules/@epic-web/client-hints/dist/reduced-motion.js +0 -25
  521. package/node_modules/@epic-web/client-hints/dist/time-zone.d.ts +0 -5
  522. package/node_modules/@epic-web/client-hints/dist/time-zone.js +0 -5
  523. package/node_modules/@epic-web/client-hints/dist/utils.d.ts +0 -9
  524. package/node_modules/@epic-web/client-hints/dist/utils.js +0 -1
  525. package/node_modules/@epic-web/client-hints/package.json +0 -71
  526. package/node_modules/@epic-web/restore-scroll/README.md +0 -108
  527. package/node_modules/@epic-web/restore-scroll/dist/index.d.ts +0 -7
  528. package/node_modules/@epic-web/restore-scroll/dist/index.js +0 -85
  529. package/node_modules/@epic-web/restore-scroll/package.json +0 -64
  530. package/node_modules/@floating-ui/core/LICENSE +0 -20
  531. package/node_modules/@floating-ui/core/README.md +0 -4
  532. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +0 -1
  533. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +0 -1164
  534. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +0 -521
  535. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +0 -521
  536. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +0 -1036
  537. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +0 -1036
  538. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +0 -1183
  539. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +0 -1
  540. package/node_modules/@floating-ui/core/package.json +0 -63
  541. package/node_modules/@floating-ui/dom/LICENSE +0 -20
  542. package/node_modules/@floating-ui/dom/README.md +0 -4
  543. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +0 -1
  544. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +0 -853
  545. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +0 -356
  546. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +0 -356
  547. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +0 -704
  548. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +0 -704
  549. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +0 -872
  550. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +0 -1
  551. package/node_modules/@floating-ui/dom/package.json +0 -71
  552. package/node_modules/@floating-ui/react-dom/LICENSE +0 -20
  553. package/node_modules/@floating-ui/react-dom/README.md +0 -3
  554. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts +0 -307
  555. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.ts +0 -307
  556. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +0 -363
  557. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +0 -363
  558. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js +0 -414
  559. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.min.js +0 -1
  560. package/node_modules/@floating-ui/react-dom/package.json +0 -77
  561. package/node_modules/@floating-ui/utils/LICENSE +0 -20
  562. package/node_modules/@floating-ui/utils/README.md +0 -4
  563. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +0 -103
  564. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +0 -103
  565. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +0 -45
  566. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +0 -45
  567. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +0 -139
  568. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +0 -139
  569. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +0 -165
  570. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +0 -1
  571. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js +0 -138
  572. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +0 -138
  573. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js +0 -169
  574. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.min.js +0 -1
  575. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +0 -45
  576. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +0 -139
  577. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +0 -165
  578. package/node_modules/@floating-ui/utils/dom/package.json +0 -6
  579. package/node_modules/@floating-ui/utils/package.json +0 -70
  580. package/node_modules/@radix-ui/number/README.md +0 -13
  581. package/node_modules/@radix-ui/number/dist/index.d.mts +0 -3
  582. package/node_modules/@radix-ui/number/dist/index.d.ts +0 -3
  583. package/node_modules/@radix-ui/number/dist/index.js +0 -31
  584. package/node_modules/@radix-ui/number/dist/index.js.map +0 -7
  585. package/node_modules/@radix-ui/number/dist/index.mjs +0 -8
  586. package/node_modules/@radix-ui/number/dist/index.mjs.map +0 -7
  587. package/node_modules/@radix-ui/number/package.json +0 -38
  588. package/node_modules/@radix-ui/primitive/README.md +0 -13
  589. package/node_modules/@radix-ui/primitive/dist/index.d.mts +0 -5
  590. package/node_modules/@radix-ui/primitive/dist/index.d.ts +0 -5
  591. package/node_modules/@radix-ui/primitive/dist/index.js +0 -36
  592. package/node_modules/@radix-ui/primitive/dist/index.js.map +0 -7
  593. package/node_modules/@radix-ui/primitive/dist/index.mjs +0 -13
  594. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +0 -7
  595. package/node_modules/@radix-ui/primitive/package.json +0 -38
  596. package/node_modules/@radix-ui/react-accordion/README.md +0 -13
  597. package/node_modules/@radix-ui/react-accordion/dist/index.d.mts +0 -125
  598. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts +0 -125
  599. package/node_modules/@radix-ui/react-accordion/dist/index.js +0 -350
  600. package/node_modules/@radix-ui/react-accordion/dist/index.js.map +0 -7
  601. package/node_modules/@radix-ui/react-accordion/dist/index.mjs +0 -318
  602. package/node_modules/@radix-ui/react-accordion/dist/index.mjs.map +0 -7
  603. package/node_modules/@radix-ui/react-accordion/package.json +0 -63
  604. package/node_modules/@radix-ui/react-arrow/README.md +0 -13
  605. package/node_modules/@radix-ui/react-arrow/dist/index.d.mts +0 -10
  606. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts +0 -10
  607. package/node_modules/@radix-ui/react-arrow/dist/index.js +0 -60
  608. package/node_modules/@radix-ui/react-arrow/dist/index.js.map +0 -7
  609. package/node_modules/@radix-ui/react-arrow/dist/index.mjs +0 -27
  610. package/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +0 -7
  611. package/node_modules/@radix-ui/react-arrow/package.json +0 -55
  612. package/node_modules/@radix-ui/react-collapsible/README.md +0 -13
  613. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +0 -43
  614. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +0 -43
  615. package/node_modules/@radix-ui/react-collapsible/dist/index.js +0 -186
  616. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +0 -7
  617. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +0 -154
  618. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +0 -7
  619. package/node_modules/@radix-ui/react-collapsible/package.json +0 -62
  620. package/node_modules/@radix-ui/react-collection/README.md +0 -13
  621. package/node_modules/@radix-ui/react-collection/dist/index.d.mts +0 -34
  622. package/node_modules/@radix-ui/react-collection/dist/index.d.ts +0 -34
  623. package/node_modules/@radix-ui/react-collection/dist/index.js +0 -104
  624. package/node_modules/@radix-ui/react-collection/dist/index.js.map +0 -7
  625. package/node_modules/@radix-ui/react-collection/dist/index.mjs +0 -72
  626. package/node_modules/@radix-ui/react-collection/dist/index.mjs.map +0 -7
  627. package/node_modules/@radix-ui/react-collection/package.json +0 -58
  628. package/node_modules/@radix-ui/react-compose-refs/README.md +0 -13
  629. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +0 -15
  630. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +0 -15
  631. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -53
  632. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +0 -7
  633. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +0 -20
  634. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +0 -7
  635. package/node_modules/@radix-ui/react-compose-refs/package.json +0 -47
  636. package/node_modules/@radix-ui/react-context/README.md +0 -13
  637. package/node_modules/@radix-ui/react-context/dist/index.d.mts +0 -28
  638. package/node_modules/@radix-ui/react-context/dist/index.d.ts +0 -28
  639. package/node_modules/@radix-ui/react-context/dist/index.js +0 -114
  640. package/node_modules/@radix-ui/react-context/dist/index.js.map +0 -7
  641. package/node_modules/@radix-ui/react-context/dist/index.mjs +0 -81
  642. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +0 -7
  643. package/node_modules/@radix-ui/react-context/package.json +0 -47
  644. package/node_modules/@radix-ui/react-direction/README.md +0 -13
  645. package/node_modules/@radix-ui/react-direction/dist/index.d.mts +0 -12
  646. package/node_modules/@radix-ui/react-direction/dist/index.d.ts +0 -12
  647. package/node_modules/@radix-ui/react-direction/dist/index.js +0 -52
  648. package/node_modules/@radix-ui/react-direction/dist/index.js.map +0 -7
  649. package/node_modules/@radix-ui/react-direction/dist/index.mjs +0 -19
  650. package/node_modules/@radix-ui/react-direction/dist/index.mjs.map +0 -7
  651. package/node_modules/@radix-ui/react-direction/package.json +0 -47
  652. package/node_modules/@radix-ui/react-dismissable-layer/README.md +0 -13
  653. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +0 -51
  654. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +0 -51
  655. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +0 -253
  656. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +0 -7
  657. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +0 -221
  658. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +0 -7
  659. package/node_modules/@radix-ui/react-dismissable-layer/package.json +0 -62
  660. package/node_modules/@radix-ui/react-focus-guards/README.md +0 -13
  661. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.mts +0 -9
  662. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts +0 -9
  663. package/node_modules/@radix-ui/react-focus-guards/dist/index.js +0 -69
  664. package/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +0 -7
  665. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +0 -37
  666. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.map +0 -7
  667. package/node_modules/@radix-ui/react-focus-guards/package.json +0 -47
  668. package/node_modules/@radix-ui/react-focus-scope/README.md +0 -13
  669. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts +0 -32
  670. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts +0 -32
  671. package/node_modules/@radix-ui/react-focus-scope/dist/index.js +0 -246
  672. package/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +0 -7
  673. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +0 -214
  674. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.map +0 -7
  675. package/node_modules/@radix-ui/react-focus-scope/package.json +0 -57
  676. package/node_modules/@radix-ui/react-id/README.md +0 -13
  677. package/node_modules/@radix-ui/react-id/dist/index.d.mts +0 -3
  678. package/node_modules/@radix-ui/react-id/dist/index.d.ts +0 -3
  679. package/node_modules/@radix-ui/react-id/dist/index.js +0 -49
  680. package/node_modules/@radix-ui/react-id/dist/index.js.map +0 -7
  681. package/node_modules/@radix-ui/react-id/dist/index.mjs +0 -16
  682. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +0 -7
  683. package/node_modules/@radix-ui/react-id/package.json +0 -50
  684. package/node_modules/@radix-ui/react-popover/README.md +0 -13
  685. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +0 -95
  686. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +0 -95
  687. package/node_modules/@radix-ui/react-popover/dist/index.js +0 -350
  688. package/node_modules/@radix-ui/react-popover/dist/index.js.map +0 -7
  689. package/node_modules/@radix-ui/react-popover/dist/index.mjs +0 -318
  690. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +0 -7
  691. package/node_modules/@radix-ui/react-popover/package.json +0 -69
  692. package/node_modules/@radix-ui/react-popper/README.md +0 -13
  693. package/node_modules/@radix-ui/react-popper/dist/index.d.mts +0 -56
  694. package/node_modules/@radix-ui/react-popper/dist/index.d.ts +0 -56
  695. package/node_modules/@radix-ui/react-popper/dist/index.js +0 -325
  696. package/node_modules/@radix-ui/react-popper/dist/index.js.map +0 -7
  697. package/node_modules/@radix-ui/react-popper/dist/index.mjs +0 -303
  698. package/node_modules/@radix-ui/react-popper/dist/index.mjs.map +0 -7
  699. package/node_modules/@radix-ui/react-popper/package.json +0 -64
  700. package/node_modules/@radix-ui/react-portal/README.md +0 -13
  701. package/node_modules/@radix-ui/react-portal/dist/index.d.mts +0 -14
  702. package/node_modules/@radix-ui/react-portal/dist/index.d.ts +0 -14
  703. package/node_modules/@radix-ui/react-portal/dist/index.js +0 -55
  704. package/node_modules/@radix-ui/react-portal/dist/index.js.map +0 -7
  705. package/node_modules/@radix-ui/react-portal/dist/index.mjs +0 -23
  706. package/node_modules/@radix-ui/react-portal/dist/index.mjs.map +0 -7
  707. package/node_modules/@radix-ui/react-portal/package.json +0 -56
  708. package/node_modules/@radix-ui/react-presence/README.md +0 -13
  709. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +0 -11
  710. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +0 -11
  711. package/node_modules/@radix-ui/react-presence/dist/index.js +0 -158
  712. package/node_modules/@radix-ui/react-presence/dist/index.js.map +0 -7
  713. package/node_modules/@radix-ui/react-presence/dist/index.mjs +0 -126
  714. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +0 -7
  715. package/node_modules/@radix-ui/react-presence/package.json +0 -56
  716. package/node_modules/@radix-ui/react-primitive/README.md +0 -13
  717. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +0 -52
  718. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +0 -52
  719. package/node_modules/@radix-ui/react-primitive/dist/index.js +0 -78
  720. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -7
  721. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -45
  722. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -7
  723. package/node_modules/@radix-ui/react-primitive/package.json +0 -58
  724. package/node_modules/@radix-ui/react-roving-focus/README.md +0 -13
  725. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts +0 -55
  726. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts +0 -55
  727. package/node_modules/@radix-ui/react-roving-focus/dist/index.js +0 -260
  728. package/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +0 -7
  729. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +0 -228
  730. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +0 -7
  731. package/node_modules/@radix-ui/react-roving-focus/package.json +0 -63
  732. package/node_modules/@radix-ui/react-select/README.md +0 -13
  733. package/node_modules/@radix-ui/react-select/dist/index.d.mts +0 -144
  734. package/node_modules/@radix-ui/react-select/dist/index.d.ts +0 -144
  735. package/node_modules/@radix-ui/react-select/dist/index.js +0 -1182
  736. package/node_modules/@radix-ui/react-select/dist/index.js.map +0 -7
  737. package/node_modules/@radix-ui/react-select/dist/index.mjs +0 -1150
  738. package/node_modules/@radix-ui/react-select/dist/index.mjs.map +0 -7
  739. package/node_modules/@radix-ui/react-select/package.json +0 -75
  740. package/node_modules/@radix-ui/react-slot/README.md +0 -13
  741. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +0 -13
  742. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +0 -13
  743. package/node_modules/@radix-ui/react-slot/dist/index.js +0 -118
  744. package/node_modules/@radix-ui/react-slot/dist/index.js.map +0 -7
  745. package/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -85
  746. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -7
  747. package/node_modules/@radix-ui/react-slot/package.json +0 -50
  748. package/node_modules/@radix-ui/react-tabs/README.md +0 -13
  749. package/node_modules/@radix-ui/react-tabs/dist/index.d.mts +0 -66
  750. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts +0 -66
  751. package/node_modules/@radix-ui/react-tabs/dist/index.js +0 -231
  752. package/node_modules/@radix-ui/react-tabs/dist/index.js.map +0 -7
  753. package/node_modules/@radix-ui/react-tabs/dist/index.mjs +0 -199
  754. package/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +0 -7
  755. package/node_modules/@radix-ui/react-tabs/package.json +0 -62
  756. package/node_modules/@radix-ui/react-toast/README.md +0 -13
  757. package/node_modules/@radix-ui/react-toast/dist/index.d.mts +0 -130
  758. package/node_modules/@radix-ui/react-toast/dist/index.d.ts +0 -130
  759. package/node_modules/@radix-ui/react-toast/dist/index.js +0 -681
  760. package/node_modules/@radix-ui/react-toast/dist/index.js.map +0 -7
  761. package/node_modules/@radix-ui/react-toast/dist/index.mjs +0 -649
  762. package/node_modules/@radix-ui/react-toast/dist/index.mjs.map +0 -7
  763. package/node_modules/@radix-ui/react-toast/package.json +0 -66
  764. package/node_modules/@radix-ui/react-use-callback-ref/README.md +0 -13
  765. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.mts +0 -7
  766. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts +0 -7
  767. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +0 -46
  768. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +0 -7
  769. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +0 -13
  770. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +0 -7
  771. package/node_modules/@radix-ui/react-use-callback-ref/package.json +0 -47
  772. package/node_modules/@radix-ui/react-use-controllable-state/README.md +0 -13
  773. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +0 -10
  774. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +0 -10
  775. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +0 -80
  776. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +0 -7
  777. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +0 -47
  778. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +0 -7
  779. package/node_modules/@radix-ui/react-use-controllable-state/package.json +0 -50
  780. package/node_modules/@radix-ui/react-use-escape-keydown/README.md +0 -13
  781. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.mts +0 -6
  782. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts +0 -6
  783. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +0 -52
  784. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +0 -7
  785. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +0 -19
  786. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.map +0 -7
  787. package/node_modules/@radix-ui/react-use-escape-keydown/package.json +0 -50
  788. package/node_modules/@radix-ui/react-use-layout-effect/README.md +0 -13
  789. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +0 -12
  790. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +0 -12
  791. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +0 -41
  792. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +0 -7
  793. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +0 -8
  794. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +0 -7
  795. package/node_modules/@radix-ui/react-use-layout-effect/package.json +0 -47
  796. package/node_modules/@radix-ui/react-use-previous/README.md +0 -13
  797. package/node_modules/@radix-ui/react-use-previous/dist/index.d.mts +0 -3
  798. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts +0 -3
  799. package/node_modules/@radix-ui/react-use-previous/dist/index.js +0 -49
  800. package/node_modules/@radix-ui/react-use-previous/dist/index.js.map +0 -7
  801. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs +0 -16
  802. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs.map +0 -7
  803. package/node_modules/@radix-ui/react-use-previous/package.json +0 -47
  804. package/node_modules/@radix-ui/react-use-rect/README.md +0 -13
  805. package/node_modules/@radix-ui/react-use-rect/dist/index.d.mts +0 -9
  806. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts +0 -9
  807. package/node_modules/@radix-ui/react-use-rect/dist/index.js +0 -54
  808. package/node_modules/@radix-ui/react-use-rect/dist/index.js.map +0 -7
  809. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs +0 -21
  810. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs.map +0 -7
  811. package/node_modules/@radix-ui/react-use-rect/package.json +0 -50
  812. package/node_modules/@radix-ui/react-use-size/README.md +0 -13
  813. package/node_modules/@radix-ui/react-use-size/dist/index.d.mts +0 -6
  814. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts +0 -6
  815. package/node_modules/@radix-ui/react-use-size/dist/index.js +0 -74
  816. package/node_modules/@radix-ui/react-use-size/dist/index.js.map +0 -7
  817. package/node_modules/@radix-ui/react-use-size/dist/index.mjs +0 -41
  818. package/node_modules/@radix-ui/react-use-size/dist/index.mjs.map +0 -7
  819. package/node_modules/@radix-ui/react-use-size/package.json +0 -53
  820. package/node_modules/@radix-ui/react-visually-hidden/README.md +0 -13
  821. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts +0 -10
  822. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts +0 -10
  823. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js +0 -70
  824. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +0 -7
  825. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +0 -37
  826. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.map +0 -7
  827. package/node_modules/@radix-ui/react-visually-hidden/package.json +0 -55
  828. package/node_modules/@radix-ui/rect/README.md +0 -13
  829. package/node_modules/@radix-ui/rect/dist/index.d.mts +0 -16
  830. package/node_modules/@radix-ui/rect/dist/index.d.ts +0 -16
  831. package/node_modules/@radix-ui/rect/dist/index.js +0 -73
  832. package/node_modules/@radix-ui/rect/dist/index.js.map +0 -7
  833. package/node_modules/@radix-ui/rect/dist/index.mjs +0 -50
  834. package/node_modules/@radix-ui/rect/dist/index.mjs.map +0 -7
  835. package/node_modules/@radix-ui/rect/package.json +0 -38
  836. package/node_modules/@remix-run/react/CHANGELOG.md +0 -964
  837. package/node_modules/@remix-run/react/LICENSE.md +0 -22
  838. package/node_modules/@remix-run/react/README.md +0 -13
  839. package/node_modules/@remix-run/react/dist/_virtual/_rollupPluginBabelHelpers.js +0 -30
  840. package/node_modules/@remix-run/react/dist/browser.d.ts +0 -37
  841. package/node_modules/@remix-run/react/dist/browser.js +0 -268
  842. package/node_modules/@remix-run/react/dist/components.d.ts +0 -137
  843. package/node_modules/@remix-run/react/dist/components.js +0 -911
  844. package/node_modules/@remix-run/react/dist/data.d.ts +0 -15
  845. package/node_modules/@remix-run/react/dist/data.js +0 -280
  846. package/node_modules/@remix-run/react/dist/entry.d.ts +0 -51
  847. package/node_modules/@remix-run/react/dist/errorBoundaries.d.ts +0 -36
  848. package/node_modules/@remix-run/react/dist/errorBoundaries.js +0 -186
  849. package/node_modules/@remix-run/react/dist/errors.d.ts +0 -2
  850. package/node_modules/@remix-run/react/dist/errors.js +0 -53
  851. package/node_modules/@remix-run/react/dist/esm/_virtual/_rollupPluginBabelHelpers.js +0 -26
  852. package/node_modules/@remix-run/react/dist/esm/browser.js +0 -308
  853. package/node_modules/@remix-run/react/dist/esm/components.js +0 -878
  854. package/node_modules/@remix-run/react/dist/esm/data.js +0 -267
  855. package/node_modules/@remix-run/react/dist/esm/errorBoundaries.js +0 -160
  856. package/node_modules/@remix-run/react/dist/esm/errors.js +0 -49
  857. package/node_modules/@remix-run/react/dist/esm/fallback.js +0 -35
  858. package/node_modules/@remix-run/react/dist/esm/fog-of-war.js +0 -226
  859. package/node_modules/@remix-run/react/dist/esm/index.js +0 -17
  860. package/node_modules/@remix-run/react/dist/esm/invariant.js +0 -17
  861. package/node_modules/@remix-run/react/dist/esm/links.js +0 -258
  862. package/node_modules/@remix-run/react/dist/esm/markup.js +0 -34
  863. package/node_modules/@remix-run/react/dist/esm/routeModules.js +0 -89
  864. package/node_modules/@remix-run/react/dist/esm/routes.js +0 -411
  865. package/node_modules/@remix-run/react/dist/esm/scroll-restoration.js +0 -84
  866. package/node_modules/@remix-run/react/dist/esm/server.js +0 -93
  867. package/node_modules/@remix-run/react/dist/esm/single-fetch.js +0 -309
  868. package/node_modules/@remix-run/react/dist/fallback.d.ts +0 -2
  869. package/node_modules/@remix-run/react/dist/fallback.js +0 -59
  870. package/node_modules/@remix-run/react/dist/fog-of-war.d.ts +0 -37
  871. package/node_modules/@remix-run/react/dist/fog-of-war.js +0 -254
  872. package/node_modules/@remix-run/react/dist/index.d.ts +0 -16
  873. package/node_modules/@remix-run/react/dist/index.js +0 -227
  874. package/node_modules/@remix-run/react/dist/invariant.d.ts +0 -2
  875. package/node_modules/@remix-run/react/dist/invariant.js +0 -19
  876. package/node_modules/@remix-run/react/dist/links.d.ts +0 -128
  877. package/node_modules/@remix-run/react/dist/links.js +0 -268
  878. package/node_modules/@remix-run/react/dist/markup.d.ts +0 -5
  879. package/node_modules/@remix-run/react/dist/markup.js +0 -39
  880. package/node_modules/@remix-run/react/dist/routeModules.d.ts +0 -132
  881. package/node_modules/@remix-run/react/dist/routeModules.js +0 -111
  882. package/node_modules/@remix-run/react/dist/routes.d.ts +0 -32
  883. package/node_modules/@remix-run/react/dist/routes.js +0 -438
  884. package/node_modules/@remix-run/react/dist/scroll-restoration.d.ts +0 -12
  885. package/node_modules/@remix-run/react/dist/scroll-restoration.js +0 -108
  886. package/node_modules/@remix-run/react/dist/server.d.ts +0 -14
  887. package/node_modules/@remix-run/react/dist/server.js +0 -117
  888. package/node_modules/@remix-run/react/dist/single-fetch.d.ts +0 -34
  889. package/node_modules/@remix-run/react/dist/single-fetch.js +0 -339
  890. package/node_modules/@remix-run/react/dist/warnings.d.ts +0 -1
  891. package/node_modules/@remix-run/react/future/single-fetch.d.ts +0 -73
  892. package/node_modules/@remix-run/react/package.json +0 -59
  893. package/node_modules/@remix-run/router/CHANGELOG.md +0 -747
  894. package/node_modules/@remix-run/router/LICENSE.md +0 -23
  895. package/node_modules/@remix-run/router/README.md +0 -135
  896. package/node_modules/@remix-run/router/dist/history.d.ts +0 -250
  897. package/node_modules/@remix-run/router/dist/index.d.ts +0 -9
  898. package/node_modules/@remix-run/router/dist/router.cjs.js +0 -5407
  899. package/node_modules/@remix-run/router/dist/router.cjs.js.map +0 -1
  900. package/node_modules/@remix-run/router/dist/router.d.ts +0 -523
  901. package/node_modules/@remix-run/router/dist/router.js +0 -4856
  902. package/node_modules/@remix-run/router/dist/router.js.map +0 -1
  903. package/node_modules/@remix-run/router/dist/router.umd.js +0 -5413
  904. package/node_modules/@remix-run/router/dist/router.umd.js.map +0 -1
  905. package/node_modules/@remix-run/router/dist/router.umd.min.js +0 -12
  906. package/node_modules/@remix-run/router/dist/router.umd.min.js.map +0 -1
  907. package/node_modules/@remix-run/router/dist/utils.d.ts +0 -528
  908. package/node_modules/@remix-run/router/history.ts +0 -746
  909. package/node_modules/@remix-run/router/index.ts +0 -101
  910. package/node_modules/@remix-run/router/package.json +0 -33
  911. package/node_modules/@remix-run/router/router.ts +0 -5760
  912. package/node_modules/@remix-run/router/utils.ts +0 -1673
  913. package/node_modules/@remix-run/server-runtime/CHANGELOG.md +0 -1023
  914. package/node_modules/@remix-run/server-runtime/LICENSE.md +0 -22
  915. package/node_modules/@remix-run/server-runtime/README.md +0 -26
  916. package/node_modules/@remix-run/server-runtime/dist/build.d.ts +0 -39
  917. package/node_modules/@remix-run/server-runtime/dist/cookies.d.ts +0 -69
  918. package/node_modules/@remix-run/server-runtime/dist/cookies.js +0 -173
  919. package/node_modules/@remix-run/server-runtime/dist/crypto.d.ts +0 -2
  920. package/node_modules/@remix-run/server-runtime/dist/data.d.ts +0 -33
  921. package/node_modules/@remix-run/server-runtime/dist/data.js +0 -138
  922. package/node_modules/@remix-run/server-runtime/dist/deprecations.d.ts +0 -1
  923. package/node_modules/@remix-run/server-runtime/dist/deprecations.js +0 -19
  924. package/node_modules/@remix-run/server-runtime/dist/dev.d.ts +0 -10
  925. package/node_modules/@remix-run/server-runtime/dist/dev.js +0 -53
  926. package/node_modules/@remix-run/server-runtime/dist/entry.d.ts +0 -43
  927. package/node_modules/@remix-run/server-runtime/dist/entry.js +0 -22
  928. package/node_modules/@remix-run/server-runtime/dist/errors.d.ts +0 -51
  929. package/node_modules/@remix-run/server-runtime/dist/errors.js +0 -122
  930. package/node_modules/@remix-run/server-runtime/dist/esm/cookies.js +0 -168
  931. package/node_modules/@remix-run/server-runtime/dist/esm/data.js +0 -133
  932. package/node_modules/@remix-run/server-runtime/dist/esm/deprecations.js +0 -15
  933. package/node_modules/@remix-run/server-runtime/dist/esm/dev.js +0 -46
  934. package/node_modules/@remix-run/server-runtime/dist/esm/entry.js +0 -18
  935. package/node_modules/@remix-run/server-runtime/dist/esm/errors.js +0 -115
  936. package/node_modules/@remix-run/server-runtime/dist/esm/formData.js +0 -55
  937. package/node_modules/@remix-run/server-runtime/dist/esm/headers.js +0 -90
  938. package/node_modules/@remix-run/server-runtime/dist/esm/index.js +0 -21
  939. package/node_modules/@remix-run/server-runtime/dist/esm/invariant.js +0 -18
  940. package/node_modules/@remix-run/server-runtime/dist/esm/markup.js +0 -29
  941. package/node_modules/@remix-run/server-runtime/dist/esm/mode.js +0 -24
  942. package/node_modules/@remix-run/server-runtime/dist/esm/responses.js +0 -123
  943. package/node_modules/@remix-run/server-runtime/dist/esm/routeMatching.js +0 -23
  944. package/node_modules/@remix-run/server-runtime/dist/esm/routes.js +0 -81
  945. package/node_modules/@remix-run/server-runtime/dist/esm/server.js +0 -524
  946. package/node_modules/@remix-run/server-runtime/dist/esm/serverHandoff.js +0 -20
  947. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/cookieStorage.js +0 -51
  948. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/memoryStorage.js +0 -61
  949. package/node_modules/@remix-run/server-runtime/dist/esm/sessions.js +0 -145
  950. package/node_modules/@remix-run/server-runtime/dist/esm/single-fetch.js +0 -450
  951. package/node_modules/@remix-run/server-runtime/dist/esm/upload/errors.js +0 -19
  952. package/node_modules/@remix-run/server-runtime/dist/esm/upload/memoryUploadHandler.js +0 -50
  953. package/node_modules/@remix-run/server-runtime/dist/esm/warnings.js +0 -19
  954. package/node_modules/@remix-run/server-runtime/dist/formData.d.ts +0 -15
  955. package/node_modules/@remix-run/server-runtime/dist/formData.js +0 -60
  956. package/node_modules/@remix-run/server-runtime/dist/headers.d.ts +0 -3
  957. package/node_modules/@remix-run/server-runtime/dist/headers.js +0 -94
  958. package/node_modules/@remix-run/server-runtime/dist/index.d.ts +0 -14
  959. package/node_modules/@remix-run/server-runtime/dist/index.js +0 -50
  960. package/node_modules/@remix-run/server-runtime/dist/interface.d.ts +0 -6
  961. package/node_modules/@remix-run/server-runtime/dist/invariant.d.ts +0 -2
  962. package/node_modules/@remix-run/server-runtime/dist/invariant.js +0 -22
  963. package/node_modules/@remix-run/server-runtime/dist/jsonify.d.ts +0 -33
  964. package/node_modules/@remix-run/server-runtime/dist/links.d.ts +0 -104
  965. package/node_modules/@remix-run/server-runtime/dist/markup.d.ts +0 -1
  966. package/node_modules/@remix-run/server-runtime/dist/markup.js +0 -33
  967. package/node_modules/@remix-run/server-runtime/dist/mode.d.ts +0 -9
  968. package/node_modules/@remix-run/server-runtime/dist/mode.js +0 -29
  969. package/node_modules/@remix-run/server-runtime/dist/reexport.d.ts +0 -14
  970. package/node_modules/@remix-run/server-runtime/dist/responses.d.ts +0 -47
  971. package/node_modules/@remix-run/server-runtime/dist/responses.js +0 -135
  972. package/node_modules/@remix-run/server-runtime/dist/routeMatching.d.ts +0 -8
  973. package/node_modules/@remix-run/server-runtime/dist/routeMatching.js +0 -27
  974. package/node_modules/@remix-run/server-runtime/dist/routeModules.d.ts +0 -214
  975. package/node_modules/@remix-run/server-runtime/dist/routes.d.ts +0 -31
  976. package/node_modules/@remix-run/server-runtime/dist/routes.js +0 -86
  977. package/node_modules/@remix-run/server-runtime/dist/serialize.d.ts +0 -25
  978. package/node_modules/@remix-run/server-runtime/dist/server.d.ts +0 -5
  979. package/node_modules/@remix-run/server-runtime/dist/server.js +0 -528
  980. package/node_modules/@remix-run/server-runtime/dist/serverHandoff.d.ts +0 -12
  981. package/node_modules/@remix-run/server-runtime/dist/serverHandoff.js +0 -24
  982. package/node_modules/@remix-run/server-runtime/dist/sessions/cookieStorage.d.ts +0 -23
  983. package/node_modules/@remix-run/server-runtime/dist/sessions/cookieStorage.js +0 -55
  984. package/node_modules/@remix-run/server-runtime/dist/sessions/memoryStorage.d.ts +0 -20
  985. package/node_modules/@remix-run/server-runtime/dist/sessions/memoryStorage.js +0 -65
  986. package/node_modules/@remix-run/server-runtime/dist/sessions.d.ts +0 -143
  987. package/node_modules/@remix-run/server-runtime/dist/sessions.js +0 -152
  988. package/node_modules/@remix-run/server-runtime/dist/single-fetch.d.ts +0 -90
  989. package/node_modules/@remix-run/server-runtime/dist/single-fetch.js +0 -468
  990. package/node_modules/@remix-run/server-runtime/dist/typecheck.d.ts +0 -4
  991. package/node_modules/@remix-run/server-runtime/dist/upload/errors.d.ts +0 -5
  992. package/node_modules/@remix-run/server-runtime/dist/upload/errors.js +0 -23
  993. package/node_modules/@remix-run/server-runtime/dist/upload/memoryUploadHandler.d.ts +0 -21
  994. package/node_modules/@remix-run/server-runtime/dist/upload/memoryUploadHandler.js +0 -54
  995. package/node_modules/@remix-run/server-runtime/dist/warnings.d.ts +0 -1
  996. package/node_modules/@remix-run/server-runtime/dist/warnings.js +0 -23
  997. package/node_modules/@remix-run/server-runtime/package.json +0 -51
  998. package/node_modules/@types/cookie/LICENSE +0 -21
  999. package/node_modules/@types/cookie/README.md +0 -15
  1000. package/node_modules/@types/cookie/index.d.ts +0 -154
  1001. package/node_modules/@types/cookie/package.json +0 -30
  1002. package/node_modules/@web3-storage/multipart-parser/README.md +0 -37
  1003. package/node_modules/@web3-storage/multipart-parser/cjs/src/index.js +0 -218
  1004. package/node_modules/@web3-storage/multipart-parser/cjs/src/search.js +0 -269
  1005. package/node_modules/@web3-storage/multipart-parser/cjs/src/utils.js +0 -37
  1006. package/node_modules/@web3-storage/multipart-parser/esm/package.json +0 -4
  1007. package/node_modules/@web3-storage/multipart-parser/esm/src/index.js +0 -219
  1008. package/node_modules/@web3-storage/multipart-parser/esm/src/search.js +0 -269
  1009. package/node_modules/@web3-storage/multipart-parser/esm/src/utils.js +0 -28
  1010. package/node_modules/@web3-storage/multipart-parser/index.js +0 -1
  1011. package/node_modules/@web3-storage/multipart-parser/package.json +0 -44
  1012. package/node_modules/@web3-storage/multipart-parser/src/index.js +0 -257
  1013. package/node_modules/@web3-storage/multipart-parser/src/search.js +0 -329
  1014. package/node_modules/@web3-storage/multipart-parser/src/utils.js +0 -43
  1015. package/node_modules/@web3-storage/multipart-parser/test/test.spec.js +0 -65
  1016. package/node_modules/@web3-storage/multipart-parser/tsconfig.json +0 -41
  1017. package/node_modules/@web3-storage/multipart-parser/types/index.d.ts +0 -15
  1018. package/node_modules/@web3-storage/multipart-parser/types/index.d.ts.map +0 -1
  1019. package/node_modules/@web3-storage/multipart-parser/types/search.d.ts +0 -36
  1020. package/node_modules/@web3-storage/multipart-parser/types/search.d.ts.map +0 -1
  1021. package/node_modules/@web3-storage/multipart-parser/types/utils.d.ts +0 -18
  1022. package/node_modules/@web3-storage/multipart-parser/types/utils.d.ts.map +0 -1
  1023. package/node_modules/aria-hidden/LICENSE +0 -21
  1024. package/node_modules/aria-hidden/README.md +0 -99
  1025. package/node_modules/aria-hidden/dist/es2015/index.d.ts +0 -29
  1026. package/node_modules/aria-hidden/dist/es2015/index.js +0 -166
  1027. package/node_modules/aria-hidden/dist/es2019/index.d.ts +0 -29
  1028. package/node_modules/aria-hidden/dist/es2019/index.js +0 -155
  1029. package/node_modules/aria-hidden/dist/es5/index.d.ts +0 -29
  1030. package/node_modules/aria-hidden/dist/es5/index.js +0 -173
  1031. package/node_modules/aria-hidden/package.json +0 -70
  1032. package/node_modules/assertion-error/LICENSE +0 -21
  1033. package/node_modules/assertion-error/README.md +0 -68
  1034. package/node_modules/assertion-error/index.d.ts +0 -27
  1035. package/node_modules/assertion-error/index.js +0 -60
  1036. package/node_modules/assertion-error/package.json +0 -32
  1037. package/node_modules/chai/CODEOWNERS +0 -1
  1038. package/node_modules/chai/CODE_OF_CONDUCT.md +0 -58
  1039. package/node_modules/chai/CONTRIBUTING.md +0 -218
  1040. package/node_modules/chai/History.md +0 -1059
  1041. package/node_modules/chai/LICENSE +0 -21
  1042. package/node_modules/chai/README.md +0 -154
  1043. package/node_modules/chai/ReleaseNotes.md +0 -737
  1044. package/node_modules/chai/chai.js +0 -4018
  1045. package/node_modules/chai/eslint.config.js +0 -12
  1046. package/node_modules/chai/index.js +0 -1
  1047. package/node_modules/chai/lib/chai/assertion.js +0 -164
  1048. package/node_modules/chai/lib/chai/config.js +0 -114
  1049. package/node_modules/chai/lib/chai/core/assertions.js +0 -3933
  1050. package/node_modules/chai/lib/chai/interface/assert.js +0 -3012
  1051. package/node_modules/chai/lib/chai/interface/expect.js +0 -55
  1052. package/node_modules/chai/lib/chai/interface/should.js +0 -221
  1053. package/node_modules/chai/lib/chai/utils/addChainableMethod.js +0 -147
  1054. package/node_modules/chai/lib/chai/utils/addLengthGuard.js +0 -60
  1055. package/node_modules/chai/lib/chai/utils/addMethod.js +0 -67
  1056. package/node_modules/chai/lib/chai/utils/addProperty.js +0 -71
  1057. package/node_modules/chai/lib/chai/utils/compareByInspect.js +0 -26
  1058. package/node_modules/chai/lib/chai/utils/expectTypes.js +0 -50
  1059. package/node_modules/chai/lib/chai/utils/flag.js +0 -33
  1060. package/node_modules/chai/lib/chai/utils/getActual.js +0 -20
  1061. package/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +0 -25
  1062. package/node_modules/chai/lib/chai/utils/getMessage.js +0 -46
  1063. package/node_modules/chai/lib/chai/utils/getOperator.js +0 -58
  1064. package/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js +0 -24
  1065. package/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js +0 -26
  1066. package/node_modules/chai/lib/chai/utils/getProperties.js +0 -38
  1067. package/node_modules/chai/lib/chai/utils/index.js +0 -107
  1068. package/node_modules/chai/lib/chai/utils/inspect.js +0 -31
  1069. package/node_modules/chai/lib/chai/utils/isNaN.js +0 -26
  1070. package/node_modules/chai/lib/chai/utils/isProxyEnabled.js +0 -24
  1071. package/node_modules/chai/lib/chai/utils/objDisplay.js +0 -46
  1072. package/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +0 -68
  1073. package/node_modules/chai/lib/chai/utils/overwriteMethod.js +0 -91
  1074. package/node_modules/chai/lib/chai/utils/overwriteProperty.js +0 -90
  1075. package/node_modules/chai/lib/chai/utils/proxify.js +0 -147
  1076. package/node_modules/chai/lib/chai/utils/test.js +0 -24
  1077. package/node_modules/chai/lib/chai/utils/transferFlags.js +0 -43
  1078. package/node_modules/chai/lib/chai/utils/type-detect.js +0 -20
  1079. package/node_modules/chai/lib/chai.js +0 -65
  1080. package/node_modules/chai/package.json +0 -61
  1081. package/node_modules/chai/register-assert.cjs +0 -3
  1082. package/node_modules/chai/register-assert.js +0 -3
  1083. package/node_modules/chai/register-expect.cjs +0 -3
  1084. package/node_modules/chai/register-expect.js +0 -3
  1085. package/node_modules/chai/register-should.cjs +0 -3
  1086. package/node_modules/chai/register-should.js +0 -3
  1087. package/node_modules/chai/web-test-runner.config.js +0 -20
  1088. package/node_modules/chai-dom/.eslintrc +0 -22
  1089. package/node_modules/chai-dom/.travis.yml +0 -15
  1090. package/node_modules/chai-dom/LICENSE +0 -24
  1091. package/node_modules/chai-dom/README.md +0 -267
  1092. package/node_modules/chai-dom/bower.json +0 -31
  1093. package/node_modules/chai-dom/chai-dom.js +0 -429
  1094. package/node_modules/chai-dom/package.json +0 -44
  1095. package/node_modules/chai-dom/test/.eslintrc +0 -12
  1096. package/node_modules/chai-dom/test/index.html +0 -27
  1097. package/node_modules/chai-dom/test/tests.js +0 -1124
  1098. package/node_modules/chai-dom/testem.js +0 -31
  1099. package/node_modules/check-error/LICENSE +0 -19
  1100. package/node_modules/check-error/README.md +0 -144
  1101. package/node_modules/check-error/index.js +0 -135
  1102. package/node_modules/check-error/package.json +0 -66
  1103. package/node_modules/clsx/clsx.d.mts +0 -6
  1104. package/node_modules/clsx/clsx.d.ts +0 -10
  1105. package/node_modules/clsx/dist/clsx.js +0 -1
  1106. package/node_modules/clsx/dist/clsx.min.js +0 -1
  1107. package/node_modules/clsx/dist/clsx.mjs +0 -1
  1108. package/node_modules/clsx/dist/lite.js +0 -1
  1109. package/node_modules/clsx/dist/lite.mjs +0 -1
  1110. package/node_modules/clsx/license +0 -9
  1111. package/node_modules/clsx/package.json +0 -60
  1112. package/node_modules/clsx/readme.md +0 -154
  1113. package/node_modules/cookie/HISTORY.md +0 -147
  1114. package/node_modules/cookie/LICENSE +0 -24
  1115. package/node_modules/cookie/README.md +0 -317
  1116. package/node_modules/cookie/SECURITY.md +0 -25
  1117. package/node_modules/cookie/index.js +0 -274
  1118. package/node_modules/cookie/package.json +0 -44
  1119. package/node_modules/deep-eql/LICENSE +0 -19
  1120. package/node_modules/deep-eql/README.md +0 -93
  1121. package/node_modules/deep-eql/index.js +0 -513
  1122. package/node_modules/deep-eql/package.json +0 -73
  1123. package/node_modules/detect-node-es/LICENSE +0 -21
  1124. package/node_modules/detect-node-es/Readme.md +0 -39
  1125. package/node_modules/detect-node-es/es5/browser.js +0 -2
  1126. package/node_modules/detect-node-es/es5/node.d.ts +0 -4
  1127. package/node_modules/detect-node-es/es5/node.js +0 -2
  1128. package/node_modules/detect-node-es/esm/browser.js +0 -2
  1129. package/node_modules/detect-node-es/esm/node.js +0 -2
  1130. package/node_modules/detect-node-es/package.json +0 -29
  1131. package/node_modules/framer-motion/LICENSE.md +0 -21
  1132. package/node_modules/framer-motion/README.md +0 -105
  1133. package/node_modules/framer-motion/dist/cjs/dom-entry-GDJJhIpT.js +0 -5959
  1134. package/node_modules/framer-motion/dist/cjs/dom-entry.js +0 -53
  1135. package/node_modules/framer-motion/dist/cjs/index.js +0 -6566
  1136. package/node_modules/framer-motion/dist/dom-entry.d.ts +0 -964
  1137. package/node_modules/framer-motion/dist/dom.js +0 -1
  1138. package/node_modules/framer-motion/dist/es/animation/GroupPlaybackControls.mjs +0 -80
  1139. package/node_modules/framer-motion/dist/es/animation/animate.mjs +0 -83
  1140. package/node_modules/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +0 -295
  1141. package/node_modules/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +0 -84
  1142. package/node_modules/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +0 -382
  1143. package/node_modules/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +0 -17
  1144. package/node_modules/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +0 -40
  1145. package/node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs +0 -40
  1146. package/node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs +0 -23
  1147. package/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +0 -12
  1148. package/node_modules/framer-motion/dist/es/animation/generators/inertia.mjs +0 -87
  1149. package/node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs +0 -51
  1150. package/node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs +0 -89
  1151. package/node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs +0 -131
  1152. package/node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs +0 -17
  1153. package/node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs +0 -9
  1154. package/node_modules/framer-motion/dist/es/animation/hooks/animation-controls.mjs +0 -80
  1155. package/node_modules/framer-motion/dist/es/animation/hooks/use-animate.mjs +0 -17
  1156. package/node_modules/framer-motion/dist/es/animation/hooks/use-animated-state.mjs +0 -62
  1157. package/node_modules/framer-motion/dist/es/animation/hooks/use-animation.mjs +0 -41
  1158. package/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs +0 -112
  1159. package/node_modules/framer-motion/dist/es/animation/interfaces/single-value.mjs +0 -11
  1160. package/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +0 -80
  1161. package/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs +0 -66
  1162. package/node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs +0 -29
  1163. package/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +0 -6
  1164. package/node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +0 -7
  1165. package/node_modules/framer-motion/dist/es/animation/optimized-appear/handoff.mjs +0 -83
  1166. package/node_modules/framer-motion/dist/es/animation/optimized-appear/start.mjs +0 -80
  1167. package/node_modules/framer-motion/dist/es/animation/optimized-appear/store-id.mjs +0 -3
  1168. package/node_modules/framer-motion/dist/es/animation/optimized-appear/store.mjs +0 -3
  1169. package/node_modules/framer-motion/dist/es/animation/sequence/create.mjs +0 -230
  1170. package/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +0 -21
  1171. package/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs +0 -31
  1172. package/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs +0 -14
  1173. package/node_modules/framer-motion/dist/es/animation/utils/create-visual-element.mjs +0 -32
  1174. package/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs +0 -40
  1175. package/node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs +0 -30
  1176. package/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +0 -7
  1177. package/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +0 -5
  1178. package/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +0 -5
  1179. package/node_modules/framer-motion/dist/es/animation/utils/is-none.mjs +0 -15
  1180. package/node_modules/framer-motion/dist/es/animation/utils/stagger.mjs +0 -26
  1181. package/node_modules/framer-motion/dist/es/animation/utils/transitions.mjs +0 -15
  1182. package/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs +0 -76
  1183. package/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs +0 -57
  1184. package/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs +0 -169
  1185. package/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs +0 -66
  1186. package/node_modules/framer-motion/dist/es/components/AnimateSharedLayout.mjs +0 -15
  1187. package/node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs +0 -31
  1188. package/node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs +0 -67
  1189. package/node_modules/framer-motion/dist/es/components/MotionConfig/index.mjs +0 -43
  1190. package/node_modules/framer-motion/dist/es/components/Reorder/Group.mjs +0 -52
  1191. package/node_modules/framer-motion/dist/es/components/Reorder/Item.mjs +0 -33
  1192. package/node_modules/framer-motion/dist/es/components/Reorder/index.mjs +0 -9
  1193. package/node_modules/framer-motion/dist/es/components/Reorder/utils/check-reorder.mjs +0 -24
  1194. package/node_modules/framer-motion/dist/es/context/DeprecatedLayoutGroupContext.mjs +0 -10
  1195. package/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs +0 -5
  1196. package/node_modules/framer-motion/dist/es/context/LazyContext.mjs +0 -5
  1197. package/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs +0 -12
  1198. package/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs +0 -13
  1199. package/node_modules/framer-motion/dist/es/context/MotionContext/index.mjs +0 -5
  1200. package/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs +0 -17
  1201. package/node_modules/framer-motion/dist/es/context/PresenceContext.mjs +0 -8
  1202. package/node_modules/framer-motion/dist/es/context/ReorderContext.mjs +0 -5
  1203. package/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs +0 -8
  1204. package/node_modules/framer-motion/dist/es/debug/record.mjs +0 -7
  1205. package/node_modules/framer-motion/dist/es/dom-entry.mjs +0 -25
  1206. package/node_modules/framer-motion/dist/es/easing/anticipate.mjs +0 -5
  1207. package/node_modules/framer-motion/dist/es/easing/back.mjs +0 -9
  1208. package/node_modules/framer-motion/dist/es/easing/circ.mjs +0 -8
  1209. package/node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs +0 -51
  1210. package/node_modules/framer-motion/dist/es/easing/ease.mjs +0 -7
  1211. package/node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs +0 -5
  1212. package/node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs +0 -5
  1213. package/node_modules/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +0 -18
  1214. package/node_modules/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +0 -8
  1215. package/node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs +0 -3
  1216. package/node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs +0 -5
  1217. package/node_modules/framer-motion/dist/es/easing/utils/map.mjs +0 -37
  1218. package/node_modules/framer-motion/dist/es/events/add-dom-event.mjs +0 -6
  1219. package/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs +0 -8
  1220. package/node_modules/framer-motion/dist/es/events/event-info.mjs +0 -15
  1221. package/node_modules/framer-motion/dist/es/events/use-dom-event.mjs +0 -34
  1222. package/node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.mjs +0 -18
  1223. package/node_modules/framer-motion/dist/es/frameloop/batcher.mjs +0 -65
  1224. package/node_modules/framer-motion/dist/es/frameloop/frame.mjs +0 -6
  1225. package/node_modules/framer-motion/dist/es/frameloop/index-legacy.mjs +0 -20
  1226. package/node_modules/framer-motion/dist/es/frameloop/microtask.mjs +0 -5
  1227. package/node_modules/framer-motion/dist/es/frameloop/render-step.mjs +0 -104
  1228. package/node_modules/framer-motion/dist/es/frameloop/sync-time.mjs +0 -31
  1229. package/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs +0 -484
  1230. package/node_modules/framer-motion/dist/es/gestures/drag/index.mjs +0 -27
  1231. package/node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs +0 -88
  1232. package/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs +0 -129
  1233. package/node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs +0 -53
  1234. package/node_modules/framer-motion/dist/es/gestures/focus.mjs +0 -41
  1235. package/node_modules/framer-motion/dist/es/gestures/hover.mjs +0 -33
  1236. package/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs +0 -156
  1237. package/node_modules/framer-motion/dist/es/gestures/pan/index.mjs +0 -50
  1238. package/node_modules/framer-motion/dist/es/gestures/press.mjs +0 -130
  1239. package/node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs +0 -20
  1240. package/node_modules/framer-motion/dist/es/index.mjs +0 -101
  1241. package/node_modules/framer-motion/dist/es/motion/features/Feature.mjs +0 -9
  1242. package/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs +0 -31
  1243. package/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs +0 -41
  1244. package/node_modules/framer-motion/dist/es/motion/features/animations.mjs +0 -13
  1245. package/node_modules/framer-motion/dist/es/motion/features/definitions.mjs +0 -28
  1246. package/node_modules/framer-motion/dist/es/motion/features/drag.mjs +0 -17
  1247. package/node_modules/framer-motion/dist/es/motion/features/gestures.mjs +0 -21
  1248. package/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs +0 -133
  1249. package/node_modules/framer-motion/dist/es/motion/features/layout.mjs +0 -11
  1250. package/node_modules/framer-motion/dist/es/motion/features/load-features.mjs +0 -12
  1251. package/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs +0 -72
  1252. package/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs +0 -49
  1253. package/node_modules/framer-motion/dist/es/motion/index.mjs +0 -97
  1254. package/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +0 -11
  1255. package/node_modules/framer-motion/dist/es/motion/utils/is-motion-component.mjs +0 -12
  1256. package/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs +0 -3
  1257. package/node_modules/framer-motion/dist/es/motion/utils/unwrap-motion-component.mjs +0 -17
  1258. package/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs +0 -36
  1259. package/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs +0 -127
  1260. package/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs +0 -81
  1261. package/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs +0 -57
  1262. package/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs +0 -93
  1263. package/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs +0 -33
  1264. package/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs +0 -20
  1265. package/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs +0 -122
  1266. package/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs +0 -41
  1267. package/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs +0 -54
  1268. package/node_modules/framer-motion/dist/es/projection/geometry/models.mjs +0 -17
  1269. package/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs +0 -25
  1270. package/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs +0 -13
  1271. package/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs +0 -27
  1272. package/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +0 -1562
  1273. package/node_modules/framer-motion/dist/es/projection/node/group.mjs +0 -24
  1274. package/node_modules/framer-motion/dist/es/projection/node/state.mjs +0 -19
  1275. package/node_modules/framer-motion/dist/es/projection/shared/stack.mjs +0 -112
  1276. package/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs +0 -41
  1277. package/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs +0 -35
  1278. package/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs +0 -6
  1279. package/node_modules/framer-motion/dist/es/projection/styles/transform.mjs +0 -49
  1280. package/node_modules/framer-motion/dist/es/projection/use-instant-layout-transition.mjs +0 -14
  1281. package/node_modules/framer-motion/dist/es/projection/use-reset-projection.mjs +0 -14
  1282. package/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs +0 -5
  1283. package/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs +0 -26
  1284. package/node_modules/framer-motion/dist/es/projection/utils/measure.mjs +0 -17
  1285. package/node_modules/framer-motion/dist/es/projection-entry.mjs +0 -11
  1286. package/node_modules/framer-motion/dist/es/render/VisualElement.mjs +0 -496
  1287. package/node_modules/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +0 -130
  1288. package/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +0 -28
  1289. package/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs +0 -15
  1290. package/node_modules/framer-motion/dist/es/render/dom/features-animation.mjs +0 -14
  1291. package/node_modules/framer-motion/dist/es/render/dom/features-max.mjs +0 -14
  1292. package/node_modules/framer-motion/dist/es/render/dom/motion-minimal.mjs +0 -9
  1293. package/node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs +0 -47
  1294. package/node_modules/framer-motion/dist/es/render/dom/motion.mjs +0 -42
  1295. package/node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs +0 -64
  1296. package/node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs +0 -30
  1297. package/node_modules/framer-motion/dist/es/render/dom/resize/index.mjs +0 -8
  1298. package/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs +0 -36
  1299. package/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs +0 -56
  1300. package/node_modules/framer-motion/dist/es/render/dom/scroll/observe.mjs +0 -18
  1301. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +0 -45
  1302. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +0 -59
  1303. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +0 -45
  1304. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +0 -35
  1305. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +0 -20
  1306. package/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +0 -48
  1307. package/node_modules/framer-motion/dist/es/render/dom/scroll/supports.mjs +0 -5
  1308. package/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs +0 -84
  1309. package/node_modules/framer-motion/dist/es/render/dom/use-render.mjs +0 -33
  1310. package/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +0 -6
  1311. package/node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs +0 -19
  1312. package/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +0 -42
  1313. package/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs +0 -59
  1314. package/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +0 -13
  1315. package/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs +0 -30
  1316. package/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +0 -5
  1317. package/node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +0 -28
  1318. package/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +0 -65
  1319. package/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +0 -15
  1320. package/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs +0 -30
  1321. package/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +0 -15
  1322. package/node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs +0 -15
  1323. package/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs +0 -10
  1324. package/node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs +0 -74
  1325. package/node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs +0 -6
  1326. package/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +0 -9
  1327. package/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs +0 -8
  1328. package/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs +0 -43
  1329. package/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +0 -59
  1330. package/node_modules/framer-motion/dist/es/render/html/config-motion.mjs +0 -12
  1331. package/node_modules/framer-motion/dist/es/render/html/use-props.mjs +0 -57
  1332. package/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs +0 -74
  1333. package/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs +0 -45
  1334. package/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs +0 -8
  1335. package/node_modules/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +0 -30
  1336. package/node_modules/framer-motion/dist/es/render/html/utils/render.mjs +0 -9
  1337. package/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +0 -20
  1338. package/node_modules/framer-motion/dist/es/render/html/utils/transform.mjs +0 -28
  1339. package/node_modules/framer-motion/dist/es/render/store.mjs +0 -3
  1340. package/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +0 -47
  1341. package/node_modules/framer-motion/dist/es/render/svg/config-motion.mjs +0 -40
  1342. package/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs +0 -33
  1343. package/node_modules/framer-motion/dist/es/render/svg/use-props.mjs +0 -24
  1344. package/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +0 -52
  1345. package/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +0 -30
  1346. package/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs +0 -8
  1347. package/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +0 -3
  1348. package/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs +0 -32
  1349. package/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs +0 -12
  1350. package/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +0 -19
  1351. package/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +0 -18
  1352. package/node_modules/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +0 -164
  1353. package/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs +0 -328
  1354. package/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs +0 -3
  1355. package/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs +0 -24
  1356. package/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +0 -13
  1357. package/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs +0 -8
  1358. package/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +0 -67
  1359. package/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +0 -8
  1360. package/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs +0 -36
  1361. package/node_modules/framer-motion/dist/es/render/utils/setters.mjs +0 -27
  1362. package/node_modules/framer-motion/dist/es/render/utils/variant-props.mjs +0 -12
  1363. package/node_modules/framer-motion/dist/es/utils/GlobalConfig.mjs +0 -6
  1364. package/node_modules/framer-motion/dist/es/utils/array.mjs +0 -21
  1365. package/node_modules/framer-motion/dist/es/utils/clamp.mjs +0 -9
  1366. package/node_modules/framer-motion/dist/es/utils/delay.mjs +0 -20
  1367. package/node_modules/framer-motion/dist/es/utils/distance.mjs +0 -9
  1368. package/node_modules/framer-motion/dist/es/utils/errors.mjs +0 -18
  1369. package/node_modules/framer-motion/dist/es/utils/get-context-window.mjs +0 -6
  1370. package/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs +0 -42
  1371. package/node_modules/framer-motion/dist/es/utils/interpolate.mjs +0 -75
  1372. package/node_modules/framer-motion/dist/es/utils/is-browser.mjs +0 -3
  1373. package/node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs +0 -6
  1374. package/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs +0 -7
  1375. package/node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs +0 -6
  1376. package/node_modules/framer-motion/dist/es/utils/memo.mjs +0 -10
  1377. package/node_modules/framer-motion/dist/es/utils/mix/color.mjs +0 -47
  1378. package/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +0 -94
  1379. package/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +0 -5
  1380. package/node_modules/framer-motion/dist/es/utils/mix/index.mjs +0 -14
  1381. package/node_modules/framer-motion/dist/es/utils/mix/number.mjs +0 -26
  1382. package/node_modules/framer-motion/dist/es/utils/mix/visibility.mjs +0 -16
  1383. package/node_modules/framer-motion/dist/es/utils/noop.mjs +0 -3
  1384. package/node_modules/framer-motion/dist/es/utils/offsets/default.mjs +0 -9
  1385. package/node_modules/framer-motion/dist/es/utils/offsets/fill.mjs +0 -12
  1386. package/node_modules/framer-motion/dist/es/utils/offsets/time.mjs +0 -5
  1387. package/node_modules/framer-motion/dist/es/utils/pipe.mjs +0 -11
  1388. package/node_modules/framer-motion/dist/es/utils/progress.mjs +0 -18
  1389. package/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs +0 -19
  1390. package/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs +0 -5
  1391. package/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion-config.mjs +0 -19
  1392. package/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs +0 -47
  1393. package/node_modules/framer-motion/dist/es/utils/resolve-value.mjs +0 -11
  1394. package/node_modules/framer-motion/dist/es/utils/shallow-compare.mjs +0 -14
  1395. package/node_modules/framer-motion/dist/es/utils/subscription-manager.mjs +0 -40
  1396. package/node_modules/framer-motion/dist/es/utils/time-conversion.mjs +0 -10
  1397. package/node_modules/framer-motion/dist/es/utils/transform.mjs +0 -21
  1398. package/node_modules/framer-motion/dist/es/utils/use-animation-frame.mjs +0 -21
  1399. package/node_modules/framer-motion/dist/es/utils/use-constant.mjs +0 -18
  1400. package/node_modules/framer-motion/dist/es/utils/use-cycle.mjs +0 -47
  1401. package/node_modules/framer-motion/dist/es/utils/use-force-update.mjs +0 -19
  1402. package/node_modules/framer-motion/dist/es/utils/use-in-view.mjs +0 -23
  1403. package/node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs +0 -5
  1404. package/node_modules/framer-motion/dist/es/utils/use-instant-transition.mjs +0 -41
  1405. package/node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs +0 -15
  1406. package/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs +0 -6
  1407. package/node_modules/framer-motion/dist/es/utils/use-motion-value-event.mjs +0 -13
  1408. package/node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs +0 -7
  1409. package/node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs +0 -11
  1410. package/node_modules/framer-motion/dist/es/utils/warn-once.mjs +0 -11
  1411. package/node_modules/framer-motion/dist/es/utils/wrap.mjs +0 -6
  1412. package/node_modules/framer-motion/dist/es/value/index.mjs +0 -319
  1413. package/node_modules/framer-motion/dist/es/value/scroll/use-element-scroll.mjs +0 -14
  1414. package/node_modules/framer-motion/dist/es/value/scroll/use-viewport-scroll.mjs +0 -14
  1415. package/node_modules/framer-motion/dist/es/value/types/color/hex.mjs +0 -40
  1416. package/node_modules/framer-motion/dist/es/value/types/color/hsla.mjs +0 -22
  1417. package/node_modules/framer-motion/dist/es/value/types/color/index.mjs +0 -28
  1418. package/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +0 -25
  1419. package/node_modules/framer-motion/dist/es/value/types/color/utils.mjs +0 -23
  1420. package/node_modules/framer-motion/dist/es/value/types/complex/filter.mjs +0 -30
  1421. package/node_modules/framer-motion/dist/es/value/types/complex/index.mjs +0 -90
  1422. package/node_modules/framer-motion/dist/es/value/types/numbers/index.mjs +0 -17
  1423. package/node_modules/framer-motion/dist/es/value/types/numbers/units.mjs +0 -19
  1424. package/node_modules/framer-motion/dist/es/value/types/utils.mjs +0 -15
  1425. package/node_modules/framer-motion/dist/es/value/use-combine-values.mjs +0 -37
  1426. package/node_modules/framer-motion/dist/es/value/use-computed.mjs +0 -19
  1427. package/node_modules/framer-motion/dist/es/value/use-inverted-scale.mjs +0 -52
  1428. package/node_modules/framer-motion/dist/es/value/use-motion-template.mjs +0 -45
  1429. package/node_modules/framer-motion/dist/es/value/use-motion-value.mjs +0 -38
  1430. package/node_modules/framer-motion/dist/es/value/use-scroll.mjs +0 -39
  1431. package/node_modules/framer-motion/dist/es/value/use-spring.mjs +0 -80
  1432. package/node_modules/framer-motion/dist/es/value/use-time.mjs +0 -10
  1433. package/node_modules/framer-motion/dist/es/value/use-transform.mjs +0 -29
  1434. package/node_modules/framer-motion/dist/es/value/use-velocity.mjs +0 -35
  1435. package/node_modules/framer-motion/dist/es/value/use-will-change/index.mjs +0 -50
  1436. package/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs +0 -7
  1437. package/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs +0 -3
  1438. package/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs +0 -16
  1439. package/node_modules/framer-motion/dist/framer-motion.dev.js +0 -12433
  1440. package/node_modules/framer-motion/dist/framer-motion.js +0 -1
  1441. package/node_modules/framer-motion/dist/index.d.ts +0 -5278
  1442. package/node_modules/framer-motion/dist/three-entry.d.ts +0 -2954
  1443. package/node_modules/framer-motion/dom/README.md +0 -1
  1444. package/node_modules/framer-motion/dom/package.json +0 -6
  1445. package/node_modules/framer-motion/package.json +0 -108
  1446. package/node_modules/get-func-name/LICENSE +0 -19
  1447. package/node_modules/get-func-name/README.md +0 -123
  1448. package/node_modules/get-func-name/get-func-name.js +0 -1
  1449. package/node_modules/get-func-name/index.js +0 -52
  1450. package/node_modules/get-func-name/package.json +0 -85
  1451. package/node_modules/get-nonce/LICENSE +0 -21
  1452. package/node_modules/get-nonce/README.md +0 -54
  1453. package/node_modules/get-nonce/dist/es2015/index.d.ts +0 -2
  1454. package/node_modules/get-nonce/dist/es2015/index.js +0 -13
  1455. package/node_modules/get-nonce/dist/es5/index.d.ts +0 -2
  1456. package/node_modules/get-nonce/dist/es5/index.js +0 -15
  1457. package/node_modules/get-nonce/package.json +0 -68
  1458. package/node_modules/invariant/LICENSE +0 -21
  1459. package/node_modules/invariant/README.md +0 -37
  1460. package/node_modules/invariant/browser.js +0 -49
  1461. package/node_modules/invariant/invariant.js +0 -51
  1462. package/node_modules/invariant/invariant.js.flow +0 -7
  1463. package/node_modules/invariant/package.json +0 -35
  1464. package/node_modules/js-tokens/LICENSE +0 -21
  1465. package/node_modules/js-tokens/README.md +0 -240
  1466. package/node_modules/js-tokens/index.js +0 -23
  1467. package/node_modules/js-tokens/package.json +0 -30
  1468. package/node_modules/loose-envify/LICENSE +0 -21
  1469. package/node_modules/loose-envify/README.md +0 -45
  1470. package/node_modules/loose-envify/cli.js +0 -16
  1471. package/node_modules/loose-envify/custom.js +0 -4
  1472. package/node_modules/loose-envify/index.js +0 -3
  1473. package/node_modules/loose-envify/loose-envify.js +0 -36
  1474. package/node_modules/loose-envify/package.json +0 -36
  1475. package/node_modules/loose-envify/replace.js +0 -65
  1476. package/node_modules/loupe/LICENSE +0 -9
  1477. package/node_modules/loupe/README.md +0 -63
  1478. package/node_modules/loupe/lib/arguments.d.ts +0 -3
  1479. package/node_modules/loupe/lib/arguments.d.ts.map +0 -1
  1480. package/node_modules/loupe/lib/arguments.js +0 -7
  1481. package/node_modules/loupe/lib/array.d.ts +0 -3
  1482. package/node_modules/loupe/lib/array.d.ts.map +0 -1
  1483. package/node_modules/loupe/lib/array.js +0 -16
  1484. package/node_modules/loupe/lib/bigint.d.ts +0 -3
  1485. package/node_modules/loupe/lib/bigint.d.ts.map +0 -1
  1486. package/node_modules/loupe/lib/bigint.js +0 -7
  1487. package/node_modules/loupe/lib/class.d.ts +0 -5
  1488. package/node_modules/loupe/lib/class.d.ts.map +0 -1
  1489. package/node_modules/loupe/lib/class.js +0 -15
  1490. package/node_modules/loupe/lib/date.d.ts +0 -3
  1491. package/node_modules/loupe/lib/date.d.ts.map +0 -1
  1492. package/node_modules/loupe/lib/date.js +0 -11
  1493. package/node_modules/loupe/lib/error.d.ts +0 -3
  1494. package/node_modules/loupe/lib/error.d.ts.map +0 -1
  1495. package/node_modules/loupe/lib/error.js +0 -29
  1496. package/node_modules/loupe/lib/function.d.ts +0 -7
  1497. package/node_modules/loupe/lib/function.d.ts.map +0 -1
  1498. package/node_modules/loupe/lib/function.js +0 -9
  1499. package/node_modules/loupe/lib/helpers.d.ts +0 -7
  1500. package/node_modules/loupe/lib/helpers.d.ts.map +0 -1
  1501. package/node_modules/loupe/lib/helpers.js +0 -159
  1502. package/node_modules/loupe/lib/html.d.ts +0 -5
  1503. package/node_modules/loupe/lib/html.d.ts.map +0 -1
  1504. package/node_modules/loupe/lib/html.js +0 -34
  1505. package/node_modules/loupe/lib/index.d.ts +0 -7
  1506. package/node_modules/loupe/lib/index.d.ts.map +0 -1
  1507. package/node_modules/loupe/lib/index.js +0 -161
  1508. package/node_modules/loupe/lib/map.d.ts +0 -3
  1509. package/node_modules/loupe/lib/map.d.ts.map +0 -1
  1510. package/node_modules/loupe/lib/map.js +0 -24
  1511. package/node_modules/loupe/lib/number.d.ts +0 -3
  1512. package/node_modules/loupe/lib/number.d.ts.map +0 -1
  1513. package/node_modules/loupe/lib/number.js +0 -17
  1514. package/node_modules/loupe/lib/object.d.ts +0 -3
  1515. package/node_modules/loupe/lib/object.d.ts.map +0 -1
  1516. package/node_modules/loupe/lib/object.js +0 -22
  1517. package/node_modules/loupe/lib/promise.d.ts +0 -5
  1518. package/node_modules/loupe/lib/promise.d.ts.map +0 -1
  1519. package/node_modules/loupe/lib/promise.js +0 -18
  1520. package/node_modules/loupe/lib/regexp.d.ts +0 -3
  1521. package/node_modules/loupe/lib/regexp.d.ts.map +0 -1
  1522. package/node_modules/loupe/lib/regexp.js +0 -7
  1523. package/node_modules/loupe/lib/set.d.ts +0 -3
  1524. package/node_modules/loupe/lib/set.d.ts.map +0 -1
  1525. package/node_modules/loupe/lib/set.js +0 -15
  1526. package/node_modules/loupe/lib/string.d.ts +0 -3
  1527. package/node_modules/loupe/lib/string.d.ts.map +0 -1
  1528. package/node_modules/loupe/lib/string.js +0 -24
  1529. package/node_modules/loupe/lib/symbol.d.ts +0 -2
  1530. package/node_modules/loupe/lib/symbol.d.ts.map +0 -1
  1531. package/node_modules/loupe/lib/symbol.js +0 -6
  1532. package/node_modules/loupe/lib/typedarray.d.ts +0 -5
  1533. package/node_modules/loupe/lib/typedarray.d.ts.map +0 -1
  1534. package/node_modules/loupe/lib/typedarray.js +0 -38
  1535. package/node_modules/loupe/lib/types.d.ts +0 -15
  1536. package/node_modules/loupe/lib/types.d.ts.map +0 -1
  1537. package/node_modules/loupe/lib/types.js +0 -1
  1538. package/node_modules/loupe/loupe.js +0 -644
  1539. package/node_modules/loupe/package.json +0 -126
  1540. package/node_modules/pathval/LICENSE +0 -16
  1541. package/node_modules/pathval/README.md +0 -147
  1542. package/node_modules/pathval/index.js +0 -292
  1543. package/node_modules/pathval/package.json +0 -73
  1544. package/node_modules/pathval/pathval.js +0 -1
  1545. package/node_modules/react-remove-scroll/LICENSE +0 -21
  1546. package/node_modules/react-remove-scroll/README.md +0 -152
  1547. package/node_modules/react-remove-scroll/UI/UI.d.ts +0 -1
  1548. package/node_modules/react-remove-scroll/UI/package.json +0 -8
  1549. package/node_modules/react-remove-scroll/dist/es2015/Combination.d.ts +0 -3
  1550. package/node_modules/react-remove-scroll/dist/es2015/Combination.js +0 -7
  1551. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.d.ts +0 -5
  1552. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +0 -157
  1553. package/node_modules/react-remove-scroll/dist/es2015/UI.d.ts +0 -7
  1554. package/node_modules/react-remove-scroll/dist/es2015/UI.js +0 -36
  1555. package/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.d.ts +0 -3
  1556. package/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +0 -19
  1557. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.d.ts +0 -3
  1558. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +0 -104
  1559. package/node_modules/react-remove-scroll/dist/es2015/index.d.ts +0 -2
  1560. package/node_modules/react-remove-scroll/dist/es2015/index.js +0 -2
  1561. package/node_modules/react-remove-scroll/dist/es2015/medium.d.ts +0 -2
  1562. package/node_modules/react-remove-scroll/dist/es2015/medium.js +0 -2
  1563. package/node_modules/react-remove-scroll/dist/es2015/pinchAndZoom.d.ts +0 -8
  1564. package/node_modules/react-remove-scroll/dist/es2015/pinchAndZoom.js +0 -33
  1565. package/node_modules/react-remove-scroll/dist/es2015/sidecar.d.ts +0 -2
  1566. package/node_modules/react-remove-scroll/dist/es2015/sidecar.js +0 -4
  1567. package/node_modules/react-remove-scroll/dist/es2015/types.d.ts +0 -98
  1568. package/node_modules/react-remove-scroll/dist/es2015/types.js +0 -1
  1569. package/node_modules/react-remove-scroll/dist/es2019/Combination.d.ts +0 -3
  1570. package/node_modules/react-remove-scroll/dist/es2019/Combination.js +0 -6
  1571. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.d.ts +0 -5
  1572. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.js +0 -155
  1573. package/node_modules/react-remove-scroll/dist/es2019/UI.d.ts +0 -7
  1574. package/node_modules/react-remove-scroll/dist/es2019/UI.js +0 -41
  1575. package/node_modules/react-remove-scroll/dist/es2019/aggresiveCapture.d.ts +0 -3
  1576. package/node_modules/react-remove-scroll/dist/es2019/aggresiveCapture.js +0 -19
  1577. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.d.ts +0 -3
  1578. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.js +0 -92
  1579. package/node_modules/react-remove-scroll/dist/es2019/index.d.ts +0 -2
  1580. package/node_modules/react-remove-scroll/dist/es2019/index.js +0 -2
  1581. package/node_modules/react-remove-scroll/dist/es2019/medium.d.ts +0 -2
  1582. package/node_modules/react-remove-scroll/dist/es2019/medium.js +0 -2
  1583. package/node_modules/react-remove-scroll/dist/es2019/pinchAndZoom.d.ts +0 -8
  1584. package/node_modules/react-remove-scroll/dist/es2019/pinchAndZoom.js +0 -33
  1585. package/node_modules/react-remove-scroll/dist/es2019/sidecar.d.ts +0 -2
  1586. package/node_modules/react-remove-scroll/dist/es2019/sidecar.js +0 -4
  1587. package/node_modules/react-remove-scroll/dist/es2019/types.d.ts +0 -98
  1588. package/node_modules/react-remove-scroll/dist/es2019/types.js +0 -1
  1589. package/node_modules/react-remove-scroll/dist/es5/Combination.d.ts +0 -3
  1590. package/node_modules/react-remove-scroll/dist/es5/Combination.js +0 -9
  1591. package/node_modules/react-remove-scroll/dist/es5/SideEffect.d.ts +0 -5
  1592. package/node_modules/react-remove-scroll/dist/es5/SideEffect.js +0 -163
  1593. package/node_modules/react-remove-scroll/dist/es5/UI.d.ts +0 -7
  1594. package/node_modules/react-remove-scroll/dist/es5/UI.js +0 -39
  1595. package/node_modules/react-remove-scroll/dist/es5/aggresiveCapture.d.ts +0 -3
  1596. package/node_modules/react-remove-scroll/dist/es5/aggresiveCapture.js +0 -22
  1597. package/node_modules/react-remove-scroll/dist/es5/handleScroll.d.ts +0 -3
  1598. package/node_modules/react-remove-scroll/dist/es5/handleScroll.js +0 -109
  1599. package/node_modules/react-remove-scroll/dist/es5/index.d.ts +0 -2
  1600. package/node_modules/react-remove-scroll/dist/es5/index.js +0 -6
  1601. package/node_modules/react-remove-scroll/dist/es5/medium.d.ts +0 -2
  1602. package/node_modules/react-remove-scroll/dist/es5/medium.js +0 -5
  1603. package/node_modules/react-remove-scroll/dist/es5/pinchAndZoom.d.ts +0 -8
  1604. package/node_modules/react-remove-scroll/dist/es5/pinchAndZoom.js +0 -37
  1605. package/node_modules/react-remove-scroll/dist/es5/sidecar.d.ts +0 -2
  1606. package/node_modules/react-remove-scroll/dist/es5/sidecar.js +0 -6
  1607. package/node_modules/react-remove-scroll/dist/es5/types.d.ts +0 -98
  1608. package/node_modules/react-remove-scroll/dist/es5/types.js +0 -2
  1609. package/node_modules/react-remove-scroll/dist/index.js +0 -93
  1610. package/node_modules/react-remove-scroll/package.json +0 -97
  1611. package/node_modules/react-remove-scroll/sidecar/package.json +0 -7
  1612. package/node_modules/react-remove-scroll/sidecar/sidecar.d.ts +0 -5
  1613. package/node_modules/react-remove-scroll-bar/README.md +0 -52
  1614. package/node_modules/react-remove-scroll-bar/constants/package.json +0 -8
  1615. package/node_modules/react-remove-scroll-bar/dist/es2015/component.d.ts +0 -13
  1616. package/node_modules/react-remove-scroll-bar/dist/es2015/component.js +0 -53
  1617. package/node_modules/react-remove-scroll-bar/dist/es2015/constants.d.ts +0 -8
  1618. package/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +0 -8
  1619. package/node_modules/react-remove-scroll-bar/dist/es2015/index.d.ts +0 -4
  1620. package/node_modules/react-remove-scroll-bar/dist/es2015/index.js +0 -4
  1621. package/node_modules/react-remove-scroll-bar/dist/es2015/utils.d.ts +0 -14
  1622. package/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +0 -29
  1623. package/node_modules/react-remove-scroll-bar/dist/es2019/component.d.ts +0 -13
  1624. package/node_modules/react-remove-scroll-bar/dist/es2019/component.js +0 -85
  1625. package/node_modules/react-remove-scroll-bar/dist/es2019/constants.d.ts +0 -8
  1626. package/node_modules/react-remove-scroll-bar/dist/es2019/constants.js +0 -8
  1627. package/node_modules/react-remove-scroll-bar/dist/es2019/index.d.ts +0 -4
  1628. package/node_modules/react-remove-scroll-bar/dist/es2019/index.js +0 -4
  1629. package/node_modules/react-remove-scroll-bar/dist/es2019/utils.d.ts +0 -14
  1630. package/node_modules/react-remove-scroll-bar/dist/es2019/utils.js +0 -28
  1631. package/node_modules/react-remove-scroll-bar/dist/es5/component.d.ts +0 -13
  1632. package/node_modules/react-remove-scroll-bar/dist/es5/component.js +0 -59
  1633. package/node_modules/react-remove-scroll-bar/dist/es5/constants.d.ts +0 -8
  1634. package/node_modules/react-remove-scroll-bar/dist/es5/constants.js +0 -11
  1635. package/node_modules/react-remove-scroll-bar/dist/es5/index.d.ts +0 -4
  1636. package/node_modules/react-remove-scroll-bar/dist/es5/index.js +0 -12
  1637. package/node_modules/react-remove-scroll-bar/dist/es5/utils.d.ts +0 -14
  1638. package/node_modules/react-remove-scroll-bar/dist/es5/utils.js +0 -33
  1639. package/node_modules/react-remove-scroll-bar/package.json +0 -85
  1640. package/node_modules/react-router/CHANGELOG.md +0 -723
  1641. package/node_modules/react-router/LICENSE.md +0 -23
  1642. package/node_modules/react-router/README.md +0 -16
  1643. package/node_modules/react-router/dist/index.d.ts +0 -29
  1644. package/node_modules/react-router/dist/index.js +0 -1456
  1645. package/node_modules/react-router/dist/index.js.map +0 -1
  1646. package/node_modules/react-router/dist/lib/components.d.ts +0 -157
  1647. package/node_modules/react-router/dist/lib/context.d.ts +0 -102
  1648. package/node_modules/react-router/dist/lib/hooks.d.ts +0 -181
  1649. package/node_modules/react-router/dist/main.js +0 -19
  1650. package/node_modules/react-router/dist/react-router.development.js +0 -1352
  1651. package/node_modules/react-router/dist/react-router.development.js.map +0 -1
  1652. package/node_modules/react-router/dist/react-router.production.min.js +0 -12
  1653. package/node_modules/react-router/dist/react-router.production.min.js.map +0 -1
  1654. package/node_modules/react-router/dist/umd/react-router.development.js +0 -1574
  1655. package/node_modules/react-router/dist/umd/react-router.development.js.map +0 -1
  1656. package/node_modules/react-router/dist/umd/react-router.production.min.js +0 -12
  1657. package/node_modules/react-router/dist/umd/react-router.production.min.js.map +0 -1
  1658. package/node_modules/react-router/package.json +0 -44
  1659. package/node_modules/react-router-dom/CHANGELOG.md +0 -866
  1660. package/node_modules/react-router-dom/LICENSE.md +0 -23
  1661. package/node_modules/react-router-dom/README.md +0 -5
  1662. package/node_modules/react-router-dom/dist/dom.d.ts +0 -117
  1663. package/node_modules/react-router-dom/dist/index.d.ts +0 -331
  1664. package/node_modules/react-router-dom/dist/index.js +0 -1447
  1665. package/node_modules/react-router-dom/dist/index.js.map +0 -1
  1666. package/node_modules/react-router-dom/dist/main.js +0 -19
  1667. package/node_modules/react-router-dom/dist/react-router-dom.development.js +0 -1514
  1668. package/node_modules/react-router-dom/dist/react-router-dom.development.js.map +0 -1
  1669. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js +0 -12
  1670. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js.map +0 -1
  1671. package/node_modules/react-router-dom/dist/server.d.ts +0 -31
  1672. package/node_modules/react-router-dom/dist/server.js +0 -322
  1673. package/node_modules/react-router-dom/dist/server.mjs +0 -297
  1674. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js +0 -1813
  1675. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js.map +0 -1
  1676. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js +0 -12
  1677. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js.map +0 -1
  1678. package/node_modules/react-router-dom/package.json +0 -49
  1679. package/node_modules/react-router-dom/server.d.ts +0 -31
  1680. package/node_modules/react-router-dom/server.js +0 -322
  1681. package/node_modules/react-router-dom/server.mjs +0 -297
  1682. package/node_modules/react-style-singleton/README.md +0 -41
  1683. package/node_modules/react-style-singleton/dist/es2015/component.d.ts +0 -21
  1684. package/node_modules/react-style-singleton/dist/es2015/component.js +0 -16
  1685. package/node_modules/react-style-singleton/dist/es2015/hook.d.ts +0 -23
  1686. package/node_modules/react-style-singleton/dist/es2015/hook.js +0 -22
  1687. package/node_modules/react-style-singleton/dist/es2015/index.d.ts +0 -3
  1688. package/node_modules/react-style-singleton/dist/es2015/index.js +0 -3
  1689. package/node_modules/react-style-singleton/dist/es2015/singleton.d.ts +0 -4
  1690. package/node_modules/react-style-singleton/dist/es2015/singleton.js +0 -48
  1691. package/node_modules/react-style-singleton/dist/es2019/component.d.ts +0 -21
  1692. package/node_modules/react-style-singleton/dist/es2019/component.js +0 -15
  1693. package/node_modules/react-style-singleton/dist/es2019/hook.d.ts +0 -23
  1694. package/node_modules/react-style-singleton/dist/es2019/hook.js +0 -22
  1695. package/node_modules/react-style-singleton/dist/es2019/index.d.ts +0 -3
  1696. package/node_modules/react-style-singleton/dist/es2019/index.js +0 -3
  1697. package/node_modules/react-style-singleton/dist/es2019/singleton.d.ts +0 -4
  1698. package/node_modules/react-style-singleton/dist/es2019/singleton.js +0 -48
  1699. package/node_modules/react-style-singleton/dist/es5/component.d.ts +0 -21
  1700. package/node_modules/react-style-singleton/dist/es5/component.js +0 -20
  1701. package/node_modules/react-style-singleton/dist/es5/hook.d.ts +0 -23
  1702. package/node_modules/react-style-singleton/dist/es5/hook.js +0 -27
  1703. package/node_modules/react-style-singleton/dist/es5/index.d.ts +0 -3
  1704. package/node_modules/react-style-singleton/dist/es5/index.js +0 -9
  1705. package/node_modules/react-style-singleton/dist/es5/singleton.d.ts +0 -4
  1706. package/node_modules/react-style-singleton/dist/es5/singleton.js +0 -52
  1707. package/node_modules/react-style-singleton/dist/index.js +0 -1
  1708. package/node_modules/react-style-singleton/package.json +0 -87
  1709. package/node_modules/regenerator-runtime/LICENSE +0 -21
  1710. package/node_modules/regenerator-runtime/README.md +0 -31
  1711. package/node_modules/regenerator-runtime/package.json +0 -19
  1712. package/node_modules/regenerator-runtime/path.js +0 -11
  1713. package/node_modules/regenerator-runtime/runtime.js +0 -761
  1714. package/node_modules/remix-utils/.eslintrc.cjs +0 -54
  1715. package/node_modules/remix-utils/LICENSE +0 -21
  1716. package/node_modules/remix-utils/README.md +0 -2149
  1717. package/node_modules/remix-utils/build/client/cache-assets.d.ts +0 -22
  1718. package/node_modules/remix-utils/build/client/cache-assets.js +0 -66
  1719. package/node_modules/remix-utils/build/common/promise.d.ts +0 -87
  1720. package/node_modules/remix-utils/build/common/promise.js +0 -112
  1721. package/node_modules/remix-utils/build/common/timers.d.ts +0 -27
  1722. package/node_modules/remix-utils/build/common/timers.js +0 -47
  1723. package/node_modules/remix-utils/build/react/authenticity-token.d.ts +0 -50
  1724. package/node_modules/remix-utils/build/react/authenticity-token.js +0 -54
  1725. package/node_modules/remix-utils/build/react/client-only.d.ts +0 -27
  1726. package/node_modules/remix-utils/build/react/client-only.js +0 -20
  1727. package/node_modules/remix-utils/build/react/existing-search-params.d.ts +0 -34
  1728. package/node_modules/remix-utils/build/react/existing-search-params.js +0 -32
  1729. package/node_modules/remix-utils/build/react/external-scripts.d.ts +0 -91
  1730. package/node_modules/remix-utils/build/react/external-scripts.js +0 -106
  1731. package/node_modules/remix-utils/build/react/fetcher-type.d.ts +0 -31
  1732. package/node_modules/remix-utils/build/react/fetcher-type.js +0 -53
  1733. package/node_modules/remix-utils/build/react/handle-conventions.d.ts +0 -10
  1734. package/node_modules/remix-utils/build/react/handle-conventions.js +0 -1
  1735. package/node_modules/remix-utils/build/react/honeypot.d.ts +0 -11
  1736. package/node_modules/remix-utils/build/react/honeypot.js +0 -16
  1737. package/node_modules/remix-utils/build/react/server-only.d.ts +0 -25
  1738. package/node_modules/remix-utils/build/react/server-only.js +0 -18
  1739. package/node_modules/remix-utils/build/react/use-debounce-fetcher.d.ts +0 -28
  1740. package/node_modules/remix-utils/build/react/use-debounce-fetcher.js +0 -27
  1741. package/node_modules/remix-utils/build/react/use-debounce-submit.d.ts +0 -7
  1742. package/node_modules/remix-utils/build/react/use-debounce-submit.js +0 -41
  1743. package/node_modules/remix-utils/build/react/use-delegated-anchors.d.ts +0 -6
  1744. package/node_modules/remix-utils/build/react/use-delegated-anchors.js +0 -69
  1745. package/node_modules/remix-utils/build/react/use-event-source.d.ts +0 -17
  1746. package/node_modules/remix-utils/build/react/use-event-source.js +0 -37
  1747. package/node_modules/remix-utils/build/react/use-global-navigation-state.d.ts +0 -33
  1748. package/node_modules/remix-utils/build/react/use-global-navigation-state.js +0 -67
  1749. package/node_modules/remix-utils/build/react/use-hydrated.d.ts +0 -18
  1750. package/node_modules/remix-utils/build/react/use-hydrated.js +0 -24
  1751. package/node_modules/remix-utils/build/react/use-locales.d.ts +0 -24
  1752. package/node_modules/remix-utils/build/react/use-locales.js +0 -56
  1753. package/node_modules/remix-utils/build/react/use-should-hydrate.d.ts +0 -21
  1754. package/node_modules/remix-utils/build/react/use-should-hydrate.js +0 -44
  1755. package/node_modules/remix-utils/build/server/cors.d.ts +0 -101
  1756. package/node_modules/remix-utils/build/server/cors.js +0 -179
  1757. package/node_modules/remix-utils/build/server/csrf.d.ts +0 -85
  1758. package/node_modules/remix-utils/build/server/csrf.js +0 -121
  1759. package/node_modules/remix-utils/build/server/event-stream.d.ts +0 -27
  1760. package/node_modules/remix-utils/build/server/event-stream.js +0 -44
  1761. package/node_modules/remix-utils/build/server/get-client-ip-address.d.ts +0 -29
  1762. package/node_modules/remix-utils/build/server/get-client-ip-address.js +0 -51
  1763. package/node_modules/remix-utils/build/server/get-client-locales.d.ts +0 -18
  1764. package/node_modules/remix-utils/build/server/get-client-locales.js +0 -18
  1765. package/node_modules/remix-utils/build/server/get-headers.d.ts +0 -6
  1766. package/node_modules/remix-utils/build/server/get-headers.js +0 -11
  1767. package/node_modules/remix-utils/build/server/honeypot.d.ts +0 -32
  1768. package/node_modules/remix-utils/build/server/honeypot.js +0 -96
  1769. package/node_modules/remix-utils/build/server/is-prefetch.d.ts +0 -16
  1770. package/node_modules/remix-utils/build/server/is-prefetch.js +0 -11
  1771. package/node_modules/remix-utils/build/server/json-hash.d.ts +0 -6
  1772. package/node_modules/remix-utils/build/server/json-hash.js +0 -16
  1773. package/node_modules/remix-utils/build/server/named-action.d.ts +0 -19
  1774. package/node_modules/remix-utils/build/server/named-action.js +0 -62
  1775. package/node_modules/remix-utils/build/server/parse-accept-header.d.ts +0 -12
  1776. package/node_modules/remix-utils/build/server/parse-accept-header.js +0 -17
  1777. package/node_modules/remix-utils/build/server/preload-route-assets.d.ts +0 -80
  1778. package/node_modules/remix-utils/build/server/preload-route-assets.js +0 -120
  1779. package/node_modules/remix-utils/build/server/redirect-back.d.ts +0 -18
  1780. package/node_modules/remix-utils/build/server/redirect-back.js +0 -29
  1781. package/node_modules/remix-utils/build/server/respond-to.d.ts +0 -40
  1782. package/node_modules/remix-utils/build/server/respond-to.js +0 -22
  1783. package/node_modules/remix-utils/build/server/responses.d.ts +0 -100
  1784. package/node_modules/remix-utils/build/server/responses.js +0 -167
  1785. package/node_modules/remix-utils/build/server/rolling-cookie.d.ts +0 -4
  1786. package/node_modules/remix-utils/build/server/rolling-cookie.js +0 -9
  1787. package/node_modules/remix-utils/build/server/safe-redirect.d.ts +0 -10
  1788. package/node_modules/remix-utils/build/server/safe-redirect.js +0 -22
  1789. package/node_modules/remix-utils/build/server/sec-fetch.d.ts +0 -43
  1790. package/node_modules/remix-utils/build/server/sec-fetch.js +0 -67
  1791. package/node_modules/remix-utils/build/server/typed-cookie.d.ts +0 -17
  1792. package/node_modules/remix-utils/build/server/typed-cookie.js +0 -58
  1793. package/node_modules/remix-utils/build/server/typed-session.d.ts +0 -59
  1794. package/node_modules/remix-utils/build/server/typed-session.js +0 -88
  1795. package/node_modules/remix-utils/package.json +0 -182
  1796. package/node_modules/remix-utils/scripts/check-pkg-exports.ts +0 -61
  1797. package/node_modules/set-cookie-parser/LICENSE +0 -21
  1798. package/node_modules/set-cookie-parser/README.md +0 -199
  1799. package/node_modules/set-cookie-parser/lib/set-cookie.js +0 -226
  1800. package/node_modules/set-cookie-parser/package.json +0 -43
  1801. package/node_modules/source-map/LICENSE +0 -28
  1802. package/node_modules/source-map/README.md +0 -742
  1803. package/node_modules/source-map/dist/source-map.debug.js +0 -3234
  1804. package/node_modules/source-map/dist/source-map.js +0 -3233
  1805. package/node_modules/source-map/dist/source-map.min.js +0 -2
  1806. package/node_modules/source-map/dist/source-map.min.js.map +0 -1
  1807. package/node_modules/source-map/lib/array-set.js +0 -121
  1808. package/node_modules/source-map/lib/base64-vlq.js +0 -140
  1809. package/node_modules/source-map/lib/base64.js +0 -67
  1810. package/node_modules/source-map/lib/binary-search.js +0 -111
  1811. package/node_modules/source-map/lib/mapping-list.js +0 -79
  1812. package/node_modules/source-map/lib/mappings.wasm +0 -0
  1813. package/node_modules/source-map/lib/quick-sort.js +0 -114
  1814. package/node_modules/source-map/lib/read-wasm.js +0 -49
  1815. package/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  1816. package/node_modules/source-map/lib/source-map-generator.js +0 -425
  1817. package/node_modules/source-map/lib/source-node.js +0 -413
  1818. package/node_modules/source-map/lib/util.js +0 -488
  1819. package/node_modules/source-map/lib/wasm.js +0 -107
  1820. package/node_modules/source-map/package.json +0 -73
  1821. package/node_modules/source-map/source-map.d.ts +0 -98
  1822. package/node_modules/source-map/source-map.js +0 -8
  1823. package/node_modules/tailwind-merge/LICENSE.md +0 -21
  1824. package/node_modules/tailwind-merge/README.md +0 -38
  1825. package/node_modules/tailwind-merge/dist/bundle-cjs.js +0 -2595
  1826. package/node_modules/tailwind-merge/dist/bundle-cjs.js.map +0 -1
  1827. package/node_modules/tailwind-merge/dist/bundle-mjs.mjs +0 -2583
  1828. package/node_modules/tailwind-merge/dist/bundle-mjs.mjs.map +0 -1
  1829. package/node_modules/tailwind-merge/dist/es5/bundle-cjs.js +0 -2645
  1830. package/node_modules/tailwind-merge/dist/es5/bundle-cjs.js.map +0 -1
  1831. package/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs +0 -2633
  1832. package/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs.map +0 -1
  1833. package/node_modules/tailwind-merge/dist/types.d.ts +0 -2143
  1834. package/node_modules/tailwind-merge/package.json +0 -95
  1835. package/node_modules/tailwind-merge/src/index.ts +0 -14
  1836. package/node_modules/tailwind-merge/src/lib/class-utils.ts +0 -215
  1837. package/node_modules/tailwind-merge/src/lib/config-utils.ts +0 -14
  1838. package/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts +0 -50
  1839. package/node_modules/tailwind-merge/src/lib/default-config.ts +0 -1865
  1840. package/node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts +0 -26
  1841. package/node_modules/tailwind-merge/src/lib/from-theme.ts +0 -13
  1842. package/node_modules/tailwind-merge/src/lib/lru-cache.ts +0 -52
  1843. package/node_modules/tailwind-merge/src/lib/merge-classlist.ts +0 -99
  1844. package/node_modules/tailwind-merge/src/lib/merge-configs.ts +0 -72
  1845. package/node_modules/tailwind-merge/src/lib/modifier-utils.ts +0 -95
  1846. package/node_modules/tailwind-merge/src/lib/tw-join.ts +0 -50
  1847. package/node_modules/tailwind-merge/src/lib/tw-merge.ts +0 -4
  1848. package/node_modules/tailwind-merge/src/lib/types.ts +0 -412
  1849. package/node_modules/tailwind-merge/src/lib/validators.ts +0 -104
  1850. package/node_modules/tslib/CopyrightNotice.txt +0 -15
  1851. package/node_modules/tslib/LICENSE.txt +0 -12
  1852. package/node_modules/tslib/README.md +0 -164
  1853. package/node_modules/tslib/SECURITY.md +0 -41
  1854. package/node_modules/tslib/modules/index.d.ts +0 -37
  1855. package/node_modules/tslib/modules/index.js +0 -68
  1856. package/node_modules/tslib/modules/package.json +0 -3
  1857. package/node_modules/tslib/package.json +0 -47
  1858. package/node_modules/tslib/tslib.d.ts +0 -453
  1859. package/node_modules/tslib/tslib.es6.html +0 -1
  1860. package/node_modules/tslib/tslib.es6.js +0 -374
  1861. package/node_modules/tslib/tslib.es6.mjs +0 -373
  1862. package/node_modules/tslib/tslib.html +0 -1
  1863. package/node_modules/tslib/tslib.js +0 -424
  1864. package/node_modules/turbo-stream/LICENSE +0 -7
  1865. package/node_modules/turbo-stream/README.md +0 -31
  1866. package/node_modules/turbo-stream/dist/flatten.d.ts +0 -2
  1867. package/node_modules/turbo-stream/dist/flatten.js +0 -172
  1868. package/node_modules/turbo-stream/dist/turbo-stream.d.ts +0 -12
  1869. package/node_modules/turbo-stream/dist/turbo-stream.js +0 -202
  1870. package/node_modules/turbo-stream/dist/turbo-stream.mjs +0 -530
  1871. package/node_modules/turbo-stream/dist/unflatten.d.ts +0 -2
  1872. package/node_modules/turbo-stream/dist/unflatten.js +0 -127
  1873. package/node_modules/turbo-stream/dist/utils.d.ts +0 -43
  1874. package/node_modules/turbo-stream/dist/utils.js +0 -55
  1875. package/node_modules/turbo-stream/package.json +0 -50
  1876. package/node_modules/type-fest/index.d.ts +0 -160
  1877. package/node_modules/type-fest/package.json +0 -72
  1878. package/node_modules/type-fest/readme.md +0 -992
  1879. package/node_modules/type-fest/source/and.d.ts +0 -25
  1880. package/node_modules/type-fest/source/array-indices.d.ts +0 -23
  1881. package/node_modules/type-fest/source/array-slice.d.ts +0 -107
  1882. package/node_modules/type-fest/source/array-splice.d.ts +0 -97
  1883. package/node_modules/type-fest/source/array-values.d.ts +0 -22
  1884. package/node_modules/type-fest/source/async-return-type.d.ts +0 -23
  1885. package/node_modules/type-fest/source/asyncify.d.ts +0 -32
  1886. package/node_modules/type-fest/source/basic.d.ts +0 -68
  1887. package/node_modules/type-fest/source/camel-case.d.ts +0 -80
  1888. package/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +0 -87
  1889. package/node_modules/type-fest/source/camel-cased-properties.d.ts +0 -36
  1890. package/node_modules/type-fest/source/conditional-except.d.ts +0 -45
  1891. package/node_modules/type-fest/source/conditional-keys.d.ts +0 -47
  1892. package/node_modules/type-fest/source/conditional-pick-deep.d.ts +0 -104
  1893. package/node_modules/type-fest/source/conditional-pick.d.ts +0 -44
  1894. package/node_modules/type-fest/source/conditional-simplify.d.ts +0 -32
  1895. package/node_modules/type-fest/source/delimiter-case.d.ts +0 -99
  1896. package/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +0 -84
  1897. package/node_modules/type-fest/source/delimiter-cased-properties.d.ts +0 -37
  1898. package/node_modules/type-fest/source/distributed-omit.d.ts +0 -89
  1899. package/node_modules/type-fest/source/distributed-pick.d.ts +0 -85
  1900. package/node_modules/type-fest/source/empty-object.d.ts +0 -46
  1901. package/node_modules/type-fest/source/enforce-optional.d.ts +0 -47
  1902. package/node_modules/type-fest/source/entries.d.ts +0 -62
  1903. package/node_modules/type-fest/source/entry.d.ts +0 -65
  1904. package/node_modules/type-fest/source/exact.d.ts +0 -63
  1905. package/node_modules/type-fest/source/except.d.ts +0 -80
  1906. package/node_modules/type-fest/source/fixed-length-array.d.ts +0 -43
  1907. package/node_modules/type-fest/source/get.d.ts +0 -191
  1908. package/node_modules/type-fest/source/global-this.d.ts +0 -21
  1909. package/node_modules/type-fest/source/greater-than-or-equal.d.ts +0 -22
  1910. package/node_modules/type-fest/source/greater-than.d.ts +0 -51
  1911. package/node_modules/type-fest/source/has-optional-keys.d.ts +0 -21
  1912. package/node_modules/type-fest/source/has-readonly-keys.d.ts +0 -21
  1913. package/node_modules/type-fest/source/has-required-keys.d.ts +0 -59
  1914. package/node_modules/type-fest/source/has-writable-keys.d.ts +0 -21
  1915. package/node_modules/type-fest/source/if-any.d.ts +0 -24
  1916. package/node_modules/type-fest/source/if-empty-object.d.ts +0 -26
  1917. package/node_modules/type-fest/source/if-never.d.ts +0 -24
  1918. package/node_modules/type-fest/source/if-null.d.ts +0 -24
  1919. package/node_modules/type-fest/source/if-unknown.d.ts +0 -24
  1920. package/node_modules/type-fest/source/includes.d.ts +0 -22
  1921. package/node_modules/type-fest/source/int-range.d.ts +0 -53
  1922. package/node_modules/type-fest/source/internal.d.ts +0 -783
  1923. package/node_modules/type-fest/source/invariant-of.d.ts +0 -78
  1924. package/node_modules/type-fest/source/is-any.d.ts +0 -29
  1925. package/node_modules/type-fest/source/is-equal.d.ts +0 -31
  1926. package/node_modules/type-fest/source/is-float.d.ts +0 -33
  1927. package/node_modules/type-fest/source/is-integer.d.ts +0 -48
  1928. package/node_modules/type-fest/source/is-literal.d.ts +0 -258
  1929. package/node_modules/type-fest/source/is-never.d.ts +0 -42
  1930. package/node_modules/type-fest/source/is-null.d.ts +0 -20
  1931. package/node_modules/type-fest/source/is-unknown.d.ts +0 -52
  1932. package/node_modules/type-fest/source/iterable-element.d.ts +0 -54
  1933. package/node_modules/type-fest/source/join.d.ts +0 -68
  1934. package/node_modules/type-fest/source/jsonifiable.d.ts +0 -37
  1935. package/node_modules/type-fest/source/jsonify.d.ts +0 -121
  1936. package/node_modules/type-fest/source/kebab-case.d.ts +0 -38
  1937. package/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +0 -47
  1938. package/node_modules/type-fest/source/kebab-cased-properties.d.ts +0 -30
  1939. package/node_modules/type-fest/source/keys-of-union.d.ts +0 -40
  1940. package/node_modules/type-fest/source/last-array-element.d.ts +0 -38
  1941. package/node_modules/type-fest/source/less-than-or-equal.d.ts +0 -22
  1942. package/node_modules/type-fest/source/less-than.d.ts +0 -22
  1943. package/node_modules/type-fest/source/literal-to-primitive-deep.d.ts +0 -36
  1944. package/node_modules/type-fest/source/literal-to-primitive.d.ts +0 -36
  1945. package/node_modules/type-fest/source/literal-union.d.ts +0 -35
  1946. package/node_modules/type-fest/source/merge-deep.d.ts +0 -486
  1947. package/node_modules/type-fest/source/merge-exclusive.d.ts +0 -41
  1948. package/node_modules/type-fest/source/merge.d.ts +0 -48
  1949. package/node_modules/type-fest/source/multidimensional-array.d.ts +0 -44
  1950. package/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +0 -48
  1951. package/node_modules/type-fest/source/non-empty-object.d.ts +0 -35
  1952. package/node_modules/type-fest/source/numeric.d.ts +0 -222
  1953. package/node_modules/type-fest/source/observable-like.d.ts +0 -63
  1954. package/node_modules/type-fest/source/omit-deep.d.ts +0 -140
  1955. package/node_modules/type-fest/source/omit-index-signature.d.ts +0 -107
  1956. package/node_modules/type-fest/source/opaque.d.ts +0 -252
  1957. package/node_modules/type-fest/source/optional-keys-of.d.ts +0 -38
  1958. package/node_modules/type-fest/source/or.d.ts +0 -25
  1959. package/node_modules/type-fest/source/override-properties.d.ts +0 -36
  1960. package/node_modules/type-fest/source/package-json.d.ts +0 -676
  1961. package/node_modules/type-fest/source/partial-deep.d.ts +0 -109
  1962. package/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +0 -71
  1963. package/node_modules/type-fest/source/pascal-case.d.ts +0 -38
  1964. package/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +0 -55
  1965. package/node_modules/type-fest/source/pascal-cased-properties.d.ts +0 -35
  1966. package/node_modules/type-fest/source/paths.d.ts +0 -85
  1967. package/node_modules/type-fest/source/pick-deep.d.ts +0 -149
  1968. package/node_modules/type-fest/source/pick-index-signature.d.ts +0 -102
  1969. package/node_modules/type-fest/source/primitive.d.ts +0 -13
  1970. package/node_modules/type-fest/source/promisable.d.ts +0 -25
  1971. package/node_modules/type-fest/source/readonly-deep.d.ts +0 -81
  1972. package/node_modules/type-fest/source/readonly-keys-of.d.ts +0 -29
  1973. package/node_modules/type-fest/source/readonly-tuple.d.ts +0 -41
  1974. package/node_modules/type-fest/source/replace.d.ts +0 -67
  1975. package/node_modules/type-fest/source/require-all-or-none.d.ts +0 -42
  1976. package/node_modules/type-fest/source/require-at-least-one.d.ts +0 -34
  1977. package/node_modules/type-fest/source/require-exactly-one.d.ts +0 -34
  1978. package/node_modules/type-fest/source/require-one-or-none.d.ts +0 -37
  1979. package/node_modules/type-fest/source/required-deep.d.ts +0 -78
  1980. package/node_modules/type-fest/source/required-keys-of.d.ts +0 -29
  1981. package/node_modules/type-fest/source/schema.d.ts +0 -71
  1982. package/node_modules/type-fest/source/screaming-snake-case.d.ts +0 -33
  1983. package/node_modules/type-fest/source/set-field-type.d.ts +0 -37
  1984. package/node_modules/type-fest/source/set-non-nullable.d.ts +0 -39
  1985. package/node_modules/type-fest/source/set-optional.d.ts +0 -35
  1986. package/node_modules/type-fest/source/set-parameter-type.d.ts +0 -117
  1987. package/node_modules/type-fest/source/set-readonly.d.ts +0 -38
  1988. package/node_modules/type-fest/source/set-required.d.ts +0 -40
  1989. package/node_modules/type-fest/source/set-return-type.d.ts +0 -29
  1990. package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +0 -168
  1991. package/node_modules/type-fest/source/simplify-deep.d.ts +0 -115
  1992. package/node_modules/type-fest/source/simplify.d.ts +0 -58
  1993. package/node_modules/type-fest/source/single-key-object.d.ts +0 -29
  1994. package/node_modules/type-fest/source/snake-case.d.ts +0 -38
  1995. package/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +0 -47
  1996. package/node_modules/type-fest/source/snake-cased-properties.d.ts +0 -30
  1997. package/node_modules/type-fest/source/split-words.d.ts +0 -57
  1998. package/node_modules/type-fest/source/split.d.ts +0 -29
  1999. package/node_modules/type-fest/source/spread.d.ts +0 -85
  2000. package/node_modules/type-fest/source/string-key-of.d.ts +0 -25
  2001. package/node_modules/type-fest/source/string-slice.d.ts +0 -37
  2002. package/node_modules/type-fest/source/stringified.d.ts +0 -23
  2003. package/node_modules/type-fest/source/subtract.d.ts +0 -70
  2004. package/node_modules/type-fest/source/sum.d.ts +0 -70
  2005. package/node_modules/type-fest/source/tagged-union.d.ts +0 -51
  2006. package/node_modules/type-fest/source/trim.d.ts +0 -27
  2007. package/node_modules/type-fest/source/tsconfig-json.d.ts +0 -1198
  2008. package/node_modules/type-fest/source/tuple-to-union.d.ts +0 -51
  2009. package/node_modules/type-fest/source/typed-array.d.ts +0 -17
  2010. package/node_modules/type-fest/source/undefined-on-partial-deep.d.ts +0 -81
  2011. package/node_modules/type-fest/source/union-to-intersection.d.ts +0 -61
  2012. package/node_modules/type-fest/source/unknown-array.d.ts +0 -25
  2013. package/node_modules/type-fest/source/unknown-record.d.ts +0 -31
  2014. package/node_modules/type-fest/source/value-of.d.ts +0 -42
  2015. package/node_modules/type-fest/source/writable-deep.d.ts +0 -83
  2016. package/node_modules/type-fest/source/writable-keys-of.d.ts +0 -30
  2017. package/node_modules/type-fest/source/writable.d.ts +0 -68
  2018. package/node_modules/use-callback-ref/LICENSE +0 -21
  2019. package/node_modules/use-callback-ref/README.md +0 -170
  2020. package/node_modules/use-callback-ref/dist/es2015/assignRef.d.ts +0 -15
  2021. package/node_modules/use-callback-ref/dist/es2015/assignRef.js +0 -22
  2022. package/node_modules/use-callback-ref/dist/es2015/createRef.d.ts +0 -10
  2023. package/node_modules/use-callback-ref/dist/es2015/createRef.js +0 -23
  2024. package/node_modules/use-callback-ref/dist/es2015/index.d.ts +0 -8
  2025. package/node_modules/use-callback-ref/dist/es2015/index.js +0 -12
  2026. package/node_modules/use-callback-ref/dist/es2015/mergeRef.d.ts +0 -16
  2027. package/node_modules/use-callback-ref/dist/es2015/mergeRef.js +0 -18
  2028. package/node_modules/use-callback-ref/dist/es2015/refToCallback.d.ts +0 -24
  2029. package/node_modules/use-callback-ref/dist/es2015/refToCallback.js +0 -48
  2030. package/node_modules/use-callback-ref/dist/es2015/transformRef.d.ts +0 -11
  2031. package/node_modules/use-callback-ref/dist/es2015/transformRef.js +0 -14
  2032. package/node_modules/use-callback-ref/dist/es2015/types.d.ts +0 -5
  2033. package/node_modules/use-callback-ref/dist/es2015/types.js +0 -1
  2034. package/node_modules/use-callback-ref/dist/es2015/useMergeRef.d.ts +0 -17
  2035. package/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +0 -45
  2036. package/node_modules/use-callback-ref/dist/es2015/useRef.d.ts +0 -16
  2037. package/node_modules/use-callback-ref/dist/es2015/useRef.js +0 -39
  2038. package/node_modules/use-callback-ref/dist/es2015/useTransformRef.d.ts +0 -15
  2039. package/node_modules/use-callback-ref/dist/es2015/useTransformRef.js +0 -18
  2040. package/node_modules/use-callback-ref/dist/es2019/assignRef.d.ts +0 -15
  2041. package/node_modules/use-callback-ref/dist/es2019/assignRef.js +0 -22
  2042. package/node_modules/use-callback-ref/dist/es2019/createRef.d.ts +0 -10
  2043. package/node_modules/use-callback-ref/dist/es2019/createRef.js +0 -23
  2044. package/node_modules/use-callback-ref/dist/es2019/index.d.ts +0 -8
  2045. package/node_modules/use-callback-ref/dist/es2019/index.js +0 -12
  2046. package/node_modules/use-callback-ref/dist/es2019/mergeRef.d.ts +0 -16
  2047. package/node_modules/use-callback-ref/dist/es2019/mergeRef.js +0 -18
  2048. package/node_modules/use-callback-ref/dist/es2019/refToCallback.d.ts +0 -24
  2049. package/node_modules/use-callback-ref/dist/es2019/refToCallback.js +0 -48
  2050. package/node_modules/use-callback-ref/dist/es2019/transformRef.d.ts +0 -11
  2051. package/node_modules/use-callback-ref/dist/es2019/transformRef.js +0 -14
  2052. package/node_modules/use-callback-ref/dist/es2019/types.d.ts +0 -5
  2053. package/node_modules/use-callback-ref/dist/es2019/types.js +0 -1
  2054. package/node_modules/use-callback-ref/dist/es2019/useMergeRef.d.ts +0 -17
  2055. package/node_modules/use-callback-ref/dist/es2019/useMergeRef.js +0 -43
  2056. package/node_modules/use-callback-ref/dist/es2019/useRef.d.ts +0 -16
  2057. package/node_modules/use-callback-ref/dist/es2019/useRef.js +0 -39
  2058. package/node_modules/use-callback-ref/dist/es2019/useTransformRef.d.ts +0 -15
  2059. package/node_modules/use-callback-ref/dist/es2019/useTransformRef.js +0 -18
  2060. package/node_modules/use-callback-ref/dist/es5/assignRef.d.ts +0 -15
  2061. package/node_modules/use-callback-ref/dist/es5/assignRef.js +0 -26
  2062. package/node_modules/use-callback-ref/dist/es5/createRef.d.ts +0 -10
  2063. package/node_modules/use-callback-ref/dist/es5/createRef.js +0 -27
  2064. package/node_modules/use-callback-ref/dist/es5/index.d.ts +0 -8
  2065. package/node_modules/use-callback-ref/dist/es5/index.js +0 -24
  2066. package/node_modules/use-callback-ref/dist/es5/mergeRef.d.ts +0 -16
  2067. package/node_modules/use-callback-ref/dist/es5/mergeRef.js +0 -22
  2068. package/node_modules/use-callback-ref/dist/es5/refToCallback.d.ts +0 -24
  2069. package/node_modules/use-callback-ref/dist/es5/refToCallback.js +0 -53
  2070. package/node_modules/use-callback-ref/dist/es5/transformRef.d.ts +0 -11
  2071. package/node_modules/use-callback-ref/dist/es5/transformRef.js +0 -18
  2072. package/node_modules/use-callback-ref/dist/es5/types.d.ts +0 -5
  2073. package/node_modules/use-callback-ref/dist/es5/types.js +0 -2
  2074. package/node_modules/use-callback-ref/dist/es5/useMergeRef.d.ts +0 -17
  2075. package/node_modules/use-callback-ref/dist/es5/useMergeRef.js +0 -50
  2076. package/node_modules/use-callback-ref/dist/es5/useRef.d.ts +0 -16
  2077. package/node_modules/use-callback-ref/dist/es5/useRef.js +0 -43
  2078. package/node_modules/use-callback-ref/dist/es5/useTransformRef.d.ts +0 -15
  2079. package/node_modules/use-callback-ref/dist/es5/useTransformRef.js +0 -22
  2080. package/node_modules/use-callback-ref/package.json +0 -84
  2081. package/node_modules/use-sidecar/LICENSE +0 -21
  2082. package/node_modules/use-sidecar/README.md +0 -349
  2083. package/node_modules/use-sidecar/dist/es2015/config.d.ts +0 -5
  2084. package/node_modules/use-sidecar/dist/es2015/config.js +0 -6
  2085. package/node_modules/use-sidecar/dist/es2015/env.d.ts +0 -4
  2086. package/node_modules/use-sidecar/dist/es2015/env.js +0 -5
  2087. package/node_modules/use-sidecar/dist/es2015/exports.d.ts +0 -3
  2088. package/node_modules/use-sidecar/dist/es2015/exports.js +0 -18
  2089. package/node_modules/use-sidecar/dist/es2015/hoc.d.ts +0 -3
  2090. package/node_modules/use-sidecar/dist/es2015/hoc.js +0 -15
  2091. package/node_modules/use-sidecar/dist/es2015/hook.d.ts +0 -2
  2092. package/node_modules/use-sidecar/dist/es2015/hook.js +0 -41
  2093. package/node_modules/use-sidecar/dist/es2015/index.d.ts +0 -7
  2094. package/node_modules/use-sidecar/dist/es2015/index.js +0 -6
  2095. package/node_modules/use-sidecar/dist/es2015/medium.d.ts +0 -3
  2096. package/node_modules/use-sidecar/dist/es2015/medium.js +0 -78
  2097. package/node_modules/use-sidecar/dist/es2015/renderProp.d.ts +0 -8
  2098. package/node_modules/use-sidecar/dist/es2015/renderProp.js +0 -35
  2099. package/node_modules/use-sidecar/dist/es2015/types.d.ts +0 -47
  2100. package/node_modules/use-sidecar/dist/es2015/types.js +0 -1
  2101. package/node_modules/use-sidecar/dist/es2019/config.d.ts +0 -5
  2102. package/node_modules/use-sidecar/dist/es2019/config.js +0 -6
  2103. package/node_modules/use-sidecar/dist/es2019/env.d.ts +0 -4
  2104. package/node_modules/use-sidecar/dist/es2019/env.js +0 -5
  2105. package/node_modules/use-sidecar/dist/es2019/exports.d.ts +0 -3
  2106. package/node_modules/use-sidecar/dist/es2019/exports.js +0 -16
  2107. package/node_modules/use-sidecar/dist/es2019/hoc.d.ts +0 -3
  2108. package/node_modules/use-sidecar/dist/es2019/hoc.js +0 -14
  2109. package/node_modules/use-sidecar/dist/es2019/hook.d.ts +0 -2
  2110. package/node_modules/use-sidecar/dist/es2019/hook.js +0 -41
  2111. package/node_modules/use-sidecar/dist/es2019/index.d.ts +0 -7
  2112. package/node_modules/use-sidecar/dist/es2019/index.js +0 -6
  2113. package/node_modules/use-sidecar/dist/es2019/medium.d.ts +0 -3
  2114. package/node_modules/use-sidecar/dist/es2019/medium.js +0 -78
  2115. package/node_modules/use-sidecar/dist/es2019/renderProp.d.ts +0 -8
  2116. package/node_modules/use-sidecar/dist/es2019/renderProp.js +0 -28
  2117. package/node_modules/use-sidecar/dist/es2019/types.d.ts +0 -47
  2118. package/node_modules/use-sidecar/dist/es2019/types.js +0 -1
  2119. package/node_modules/use-sidecar/dist/es5/config.d.ts +0 -5
  2120. package/node_modules/use-sidecar/dist/es5/config.js +0 -10
  2121. package/node_modules/use-sidecar/dist/es5/env.d.ts +0 -4
  2122. package/node_modules/use-sidecar/dist/es5/env.js +0 -8
  2123. package/node_modules/use-sidecar/dist/es5/exports.d.ts +0 -3
  2124. package/node_modules/use-sidecar/dist/es5/exports.js +0 -22
  2125. package/node_modules/use-sidecar/dist/es5/hoc.d.ts +0 -3
  2126. package/node_modules/use-sidecar/dist/es5/hoc.js +0 -19
  2127. package/node_modules/use-sidecar/dist/es5/hook.d.ts +0 -2
  2128. package/node_modules/use-sidecar/dist/es5/hook.js +0 -45
  2129. package/node_modules/use-sidecar/dist/es5/index.d.ts +0 -7
  2130. package/node_modules/use-sidecar/dist/es5/index.js +0 -16
  2131. package/node_modules/use-sidecar/dist/es5/medium.d.ts +0 -3
  2132. package/node_modules/use-sidecar/dist/es5/medium.js +0 -83
  2133. package/node_modules/use-sidecar/dist/es5/renderProp.d.ts +0 -8
  2134. package/node_modules/use-sidecar/dist/es5/renderProp.js +0 -39
  2135. package/node_modules/use-sidecar/dist/es5/types.d.ts +0 -47
  2136. package/node_modules/use-sidecar/dist/es5/types.js +0 -2
  2137. package/node_modules/use-sidecar/package.json +0 -89
  2138. package/node_modules/zod/LICENSE +0 -21
  2139. package/node_modules/zod/README.md +0 -2876
  2140. package/node_modules/zod/index.d.ts +0 -2
  2141. package/node_modules/zod/lib/ZodError.d.ts +0 -164
  2142. package/node_modules/zod/lib/ZodError.js +0 -137
  2143. package/node_modules/zod/lib/__tests__/Mocker.d.ts +0 -17
  2144. package/node_modules/zod/lib/__tests__/Mocker.js +0 -57
  2145. package/node_modules/zod/lib/benchmarks/datetime.d.ts +0 -5
  2146. package/node_modules/zod/lib/benchmarks/datetime.js +0 -54
  2147. package/node_modules/zod/lib/benchmarks/discriminatedUnion.d.ts +0 -5
  2148. package/node_modules/zod/lib/benchmarks/discriminatedUnion.js +0 -79
  2149. package/node_modules/zod/lib/benchmarks/index.d.ts +0 -1
  2150. package/node_modules/zod/lib/benchmarks/index.js +0 -59
  2151. package/node_modules/zod/lib/benchmarks/ipv4.d.ts +0 -5
  2152. package/node_modules/zod/lib/benchmarks/ipv4.js +0 -54
  2153. package/node_modules/zod/lib/benchmarks/object.d.ts +0 -5
  2154. package/node_modules/zod/lib/benchmarks/object.js +0 -70
  2155. package/node_modules/zod/lib/benchmarks/primitives.d.ts +0 -5
  2156. package/node_modules/zod/lib/benchmarks/primitives.js +0 -170
  2157. package/node_modules/zod/lib/benchmarks/realworld.d.ts +0 -5
  2158. package/node_modules/zod/lib/benchmarks/realworld.js +0 -56
  2159. package/node_modules/zod/lib/benchmarks/string.d.ts +0 -5
  2160. package/node_modules/zod/lib/benchmarks/string.js +0 -55
  2161. package/node_modules/zod/lib/benchmarks/union.d.ts +0 -5
  2162. package/node_modules/zod/lib/benchmarks/union.js +0 -79
  2163. package/node_modules/zod/lib/errors.d.ts +0 -5
  2164. package/node_modules/zod/lib/errors.js +0 -17
  2165. package/node_modules/zod/lib/external.d.ts +0 -6
  2166. package/node_modules/zod/lib/external.js +0 -18
  2167. package/node_modules/zod/lib/helpers/enumUtil.d.ts +0 -8
  2168. package/node_modules/zod/lib/helpers/enumUtil.js +0 -2
  2169. package/node_modules/zod/lib/helpers/errorUtil.d.ts +0 -9
  2170. package/node_modules/zod/lib/helpers/errorUtil.js +0 -8
  2171. package/node_modules/zod/lib/helpers/parseUtil.d.ts +0 -78
  2172. package/node_modules/zod/lib/helpers/parseUtil.js +0 -125
  2173. package/node_modules/zod/lib/helpers/partialUtil.d.ts +0 -8
  2174. package/node_modules/zod/lib/helpers/partialUtil.js +0 -2
  2175. package/node_modules/zod/lib/helpers/typeAliases.d.ts +0 -2
  2176. package/node_modules/zod/lib/helpers/typeAliases.js +0 -2
  2177. package/node_modules/zod/lib/helpers/util.d.ts +0 -82
  2178. package/node_modules/zod/lib/helpers/util.js +0 -142
  2179. package/node_modules/zod/lib/index.d.ts +0 -4
  2180. package/node_modules/zod/lib/index.js +0 -29
  2181. package/node_modules/zod/lib/index.mjs +0 -4236
  2182. package/node_modules/zod/lib/index.umd.js +0 -4351
  2183. package/node_modules/zod/lib/locales/en.d.ts +0 -3
  2184. package/node_modules/zod/lib/locales/en.js +0 -129
  2185. package/node_modules/zod/lib/types.d.ts +0 -1127
  2186. package/node_modules/zod/lib/types.js +0 -3677
  2187. package/node_modules/zod/package.json +0 -119
@@ -1 +0,0 @@
1
- {"version":3,"file":"_layout-BriOqd2R.js","sources":["../../../app/routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/__shared/step-mdx.tsx","../../../../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../../app/routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/__shared/touched-files.tsx","../../../app/routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout.tsx"],"sourcesContent":["import {\n\tLink,\n\tuseLoaderData,\n\tuseSearchParams,\n\ttype LinkProps,\n} from '@remix-run/react'\nimport * as React from 'react'\nimport { type PropsWithChildren } from 'react'\nimport iconsSvg from '#app/assets/icons.svg'\nimport { EpicVideoInfoProvider } from '#app/components/epic-video.tsx'\nimport { Icon } from '#app/components/icons.tsx'\nimport { type InBrowserBrowserRef } from '#app/components/in-browser-browser.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { LaunchEditor } from '#app/routes/launch-editor.tsx'\nimport { Mdx } from '#app/utils/mdx.tsx'\nimport { cn, getBaseUrl } from '#app/utils/misc.tsx'\nimport { useRequestInfo } from '#app/utils/request-info.ts'\nimport { type loader } from '../_layout.tsx'\n\ntype StepContextType = {\n\tinBrowserBrowserRef: React.RefObject<InBrowserBrowserRef | null>\n}\nconst StepContext = React.createContext<StepContextType | null>(null)\n\nfunction useStepContext() {\n\tconst context = React.useContext(StepContext)\n\tif (!context) {\n\t\tthrow new Error('useStepContext must be used within a StepContext.Provider')\n\t}\n\treturn context\n}\n\nfunction StepContextProvider({\n\tchildren,\n\tinBrowserBrowserRef,\n}: {\n\tchildren: React.ReactNode\n\tinBrowserBrowserRef: React.RefObject<InBrowserBrowserRef | null>\n}) {\n\treturn (\n\t\t<StepContext.Provider value={{ inBrowserBrowserRef }}>\n\t\t\t{children}\n\t\t</StepContext.Provider>\n\t)\n}\n\nconst stepMdxComponents = {\n\tDiffLink,\n\tPrevDiffLink,\n\tNextDiffLink,\n\tInlineFile,\n\tLinkToApp,\n}\n\nexport function StepMdx({\n\tinBrowserBrowserRef,\n}: {\n\tinBrowserBrowserRef: React.RefObject<InBrowserBrowserRef | null>\n}) {\n\tconst data = useLoaderData<typeof loader>()\n\tif (!data.exerciseStepApp.instructionsCode) return null\n\treturn (\n\t\t<StepContextProvider inBrowserBrowserRef={inBrowserBrowserRef}>\n\t\t\t<EpicVideoInfoProvider epicVideoInfosPromise={data.epicVideoInfosPromise}>\n\t\t\t\t<div className=\"prose dark:prose-invert sm:prose-lg\">\n\t\t\t\t\t<Mdx\n\t\t\t\t\t\tcode={data.exerciseStepApp.instructionsCode}\n\t\t\t\t\t\tcomponents={stepMdxComponents}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</EpicVideoInfoProvider>\n\t\t</StepContextProvider>\n\t)\n}\n\nfunction withParam(\n\tsearchParams: URLSearchParams,\n\tkey: string,\n\tvalue: string | null,\n) {\n\tconst newSearchParams = new URLSearchParams(searchParams)\n\tif (value === null) {\n\t\tnewSearchParams.delete(key)\n\t} else {\n\t\tnewSearchParams.set(key, value)\n\t}\n\treturn newSearchParams\n}\n\nfunction NextDiffLink({\n\tapp = 0,\n\tfullPage = false,\n\tchildren,\n}: {\n\tapp: number\n\tfullPage?: boolean\n\tchildren?: React.ReactNode\n}) {\n\treturn (\n\t\t<DiffLink app1={app} app2={app + 1} fullPage={fullPage}>\n\t\t\t{children}\n\t\t</DiffLink>\n\t)\n}\n\nfunction PrevDiffLink({\n\tapp = -1,\n\tfullPage = false,\n\tchildren,\n}: {\n\tapp: number\n\tfullPage?: boolean\n\tchildren?: React.ReactNode\n}) {\n\treturn (\n\t\t<DiffLink app1={app} app2={app + 1} fullPage={fullPage}>\n\t\t\t{children}\n\t\t</DiffLink>\n\t)\n}\n\nfunction DiffLink({\n\tapp1 = 0,\n\tapp2 = 1,\n\tchildren,\n\tfullPage = false,\n\tto,\n}: {\n\tapp1?: string | number | null\n\tapp2?: string | number | null\n\tto?: string\n\tfullPage?: boolean\n\tchildren?: React.ReactNode\n}) {\n\tconst data = useLoaderData<typeof loader>()\n\tif (!to && !app1 && !app2) {\n\t\treturn (\n\t\t\t// @ts-expect-error šŸ¤·ā€ā™‚ļø\n\t\t\t<callout-danger className=\"notification\">\n\t\t\t\t<div className=\"title\">DiffLink Error: invalid input</div>\n\t\t\t\t{/* @ts-expect-error šŸ¤·ā€ā™‚ļø */}\n\t\t\t</callout-danger>\n\t\t)\n\t}\n\n\tfunction getAppName(input: typeof app1) {\n\t\tif (typeof input === 'number') {\n\t\t\tconst stepIndex = data.exerciseIndex + input\n\t\t\treturn data.allApps[stepIndex]?.name\n\t\t}\n\t\tif (!input) return null\n\t\tfor (const { name, stepName } of data.allApps) {\n\t\t\tif (input === name || input === stepName) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n\n\tif (to) {\n\t\tconst params = new URLSearchParams(to)\n\t\tapp1 = params.get('app1')\n\t\tapp2 = params.get('app2')\n\t}\n\tconst app1Name = getAppName(app1)\n\tconst app2Name = getAppName(app2)\n\tif (!app1Name || !app2Name) {\n\t\treturn (\n\t\t\t// @ts-expect-error šŸ¤·ā€ā™‚ļø\n\t\t\t<callout-danger className=\"notification\">\n\t\t\t\t<div className=\"title\">DiffLink Error: invalid input</div>\n\t\t\t\t{!app1Name && <div>app1: \"{app1}\" is not a valid app name</div>}\n\t\t\t\t{!app2Name && <div>app2: \"{app2}\" is not a valid app name</div>}\n\t\t\t\t{/* @ts-expect-error šŸ¤·ā€ā™‚ļø */}\n\t\t\t</callout-danger>\n\t\t)\n\t}\n\n\tif (!to) {\n\t\tto = `app1=${app1Name}&app2=${app2Name}`\n\t}\n\tconst pathToDiff = fullPage\n\t\t? `/diff?${to}`\n\t\t: `?${decodeURIComponent(\n\t\t\t\twithParam(new URLSearchParams(), 'preview', `diff&${to}`).toString(),\n\t\t\t)}`\n\n\tif (!children) {\n\t\tchildren = (\n\t\t\t<span>\n\t\t\t\tGo to Diff {fullPage ? '' : 'Preview'} from: <code>{app1Name}</code> to:{' '}\n\t\t\t\t<code>{app2Name}</code>\n\t\t\t</span>\n\t\t)\n\t}\n\n\treturn <Link to={pathToDiff}>{children}</Link>\n}\n\nfunction InlineFile({\n\tfile,\n\ttype = 'playground',\n\tchildren = <code>{file}</code>,\n\t...props\n}: Omit<PropsWithChildren<typeof LaunchEditor>, 'appName'> & {\n\tfile: string\n\ttype?: 'playground' | 'solution' | 'problem'\n}) {\n\tconst data = useLoaderData<typeof loader>()\n\tconst app = data[type] || data[data.type]\n\n\tconst info = (\n\t\t<div className=\"launch-editor-button-wrapper flex underline underline-offset-4\">\n\t\t\t{children}{' '}\n\t\t\t<svg height={24} width={24}>\n\t\t\t\t<use href={`${iconsSvg}#Keyboard`} />\n\t\t\t</svg>\n\t\t</div>\n\t)\n\n\treturn ENV.EPICSHOP_DEPLOYED && app ? (\n\t\t<div className=\"inline-block grow\">\n\t\t\t<LaunchEditor appFile={file} appName={app.name} {...props}>\n\t\t\t\t{info}\n\t\t\t</LaunchEditor>\n\t\t</div>\n\t) : app ? (\n\t\t<div className=\"inline-block grow\">\n\t\t\t<LaunchEditor appFile={file} appName={app.name} {...props}>\n\t\t\t\t{info}\n\t\t\t</LaunchEditor>\n\t\t</div>\n\t) : type === 'playground' ? (\n\t\t// playground does not exist yet\n\t\t<SimpleTooltip content=\"You must 'Set to Playground' before opening a file\">\n\t\t\t<div className=\"inline-block grow cursor-not-allowed\">{info}</div>\n\t\t</SimpleTooltip>\n\t) : (\n\t\t<>children</>\n\t)\n}\n\nfunction getPreviewType(\n\tpreview: string | null,\n): 'playground' | 'problem' | 'solution' {\n\tif (preview === 'problem') return 'problem'\n\tif (preview === 'solution') return 'solution'\n\treturn 'playground'\n}\n\nfunction LinkToApp({\n\tto: appTo,\n\tchildren = <code>{appTo.toString()}</code>,\n\t...props\n}: LinkProps) {\n\tconst [searchParams] = useSearchParams()\n\tconst to = `?${withParam(\n\t\tsearchParams,\n\t\t'pathname',\n\t\tappTo.toString(),\n\t).toString()}`\n\tconst data = useLoaderData<typeof loader>()\n\tconst type = getPreviewType(searchParams.get('preview'))\n\tconst requestInfo = useRequestInfo()\n\tconst app = data[type]\n\tconst previewAppUrl =\n\t\tapp?.dev.type === 'script'\n\t\t\t? getBaseUrl({\n\t\t\t\t\tdomain: requestInfo.domain,\n\t\t\t\t\tport: app.dev.portNumber,\n\t\t\t\t})\n\t\t\t: data.playground?.dev.type === 'browser'\n\t\t\t\t? data.playground.dev.pathname\n\t\t\t\t: null\n\tconst { inBrowserBrowserRef } = useStepContext()\n\tconst href = previewAppUrl\n\t\t? previewAppUrl.slice(0, -1) + appTo.toString()\n\t\t: null\n\treturn (\n\t\t<div className=\"inline-flex items-center justify-between gap-1\">\n\t\t\t<Link\n\t\t\t\tto={to}\n\t\t\t\t{...props}\n\t\t\t\tclassName={cn(props.className, {\n\t\t\t\t\t'cursor-not-allowed': ENV.EPICSHOP_DEPLOYED,\n\t\t\t\t})}\n\t\t\t\ttitle={\n\t\t\t\t\tENV.EPICSHOP_DEPLOYED\n\t\t\t\t\t\t? 'Cannot link to app in deployed version'\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tif (ENV.EPICSHOP_DEPLOYED) event.preventDefault()\n\n\t\t\t\t\tprops.onClick?.(event)\n\t\t\t\t\tinBrowserBrowserRef.current?.handleExtrnalNavigation(appTo.toString())\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Link>\n\t\t\t{href ? (\n\t\t\t\t<SimpleTooltip content=\"Open in new tab\">\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t\t\tclassName={cn('flex aspect-square items-center justify-center', {\n\t\t\t\t\t\t\t'cursor-not-allowed': ENV.EPICSHOP_DEPLOYED,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tENV.EPICSHOP_DEPLOYED\n\t\t\t\t\t\t\t\t? 'Cannot link to app in deployed version'\n\t\t\t\t\t\t\t\t: 'Open in new tab'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\tif (ENV.EPICSHOP_DEPLOYED) event.preventDefault()\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon name=\"ExternalLink\" />\n\t\t\t\t\t</a>\n\t\t\t\t</SimpleTooltip>\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n","\"use client\";\n\n// packages/react/popover/src/Popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as Popover from '@radix-ui/react-popover'\nimport { type SerializeFrom } from '@remix-run/node'\nimport { Await, useLoaderData } from '@remix-run/react'\nimport * as React from 'react'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { LaunchEditor } from '#app/routes/launch-editor.tsx'\nimport { SetAppToPlayground } from '#app/routes/set-playground.tsx'\nimport { type loader } from '../_layout.tsx'\n\nfunction TouchedFiles({\n\tdiffFilesPromise,\n}: {\n\tdiffFilesPromise: SerializeFrom<typeof loader>['diffFiles']\n}) {\n\tconst data = useLoaderData<typeof loader>()\n\n\tconst [open, setOpen] = React.useState(false)\n\tconst contentRef = React.useRef<HTMLDivElement>(null)\n\n\tfunction handleLaunchUpdate() {\n\t\tsetOpen(false)\n\t}\n\n\tconst appName = data.playground?.appName\n\n\treturn (\n\t\t<>\n\t\t\t<Popover.Root open={open} onOpenChange={setOpen}>\n\t\t\t\t<Popover.Trigger asChild>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"flex h-full items-center gap-1 border-r px-6 py-3 font-mono text-sm uppercase\"\n\t\t\t\t\t\taria-label=\"Relevant Files\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon name=\"Files\" />\n\t\t\t\t\t\tFiles\n\t\t\t\t\t</button>\n\t\t\t\t</Popover.Trigger>\n\t\t\t\t<Popover.Portal>\n\t\t\t\t\t<Popover.Content\n\t\t\t\t\t\tref={contentRef}\n\t\t\t\t\t\tclassName=\"slideRightContent lg:slideUpContent invert-theme z-10 select-none rounded bg-background px-9 py-8 text-foreground\"\n\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\tsideOffset={5}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"launch-editor-wrapper\">\n\t\t\t\t\t\t\t<strong className=\"inline-block px-2 pb-4 font-semibold uppercase\">\n\t\t\t\t\t\t\t\tRelevant Files\n\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t{data.problem &&\n\t\t\t\t\t\t\tdata.playground?.appName !== data.problem.name ? (\n\t\t\t\t\t\t\t\t<div className=\"mb-2 rounded p-1 font-mono font-medium\">\n\t\t\t\t\t\t\t\t\t<SetAppToPlayground appName={data.problem.name} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<div id=\"files\">\n\t\t\t\t\t\t\t\t<React.Suspense\n\t\t\t\t\t\t\t\t\tfallback={\n\t\t\t\t\t\t\t\t\t\t<SimpleTooltip content=\"Loading diff\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"Refresh\" className=\"h-8 w-8 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Await\n\t\t\t\t\t\t\t\t\t\tresolve={diffFilesPromise}\n\t\t\t\t\t\t\t\t\t\terrorElement={\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-foreground-danger\">\n\t\t\t\t\t\t\t\t\t\t\t\tSomething went wrong.\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{(diffFiles) => {\n\t\t\t\t\t\t\t\t\t\t\tif (!diffFiles) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-foreground-danger\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tUnable to determine diff\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tif (typeof diffFiles === 'string') {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-foreground-danger\">{diffFiles}</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tif (!diffFiles.length) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn <p>No files changed</p>\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tconst props =\n\t\t\t\t\t\t\t\t\t\t\t\tappName || ENV.EPICSHOP_GITHUB_ROOT\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You must 'Set to Playground' before opening a file\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'not-allowed',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<ul {...props}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{diffFiles.length > 1 && !ENV.EPICSHOP_DEPLOYED ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"mb-2 border-b border-b-gray-50 border-opacity-50 pb-2 font-sans\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<LaunchEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappFile={diffFiles.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(file) => `${file.path},${file.line},1`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappName=\"playground\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonUpdate={handleLaunchUpdate}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Open All Files</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</LaunchEditor>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{diffFiles.map((file) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li key={file.path} data-state={file.status}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<LaunchEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappFile={`${file.path},${file.line},1`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappName={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tENV.EPICSHOP_DEPLOYED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? data.problem?.name ?? 'playground'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'playground'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonUpdate={handleLaunchUpdate}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<code>{file.path}</code>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</LaunchEditor>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t</Await>\n\t\t\t\t\t\t\t\t</React.Suspense>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Popover.Content>\n\t\t\t\t</Popover.Portal>\n\t\t\t</Popover.Root>\n\t\t</>\n\t)\n}\n\nexport default TouchedFiles\n","import { ElementScrollRestoration } from '@epic-web/restore-scroll'\nimport {\n\tgetAppDisplayName,\n\tgetAppPageRoute,\n\tgetApps,\n\tgetExerciseApp,\n\tgetNextExerciseApp,\n\tgetPrevExerciseApp,\n\tisExerciseStepApp,\n\tisPlaygroundApp,\n\trequireExercise,\n\trequireExerciseApp,\n\ttype App,\n\ttype ExerciseStepApp,\n} from '@epic-web/workshop-utils/apps.server'\nimport { getWorkshopConfig } from '@epic-web/workshop-utils/config.server'\nimport {\n\tcombineServerTimings,\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport {\n\tdefer,\n\tredirect,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\ttype MetaFunction,\n\ttype SerializeFrom,\n} from '@remix-run/node'\nimport { Link, Outlet, useLoaderData } from '@remix-run/react'\nimport slugify from '@sindresorhus/slugify'\nimport { useRef } from 'react'\nimport { GeneralErrorBoundary } from '#app/components/error-boundary.tsx'\nimport { type InBrowserBrowserRef } from '#app/components/in-browser-browser.tsx'\nimport { NavChevrons } from '#app/components/nav-chevrons.tsx'\nimport { useRevalidationWS } from '#app/components/revalidation-ws.js'\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 { SetAppToPlayground } from '#app/routes/set-playground.tsx'\nimport { getDiffFiles } from '#app/utils/diff.server.js'\nimport { getEpicVideoInfos } from '#app/utils/epic-api.ts'\nimport { getSeoMetaTags } from '#app/utils/seo.js'\nimport { StepMdx } from './__shared/step-mdx.tsx'\nimport TouchedFiles from './__shared/touched-files.tsx'\n\nfunction pageTitle(\n\tdata: SerializeFrom<typeof loader> | undefined,\n\tworkshopTitle?: string,\n) {\n\tconst exerciseNumber =\n\t\tdata?.exerciseStepApp.exerciseNumber.toString().padStart(2, '0') ?? '00'\n\tconst stepNumber =\n\t\tdata?.exerciseStepApp.stepNumber.toString().padStart(2, '0') ?? '00'\n\tconst emoji = (\n\t\t{\n\t\t\tproblem: 'šŸ’Ŗ',\n\t\t\tsolution: 'šŸ',\n\t\t} as const\n\t)[data?.type ?? 'problem']\n\tconst title = data?.[data.type]?.title ?? 'N/A'\n\treturn {\n\t\temoji,\n\t\tstepNumber,\n\t\ttitle,\n\t\texerciseNumber,\n\t\texerciseTitle: data?.exerciseTitle ?? 'Unknown exercise',\n\t\tworkshopTitle,\n\t\ttype: data?.type ?? 'problem',\n\t}\n}\n\nexport const meta: MetaFunction<typeof loader, { root: typeof rootLoader }> = ({\n\tdata,\n\tmatches,\n\tparams,\n}) => {\n\tconst rootData = matches.find((m) => m.id === 'root')?.data\n\tif (!data || !rootData) return [{ title: 'šŸ¦‰ | Error' }]\n\tconst { emoji, stepNumber, title, exerciseNumber, exerciseTitle } =\n\t\tpageTitle(data)\n\n\treturn getSeoMetaTags({\n\t\ttitle: `${emoji} | ${stepNumber}. ${title} | ${exerciseNumber}. ${exerciseTitle} | ${rootData.workshopTitle}`,\n\t\tdescription: `${params.type} step for exercise ${exerciseNumber}. ${exerciseTitle}`,\n\t\togTitle: title,\n\t\togDescription: `${exerciseTitle} step ${Number(stepNumber)} ${params.type}`,\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('exerciseStepTypeLayoutLoader')\n\tconst url = new URL(request.url)\n\tconst { title: workshopTitle } = getWorkshopConfig()\n\tconst cacheOptions = { request, timings }\n\tconst exerciseStepApp = await requireExerciseApp(params, cacheOptions)\n\tconst exercise = await requireExercise(\n\t\texerciseStepApp.exerciseNumber,\n\t\tcacheOptions,\n\t)\n\tconst reqUrl = new URL(request.url)\n\n\tconst pathnameParam = reqUrl.searchParams.get('pathname')\n\tif (pathnameParam === '' || pathnameParam === '/') {\n\t\treqUrl.searchParams.delete('pathname')\n\t\tthrow redirect(reqUrl.toString())\n\t}\n\n\tconst problemApp = await getExerciseApp(\n\t\t{ ...params, type: 'problem' },\n\t\tcacheOptions,\n\t)\n\tconst solutionApp = await getExerciseApp(\n\t\t{ ...params, type: 'solution' },\n\t\tcacheOptions,\n\t)\n\n\tif (!problemApp && !solutionApp) {\n\t\tthrow new Response('Not found', { status: 404 })\n\t}\n\n\tconst allAppsFull = await getApps(cacheOptions)\n\tconst playgroundApp = allAppsFull.find(isPlaygroundApp)\n\n\tfunction getStepId(a: ExerciseStepApp) {\n\t\treturn (\n\t\t\ta.exerciseNumber * 1000 +\n\t\t\ta.stepNumber * 10 +\n\t\t\t(a.type === 'problem' ? 0 : 1)\n\t\t)\n\t}\n\n\tfunction getStepNameAndId(a: App) {\n\t\tif (isExerciseStepApp(a)) {\n\t\t\tconst exerciseNumberStr = String(a.exerciseNumber).padStart(2, '0')\n\t\t\tconst stepNumberStr = String(a.stepNumber).padStart(2, '0')\n\n\t\t\treturn {\n\t\t\t\tstepName: `${exerciseNumberStr}/${stepNumberStr}.${a.type}`,\n\t\t\t\tstepId: getStepId(a),\n\t\t\t}\n\t\t}\n\t\treturn { stepName: '', stepId: -1 }\n\t}\n\n\tconst allApps = allAppsFull\n\t\t.filter((a, i, ar) => ar.findIndex((b) => a.name === b.name) === i)\n\t\t.map((a) => ({\n\t\t\tdisplayName: getAppDisplayName(a, allAppsFull),\n\t\t\tname: a.name,\n\t\t\ttitle: a.title,\n\t\t\ttype: a.type,\n\t\t\t...getStepNameAndId(a),\n\t\t}))\n\n\tallApps.sort((a, b) => {\n\t\t// order them by their stepId\n\t\tif (a.stepId > 0 && b.stepId > 0) return a.stepId - b.stepId\n\n\t\t// non-step apps should come after step apps\n\t\tif (a.stepId > 0) return -1\n\t\tif (b.stepId > 0) return 1\n\n\t\treturn 0\n\t})\n\tconst exerciseId = getStepId(exerciseStepApp)\n\tconst exerciseIndex = allApps.findIndex((step) => step.stepId === exerciseId)\n\n\tconst exerciseApps = allAppsFull\n\t\t.filter(isExerciseStepApp)\n\t\t.filter((app) => app.exerciseNumber === exerciseStepApp.exerciseNumber)\n\tconst isLastStep =\n\t\texerciseApps[exerciseApps.length - 1]?.name === exerciseStepApp.name\n\tconst isFirstStep = exerciseApps[0]?.name === exerciseStepApp.name\n\n\tconst nextApp = await getNextExerciseApp(exerciseStepApp, cacheOptions)\n\tconst prevApp = await getPrevExerciseApp(exerciseStepApp, cacheOptions)\n\n\tconst articleId = `workshop-${slugify(workshopTitle)}-${\n\t\texercise.exerciseNumber\n\t}-${exerciseStepApp.stepNumber}-${exerciseStepApp.type}`\n\n\tconst subroute = url.pathname.split(\n\t\t`/exercise/${params.exerciseNumber}/${params.stepNumber}/${params.type}/`,\n\t)[1]\n\treturn defer(\n\t\t{\n\t\t\tarticleId,\n\t\t\ttype: params.type as 'problem' | 'solution',\n\t\t\texerciseStepApp,\n\t\t\texerciseTitle: exercise.title,\n\t\t\tepicVideoInfosPromise: getEpicVideoInfos(exerciseStepApp.epicVideoEmbeds),\n\t\t\texerciseIndex,\n\t\t\tallApps,\n\t\t\tprevStepLink: isFirstStep\n\t\t\t\t? {\n\t\t\t\t\t\tto: `/exercise/${exerciseStepApp.exerciseNumber\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t.padStart(2, '0')}`,\n\t\t\t\t\t}\n\t\t\t\t: prevApp\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tto: getAppPageRoute(prevApp, {\n\t\t\t\t\t\t\t\tsubroute,\n\t\t\t\t\t\t\t\tsearchParams: url.searchParams,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}\n\t\t\t\t\t: null,\n\t\t\tnextStepLink: isLastStep\n\t\t\t\t? {\n\t\t\t\t\t\tto: `/exercise/${exerciseStepApp.exerciseNumber\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t.padStart(2, '0')}/finished`,\n\t\t\t\t\t}\n\t\t\t\t: nextApp\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tto: getAppPageRoute(nextApp, {\n\t\t\t\t\t\t\t\tsubroute,\n\t\t\t\t\t\t\t\tsearchParams: url.searchParams,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}\n\t\t\t\t\t: null,\n\t\t\tplayground: playgroundApp\n\t\t\t\t? ({\n\t\t\t\t\t\ttype: 'playground',\n\t\t\t\t\t\tappName: playgroundApp.appName,\n\t\t\t\t\t\tname: playgroundApp.name,\n\t\t\t\t\t\tfullPath: playgroundApp.fullPath,\n\t\t\t\t\t\tdev: playgroundApp.dev,\n\t\t\t\t\t} as const)\n\t\t\t\t: null,\n\t\t\tproblem: problemApp\n\t\t\t\t? ({\n\t\t\t\t\t\ttype: 'problem',\n\t\t\t\t\t\ttitle: problemApp.title,\n\t\t\t\t\t\tname: problemApp.name,\n\t\t\t\t\t\tfullPath: problemApp.fullPath,\n\t\t\t\t\t\tdev: problemApp.dev,\n\t\t\t\t\t} as const)\n\t\t\t\t: null,\n\t\t\tsolution: solutionApp\n\t\t\t\t? ({\n\t\t\t\t\t\ttype: 'solution',\n\t\t\t\t\t\ttitle: solutionApp.title,\n\t\t\t\t\t\tname: solutionApp.name,\n\t\t\t\t\t\tfullPath: solutionApp.fullPath,\n\t\t\t\t\t\tdev: solutionApp.dev,\n\t\t\t\t\t} as const)\n\t\t\t\t: null,\n\t\t\tdiffFiles:\n\t\t\t\tproblemApp && solutionApp\n\t\t\t\t\t? getDiffFiles(problemApp, solutionApp, {\n\t\t\t\t\t\t\t...cacheOptions,\n\t\t\t\t\t\t\tforceFresh: url.searchParams.get('forceFresh') === 'diff',\n\t\t\t\t\t\t}).catch((e) => {\n\t\t\t\t\t\t\tconsole.error(e)\n\t\t\t\t\t\t\treturn 'There was a problem generating the diff (check the terminal output)'\n\t\t\t\t\t\t})\n\t\t\t\t\t: 'No diff available',\n\t\t} as const,\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'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nexport default function ExercisePartRoute() {\n\tconst data = useLoaderData<typeof loader>()\n\n\tconst inBrowserBrowserRef = useRef<InBrowserBrowserRef>(null)\n\n\tconst titleBits = pageTitle(data)\n\n\tuseRevalidationWS({\n\t\twatchPaths: [`${data.exerciseStepApp.relativePath}/README.mdx`],\n\t})\n\n\treturn (\n\t\t<div className=\"flex max-w-full flex-grow flex-col\">\n\t\t\t<main className=\"flex flex-grow flex-col sm:grid sm:h-full sm:min-h-[800px] sm:grid-cols-1 sm:grid-rows-2 md:min-h-[unset] lg:grid-cols-2 lg:grid-rows-1\">\n\t\t\t\t<div className=\"relative flex flex-col sm:col-span-1 sm:row-span-1 sm:h-full lg:border-r\">\n\t\t\t\t\t<h1 className=\"h-14 border-b pl-10 pr-5 text-sm font-medium leading-tight\">\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 uppercase\">\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\tto={`/${titleBits.exerciseNumber}`}\n\t\t\t\t\t\t\t\t\tclassName=\"hover:underline\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{titleBits.exerciseNumber}. {titleBits.exerciseTitle}\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t{'/'}\n\t\t\t\t\t\t\t\t<Link to=\".\" className=\"hover:underline\">\n\t\t\t\t\t\t\t\t\t{titleBits.stepNumber}. {titleBits.title}\n\t\t\t\t\t\t\t\t\t{' ('}\n\t\t\t\t\t\t\t\t\t{titleBits.emoji} {titleBits.type}\n\t\t\t\t\t\t\t\t\t{')'}\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{data.problem &&\n\t\t\t\t\t\t\tdata.playground?.appName !== data.problem.name ? (\n\t\t\t\t\t\t\t\t<div className=\"hidden md:block\">\n\t\t\t\t\t\t\t\t\t<SetAppToPlayground appName={data.problem.name} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</h1>\n\t\t\t\t\t<article\n\t\t\t\t\t\tid={data.articleId}\n\t\t\t\t\t\tkey={data.articleId}\n\t\t\t\t\t\tclassName=\"shadow-on-scrollbox flex h-full w-full max-w-none flex-1 scroll-pt-6 flex-col justify-between space-y-6 overflow-y-auto p-2 scrollbar-thin scrollbar-thumb-scrollbar sm:p-10 sm:pt-8\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{data.exerciseStepApp.instructionsCode ? (\n\t\t\t\t\t\t\t<StepMdx inBrowserBrowserRef={inBrowserBrowserRef} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"flex h-full items-center justify-center text-lg\">\n\t\t\t\t\t\t\t\t<p>No instructions yet...</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className=\"mt-auto flex justify-between\">\n\t\t\t\t\t\t\t{data.prevStepLink ? (\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\tto={data.prevStepLink.to}\n\t\t\t\t\t\t\t\t\taria-label=\"Previous Step\"\n\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t← Previous\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{data.nextStepLink ? (\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\tto={data.nextStepLink.to}\n\t\t\t\t\t\t\t\t\taria-label=\"Next Step\"\n\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tNext →\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</article>\n\t\t\t\t\t<ElementScrollRestoration\n\t\t\t\t\t\telementQuery={`#${data.articleId}`}\n\t\t\t\t\t\tkey={`scroll-${data.articleId}`}\n\t\t\t\t\t/>\n\t\t\t\t\t{data.type === 'solution' ? (\n\t\t\t\t\t\t<ProgressToggle\n\t\t\t\t\t\t\ttype=\"step\"\n\t\t\t\t\t\t\texerciseNumber={data.exerciseStepApp.exerciseNumber}\n\t\t\t\t\t\t\tstepNumber={data.exerciseStepApp.stepNumber}\n\t\t\t\t\t\t\tclassName=\"h-14 border-t px-6\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\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\t<div className=\"h-full\">\n\t\t\t\t\t\t\t\t<TouchedFiles diffFilesPromise={data.diffFiles} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<EditFileOnGitHub\n\t\t\t\t\t\t\tappName={data.exerciseStepApp.name}\n\t\t\t\t\t\t\trelativePath={data.exerciseStepApp.relativePath}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<NavChevrons\n\t\t\t\t\t\t\tprev={\n\t\t\t\t\t\t\t\tdata.prevStepLink\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tto: data.prevStepLink.to,\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': 'Previous Step',\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnext={\n\t\t\t\t\t\t\t\tdata.nextStepLink\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tto: data.nextStepLink.to,\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': 'Next Step',\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<Outlet />\n\t\t\t</main>\n\t\t</div>\n\t)\n}\n\nexport function ErrorBoundary() {\n\treturn (\n\t\t<GeneralErrorBoundary\n\t\t\tstatusHandlers={{\n\t\t\t\t404: () => <p>Sorry, we couldn't find an app here.</p>,\n\t\t\t}}\n\t\t/>\n\t)\n}\n"],"names":["StepContext","React.createContext","useStepContext","context","React.useContext","StepContextProvider","children","inBrowserBrowserRef","jsx","stepMdxComponents","DiffLink","PrevDiffLink","NextDiffLink","InlineFile","LinkToApp","StepMdx","data","useLoaderData","EpicVideoInfoProvider","Mdx","withParam","searchParams","key","value","newSearchParams","app","fullPage","app1","app2","to","getAppName","input","stepIndex","_a","name","stepName","params","app1Name","app2Name","jsxs","pathToDiff","Link","file","type","props","info","iconsSvg","LaunchEditor","SimpleTooltip","getPreviewType","preview","appTo","useSearchParams","requestInfo","useRequestInfo","previewAppUrl","getBaseUrl","href","cn","event","_b","Icon","POPOVER_NAME","createPopoverContext","createPopoverScope","createContextScope","createPopperScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","__scopePopover","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","React.useRef","hasCustomAnchor","setHasCustomAnchor","React.useState","open","setOpen","useControllableState","PopperPrimitive.Root","useId","React.useCallback","prevOpen","ANCHOR_NAME","PopoverAnchor","React.forwardRef","forwardedRef","anchorProps","onCustomAnchorAdd","onCustomAnchorRemove","React.useEffect","PopperPrimitive.Anchor","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","useComposedRefs","trigger","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","PopoverPortal","forceMount","container","Presence","PortalPrimitive","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","contentRef","composedRefs","isRightClickOutsideRef","content","hideOthers","RemoveScroll","Slot","PopoverContentImpl","originalEvent","ctrlLeftClick","isRightClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","useFocusGuards","FocusScope","DismissableLayer","PopperPrimitive.Content","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","PopperPrimitive.Arrow","Root2","Trigger","Portal","Content2","TouchedFiles","diffFilesPromise","handleLaunchUpdate","appName","Popover.Root","Popover.Trigger","Popover.Portal","Popover.Content","SetAppToPlayground","React.Suspense","Await","diffFiles","pageTitle","workshopTitle","exerciseNumber","exerciseStepApp","toString","padStart","stepNumber","emoji","problem","solution","title","exerciseTitle","meta","matches","rootData","find","m","id","getSeoMetaTags","description","ogTitle","ogDescription","Number","instructor","ExercisePartRoute","useRef","titleBits","useRevalidationWS","watchPaths","relativePath","className","playground","articleId","instructionsCode","prevStepLink","prefetch","nextStepLink","ElementScrollRestoration","elementQuery","ProgressToggle","EditFileOnGitHub","NavChevrons","prev","next","Outlet","ErrorBoundary","GeneralErrorBoundary","statusHandlers"],"mappings":"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","x_google_ignoreList":[1]}
@@ -1,2 +0,0 @@
1
- import{j as e,O as t}from"./index-DF_XBInP.js";const n={getSitemapEntries:void 0};function r(){return e.jsx("div",{className:"flex h-full flex-grow",children:e.jsx(t,{})})}export{r as default,n as handle};
2
- //# sourceMappingURL=_layout-Cfbi6StB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_layout-Cfbi6StB.js","sources":["../../../app/routes/_app+/exercise+/_layout.tsx"],"sourcesContent":["import { getExercises } from '@epic-web/workshop-utils/apps.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { Outlet } from '@remix-run/react'\nimport { serverOnly$ } from 'vite-env-only/macros'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: serverOnly$(async (request) => {\n\t\tconst exercises = await getExercises({ request })\n\t\treturn exercises.flatMap((e) => [\n\t\t\t{ route: `/exercise/${e.exerciseNumber.toString().padStart(2, '0')}` },\n\t\t\t...e.steps.flatMap((s) =>\n\t\t\t\t['problem', 'solution'].map((type) => ({\n\t\t\t\t\troute: `/exercise/${e.exerciseNumber.toString().padStart(2, '0')}/${s.stepNumber.toString().padStart(2, '0')}/${type}`,\n\t\t\t\t})),\n\t\t\t),\n\t\t\t{\n\t\t\t\troute: `/exercise/${e.exerciseNumber.toString().padStart(2, '0')}/finished`,\n\t\t\t},\n\t\t])\n\t}),\n}\n\nexport default function ExercisesLayout() {\n\treturn (\n\t\t<div className=\"flex h-full flex-grow\">\n\t\t\t<Outlet />\n\t\t</div>\n\t)\n}\n"],"names":["handle","getSitemapEntries","undefined","ExercisesLayout","className","children","jsx","Outlet"],"mappings":"+CAKO,MAAMA,EAAoB,CAChCC,kBAAAC,MAcD,EAEA,SAAwBC,GAAkB,CACzC,aACE,MAAI,CAAAC,UAAU,wBACdC,SAAAC,EAAAA,IAACC,IAAO,CACT,CAAA,CAEF"}
@@ -1,6 +0,0 @@
1
- import{r as u,j as e,O as Oe,b as ae}from"./index-DF_XBInP.js";import{a as m,I as N,c as g}from"./misc-BE75ioh8.js";import{a as Ve}from"./pe-CvPIToj6.js";import{L as W}from"./product-mjsTrqXs.js";import{u as He}from"./revalidation-ws-DcvYvzyj.js";import{d as ze,h as U,P as I,f as R,g as Y,k as Ue,D as Ye,n as Be,u as Ge,e as O,S as $,T as Me,a as q,b as Z,c as X}from"./tooltip-6-WS-Xux.js";import{R as Qe,h as Je,u as Ke,F as qe,P as Ze}from"./index-BjNhezSK.js";import{c as L}from"./user-Boua6jiU.js";import{u as se}from"./workshop-config-Ce9sSc3I.js";import{a as B}from"./presence-Dd98AJ_5.js";import{b as Xe,s as re,c as et,d as tt,e as oe,m as p,u as nt,f as at}from"./progress-Co-59mG2.js";import{T as le}from"./index-BvihEwfB.js";import{L as h,u as ie,N as k}from"./components-DZ8XIeZ3.js";import"./request-info-DGnmXtfj.js";function st(t){t.values.forEach(n=>n.stop())}function H(t,n){[...n].reverse().forEach(s=>{const o=t.getVariant(s);o&&re(t,o),t.variantChildren&&t.variantChildren.forEach(r=>{H(r,n)})})}function rt(t,n){if(Array.isArray(n))return H(t,n);if(typeof n=="string")return H(t,[n]);re(t,n)}function ot(){const t=new Set,n={subscribe(a){return t.add(a),()=>void t.delete(a)},start(a,s){const o=[];return t.forEach(r=>{o.push(Xe(r,a,{transitionOverride:s}))}),Promise.all(o)},set(a){return t.forEach(s=>{rt(s,a)})},stop(){t.forEach(a=>{st(a)})},mount(){return()=>{n.stop()}}};return n}function z(){const t=et(ot);return tt(t.mount,[]),t}function lt(t,n){function a(){return window.matchMedia(t).matches}function s(o){const r=window.matchMedia(t);return r.addEventListener("change",o),()=>{r.removeEventListener("change",o)}}return function(){return u.useSyncExternalStore(s,a,()=>n)}}var G="Dialog",[ce,zt]=ze(G),[it,j]=ce(G),de=t=>{const{__scopeDialog:n,children:a,open:s,defaultOpen:o,onOpenChange:r,modal:c=!0}=t,i=u.useRef(null),l=u.useRef(null),[f=!1,b]=Ge({prop:s,defaultProp:o,onChange:r});return e.jsx(it,{scope:n,triggerRef:i,contentRef:l,contentId:O(),titleId:O(),descriptionId:O(),open:f,onOpenChange:b,onOpenToggle:u.useCallback(()=>b(v=>!v),[b]),modal:c,children:a})};de.displayName=G;var ue="DialogTrigger",fe=u.forwardRef((t,n)=>{const{__scopeDialog:a,...s}=t,o=j(ue,a),r=U(n,o.triggerRef);return e.jsx(I.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":J(o.open),...s,ref:r,onClick:R(t.onClick,o.onOpenToggle)})});fe.displayName=ue;var M="DialogPortal",[ct,he]=ce(M,{forceMount:void 0}),me=t=>{const{__scopeDialog:n,forceMount:a,children:s,container:o}=t,r=j(M,n);return e.jsx(ct,{scope:n,forceMount:a,children:u.Children.map(s,c=>e.jsx(Y,{present:a||r.open,children:e.jsx(Ze,{asChild:!0,container:o,children:c})}))})};me.displayName=M;var T="DialogOverlay",xe=u.forwardRef((t,n)=>{const a=he(T,t.__scopeDialog),{forceMount:s=a.forceMount,...o}=t,r=j(T,t.__scopeDialog);return r.modal?e.jsx(Y,{present:s||r.open,children:e.jsx(dt,{...o,ref:n})}):null});xe.displayName=T;var dt=u.forwardRef((t,n)=>{const{__scopeDialog:a,...s}=t,o=j(T,a);return e.jsx(Qe,{as:Ue,allowPinchZoom:!0,shards:[o.contentRef],children:e.jsx(I.div,{"data-state":J(o.open),...s,ref:n,style:{pointerEvents:"auto",...s.style}})})}),D="DialogContent",pe=u.forwardRef((t,n)=>{const a=he(D,t.__scopeDialog),{forceMount:s=a.forceMount,...o}=t,r=j(D,t.__scopeDialog);return e.jsx(Y,{present:s||r.open,children:r.modal?e.jsx(ut,{...o,ref:n}):e.jsx(ft,{...o,ref:n})})});pe.displayName=D;var ut=u.forwardRef((t,n)=>{const a=j(D,t.__scopeDialog),s=u.useRef(null),o=U(n,a.contentRef,s);return u.useEffect(()=>{const r=s.current;if(r)return Je(r)},[]),e.jsx(ge,{...t,ref:o,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:R(t.onCloseAutoFocus,r=>{var c;r.preventDefault(),(c=a.triggerRef.current)==null||c.focus()}),onPointerDownOutside:R(t.onPointerDownOutside,r=>{const c=r.detail.originalEvent,i=c.button===0&&c.ctrlKey===!0;(c.button===2||i)&&r.preventDefault()}),onFocusOutside:R(t.onFocusOutside,r=>r.preventDefault())})}),ft=u.forwardRef((t,n)=>{const a=j(D,t.__scopeDialog),s=u.useRef(!1),o=u.useRef(!1);return e.jsx(ge,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:r=>{var c,i;(c=t.onCloseAutoFocus)==null||c.call(t,r),r.defaultPrevented||(s.current||(i=a.triggerRef.current)==null||i.focus(),r.preventDefault()),s.current=!1,o.current=!1},onInteractOutside:r=>{var l,f;(l=t.onInteractOutside)==null||l.call(t,r),r.defaultPrevented||(s.current=!0,r.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const c=r.target;((f=a.triggerRef.current)==null?void 0:f.contains(c))&&r.preventDefault(),r.detail.originalEvent.type==="focusin"&&o.current&&r.preventDefault()}})}),ge=u.forwardRef((t,n)=>{const{__scopeDialog:a,trapFocus:s,onOpenAutoFocus:o,onCloseAutoFocus:r,...c}=t,i=j(D,a),l=u.useRef(null),f=U(n,l);return Ke(),e.jsxs(e.Fragment,{children:[e.jsx(qe,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:o,onUnmountAutoFocus:r,children:e.jsx(Ye,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":J(i.open),...c,ref:f,onDismiss:()=>i.onOpenChange(!1)})}),e.jsxs(e.Fragment,{children:[e.jsx(ht,{titleId:i.titleId}),e.jsx(xt,{contentRef:l,descriptionId:i.descriptionId})]})]})}),Q="DialogTitle",be=u.forwardRef((t,n)=>{const{__scopeDialog:a,...s}=t,o=j(Q,a);return e.jsx(I.h2,{id:o.titleId,...s,ref:n})});be.displayName=Q;var ve="DialogDescription",je=u.forwardRef((t,n)=>{const{__scopeDialog:a,...s}=t,o=j(ve,a);return e.jsx(I.p,{id:o.descriptionId,...s,ref:n})});je.displayName=ve;var Ne="DialogClose",we=u.forwardRef((t,n)=>{const{__scopeDialog:a,...s}=t,o=j(Ne,a);return e.jsx(I.button,{type:"button",...s,ref:n,onClick:R(t.onClick,()=>o.onOpenChange(!1))})});we.displayName=Ne;function J(t){return t?"open":"closed"}var ye="DialogTitleWarning",[Ut,De]=Be(ye,{contentName:D,titleName:Q,docsSlug:"dialog"}),ht=({titleId:t})=>{const n=De(ye),a=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return u.useEffect(()=>{t&&(document.getElementById(t)||console.error(a))},[a,t]),null},mt="DialogDescriptionWarning",xt=({contentRef:t,descriptionId:n})=>{const s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${De(mt).contentName}}.`;return u.useEffect(()=>{var r;const o=(r=t.current)==null?void 0:r.getAttribute("aria-describedby");n&&o&&(document.getElementById(n)||console.warn(s))},[s,t,n]),null},pt=de,gt=fe,bt=me,Ee=xe,Ce=pe,vt=be,ke=je,jt=we;const Nt=pt,wt=gt,yt=bt;function Pe({className:t,ref:n,...a}){return e.jsx(Ee,{ref:n,className:m("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a})}Pe.displayName=Ee.displayName;function _e({className:t,children:n,ref:a,...s}){return e.jsxs(yt,{children:[e.jsx(Pe,{}),e.jsxs(Ce,{ref:a,className:m("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",t),...s,children:[n,e.jsxs(jt,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[e.jsx(N,{name:"Close"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}_e.displayName=Ce.displayName;function Re({className:t,...n}){return e.jsx("div",{className:m("flex flex-col space-y-1.5 text-center sm:text-left",t),...n})}Re.displayName="DialogHeader";vt.displayName;function Ie({className:t,ref:n,...a}){return e.jsx(ke,{ref:n,className:m("text-sm text-muted-foreground",t),...a})}Ie.displayName=ke.displayName;const ee=["opacity-70","opacity-80","opacity-90","opacity-100"],te=["shadow-[0_0_2px_0_rgba(0,0,0,0.3)]","shadow-[0_0_4px_0_rgba(0,0,0,0.3)]","shadow-[0_0_7px_0_rgba(0,0,0,0.3)]","shadow-[0_0_10px_0_rgba(0,0,0,0.3)]"];function ne(t){const n=Math.round(t*ee.length-1),a=Math.round(t*te.length-1);return m("shadow-purple-700 hover:opacity-100 focus:opacity-100 dark:shadow-purple-200",ee[n]??"opacity-60",te[a]??"shadow-none",t===1?"animate-pulse hover:animate-none focus:animate-none":null)}function Se({isMenuOpened:t}){const n=L(),{users:a}=B(),{product:{displayNameShort:s}}=se(),o=t?17:0,r=a.length-o,c=r>(t?1:0);if(!a.length)return null;const i=t&&a.length===1?e.jsx(h,{target:"_blank",rel:"noopener noreferrer",to:"https://www.youtube.com/watch?v=w6Q3mHyzn78",children:e.jsx("img",{alt:"Tiffany Tunes",className:m("h-8 w-8 rounded-full border object-cover",ne(1)),src:"/img/tiffany.png"})}):null,l=`${r}${t?" more ":" "}${s} Dev${r===1?"":"s"} working now`;return e.jsx("div",{className:"flex flex-wrap items-center gap-2",children:e.jsxs(Me,{children:[(c?a.slice(0,o):a).map(({user:f,score:b})=>{var d,w;const v=ne(b),x=Dt(f.location);return e.jsxs(q,{children:[e.jsx(Z,{asChild:!0,children:f.avatarUrl?e.jsx("img",{tabIndex:0,alt:f.name||s,className:m("h-8 w-8 rounded-full border object-cover",v),src:f.avatarUrl}):e.jsx("div",{tabIndex:0,"aria-label":f.name||`${s} Dev`,className:m("flex h-8 w-8 items-center justify-center rounded-full border",v),children:e.jsx(N,{name:"User"})})}),e.jsx(X,{children:e.jsxs("span",{className:"flex flex-col items-center justify-center gap-1",children:[e.jsxs("span",{children:[f.name||`${s} Dev`," ",x?` is ${(w=(d=f.location)==null?void 0:d.origin)!=null&&w.includes("localhost")?"working":"learning"} ${b===1&&(n==null?void 0:n.id)!==f.id?"with you":""} on`:null]}),x!=null&&x.line1?e.jsx("span",{children:x.line1}):null,x!=null&&x.line2?e.jsx("span",{children:x.line2}):null]})})]},f.id)}),i,c?e.jsxs(q,{children:[e.jsx(Z,{asChild:!0,children:e.jsx("div",{tabIndex:0,"aria-label":l,className:m("flex items-center justify-center rounded-full border bg-accent text-xs text-accent-foreground",t?"h-8 w-8":"h-6 w-6"),children:e.jsx("span",{className:m("pointer-events-none overflow-hidden text-ellipsis whitespace-nowrap text-center",t?"w-8":"w-6"),children:t?`+${r}`:r})})}),e.jsx(X,{children:l})]}):null]})})}const $e=lt("(min-width: 640px)",!0);function Yt(){const t=L(),n=$e(),a=Ve(),[s,o]=u.useState(!1);return He({watchPaths:["./exercises/README.mdx"]}),e.jsxs("div",{className:"flex flex-col",children:[t?null:e.jsx(Et,{}),a&&n?null:e.jsx(Ct,{isMenuOpened:s,onMenuOpenChange:o}),e.jsxs("div",{className:m("flex flex-grow flex-col sm:flex-row",{"h-[calc(100vh-128px-env(safe-area-inset-top)-env(safe-area-inset-bottom))] sm:h-[calc(100vh-64px-env(safe-area-inset-top)-env(safe-area-inset-bottom))]":!t,"h-[calc(100vh-64px-env(safe-area-inset-top)-env(safe-area-inset-bottom))] sm:h-[calc(100vh-env(safe-area-inset-top)-env(safe-area-inset-bottom))]":t,"h-[unset]":!n&&s}),children:[n?e.jsx(kt,{isMenuOpened:s,onMenuOpenChange:o}):null,e.jsx("div",{className:m("h-full w-full max-w-full sm:max-w-[calc(100%-56px)]",s?"hidden md:block":""),children:e.jsx(Oe,{})})]})]})}function Dt(t){if(!t)return null;const{exercise:n}=t,a=[n?[n.exerciseNumber,n.stepNumber].filter(Boolean).map(s=>s.toString().padStart(2,"0")).join("/"):null,n==null?void 0:n.type].filter(Boolean).join(" - ");return{line1:t.workshopTitle,line2:a}}function Et(){const t=$e(),{product:{host:n,displayName:a}}=se(),s=e.jsx("div",{children:ENV.EPICSHOP_DEPLOYED?e.jsxs("div",{children:["This is the deployed version. ",e.jsxs(e.Fragment,{children:[e.jsx(h,{className:"underline",target:"_blank",rel:"noopener noreferrer",to:ENV.EPICSHOP_GITHUB_REPO,children:"Run locally"})," for full experience."]})," "]}):e.jsxs("div",{children:[e.jsx(h,{to:"/login",className:"underline",children:"Login"})," ","or"," ",e.jsx("a",{href:`https://${n}/login`,className:"underline",children:"join for free"})," ","for the full experience."]})});return e.jsx("div",{className:"z-10 flex h-16 items-center justify-between border-b bg-gradient-to-tr from-blue-500 to-indigo-500 pl-4 text-white",children:t?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"hidden flex-1 flex-wrap items-center gap-4 sm:flex",children:[e.jsx(W,{size:"lg",style:"monochrome"}),e.jsxs("div",{className:"flex flex-1 flex-wrap items-center",children:[e.jsxs("p",{className:"mr-2",children:["Welcome to the"," ",e.jsx(h,{to:`https://${n}`,className:"underline",target:"_blank",children:a})," ","Workshop app!"]}),s]})]}),e.jsxs("div",{className:"hidden h-full flex-col items-center sm:flex md:flex-row",children:[e.jsxs(h,{to:`https://${n}`,target:"_blank",className:"flex h-full items-center justify-center space-x-1.5 px-5 text-sm font-semibold",children:[e.jsxs("span",{className:"drop-shadow-sm",children:["Join ",a]}),e.jsx("span",{children:"ā†—ļøŽ"})]}),e.jsxs(h,{to:ENV.EPICSHOP_DEPLOYED?`https://${n}/login`:"/login",className:"flex h-full items-center justify-center space-x-1.5 bg-white/20 px-5 text-sm font-semibold shadow-md transition hover:bg-white/30",children:[e.jsx(N,{name:"User",size:"lg"}),e.jsx("span",{className:"drop-shadow-sm",children:"Login"})]})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-4 sm:hidden",children:[e.jsx("a",{href:`https://${n}`,children:e.jsx(W,{size:"lg",style:"monochrome"})}),e.jsxs(Nt,{children:[e.jsx(wt,{children:e.jsx(N,{name:"Question",size:"lg",className:"animate-pulse"})}),e.jsxs(_e,{children:[e.jsxs(Re,{children:[e.jsx(W,{size:"lg",style:"monochrome"}),e.jsx("span",{className:"text-lg font-semibold",children:a})]}),e.jsxs(Ie,{children:["Welcome to the"," ",e.jsx(h,{to:`https://${n}`,className:"underline",children:a})," ","Workshop app!"]}),s]})]})]}),e.jsxs("div",{className:"flex h-full items-center",children:[e.jsxs(h,{to:`https://${n}`,target:"_blank",className:"flex h-full items-center justify-center space-x-1.5 px-5 text-sm font-semibold",children:[e.jsx("span",{className:"drop-shadow-sm",children:"Join"}),e.jsx("span",{children:"ā†—ļøŽ"})]}),e.jsxs(h,{to:ENV.EPICSHOP_DEPLOYED?`https://${n}/login`:"/login",className:"flex h-full items-center justify-center space-x-1.5 bg-white/20 px-5 text-sm font-semibold shadow-md transition hover:bg-white/30",children:[e.jsx(N,{name:"User",size:"lg"}),e.jsx("span",{className:"drop-shadow-sm",children:"Login"})]})]})]})})}const Te={hidden:{opacity:0,x:-20},visible:{opacity:1,x:0}};function Le({exerciseNumber:t,children:n}){const a=nt(t);return e.jsx(p.li,{variants:Te,className:m("py-[6px] first:pt-3 last:pb-3",a?`${a} before:border-t`:null),children:e.jsx("span",{className:"ml-2",children:n})})}function P({children:t,...n}){const a=at(n);return e.jsx(p.li,{variants:Te,className:m("py-[6px] first:pt-3 last:pb-3",a?`${a} before:border-t`:null),children:e.jsx("span",{className:"ml-2",children:t})})}function Ct({isMenuOpened:t,onMenuOpenChange:n}){const a=ie(),s=L(),o=oe(),r=ae(),{users:c}=B(),i={visible:{opacity:1,transition:{duration:.05,when:"beforeChildren",staggerChildren:.03}},hidden:{opacity:0}};return e.jsx("nav",{className:"flex w-full border-b sm:hidden",children:e.jsx("div",{className:"w-full",children:e.jsxs("div",{className:m("flex items-center",{"flex-col":t,"h-14":!t}),children:[e.jsx(Ae,{title:a.workshopTitle,isMenuOpened:t,setMenuOpened:n}),t&&e.jsxs(p.div,{className:"flex w-full flex-grow flex-col justify-between overflow-x-auto p-6 scrollbar-thin scrollbar-thumb-scrollbar",initial:{opacity:0},animate:{opacity:1},children:[e.jsxs(p.ul,{variants:i,initial:"hidden",animate:"visible",className:"flex flex-col",children:[e.jsx("span",{children:e.jsx(k,{prefetch:"intent",to:"/",className:({isActive:l})=>g("relative whitespace-nowrap px-2 py-0.5 pr-3 text-2xl font-bold outline-none hover:underline focus:underline",'after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":l}),children:"Home"})}),a.exercises.map(({exerciseNumber:l,title:f,steps:b})=>{const v=Number(r.exerciseNumber)===l,x=!v&&a.playground.exerciseNumber===l,d=l.toString().padStart(2,"0");return e.jsxs(Le,{exerciseNumber:l,children:[e.jsxs(h,{prefetch:"intent",to:`/${d}`,className:g("relative whitespace-nowrap px-2 py-0.5 pr-3 text-2xl font-bold outline-none hover:underline focus:underline",'after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":v}),children:[f,x?" šŸ›":null]}),v?e.jsxs(p.ul,{variants:i,initial:"hidden",animate:"visible",className:"ml-4 mt-4 flex flex-col",children:[e.jsx(P,{type:"instructions",exerciseNumber:l,children:e.jsx(h,{to:`/${d}`,prefetch:"intent",className:g('relative whitespace-nowrap px-2 py-0.5 pr-3 text-xl font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":!r.stepNumber}),children:"Intro"})},l),b.filter(Boolean).map(({name:w,stepNumber:E,title:C})=>{const A=Number(r.stepNumber)===E,y=E.toString().padStart(2,"0"),_=w===a.playground.appName;return e.jsx(P,{type:"step",stepNumber:E,exerciseNumber:l,children:e.jsx(h,{to:`/${d}/${y}`,prefetch:"intent",className:g('relative whitespace-nowrap px-2 py-0.5 pr-3 text-xl font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":A}),children:_?`${y}. ${C} šŸ›`:`${y}. ${C}`})},E)}),e.jsx(P,{type:"finished",exerciseNumber:l,children:e.jsx(k,{to:`/${d}/finished`,prefetch:"intent",className:({isActive:w})=>g('relative whitespace-nowrap px-2 py-0.5 pr-3 text-base font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":w}),children:"šŸ“ Elaboration"})})]}):null]},l)})]}),e.jsx("div",{className:"mt-6",children:e.jsx(k,{to:"/finished",className:({isActive:l})=>g("relative whitespace-nowrap text-lg font-bold outline-none hover:underline focus:underline",{'bg-black text-white after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""]':l}),children:"šŸ“ Workshop Feedback"})})]}),e.jsx("div",{className:"flex-grow"}),e.jsx("div",{className:m("flex items-center justify-start p-4",t&&c.length>4?"min-h-14":"h-14",{"w-full border-t":t}),children:e.jsx(Se,{isMenuOpened:t})}),ENV.EPICSHOP_DEPLOYED?null:s?e.jsx($,{content:t?null:"Your account",children:e.jsxs(h,{className:m("flex h-14 flex-shrink-0 items-center justify-start space-x-3 px-4 py-4 text-center no-underline hover:underline",{"border-l":!t,"w-full border-t":t}),to:"/account",children:[s.avatarUrl?e.jsx("img",{alt:s.name??s.email,src:s.avatarUrl,className:"h-full rounded-full"}):e.jsx(N,{name:"User",className:"flex-shrink-0",size:"lg"}),t?e.jsx(p.div,{className:"flex items-center whitespace-nowrap",initial:{opacity:0},animate:{opacity:1},children:"Your Account"}):e.jsx("span",{className:"sr-only",children:"Your account"})]})}):null,ENV.EPICSHOP_DEPLOYED?null:s&&o?e.jsx($,{content:t?null:"Continue to next lesson",children:e.jsxs(h,{to:o,prefetch:"intent",className:g("flex h-14 w-full items-center space-x-3 border-l px-4 py-4 pl-[18px] no-underline hover:underline"),state:{from:"continue next lesson button"},children:[e.jsx(N,{name:"FastForward",className:"flex-shrink-0",size:"md"}),t?e.jsx(p.div,{className:"flex items-center whitespace-nowrap",initial:{opacity:0},animate:{opacity:1},children:"Continue to next lesson"}):e.jsx("span",{className:"sr-only",children:"Continue to next lesson"})]})}):null,e.jsx("div",{className:m("flex h-14 w-14 items-center justify-center self-start p-4 sm:mb-4 sm:w-full",{"w-full border-t":t,"border-l":!t}),children:e.jsx(le,{})})]})})})}const V=400;function kt({isMenuOpened:t,onMenuOpenChange:n}){const a=ie(),s=L(),o=oe(),r=ae(),{users:c}=B(),i=a.exercises.find(d=>d.exerciseNumber===Number(r.exerciseNumber)),l=r.type==="solution"?i==null?void 0:i.solutions.find(d=>d.stepNumber===Number(r.stepNumber)):r.type==="problem"?i==null?void 0:i.problems.find(d=>d.stepNumber===Number(r.stepNumber)):null,f=z(),b={close:{width:56},open:{width:V}},v={visible:{opacity:1,transition:{duration:.05,when:"beforeChildren",staggerChildren:.03}},hidden:{opacity:0}},x=Number(r.exerciseNumber).toString().padStart(2,"0");return e.jsx("nav",{className:"hidden border-r sm:flex",children:e.jsx(p.div,{initial:t?"open":"close",variants:b,animate:f,children:e.jsxs("div",{className:"flex h-full flex-col items-center justify-between",children:[e.jsx(Ae,{title:a.workshopTitle,menuControls:f,isMenuOpened:t,setMenuOpened:n}),t&&e.jsxs(p.div,{style:{width:V},className:"flex flex-grow flex-col justify-between overflow-y-auto p-6 scrollbar-thin scrollbar-thumb-scrollbar",initial:{opacity:0},animate:{opacity:1},children:[e.jsxs(p.ul,{variants:v,initial:"hidden",animate:"visible",className:"flex flex-col",children:[e.jsx("span",{children:e.jsx(k,{prefetch:"intent",to:"/",className:({isActive:d})=>g("relative whitespace-nowrap px-2 py-0.5 pr-3 text-2xl font-bold outline-none hover:underline focus:underline",'after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":d}),children:"Home"})}),a.exercises.map(({exerciseNumber:d,title:w,steps:E})=>{const C=Number(r.exerciseNumber)===d,A=!C&&a.playground.exerciseNumber===d,y=d.toString().padStart(2,"0");return e.jsxs(Le,{exerciseNumber:d,children:[e.jsxs(h,{prefetch:"intent",to:`/${y}`,className:g("relative whitespace-nowrap px-2 py-0.5 pr-3 text-2xl font-bold outline-none hover:underline focus:underline",'after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":C}),children:[w,A?" šŸ›":null]}),C?e.jsxs(p.ul,{variants:v,initial:"hidden",animate:"visible",className:"ml-4 mt-4 flex flex-col",children:[e.jsx(P,{type:"instructions",exerciseNumber:d,children:e.jsx(h,{to:`/${y}`,prefetch:"intent",className:g('relative whitespace-nowrap px-2 py-0.5 pr-3 text-xl font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":!r.stepNumber}),children:"Intro"})},d),E.filter(Boolean).map(({name:_,stepNumber:S,title:K})=>{const Fe=Number(r.stepNumber)===S,F=S.toString().padStart(2,"0"),We=_===a.playground.appName;return e.jsx(P,{type:"step",stepNumber:S,exerciseNumber:d,children:e.jsx(h,{to:`/${y}/${F}`,prefetch:"intent",className:g('relative whitespace-nowrap px-2 py-0.5 pr-3 text-xl font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":Fe}),children:We?`${F}. ${K} šŸ›`:`${F}. ${K}`})},S)}),e.jsx(P,{type:"finished",exerciseNumber:d,children:e.jsx(k,{to:`/${y}/finished`,prefetch:"intent",className:({isActive:_})=>g('relative whitespace-nowrap px-2 py-0.5 pr-3 text-base font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""] hover:underline focus:underline',{"bg-foreground text-background":_}),children:"šŸ“ Elaboration"})})]}):null]},d)})]}),e.jsx("div",{className:"mt-6",children:e.jsx(k,{to:"/finished",className:({isActive:d})=>g("relative whitespace-nowrap text-lg font-bold outline-none hover:underline focus:underline",{'bg-black text-white after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[""]':d}),children:"šŸ“ Workshop Feedback"})})]}),!t&&e.jsx("div",{className:"flex flex-grow flex-col justify-center",children:e.jsxs("div",{className:"orientation-sideways w-full font-mono text-sm font-medium uppercase leading-none",children:[i!=null&&i.title?e.jsx(h,{to:`/${x}`,children:i.title}):null,i!=null&&i.title&&(l!=null&&l.title)?" — ":null,l!=null&&l.title?e.jsx(h,{to:`/${x}/${l.stepNumber.toString().padStart(2,"0")}`,children:l.title}):null]})}),e.jsx("div",{className:m("flex w-full items-center justify-start border-t p-4 transition-[height]",t&&c.length>4?"h-28":"h-14"),style:t?{width:V}:{},children:e.jsx(Se,{isMenuOpened:t})}),ENV.EPICSHOP_DEPLOYED?null:s?e.jsx($,{content:t?null:"Your account",children:e.jsxs(h,{className:"flex h-14 w-full flex-shrink-0 items-center justify-start space-x-3 border-t px-4 py-4 text-center no-underline hover:underline",to:"/account",children:[s.avatarUrl?e.jsx("img",{alt:s.name??s.email,src:s.avatarUrl,className:"h-full rounded-full"}):e.jsx(N,{name:"User",className:"flex-shrink-0",size:"lg"}),t?e.jsx(p.div,{className:"flex items-center whitespace-nowrap",initial:{opacity:0},animate:{opacity:1},children:"Your Account"}):e.jsx("span",{className:"sr-only",children:"Your account"})]})}):null,ENV.EPICSHOP_DEPLOYED?null:s&&o?e.jsx($,{content:t?null:"Continue to next lesson",children:e.jsxs(h,{to:o,prefetch:"intent",className:g("flex h-14 w-full items-center space-x-3 border-t px-4 py-4 pl-[18px] no-underline hover:underline"),state:{from:"continue next lesson button"},children:[e.jsx(N,{name:"FastForward",className:"flex-shrink-0",size:"md"}),t?e.jsx(p.div,{className:"flex items-center whitespace-nowrap",initial:{opacity:0},animate:{opacity:1},children:"Continue to next lesson"}):e.jsx("span",{className:"sr-only",children:"Continue to next lesson"})]})}):null,e.jsx("div",{className:"mb-4 w-full self-start border-t pl-3 pt-[15px]",children:e.jsx(le,{})})]})})})}function Ae({title:t,isMenuOpened:n,setMenuOpened:a,menuControls:s}){const o=u.useRef(null),r={open:{d:"M3.06061 2.99999L21.0606 21"},closed:{d:"M0 9.5L24 9.5"}},c={open:{d:"M3.00006 21.0607L21 3.06064"},moving:{d:"M0 14.5L24 14.5"},closed:{d:"M0 14.5L15 14.5"}},i=z(),l=z();async function f(){s==null||s.start(n?"close":"open"),a(!n),n?(i.start(r.closed),await l.start(c.moving),l.start(c.closed)):(await l.start(c.moving),i.start(r.open),l.start(c.open))}return u.useEffect(()=>{if(!n)return;function b(v){var x;v.key==="Escape"&&((x=o.current)==null||x.click())}return document.addEventListener("keyup",b),()=>document.removeEventListener("keyup",b)},[n]),e.jsxs("div",{className:m("relative inline-flex h-14 flex-shrink-0 items-center justify-between overflow-hidden border-r sm:w-full sm:border-b sm:border-r-0",{"w-full":n}),children:[e.jsx("button",{ref:o,className:"flex h-14 w-14 items-center justify-center","aria-label":"Open Navigation menu",onClick:f,children:e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",children:[e.jsx(p.path,{...r.closed,animate:i,transition:{duration:.2},stroke:"currentColor",strokeWidth:1.5}),e.jsx(p.path,{...c.closed,animate:l,transition:{duration:.2},stroke:"currentColor",strokeWidth:1.5})]})}),n&&e.jsx(p.p,{transition:{delay:.2},initial:{opacity:0,y:5},animate:{opacity:1,y:0},className:"absolute right-5 whitespace-nowrap font-mono text-sm uppercase",children:e.jsx(h,{to:"/",children:t})})]})}export{Yt as default};
6
- //# sourceMappingURL=_layout-frPHZWgR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_layout-frPHZWgR.js","sources":["../../../../../node_modules/framer-motion/dist/es/animation/hooks/animation-controls.mjs","../../../../../node_modules/framer-motion/dist/es/animation/hooks/use-animation.mjs","../../../app/components/media-query.ts","../../../../../node_modules/@radix-ui/react-dialog/dist/index.mjs","../../../app/components/ui/dialog.tsx","../../../app/routes/_app+/_layout.tsx"],"sourcesContent":["import { invariant } from '../../utils/errors.mjs';\nimport { setTarget } from '../../render/utils/setters.mjs';\nimport { animateVisualElement } from '../interfaces/visual-element.mjs';\n\nfunction stopAnimation(visualElement) {\n visualElement.values.forEach((value) => value.stop());\n}\nfunction setVariants(visualElement, variantLabels) {\n const reversedLabels = [...variantLabels].reverse();\n reversedLabels.forEach((key) => {\n const variant = visualElement.getVariant(key);\n variant && setTarget(visualElement, variant);\n if (visualElement.variantChildren) {\n visualElement.variantChildren.forEach((child) => {\n setVariants(child, variantLabels);\n });\n }\n });\n}\nfunction setValues(visualElement, definition) {\n if (Array.isArray(definition)) {\n return setVariants(visualElement, definition);\n }\n else if (typeof definition === \"string\") {\n return setVariants(visualElement, [definition]);\n }\n else {\n setTarget(visualElement, definition);\n }\n}\n/**\n * @public\n */\nfunction animationControls() {\n /**\n * Track whether the host component has mounted.\n */\n let hasMounted = false;\n /**\n * A collection of linked component animation controls.\n */\n const subscribers = new Set();\n const controls = {\n subscribe(visualElement) {\n subscribers.add(visualElement);\n return () => void subscribers.delete(visualElement);\n },\n start(definition, transitionOverride) {\n invariant(hasMounted, \"controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.\");\n const animations = [];\n subscribers.forEach((visualElement) => {\n animations.push(animateVisualElement(visualElement, definition, {\n transitionOverride,\n }));\n });\n return Promise.all(animations);\n },\n set(definition) {\n invariant(hasMounted, \"controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook.\");\n return subscribers.forEach((visualElement) => {\n setValues(visualElement, definition);\n });\n },\n stop() {\n subscribers.forEach((visualElement) => {\n stopAnimation(visualElement);\n });\n },\n mount() {\n hasMounted = true;\n return () => {\n hasMounted = false;\n controls.stop();\n };\n },\n };\n return controls;\n}\n\nexport { animationControls, setValues };\n","import { animationControls } from './animation-controls.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\n\n/**\n * Creates `AnimationControls`, which can be used to manually start, stop\n * and sequence animations on one or more components.\n *\n * The returned `AnimationControls` should be passed to the `animate` property\n * of the components you want to animate.\n *\n * These components can then be animated with the `start` method.\n *\n * ```jsx\n * import * as React from 'react'\n * import { motion, useAnimation } from 'framer-motion'\n *\n * export function MyComponent(props) {\n * const controls = useAnimation()\n *\n * controls.start({\n * x: 100,\n * transition: { duration: 0.5 },\n * })\n *\n * return <motion.div animate={controls} />\n * }\n * ```\n *\n * @returns Animation controller with `start` and `stop` methods\n *\n * @public\n */\nfunction useAnimationControls() {\n const controls = useConstant(animationControls);\n useIsomorphicLayoutEffect(controls.mount, []);\n return controls;\n}\nconst useAnimation = useAnimationControls;\n\nexport { useAnimation, useAnimationControls };\n","import { useSyncExternalStore } from 'react'\n\nexport function makeMediaQueryStore(\n\tmediaQuery: string,\n\tserverSnapshot: boolean,\n) {\n\tfunction getSnapshot() {\n\t\treturn window.matchMedia(mediaQuery).matches\n\t}\n\n\tfunction subscribe(callback: () => void) {\n\t\tconst mediaQueryList = window.matchMedia(mediaQuery)\n\t\tmediaQueryList.addEventListener('change', callback)\n\t\treturn () => {\n\t\t\tmediaQueryList.removeEventListener('change', callback)\n\t\t}\n\t}\n\n\treturn function useMediaQuery() {\n\t\treturn useSyncExternalStore(subscribe, getSnapshot, () => serverSnapshot)\n\t}\n}\n","\"use client\";\n\n// packages/react/dialog/src/Dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as DialogPrimitive from '@radix-ui/react-dialog'\nimport * as React from 'react'\nimport { cn } from '#app/utils/misc.tsx'\nimport { Icon } from '../icons'\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nfunction DialogOverlay({\n\tclassName,\n\tref,\n\t...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n\treturn (\n\t\t<DialogPrimitive.Overlay\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nfunction DialogContent({\n\tclassName,\n\tchildren,\n\tref,\n\t...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n\treturn (\n\t\t<DialogPortal>\n\t\t\t<DialogOverlay />\n\t\t\t<DialogPrimitive.Content\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\t<DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\">\n\t\t\t\t\t<Icon name=\"Close\" />\n\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t</DialogPrimitive.Close>\n\t\t\t</DialogPrimitive.Content>\n\t\t</DialogPortal>\n\t)\n}\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nfunction DialogHeader({\n\tclassName,\n\t...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'flex flex-col space-y-1.5 text-center sm:text-left',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nDialogHeader.displayName = 'DialogHeader'\n\nfunction DialogFooter({\n\tclassName,\n\t...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nDialogFooter.displayName = 'DialogFooter'\n\nfunction DialogTitle({\n\tclassName,\n\tref,\n\t...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n\treturn (\n\t\t<DialogPrimitive.Title\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'text-lg font-semibold leading-none tracking-tight',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nfunction DialogDescription({\n\tclassName,\n\tref,\n\t...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n\treturn (\n\t\t<DialogPrimitive.Description\n\t\t\tref={ref}\n\t\t\tclassName={cn('text-sm text-muted-foreground', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n\tDialog,\n\tDialogClose,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogOverlay,\n\tDialogPortal,\n\tDialogTitle,\n\tDialogTrigger,\n}\n","import {\n\textractNumbersAndTypeFromAppNameOrPath,\n\tgetExercises,\n\tgetPlaygroundAppName,\n} from '@epic-web/workshop-utils/apps.server'\nimport { getWorkshopConfig } from '@epic-web/workshop-utils/config.server'\nimport {\n\tcombineServerTimings,\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport {\n\tjson,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n} from '@remix-run/node'\nimport {\n\tLink,\n\tNavLink,\n\tOutlet,\n\tuseLoaderData,\n\tuseParams,\n} from '@remix-run/react'\nimport { clsx } from 'clsx'\nimport {\n\tmotion,\n\tuseAnimationControls,\n\ttype AnimationControls,\n} from 'framer-motion'\nimport * as React from 'react'\nimport { useHydrated } from 'remix-utils/use-hydrated'\nimport { Icon } from '#app/components/icons.tsx'\nimport { makeMediaQueryStore } from '#app/components/media-query.ts'\nimport { Logo } from '#app/components/product.tsx'\nimport { useRevalidationWS } from '#app/components/revalidation-ws.js'\nimport {\n\tDialog,\n\tDialogContent,\n\tDialogDescription,\n\tDialogHeader,\n\tDialogTrigger,\n} from '#app/components/ui/dialog.js'\nimport {\n\tSimpleTooltip,\n\tTooltip,\n\tTooltipContent,\n\tTooltipProvider,\n\tTooltipTrigger,\n} from '#app/components/ui/tooltip.tsx'\nimport { useOptionalUser } from '#app/components/user.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.js'\nimport { cn } from '#app/utils/misc.tsx'\nimport { usePresence, type User } from '#app/utils/presence.tsx'\nimport {\n\tuseExerciseProgressClassName,\n\tuseNextExerciseRoute,\n\tuseProgressItemClassName,\n\ttype ProgressItemSearch,\n} from '../progress.tsx'\nimport { ThemeSwitch } from '../theme/index.tsx'\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('appLayoutLoader')\n\tconst { title: workshopTitle } = getWorkshopConfig()\n\tconst [exercises, playgroundAppName] = await Promise.all([\n\t\tgetExercises({ request, timings }),\n\t\tgetPlaygroundAppName(),\n\t])\n\n\tconst playground = {\n\t\tappName: playgroundAppName,\n\t\texerciseNumber: Number(\n\t\t\textractNumbersAndTypeFromAppNameOrPath(playgroundAppName ?? '')\n\t\t\t\t?.exerciseNumber,\n\t\t),\n\t}\n\n\tconst result = json(\n\t\t{\n\t\t\tworkshopTitle,\n\t\t\texercises: exercises.map((e) => ({\n\t\t\t\texerciseNumber: e.exerciseNumber,\n\t\t\t\ttitle: e.title,\n\t\t\t\tsolutions: e.solutions.map(({ stepNumber, title, name }) => ({\n\t\t\t\t\tstepNumber,\n\t\t\t\t\ttitle,\n\t\t\t\t\tname,\n\t\t\t\t})),\n\t\t\t\tproblems: e.problems.map(({ stepNumber, title, name }) => ({\n\t\t\t\t\tstepNumber,\n\t\t\t\t\ttitle,\n\t\t\t\t\tname,\n\t\t\t\t})),\n\t\t\t\tsteps: e.steps.map(({ stepNumber, problem, solution }) => ({\n\t\t\t\t\tstepNumber,\n\t\t\t\t\ttitle: problem?.title ?? solution?.title ?? 'Unknown',\n\t\t\t\t\tname: problem?.name ?? solution?.name ?? 'Unknown',\n\t\t\t\t})),\n\t\t\t})),\n\t\t\tplayground,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\tVary: 'Cookie',\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n\treturn result\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders, parentHeaders }) => {\n\tconst headers = {\n\t\t'Cache-Control': loaderHeaders.get('Cache-Control') ?? '',\n\t\tVary: 'Cookie',\n\t\t'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nconst opacities = ['opacity-70', 'opacity-80', 'opacity-90', 'opacity-100']\nconst shadows = [\n\t'shadow-[0_0_2px_0_rgba(0,0,0,0.3)]',\n\t'shadow-[0_0_4px_0_rgba(0,0,0,0.3)]',\n\t'shadow-[0_0_7px_0_rgba(0,0,0,0.3)]',\n\t'shadow-[0_0_10px_0_rgba(0,0,0,0.3)]',\n]\nfunction getScoreClassNames(score: number) {\n\tconst opacityNumber = Math.round(score * opacities.length - 1)\n\tconst shadowNumber = Math.round(score * shadows.length - 1)\n\treturn cn(\n\t\t'shadow-purple-700 hover:opacity-100 focus:opacity-100 dark:shadow-purple-200',\n\t\topacities[opacityNumber] ?? 'opacity-60',\n\t\tshadows[shadowNumber] ?? 'shadow-none',\n\t\tscore === 1 ? 'animate-pulse hover:animate-none focus:animate-none' : null,\n\t)\n}\n\nfunction FacePile({ isMenuOpened }: { isMenuOpened: boolean }) {\n\tconst loggedInUser = useOptionalUser()\n\tconst { users } = usePresence()\n\tconst {\n\t\tproduct: { displayNameShort },\n\t} = useWorkshopConfig()\n\tconst limit = isMenuOpened ? 17 : 0\n\tconst numberOverLimit = users.length - limit\n\tconst shouldShowNumberOverLimit = numberOverLimit > (isMenuOpened ? 1 : 0)\n\n\tif (!users.length) return null\n\n\tconst tiffany =\n\t\tisMenuOpened && users.length === 1 ? (\n\t\t\t<Link\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\tto=\"https://www.youtube.com/watch?v=w6Q3mHyzn78\"\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\talt=\"Tiffany Tunes\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'h-8 w-8 rounded-full border object-cover',\n\t\t\t\t\t\tgetScoreClassNames(1),\n\t\t\t\t\t)}\n\t\t\t\t\tsrc=\"/img/tiffany.png\"\n\t\t\t\t/>\n\t\t\t</Link>\n\t\t) : null\n\tconst overLimitLabel = `${numberOverLimit}${\n\t\tisMenuOpened ? ' more ' : ' '\n\t}${displayNameShort} Dev${numberOverLimit === 1 ? '' : 's'} working now`\n\treturn (\n\t\t<div className=\"flex flex-wrap items-center gap-2\">\n\t\t\t<TooltipProvider>\n\t\t\t\t{(shouldShowNumberOverLimit ? users.slice(0, limit) : users).map(\n\t\t\t\t\t({ user, score }) => {\n\t\t\t\t\t\tconst scoreClassNames = getScoreClassNames(score)\n\t\t\t\t\t\tconst locationLabel = getLocationLabel(user.location)\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Tooltip key={user.id}>\n\t\t\t\t\t\t\t\t<TooltipTrigger asChild>\n\t\t\t\t\t\t\t\t\t{user.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\t\t\talt={user.name || displayNameShort}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'h-8 w-8 rounded-full border object-cover',\n\t\t\t\t\t\t\t\t\t\t\t\tscoreClassNames,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tsrc={user.avatarUrl}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\t\t\taria-label={user.name || `${displayNameShort} Dev`}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'flex h-8 w-8 items-center justify-center rounded-full border',\n\t\t\t\t\t\t\t\t\t\t\t\tscoreClassNames,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"User\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t\t<TooltipContent>\n\t\t\t\t\t\t\t\t\t<span className=\"flex flex-col items-center justify-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t{user.name || `${displayNameShort} Dev`}{' '}\n\t\t\t\t\t\t\t\t\t\t\t{locationLabel\n\t\t\t\t\t\t\t\t\t\t\t\t? ` is ${user.location?.origin?.includes('localhost') ? 'working' : 'learning'} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscore === 1 && loggedInUser?.id !== user.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'with you'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t} on`\n\t\t\t\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t{locationLabel?.line1 ? (\n\t\t\t\t\t\t\t\t\t\t\t<span>{locationLabel.line1}</span>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t{locationLabel?.line2 ? (\n\t\t\t\t\t\t\t\t\t\t\t<span>{locationLabel.line2}</span>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t)}\n\t\t\t\t{tiffany}\n\t\t\t\t{shouldShowNumberOverLimit ? (\n\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t<TooltipTrigger asChild>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\taria-label={overLimitLabel}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'flex items-center justify-center rounded-full border bg-accent text-xs text-accent-foreground',\n\t\t\t\t\t\t\t\t\tisMenuOpened ? 'h-8 w-8' : 'h-6 w-6',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'pointer-events-none overflow-hidden text-ellipsis whitespace-nowrap text-center',\n\t\t\t\t\t\t\t\t\t\tisMenuOpened ? 'w-8' : 'w-6',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isMenuOpened ? `+${numberOverLimit}` : numberOverLimit}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t<TooltipContent>{overLimitLabel}</TooltipContent>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t) : null}\n\t\t\t</TooltipProvider>\n\t\t</div>\n\t)\n}\n\nconst useIsWide = makeMediaQueryStore('(min-width: 640px)', true)\n\nexport default function App() {\n\tconst user = useOptionalUser()\n\tconst isWide = useIsWide()\n\tconst isHydrated = useHydrated()\n\n\tconst [isMenuOpened, setMenuOpened] = React.useState(false)\n\tuseRevalidationWS({ watchPaths: ['./exercises/README.mdx'] })\n\n\treturn (\n\t\t<div className=\"flex flex-col\">\n\t\t\t{user ? null : <NoUserBanner />}\n\t\t\t{/*\n\t\t\t\tthis isn't placed in a conditional with isWide because the server render\n\t\t\t\tdoesn't know whether it should be around or not so we just use CSS to hide it\n\t\t\t\tif it's not supposed to show up.\n\n\t\t\t\tWe don't just use media queries for the wider screen nav because we want\n\t\t\t\tto avoid running all the logic in there unnecessarily.\n\t\t\t*/}\n\t\t\t{isHydrated && isWide ? null : (\n\t\t\t\t<MobileNavigation\n\t\t\t\t\tisMenuOpened={isMenuOpened}\n\t\t\t\t\tonMenuOpenChange={setMenuOpened}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div\n\t\t\t\t// this nonsense is here because we want the panels to be scrollable rather\n\t\t\t\t// than having the entire page be scrollable (at least on wider screens)\n\t\t\t\tclassName={cn('flex flex-grow flex-col sm:flex-row', {\n\t\t\t\t\t'h-[calc(100vh-128px-env(safe-area-inset-top)-env(safe-area-inset-bottom))] sm:h-[calc(100vh-64px-env(safe-area-inset-top)-env(safe-area-inset-bottom))]':\n\t\t\t\t\t\t!user,\n\t\t\t\t\t'h-[calc(100vh-64px-env(safe-area-inset-top)-env(safe-area-inset-bottom))] sm:h-[calc(100vh-env(safe-area-inset-top)-env(safe-area-inset-bottom))]':\n\t\t\t\t\t\tuser,\n\t\t\t\t\t'h-[unset]': !isWide && isMenuOpened,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{isWide ? (\n\t\t\t\t\t<Navigation\n\t\t\t\t\t\tisMenuOpened={isMenuOpened}\n\t\t\t\t\t\tonMenuOpenChange={setMenuOpened}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'h-full w-full max-w-full sm:max-w-[calc(100%-56px)]',\n\t\t\t\t\t\tisMenuOpened ? 'hidden md:block' : '',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Outlet />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction getLocationLabel(location: User['location']) {\n\tif (!location) return null\n\n\tconst { exercise } = location\n\n\tconst exercisePortion = [\n\t\texercise\n\t\t\t? [exercise.exerciseNumber, exercise.stepNumber]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.map((s) => s.toString().padStart(2, '0'))\n\t\t\t\t\t.join('/')\n\t\t\t: null,\n\t\texercise?.type,\n\t]\n\t\t.filter(Boolean)\n\t\t.join(' - ')\n\treturn { line1: location.workshopTitle, line2: exercisePortion }\n}\n\nfunction NoUserBanner() {\n\tconst isWide = useIsWide()\n\tconst {\n\t\tproduct: { host, displayName },\n\t} = useWorkshopConfig()\n\tconst details = (\n\t\t<div>\n\t\t\t{ENV.EPICSHOP_DEPLOYED ? (\n\t\t\t\t<div>\n\t\t\t\t\t{`This is the deployed version. `}\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tto={ENV.EPICSHOP_GITHUB_REPO}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tRun locally\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t{` for full experience.`}\n\t\t\t\t\t</>{' '}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div>\n\t\t\t\t\t<Link to=\"/login\" className=\"underline\">\n\t\t\t\t\t\tLogin\n\t\t\t\t\t</Link>{' '}\n\t\t\t\t\tor{' '}\n\t\t\t\t\t<a href={`https://${host}/login`} className=\"underline\">\n\t\t\t\t\t\tjoin for free\n\t\t\t\t\t</a>{' '}\n\t\t\t\t\tfor the full experience.\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n\treturn (\n\t\t<div className=\"z-10 flex h-16 items-center justify-between border-b bg-gradient-to-tr from-blue-500 to-indigo-500 pl-4 text-white\">\n\t\t\t{isWide ? (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"hidden flex-1 flex-wrap items-center gap-4 sm:flex\">\n\t\t\t\t\t\t<Logo size=\"lg\" style=\"monochrome\" />\n\t\t\t\t\t\t<div className=\"flex flex-1 flex-wrap items-center\">\n\t\t\t\t\t\t\t<p className=\"mr-2\">\n\t\t\t\t\t\t\t\tWelcome to the{' '}\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\tto={`https://${host}`}\n\t\t\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{displayName}\n\t\t\t\t\t\t\t\t</Link>{' '}\n\t\t\t\t\t\t\t\tWorkshop app!\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{details}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"hidden h-full flex-col items-center sm:flex md:flex-row\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tto={`https://${host}`}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\tclassName=\"flex h-full items-center justify-center space-x-1.5 px-5 text-sm font-semibold\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"drop-shadow-sm\">Join {displayName}</span>\n\t\t\t\t\t\t\t<span>ā†—ļøŽ</span>\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tto={ENV.EPICSHOP_DEPLOYED ? `https://${host}/login` : '/login'}\n\t\t\t\t\t\t\tclassName=\"flex h-full items-center justify-center space-x-1.5 bg-white/20 px-5 text-sm font-semibold shadow-md transition hover:bg-white/30\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon name=\"User\" size=\"lg\" />\n\t\t\t\t\t\t\t<span className=\"drop-shadow-sm\">Login</span>\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex flex-1 flex-wrap items-center gap-4 sm:hidden\">\n\t\t\t\t\t\t<a href={`https://${host}`}>\n\t\t\t\t\t\t\t<Logo size=\"lg\" style=\"monochrome\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<Dialog>\n\t\t\t\t\t\t\t<DialogTrigger>\n\t\t\t\t\t\t\t\t<Icon name=\"Question\" size=\"lg\" className=\"animate-pulse\" />\n\t\t\t\t\t\t\t</DialogTrigger>\n\t\t\t\t\t\t\t<DialogContent>\n\t\t\t\t\t\t\t\t<DialogHeader>\n\t\t\t\t\t\t\t\t\t<Logo size=\"lg\" style=\"monochrome\" />\n\t\t\t\t\t\t\t\t\t<span className=\"text-lg font-semibold\">{displayName}</span>\n\t\t\t\t\t\t\t\t</DialogHeader>\n\t\t\t\t\t\t\t\t<DialogDescription>\n\t\t\t\t\t\t\t\t\tWelcome to the{' '}\n\t\t\t\t\t\t\t\t\t<Link to={`https://${host}`} className=\"underline\">\n\t\t\t\t\t\t\t\t\t\t{displayName}\n\t\t\t\t\t\t\t\t\t</Link>{' '}\n\t\t\t\t\t\t\t\t\tWorkshop app!\n\t\t\t\t\t\t\t\t</DialogDescription>\n\t\t\t\t\t\t\t\t{details}\n\t\t\t\t\t\t\t</DialogContent>\n\t\t\t\t\t\t</Dialog>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex h-full items-center\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tto={`https://${host}`}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\tclassName=\"flex h-full items-center justify-center space-x-1.5 px-5 text-sm font-semibold\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"drop-shadow-sm\">Join</span>\n\t\t\t\t\t\t\t<span>ā†—ļøŽ</span>\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tto={ENV.EPICSHOP_DEPLOYED ? `https://${host}/login` : '/login'}\n\t\t\t\t\t\t\tclassName=\"flex h-full items-center justify-center space-x-1.5 bg-white/20 px-5 text-sm font-semibold shadow-md transition hover:bg-white/30\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon name=\"User\" size=\"lg\" />\n\t\t\t\t\t\t\t<span className=\"drop-shadow-sm\">Login</span>\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nconst itemVariants = {\n\thidden: { opacity: 0, x: -20 },\n\tvisible: { opacity: 1, x: 0 },\n}\nfunction NavigationExerciseListItem({\n\texerciseNumber,\n\tchildren,\n}: {\n\texerciseNumber: number\n\tchildren: React.ReactNode\n}) {\n\tconst progressClassName = useExerciseProgressClassName(exerciseNumber)\n\treturn (\n\t\t<motion.li\n\t\t\tvariants={itemVariants}\n\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\tclassName={cn(\n\t\t\t\t// add gap of 3 to children, but using padding so the progress extends through the whole height\n\t\t\t\t'py-[6px] first:pt-3 last:pb-3',\n\t\t\t\tprogressClassName ? `${progressClassName} before:border-t` : null,\n\t\t\t)}\n\t\t>\n\t\t\t<span className=\"ml-2\">{children}</span>\n\t\t</motion.li>\n\t)\n}\n\nfunction NavigationExerciseStepListItem({\n\tchildren,\n\t...progressItemSearch\n}: {\n\tchildren: React.ReactNode\n} & ProgressItemSearch) {\n\tconst progressClassName = useProgressItemClassName(progressItemSearch)\n\treturn (\n\t\t<motion.li\n\t\t\tvariants={itemVariants}\n\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\tclassName={cn(\n\t\t\t\t// add gap of 3 to children, but using padding so the progress extends through the whole height\n\t\t\t\t'py-[6px] first:pt-3 last:pb-3',\n\t\t\t\tprogressClassName ? `${progressClassName} before:border-t` : null,\n\t\t\t)}\n\t\t>\n\t\t\t<span className=\"ml-2\">{children}</span>\n\t\t</motion.li>\n\t)\n}\n\nfunction MobileNavigation({\n\tisMenuOpened,\n\tonMenuOpenChange: setMenuOpened,\n}: {\n\tisMenuOpened: boolean\n\tonMenuOpenChange: (change: boolean) => void\n}) {\n\tconst data = useLoaderData<typeof loader>()\n\tconst user = useOptionalUser()\n\tconst nextExerciseRoute = useNextExerciseRoute()\n\tconst params = useParams()\n\tconst { users } = usePresence()\n\n\t// items\n\tconst listVariants = {\n\t\tvisible: {\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.05,\n\t\t\t\twhen: 'beforeChildren',\n\t\t\t\tstaggerChildren: 0.03,\n\t\t\t},\n\t\t},\n\t\thidden: {\n\t\t\topacity: 0,\n\t\t},\n\t}\n\n\treturn (\n\t\t<nav className=\"flex w-full border-b sm:hidden\">\n\t\t\t<div className=\"w-full\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn('flex items-center', {\n\t\t\t\t\t\t'flex-col': isMenuOpened,\n\t\t\t\t\t\t'h-14': !isMenuOpened,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<NavToggle\n\t\t\t\t\t\ttitle={data.workshopTitle}\n\t\t\t\t\t\tisMenuOpened={isMenuOpened}\n\t\t\t\t\t\tsetMenuOpened={setMenuOpened}\n\t\t\t\t\t/>\n\t\t\t\t\t{isMenuOpened && (\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\tclassName=\"flex w-full flex-grow flex-col justify-between overflow-x-auto p-6 scrollbar-thin scrollbar-thumb-scrollbar\"\n\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<motion.ul\n\t\t\t\t\t\t\t\tvariants={listVariants}\n\t\t\t\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\t\t\t\tanimate=\"visible\"\n\t\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\t\tclassName=\"flex flex-col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t<NavLink\n\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\tto=\"/\"\n\t\t\t\t\t\t\t\t\t\tclassName={({ isActive }) =>\n\t\t\t\t\t\t\t\t\t\t\tclsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-2xl font-bold outline-none hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t'after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t{ 'bg-foreground text-background': isActive },\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tHome\n\t\t\t\t\t\t\t\t\t</NavLink>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{data.exercises.map(({ exerciseNumber, title, steps }) => {\n\t\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\t\tNumber(params.exerciseNumber) === exerciseNumber\n\t\t\t\t\t\t\t\t\tconst showPlayground =\n\t\t\t\t\t\t\t\t\t\t!isActive &&\n\t\t\t\t\t\t\t\t\t\tdata.playground.exerciseNumber === exerciseNumber\n\t\t\t\t\t\t\t\t\tconst exerciseNum = exerciseNumber.toString().padStart(2, '0')\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<NavigationExerciseListItem\n\t\t\t\t\t\t\t\t\t\t\tkey={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\texerciseNumber={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\t\t\tto={`/${exerciseNum}`}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-2xl font-bold outline-none hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ 'bg-foreground text-background': isActive },\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t\t\t{showPlayground ? ' šŸ›' : null}\n\t\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t\t\t{isActive ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<motion.ul\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariants={listVariants}\n\t\t\t\t\t\t\t\t\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tanimate=\"visible\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-4 mt-4 flex flex-col\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<NavigationExerciseStepListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"instructions\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texerciseNumber={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tto={`/${exerciseNum}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-xl font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'bg-foreground text-background':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!params.stepNumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tIntro\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</NavigationExerciseStepListItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{steps\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.map(({ name, stepNumber, title }) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNumber(params.stepNumber) === stepNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst step = stepNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.padStart(2, '0')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isPlayground =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname === data.playground.appName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<NavigationExerciseStepListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={stepNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"step\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepNumber={stepNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texerciseNumber={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tto={`/${exerciseNum}/${step}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-xl font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'bg-foreground text-background':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisActive,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{isPlayground\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `${step}. ${title} šŸ›`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `${step}. ${title}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</NavigationExerciseStepListItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<NavigationExerciseStepListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"finished\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texerciseNumber={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<NavLink\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tto={`/${exerciseNum}/finished`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={({ isActive }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-base font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'bg-foreground text-background': isActive,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tšŸ“ Elaboration\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</NavLink>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</NavigationExerciseStepListItem>\n\t\t\t\t\t\t\t\t\t\t\t\t</motion.ul>\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t</NavigationExerciseListItem>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</motion.ul>\n\t\t\t\t\t\t\t<div className=\"mt-6\">\n\t\t\t\t\t\t\t\t<NavLink\n\t\t\t\t\t\t\t\t\tto=\"/finished\"\n\t\t\t\t\t\t\t\t\tclassName={({ isActive }) =>\n\t\t\t\t\t\t\t\t\t\tclsx(\n\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap text-lg font-bold outline-none hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'bg-black text-white after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"]':\n\t\t\t\t\t\t\t\t\t\t\t\t\tisActive,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tšŸ“ Workshop Feedback\n\t\t\t\t\t\t\t\t</NavLink>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"flex-grow\" />\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'flex items-center justify-start p-4',\n\t\t\t\t\t\t\tisMenuOpened && users.length > 4 ? 'min-h-14' : 'h-14',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'w-full border-t': isMenuOpened,\n\t\t\t\t\t\t\t\t// left border is covered by the menu\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FacePile isMenuOpened={isMenuOpened} />\n\t\t\t\t\t</div>\n\t\t\t\t\t{ENV.EPICSHOP_DEPLOYED ? null : user ? (\n\t\t\t\t\t\t<SimpleTooltip content={isMenuOpened ? null : 'Your account'}>\n\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'flex h-14 flex-shrink-0 items-center justify-start space-x-3 px-4 py-4 text-center no-underline hover:underline',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'border-l': !isMenuOpened,\n\t\t\t\t\t\t\t\t\t\t'w-full border-t': isMenuOpened,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tto=\"/account\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{user.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\talt={user.name ?? user.email}\n\t\t\t\t\t\t\t\t\t\tsrc={user.avatarUrl}\n\t\t\t\t\t\t\t\t\t\tclassName=\"h-full rounded-full\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Icon name=\"User\" className=\"flex-shrink-0\" size=\"lg\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isMenuOpened ? (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tYour Account\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<span className=\"sr-only\">Your account</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{ENV.EPICSHOP_DEPLOYED ? null : user && nextExerciseRoute ? (\n\t\t\t\t\t\t<SimpleTooltip\n\t\t\t\t\t\t\tcontent={isMenuOpened ? null : 'Continue to next lesson'}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\tto={nextExerciseRoute}\n\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t'flex h-14 w-full items-center space-x-3 border-l px-4 py-4 pl-[18px] no-underline hover:underline',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstate={{ from: 'continue next lesson button' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon name=\"FastForward\" className=\"flex-shrink-0\" size=\"md\" />\n\t\t\t\t\t\t\t\t{isMenuOpened ? (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tContinue to next lesson\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<span className=\"sr-only\">Continue to next lesson</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'flex h-14 w-14 items-center justify-center self-start p-4 sm:mb-4 sm:w-full',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'w-full border-t': isMenuOpened,\n\t\t\t\t\t\t\t\t'border-l': !isMenuOpened,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ThemeSwitch />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</nav>\n\t)\n}\n\nconst OPENED_MENU_WIDTH = 400\n\nfunction Navigation({\n\tisMenuOpened,\n\tonMenuOpenChange: setMenuOpened,\n}: {\n\tisMenuOpened: boolean\n\tonMenuOpenChange: (change: boolean) => void\n}) {\n\tconst data = useLoaderData<typeof loader>()\n\tconst user = useOptionalUser()\n\tconst nextExerciseRoute = useNextExerciseRoute()\n\tconst params = useParams()\n\tconst { users } = usePresence()\n\n\tconst exercise = data.exercises.find(\n\t\t(e) => e.exerciseNumber === Number(params.exerciseNumber),\n\t)\n\tconst app =\n\t\tparams.type === 'solution'\n\t\t\t? exercise?.solutions.find(\n\t\t\t\t\t(s) => s.stepNumber === Number(params.stepNumber),\n\t\t\t\t)\n\t\t\t: params.type === 'problem'\n\t\t\t\t? exercise?.problems.find(\n\t\t\t\t\t\t(p) => p.stepNumber === Number(params.stepNumber),\n\t\t\t\t\t)\n\t\t\t\t: null\n\n\t// container\n\tconst menuControls = useAnimationControls()\n\tconst menuVariants = {\n\t\tclose: { width: 56 },\n\t\topen: { width: OPENED_MENU_WIDTH },\n\t}\n\n\t// items\n\tconst listVariants = {\n\t\tvisible: {\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.05,\n\t\t\t\twhen: 'beforeChildren',\n\t\t\t\tstaggerChildren: 0.03,\n\t\t\t},\n\t\t},\n\t\thidden: {\n\t\t\topacity: 0,\n\t\t},\n\t}\n\tconst exNum = Number(params.exerciseNumber).toString().padStart(2, '0')\n\n\treturn (\n\t\t<nav className=\"hidden border-r sm:flex\">\n\t\t\t<motion.div\n\t\t\t\tinitial={isMenuOpened ? 'open' : 'close'}\n\t\t\t\tvariants={menuVariants}\n\t\t\t\tanimate={menuControls}\n\t\t\t>\n\t\t\t\t<div className=\"flex h-full flex-col items-center justify-between\">\n\t\t\t\t\t<NavToggle\n\t\t\t\t\t\ttitle={data.workshopTitle}\n\t\t\t\t\t\tmenuControls={menuControls}\n\t\t\t\t\t\tisMenuOpened={isMenuOpened}\n\t\t\t\t\t\tsetMenuOpened={setMenuOpened}\n\t\t\t\t\t/>\n\t\t\t\t\t{isMenuOpened && (\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tstyle={{ width: OPENED_MENU_WIDTH }}\n\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\tclassName=\"flex flex-grow flex-col justify-between overflow-y-auto p-6 scrollbar-thin scrollbar-thumb-scrollbar\"\n\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<motion.ul\n\t\t\t\t\t\t\t\tvariants={listVariants}\n\t\t\t\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\t\t\t\tanimate=\"visible\"\n\t\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\t\tclassName=\"flex flex-col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t<NavLink\n\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\tto=\"/\"\n\t\t\t\t\t\t\t\t\t\tclassName={({ isActive }) =>\n\t\t\t\t\t\t\t\t\t\t\tclsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-2xl font-bold outline-none hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t'after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t{ 'bg-foreground text-background': isActive },\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tHome\n\t\t\t\t\t\t\t\t\t</NavLink>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{data.exercises.map(({ exerciseNumber, title, steps }) => {\n\t\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\t\tNumber(params.exerciseNumber) === exerciseNumber\n\t\t\t\t\t\t\t\t\tconst showPlayground =\n\t\t\t\t\t\t\t\t\t\t!isActive &&\n\t\t\t\t\t\t\t\t\t\tdata.playground.exerciseNumber === exerciseNumber\n\t\t\t\t\t\t\t\t\tconst exerciseNum = exerciseNumber.toString().padStart(2, '0')\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<NavigationExerciseListItem\n\t\t\t\t\t\t\t\t\t\t\tkey={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\texerciseNumber={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\t\t\tto={`/${exerciseNum}`}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-2xl font-bold outline-none hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ 'bg-foreground text-background': isActive },\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t\t\t{showPlayground ? ' šŸ›' : null}\n\t\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t\t\t{isActive ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<motion.ul\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariants={listVariants}\n\t\t\t\t\t\t\t\t\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tanimate=\"visible\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-4 mt-4 flex flex-col\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<NavigationExerciseStepListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"instructions\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texerciseNumber={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tto={`/${exerciseNum}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-xl font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'bg-foreground text-background':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!params.stepNumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tIntro\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</NavigationExerciseStepListItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{steps\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.map(({ name, stepNumber, title }) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNumber(params.stepNumber) === stepNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst step = stepNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.padStart(2, '0')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isPlayground =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname === data.playground.appName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<NavigationExerciseStepListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={stepNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"step\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepNumber={stepNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texerciseNumber={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tto={`/${exerciseNum}/${step}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-xl font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'bg-foreground text-background':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisActive,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{isPlayground\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `${step}. ${title} šŸ›`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `${step}. ${title}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</NavigationExerciseStepListItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<NavigationExerciseStepListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"finished\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texerciseNumber={exerciseNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<NavLink\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tto={`/${exerciseNum}/finished`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={({ isActive }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap px-2 py-0.5 pr-3 text-base font-medium outline-none after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"] hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'bg-foreground text-background': isActive,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tšŸ“ Elaboration\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</NavLink>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</NavigationExerciseStepListItem>\n\t\t\t\t\t\t\t\t\t\t\t\t</motion.ul>\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t</NavigationExerciseListItem>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</motion.ul>\n\t\t\t\t\t\t\t<div className=\"mt-6\">\n\t\t\t\t\t\t\t\t<NavLink\n\t\t\t\t\t\t\t\t\tto=\"/finished\"\n\t\t\t\t\t\t\t\t\tclassName={({ isActive }) =>\n\t\t\t\t\t\t\t\t\t\tclsx(\n\t\t\t\t\t\t\t\t\t\t\t'relative whitespace-nowrap text-lg font-bold outline-none hover:underline focus:underline',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'bg-black text-white after:absolute after:-bottom-2.5 after:-right-2.5 after:h-5 after:w-5 after:rotate-45 after:scale-75 after:bg-background after:content-[\"\"]':\n\t\t\t\t\t\t\t\t\t\t\t\t\tisActive,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tšŸ“ Workshop Feedback\n\t\t\t\t\t\t\t\t</NavLink>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!isMenuOpened && (\n\t\t\t\t\t\t<div className=\"flex flex-grow flex-col justify-center\">\n\t\t\t\t\t\t\t<div className=\"orientation-sideways w-full font-mono text-sm font-medium uppercase leading-none\">\n\t\t\t\t\t\t\t\t{exercise?.title ? (\n\t\t\t\t\t\t\t\t\t<Link to={`/${exNum}`}>{exercise.title}</Link>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{exercise?.title && app?.title ? ' — ' : null}\n\t\t\t\t\t\t\t\t{app?.title ? (\n\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\tto={`/${exNum}/${app.stepNumber\n\t\t\t\t\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t\t\t\t\t.padStart(2, '0')}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{app.title}\n\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'flex w-full items-center justify-start border-t p-4 transition-[height]',\n\t\t\t\t\t\t\tisMenuOpened && users.length > 4 ? 'h-28' : 'h-14',\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tstyle={isMenuOpened ? { width: OPENED_MENU_WIDTH } : {}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FacePile isMenuOpened={isMenuOpened} />\n\t\t\t\t\t</div>\n\t\t\t\t\t{ENV.EPICSHOP_DEPLOYED ? null : user ? (\n\t\t\t\t\t\t<SimpleTooltip content={isMenuOpened ? null : 'Your account'}>\n\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\tclassName=\"flex h-14 w-full flex-shrink-0 items-center justify-start space-x-3 border-t px-4 py-4 text-center no-underline hover:underline\"\n\t\t\t\t\t\t\t\tto=\"/account\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{user.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\talt={user.name ?? user.email}\n\t\t\t\t\t\t\t\t\t\tsrc={user.avatarUrl}\n\t\t\t\t\t\t\t\t\t\tclassName=\"h-full rounded-full\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Icon name=\"User\" className=\"flex-shrink-0\" size=\"lg\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isMenuOpened ? (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tYour Account\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<span className=\"sr-only\">Your account</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{ENV.EPICSHOP_DEPLOYED ? null : user && nextExerciseRoute ? (\n\t\t\t\t\t\t<SimpleTooltip\n\t\t\t\t\t\t\tcontent={isMenuOpened ? null : 'Continue to next lesson'}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\tto={nextExerciseRoute}\n\t\t\t\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t'flex h-14 w-full items-center space-x-3 border-t px-4 py-4 pl-[18px] no-underline hover:underline',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstate={{ from: 'continue next lesson button' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon name=\"FastForward\" className=\"flex-shrink-0\" size=\"md\" />\n\t\t\t\t\t\t\t\t{isMenuOpened ? (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tContinue to next lesson\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<span className=\"sr-only\">Continue to next lesson</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<div className=\"mb-4 w-full self-start border-t pl-3 pt-[15px]\">\n\t\t\t\t\t\t<ThemeSwitch />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</motion.div>\n\t\t</nav>\n\t)\n}\n\nfunction NavToggle({\n\ttitle,\n\tisMenuOpened,\n\tsetMenuOpened,\n\tmenuControls,\n}: {\n\ttitle: string\n\tisMenuOpened: boolean\n\tsetMenuOpened: (value: boolean) => void\n\tmenuControls?: AnimationControls\n}) {\n\tconst menuButtonRef = React.useRef<HTMLButtonElement>(null)\n\tconst path01Variants = {\n\t\topen: { d: 'M3.06061 2.99999L21.0606 21' },\n\t\tclosed: { d: 'M0 9.5L24 9.5' },\n\t}\n\tconst path02Variants = {\n\t\topen: { d: 'M3.00006 21.0607L21 3.06064' },\n\t\tmoving: { d: 'M0 14.5L24 14.5' },\n\t\tclosed: { d: 'M0 14.5L15 14.5' },\n\t}\n\tconst path01Controls = useAnimationControls()\n\tconst path02Controls = useAnimationControls()\n\n\tasync function toggleMenu() {\n\t\tvoid menuControls?.start(isMenuOpened ? 'close' : 'open')\n\t\tsetMenuOpened(!isMenuOpened)\n\t\tif (isMenuOpened) {\n\t\t\tvoid path01Controls.start(path01Variants.closed)\n\t\t\tawait path02Controls.start(path02Variants.moving)\n\t\t\tvoid path02Controls.start(path02Variants.closed)\n\t\t} else {\n\t\t\tawait path02Controls.start(path02Variants.moving)\n\t\t\tvoid path01Controls.start(path01Variants.open)\n\t\t\tvoid path02Controls.start(path02Variants.open)\n\t\t}\n\t}\n\n\tReact.useEffect(() => {\n\t\tif (!isMenuOpened) return\n\n\t\tfunction handleKeyUp(event: KeyboardEvent) {\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tmenuButtonRef.current?.click()\n\t\t\t}\n\t\t}\n\t\tdocument.addEventListener('keyup', handleKeyUp)\n\t\treturn () => document.removeEventListener('keyup', handleKeyUp)\n\t}, [isMenuOpened])\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'relative inline-flex h-14 flex-shrink-0 items-center justify-between overflow-hidden border-r sm:w-full sm:border-b sm:border-r-0',\n\t\t\t\t{\n\t\t\t\t\t'w-full': isMenuOpened,\n\t\t\t\t},\n\t\t\t)}\n\t\t>\n\t\t\t<button\n\t\t\t\tref={menuButtonRef}\n\t\t\t\tclassName=\"flex h-14 w-14 items-center justify-center\"\n\t\t\t\taria-label=\"Open Navigation menu\"\n\t\t\t\tonClick={toggleMenu}\n\t\t\t>\n\t\t\t\t<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<motion.path\n\t\t\t\t\t\t{...path01Variants.closed}\n\t\t\t\t\t\tanimate={path01Controls}\n\t\t\t\t\t\ttransition={{ duration: 0.2 }}\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t/>\n\t\t\t\t\t<motion.path\n\t\t\t\t\t\t{...path02Variants.closed}\n\t\t\t\t\t\tanimate={path02Controls}\n\t\t\t\t\t\ttransition={{ duration: 0.2 }}\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t\t{isMenuOpened && (\n\t\t\t\t<motion.p\n\t\t\t\t\ttransition={{ delay: 0.2 }}\n\t\t\t\t\tinitial={{ opacity: 0, y: 5 }}\n\t\t\t\t\tanimate={{ opacity: 1, y: 0 }}\n\t\t\t\t\t// @ts-expect-error framer-motion + latest typescript types has issues\n\t\t\t\t\tclassName=\"absolute right-5 whitespace-nowrap font-mono text-sm uppercase\"\n\t\t\t\t>\n\t\t\t\t\t<Link to=\"/\">{title}</Link>\n\t\t\t\t</motion.p>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n"],"names":["stopAnimation","visualElement","value","setVariants","variantLabels","key","variant","setTarget","child","setValues","definition","animationControls","subscribers","controls","transitionOverride","animations","animateVisualElement","useAnimationControls","useConstant","useIsomorphicLayoutEffect","makeMediaQueryStore","mediaQuery","serverSnapshot","getSnapshot","subscribe","callback","mediaQueryList","useSyncExternalStore","DIALOG_NAME","createDialogContext","createDialogScope","createContextScope","DialogProvider","useDialogContext","Dialog","props","__scopeDialog","children","openProp","defaultOpen","onOpenChange","modal","triggerRef","React.useRef","contentRef","open","setOpen","useControllableState","jsx","useId","React.useCallback","prevOpen","TRIGGER_NAME","DialogTrigger","React.forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","useComposedRefs","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","DialogPortal","forceMount","container","React.Children","Presence","PortalPrimitive","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","RemoveScroll","Slot","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","composedRefs","React.useEffect","content","hideOthers","DialogContentImpl","event","_a","originalEvent","ctrlLeftClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","_b","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","useFocusGuards","jsxs","Fragment","FocusScope","DismissableLayer","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","DESCRIPTION_NAME","DialogDescription","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","titleId","titleWarningContext","MESSAGE","DESCRIPTION_WARNING_NAME","descriptionId","describedById","Root","Trigger","Portal","Overlay","Content","Title","Description","Close","DialogPrimitive.Root","DialogPrimitive.Trigger","DialogPrimitive.Portal","className","ref","DialogPrimitive.Overlay","cn","DialogPrimitive.Content","DialogPrimitive.Close","Icon","DialogHeader","DialogPrimitive.Title","DialogPrimitive.Description","opacities","shadows","getScoreClassNames","score","opacityNumber","Math","round","length","shadowNumber","FacePile","isMenuOpened","loggedInUser","useOptionalUser","users","usePresence","product","displayNameShort","useWorkshopConfig","limit","numberOverLimit","shouldShowNumberOverLimit","tiffany","Link","rel","to","alt","src","overLimitLabel","TooltipProvider","slice","map","user","scoreClassNames","locationLabel","getLocationLabel","location","Tooltip","TooltipTrigger","asChild","avatarUrl","tabIndex","name","TooltipContent","origin","includes","id","line1","line2","useIsWide","App","isWide","isHydrated","useHydrated","setMenuOpened","React","useRevalidationWS","watchPaths","NoUserBanner","MobileNavigation","onMenuOpenChange","Navigation","Outlet","exercise","exercisePortion","exerciseNumber","stepNumber","filter","Boolean","s","toString","padStart","join","type","workshopTitle","host","displayName","details","ENV","EPICSHOP_DEPLOYED","EPICSHOP_GITHUB_REPO","href","Logo","size","style","itemVariants","hidden","opacity","x","visible","NavigationExerciseListItem","progressClassName","useExerciseProgressClassName","motion","li","variants","NavigationExerciseStepListItem","progressItemSearch","useProgressItemClassName","data","useLoaderData","nextExerciseRoute","useNextExerciseRoute","params","useParams","listVariants","transition","duration","when","staggerChildren","NavToggle","title","div","initial","animate","ul","NavLink","prefetch","isActive","clsx","exercises","steps","Number","showPlayground","playground","exerciseNum","step","isPlayground","appName","SimpleTooltip","email","state","from","ThemeSwitch","OPENED_MENU_WIDTH","find","e","app","solutions","problems","p","menuControls","menuVariants","close","width","exNum","menuButtonRef","path01Variants","d","closed","path02Variants","moving","path01Controls","path02Controls","toggleMenu","start","handleKeyUp","current","click","document","addEventListener","removeEventListener","onClick","height","viewBox","path","stroke","strokeWidth","delay","y"],"mappings":"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","x_google_ignoreList":[0,1,3]}
@@ -1,2 +0,0 @@
1
- import{r as p,j as t,R as f}from"./index-DF_XBInP.js";import{d as B,u as O,e as U,P as j,f as q,g as ue,h as Y,i as fe}from"./tooltip-6-WS-Xux.js";import{f as me,u as xe}from"./index-BczhSZ3e.js";import{c as M,I}from"./misc-BE75ioh8.js";var k="Collapsible",[ve,J]=B(k),[Ce,V]=ve(k),Q=p.forwardRef((e,s)=>{const{__scopeCollapsible:o,open:n,defaultOpen:r,disabled:a,onOpenChange:c,...l}=e,[d=!1,u]=O({prop:n,defaultProp:r,onChange:c});return t.jsx(Ce,{scope:o,disabled:a,contentId:U(),open:d,onOpenToggle:p.useCallback(()=>u(m=>!m),[u]),children:t.jsx(j.div,{"data-state":H(d),"data-disabled":a?"":void 0,...l,ref:s})})});Q.displayName=k;var W="CollapsibleTrigger",X=p.forwardRef((e,s)=>{const{__scopeCollapsible:o,...n}=e,r=V(W,o);return t.jsx(j.button,{type:"button","aria-controls":r.contentId,"aria-expanded":r.open||!1,"data-state":H(r.open),"data-disabled":r.disabled?"":void 0,disabled:r.disabled,...n,ref:s,onClick:q(e.onClick,r.onOpenToggle)})});X.displayName=W;var L="CollapsibleContent",Z=p.forwardRef((e,s)=>{const{forceMount:o,...n}=e,r=V(L,e.__scopeCollapsible);return t.jsx(ue,{present:o||r.open,children:({present:a})=>t.jsx(be,{...n,ref:s,present:a})})});Z.displayName=L;var be=p.forwardRef((e,s)=>{const{__scopeCollapsible:o,present:n,children:r,...a}=e,c=V(L,o),[l,d]=p.useState(n),u=p.useRef(null),m=Y(s,u),x=p.useRef(0),A=x.current,C=p.useRef(0),w=C.current,b=c.open||l,g=p.useRef(b),h=p.useRef();return p.useEffect(()=>{const i=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(i)},[]),fe(()=>{const i=u.current;if(i){h.current=h.current||{transitionDuration:i.style.transitionDuration,animationName:i.style.animationName},i.style.transitionDuration="0s",i.style.animationName="none";const R=i.getBoundingClientRect();x.current=R.height,C.current=R.width,g.current||(i.style.transitionDuration=h.current.transitionDuration,i.style.animationName=h.current.animationName),d(n)}},[c.open,n]),t.jsx(j.div,{"data-state":H(c.open),"data-disabled":c.disabled?"":void 0,id:c.contentId,hidden:!b,...a,ref:m,style:{"--radix-collapsible-content-height":A?`${A}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:b&&r})});function H(e){return e?"open":"closed"}var ge=Q,he=X,Ae=Z,v="Accordion",Re=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[$,Ie,je]=me(v),[_,Ge]=B(v,[je,J]),G=J(),ee=f.forwardRef((e,s)=>{const{type:o,...n}=e,r=n,a=n;return t.jsx($.Provider,{scope:e.__scopeAccordion,children:o==="multiple"?t.jsx(Pe,{...a,ref:s}):t.jsx(_e,{...r,ref:s})})});ee.displayName=v;var[oe,we]=_(v),[te,Ne]=_(v,{collapsible:!1}),_e=f.forwardRef((e,s)=>{const{value:o,defaultValue:n,onValueChange:r=()=>{},collapsible:a=!1,...c}=e,[l,d]=O({prop:o,defaultProp:n,onChange:r});return t.jsx(oe,{scope:e.__scopeAccordion,value:l?[l]:[],onItemOpen:d,onItemClose:f.useCallback(()=>a&&d(""),[a,d]),children:t.jsx(te,{scope:e.__scopeAccordion,collapsible:a,children:t.jsx(ne,{...c,ref:s})})})}),Pe=f.forwardRef((e,s)=>{const{value:o,defaultValue:n,onValueChange:r=()=>{},...a}=e,[c=[],l]=O({prop:o,defaultProp:n,onChange:r}),d=f.useCallback(m=>l((x=[])=>[...x,m]),[l]),u=f.useCallback(m=>l((x=[])=>x.filter(A=>A!==m)),[l]);return t.jsx(oe,{scope:e.__scopeAccordion,value:c,onItemOpen:d,onItemClose:u,children:t.jsx(te,{scope:e.__scopeAccordion,collapsible:!0,children:t.jsx(ne,{...a,ref:s})})})}),[ye,P]=_(v),ne=f.forwardRef((e,s)=>{const{__scopeAccordion:o,disabled:n,dir:r,orientation:a="vertical",...c}=e,l=f.useRef(null),d=Y(l,s),u=Ie(o),x=xe(r)==="ltr",A=q(e.onKeyDown,C=>{var F;if(!Re.includes(C.key))return;const w=C.target,b=u().filter(D=>{var z;return!((z=D.ref.current)!=null&&z.disabled)}),g=b.findIndex(D=>D.ref.current===w),h=b.length;if(g===-1)return;C.preventDefault();let i=g;const R=0,y=h-1,E=()=>{i=g+1,i>y&&(i=R)},S=()=>{i=g-1,i<R&&(i=y)};switch(C.key){case"Home":i=R;break;case"End":i=y;break;case"ArrowRight":a==="horizontal"&&(x?E():S());break;case"ArrowDown":a==="vertical"&&E();break;case"ArrowLeft":a==="horizontal"&&(x?S():E());break;case"ArrowUp":a==="vertical"&&S();break}const pe=i%h;(F=b[pe].ref.current)==null||F.focus()});return t.jsx(ye,{scope:o,disabled:n,direction:r,orientation:a,children:t.jsx($.Slot,{scope:o,children:t.jsx(j.div,{...c,"data-orientation":a,ref:d,onKeyDown:n?void 0:A})})})}),N="AccordionItem",[Ee,K]=_(N),re=f.forwardRef((e,s)=>{const{__scopeAccordion:o,value:n,...r}=e,a=P(N,o),c=we(N,o),l=G(o),d=U(),u=n&&c.value.includes(n)||!1,m=a.disabled||e.disabled;return t.jsx(Ee,{scope:o,open:u,disabled:m,triggerId:d,children:t.jsx(ge,{"data-orientation":a.orientation,"data-state":de(u),...l,...r,ref:s,disabled:m,open:u,onOpenChange:x=>{x?c.onItemOpen(n):c.onItemClose(n)}})})});re.displayName=N;var ae="AccordionHeader",se=f.forwardRef((e,s)=>{const{__scopeAccordion:o,...n}=e,r=P(v,o),a=K(ae,o);return t.jsx(j.h3,{"data-orientation":r.orientation,"data-state":de(a.open),"data-disabled":a.disabled?"":void 0,...n,ref:s})});se.displayName=ae;var T="AccordionTrigger",ce=f.forwardRef((e,s)=>{const{__scopeAccordion:o,...n}=e,r=P(v,o),a=K(T,o),c=Ne(T,o),l=G(o);return t.jsx($.ItemSlot,{scope:o,children:t.jsx(he,{"aria-disabled":a.open&&!c.collapsible||void 0,"data-orientation":r.orientation,id:a.triggerId,...l,...n,ref:s})})});ce.displayName=T;var ie="AccordionContent",le=f.forwardRef((e,s)=>{const{__scopeAccordion:o,...n}=e,r=P(v,o),a=K(ie,o),c=G(o);return t.jsx(Ae,{role:"region","aria-labelledby":a.triggerId,"data-orientation":r.orientation,...c,...n,ref:s,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});le.displayName=ie;function de(e){return e?"open":"closed"}var Ke=ee,Se=re,De=se,Te=ce,Oe=le;const Fe=({title:e,children:s,variant:o,icon:n,forceMount:r=!1})=>{const a=()=>{switch(o){case"changed":return t.jsx(I,{name:"Modified","aria-label":"Modified",className:"text-[#fb923c]"});case"renamed":return t.jsx(I,{name:"Renamed","aria-label":"Renamed",className:"text-[#fb923c]"});case"added":return t.jsx(I,{name:"Added","aria-label":"Added",className:"text-[#10b981]"});case"deleted":return t.jsx(I,{name:"Deleted","aria-label":"Deleted",className:"text-[#ef4444]"});default:return t.jsx(I,{name:"Modified","aria-label":"Modified",className:"text-[#fb923c]"})}},c=()=>{switch(o){case"changed":return"modified";default:return o}},l=e.replace(/\\\\/g,"\\");return t.jsxs(Se,{value:e,children:[t.jsxs(Me,{variant:c(),children:[n||a()," ",l]}),t.jsx(ke,{forceMount:r,className:M("prose max-w-none whitespace-pre-wrap dark:prose-invert prose-pre:m-0 prose-pre:mb-1 prose-pre:rounded-none",{"radix-state-closed:hidden":r}),children:s})]})},Me=p.forwardRef(({children:e,className:s,variant:o,...n},r)=>t.jsx(De,{className:"flex",asChild:!0,children:t.jsxs(Te,{className:M("group flex w-full items-center justify-between border-b p-4 pr-3 font-mono text-sm font-medium leading-none hover:bg-foreground/20",s),...n,ref:r,children:[t.jsx("div",{className:"flex items-center gap-1.5",children:e}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"font-mono text-xs font-normal uppercase text-muted-foreground",children:o}),t.jsx(I,{name:"TriangleDownSmall",className:"transition group-radix-state-open:rotate-180","aria-hidden":!0})]})]})})),ke=p.forwardRef(({children:e,className:s,...o},n)=>t.jsx(Oe,{className:M("",s),...o,ref:n,children:t.jsx("div",{children:e})}));export{Fe as A,Ke as R};
2
- //# sourceMappingURL=accordion-DuE9VejZ.js.map