@epic-web/workshop-app 5.5.0 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/build/client/assets/{_-BrkpfnBb.js → _-CjjFMNGC.js} +2 -2
  2. package/build/client/assets/{_-BrkpfnBb.js.map → _-CjjFMNGC.js.map} +1 -1
  3. package/build/client/assets/_exerciseNumber-CqkGzsgV.js +2 -0
  4. package/build/client/assets/{_exerciseNumber-DCSM0NCG.js.map → _exerciseNumber-CqkGzsgV.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-BIMJh_sg.js → _exerciseNumber_._stepNumber-BNWGPi9m.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-BIMJh_sg.js.map → _exerciseNumber_._stepNumber-BNWGPi9m.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber_.finished-CdNhLhKg.js +2 -0
  8. package/build/client/assets/{_exerciseNumber_.finished-nbpk1ToO.js.map → _exerciseNumber_.finished-CdNhLhKg.js.map} +1 -1
  9. package/build/client/assets/_layout-BMa5nZcJ.js +2 -0
  10. package/build/client/assets/{_layout-DTAM9xh5.js.map → _layout-BMa5nZcJ.js.map} +1 -1
  11. package/build/client/assets/{_layout-88n0To1b.js → _layout-CwTidn3v.js} +2 -2
  12. package/build/client/assets/{_layout-88n0To1b.js.map → _layout-CwTidn3v.js.map} +1 -1
  13. package/build/client/assets/{_layout-Dfmv2zcn.js → _layout-DV29dlKr.js} +2 -2
  14. package/build/client/assets/{_layout-Dfmv2zcn.js.map → _layout-DV29dlKr.js.map} +1 -1
  15. package/build/client/assets/{_layout-B8j0pWoF.js → _layout-Muw3ERYT.js} +3 -3
  16. package/build/client/assets/{_layout-B8j0pWoF.js.map → _layout-Muw3ERYT.js.map} +1 -1
  17. package/build/client/assets/{accordion-D9-D-n9p.js → accordion-C-sW--in.js} +2 -2
  18. package/build/client/assets/{accordion-D9-D-n9p.js.map → accordion-C-sW--in.js.map} +1 -1
  19. package/build/client/assets/account-Cc968svU.js +2 -0
  20. package/build/client/assets/account-Cc968svU.js.map +1 -0
  21. package/build/client/assets/app-BOqXK9hi.js +2 -0
  22. package/build/client/assets/{app-DgTXXO8s.js.map → app-BOqXK9hi.js.map} +1 -1
  23. package/build/client/assets/{button-_qPvcoqR.js → button-BS845Tjo.js} +2 -2
  24. package/build/client/assets/{button-_qPvcoqR.js.map → button-BS845Tjo.js.map} +1 -1
  25. package/build/client/assets/{components-Be92gVxW.js → components-DrvY4pal.js} +4 -4
  26. package/build/client/assets/{components-Be92gVxW.js.map → components-DrvY4pal.js.map} +1 -1
  27. package/build/client/assets/diff-D0e_PrB7.js +2 -0
  28. package/build/client/assets/{diff-BhRAIPKc.js.map → diff-D0e_PrB7.js.map} +1 -1
  29. package/build/client/assets/{diff-8nlDkmpc.js → diff-DtvfyjPI.js} +2 -2
  30. package/build/client/assets/{diff-8nlDkmpc.js.map → diff-DtvfyjPI.js.map} +1 -1
  31. package/build/client/assets/{discord-BUWZUTEC.js → discord-BfP_Rny5.js} +2 -2
  32. package/build/client/assets/{discord-BUWZUTEC.js.map → discord-BfP_Rny5.js.map} +1 -1
  33. package/build/client/assets/discord-DILzAZN8.js +2 -0
  34. package/build/client/assets/discord-DILzAZN8.js.map +1 -0
  35. package/build/client/assets/{entry.client-DqIWuxf8.js → entry.client-CQusg5Iz.js} +2 -2
  36. package/build/client/assets/{entry.client-DqIWuxf8.js.map → entry.client-CQusg5Iz.js.map} +1 -1
  37. package/build/client/assets/{epic-video-Bp4BOD2R.js → epic-video-qHKPWPt1.js} +130 -130
  38. package/build/client/assets/{epic-video-Bp4BOD2R.js.map → epic-video-qHKPWPt1.js.map} +1 -1
  39. package/build/client/assets/{error-boundary-BZA-ffa8.js → error-boundary-Beul7lrT.js} +2 -2
  40. package/build/client/assets/{error-boundary-BZA-ffa8.js.map → error-boundary-Beul7lrT.js.map} +1 -1
  41. package/build/client/assets/finished-DUKfL220.js +2 -0
  42. package/build/client/assets/{finished-C0cpfAFL.js.map → finished-DUKfL220.js.map} +1 -1
  43. package/build/client/assets/{index-BCTr8uu6.js → index-BHwOR8R1.js} +2 -2
  44. package/build/client/assets/{index-BCTr8uu6.js.map → index-BHwOR8R1.js.map} +1 -1
  45. package/build/client/assets/index-BOQWfIQC.js +36 -0
  46. package/build/client/assets/index-BOQWfIQC.js.map +1 -0
  47. package/build/client/assets/{index-DZDhtMuq.js → index-BPegC-d3.js} +2 -2
  48. package/build/client/assets/{index-DZDhtMuq.js.map → index-BPegC-d3.js.map} +1 -1
  49. package/build/client/assets/{index-C9Hx0Dey.js → index-CB8bjE90.js} +2 -2
  50. package/build/client/assets/{index-C9Hx0Dey.js.map → index-CB8bjE90.js.map} +1 -1
  51. package/build/client/assets/{index-BFGhCX_U.js → index-CGzylDPY.js} +2 -2
  52. package/build/client/assets/{index-BFGhCX_U.js.map → index-CGzylDPY.js.map} +1 -1
  53. package/build/client/assets/index-DbCT6N5p.js +2 -0
  54. package/build/client/assets/{index-Bi1TbRTj.js.map → index-DbCT6N5p.js.map} +1 -1
  55. package/build/client/assets/{index-pkiQppkK.js → index-cZQeGrqL.js} +2 -2
  56. package/build/client/assets/{index-pkiQppkK.js.map → index-cZQeGrqL.js.map} +1 -1
  57. package/build/client/assets/{index-BCxBKsqT.js → index-egcHQOpF.js} +2 -2
  58. package/build/client/assets/{index-BCxBKsqT.js.map → index-egcHQOpF.js.map} +1 -1
  59. package/build/client/assets/index-oED4uZLa.js +2 -0
  60. package/build/client/assets/{index-Ca4vBON4.js.map → index-oED4uZLa.js.map} +1 -1
  61. package/build/client/assets/{loading-XhMtj4mp.js → loading-C2wPVvQw.js} +2 -2
  62. package/build/client/assets/{loading-XhMtj4mp.js.map → loading-C2wPVvQw.js.map} +1 -1
  63. package/build/client/assets/login-DoU7gifi.js +2 -0
  64. package/build/client/assets/{login-C1oOgi98.js.map → login-DoU7gifi.js.map} +1 -1
  65. package/build/client/assets/manifest-93f34003.js +1 -0
  66. package/build/client/assets/mdx-CsS30JUo.js +2 -0
  67. package/build/client/assets/{mdx-CEjzXoEx.js.map → mdx-CsS30JUo.js.map} +1 -1
  68. package/build/client/assets/{misc-DUy_whwE.js → misc-BtjCSy-T.js} +2 -2
  69. package/build/client/assets/{misc-DUy_whwE.js.map → misc-BtjCSy-T.js.map} +1 -1
  70. package/build/client/assets/{nav-chevrons-DnR25VLp.js → nav-chevrons-2hLTwAZb.js} +2 -2
  71. package/build/client/assets/{nav-chevrons-DnR25VLp.js.map → nav-chevrons-2hLTwAZb.js.map} +1 -1
  72. package/build/client/assets/onboarding-Cu6eD7KS.js +2 -0
  73. package/build/client/assets/{onboarding-C2YNq60k.js.map → onboarding-Cu6eD7KS.js.map} +1 -1
  74. package/build/client/assets/{pe-ChIwTk8v.js → pe-DXT2FOp1.js} +2 -2
  75. package/build/client/assets/{pe-ChIwTk8v.js.map → pe-DXT2FOp1.js.map} +1 -1
  76. package/build/client/assets/preferences-br0VSK51.js +2 -0
  77. package/build/client/assets/preferences-br0VSK51.js.map +1 -0
  78. package/build/client/assets/{presence-8FPJKg_8.js → presence-CrYBA3ta.js} +3 -3
  79. package/build/client/assets/{presence-8FPJKg_8.js.map → presence-CrYBA3ta.js.map} +1 -1
  80. package/build/client/assets/preview-C2y4Z0qO.js +2 -0
  81. package/build/client/assets/{preview-DaZd0wMb.js.map → preview-C2y4Z0qO.js.map} +1 -1
  82. package/build/client/assets/{product-DIAmCwmZ.js → product-gqq_YQBW.js} +2 -2
  83. package/build/client/assets/{product-DIAmCwmZ.js.map → product-gqq_YQBW.js.map} +1 -1
  84. package/build/client/assets/{progress-DQt_Bn9o.js → progress-D-HsH4j3.js} +2 -2
  85. package/build/client/assets/{progress-DQt_Bn9o.js.map → progress-D-HsH4j3.js.map} +1 -1
  86. package/build/client/assets/{progress-bar-BaTU3Yx_.js → progress-bar-CTPCfvDi.js} +2 -2
  87. package/build/client/assets/{progress-bar-BaTU3Yx_.js.map → progress-bar-CTPCfvDi.js.map} +1 -1
  88. package/build/client/assets/revalidation-ws-DYaJNyw1.js +2 -0
  89. package/build/client/assets/{revalidation-ws-dUa9CAqr.js.map → revalidation-ws-DYaJNyw1.js.map} +1 -1
  90. package/build/client/assets/{root-D12XnE1S.js → root-DGY0y7_0.js} +3 -3
  91. package/build/client/assets/{root-D12XnE1S.js.map → root-DGY0y7_0.js.map} +1 -1
  92. package/build/client/assets/{set-playground-CBHBA46B.js → set-playground-DQzAhC0t.js} +2 -2
  93. package/build/client/assets/{set-playground-CBHBA46B.js.map → set-playground-DQzAhC0t.js.map} +1 -1
  94. package/build/client/assets/{support-CIz02V_r.js → support-lgEG2piy.js} +2 -2
  95. package/build/client/assets/{support-CIz02V_r.js.map → support-lgEG2piy.js.map} +1 -1
  96. package/build/client/assets/tailwind-CRGTilRc.css +1 -0
  97. package/build/client/assets/test-CDWRwwO-.js +2 -0
  98. package/build/client/assets/{test-DoKJvNug.js.map → test-CDWRwwO-.js.map} +1 -1
  99. package/build/client/assets/{tests-DbuyD2cI.js → tests-LWW8wCYZ.js} +3 -3
  100. package/build/client/assets/{tests-DbuyD2cI.js.map → tests-LWW8wCYZ.js.map} +1 -1
  101. package/build/client/assets/{tooltip-DO9uwurQ.js → tooltip-Bp9KHnLy.js} +2 -2
  102. package/build/client/assets/{tooltip-DO9uwurQ.js.map → tooltip-Bp9KHnLy.js.map} +1 -1
  103. package/build/client/assets/{use-event-source-x59d4R2Z.js → use-event-source-AZJtQsFX.js} +2 -2
  104. package/build/client/assets/{use-event-source-x59d4R2Z.js.map → use-event-source-AZJtQsFX.js.map} +1 -1
  105. package/build/client/assets/{user-Bv6wYhQP.js → user-C0j04V55.js} +2 -2
  106. package/build/client/assets/{user-Bv6wYhQP.js.map → user-C0j04V55.js.map} +1 -1
  107. package/build/client/assets/{version-lxUUxt3s.js → version-D61Qvt0X.js} +2 -2
  108. package/build/client/assets/{version-lxUUxt3s.js.map → version-D61Qvt0X.js.map} +1 -1
  109. package/build/client/assets/{workshop-config-WVltG_BV.js → workshop-config-oL_FWDKq.js} +2 -2
  110. package/build/client/assets/{workshop-config-WVltG_BV.js.map → workshop-config-oL_FWDKq.js.map} +1 -1
  111. package/build/server/index.js +308 -148
  112. package/build/server/index.js.map +1 -1
  113. package/package.json +8 -8
  114. package/build/client/assets/_exerciseNumber-DCSM0NCG.js +0 -2
  115. package/build/client/assets/_exerciseNumber_.finished-nbpk1ToO.js +0 -2
  116. package/build/client/assets/_layout-DTAM9xh5.js +0 -2
  117. package/build/client/assets/account-DPP4rKOb.js +0 -2
  118. package/build/client/assets/account-DPP4rKOb.js.map +0 -1
  119. package/build/client/assets/app-DgTXXO8s.js +0 -2
  120. package/build/client/assets/diff-BhRAIPKc.js +0 -2
  121. package/build/client/assets/discord-Bdnx7fu-.js +0 -2
  122. package/build/client/assets/discord-Bdnx7fu-.js.map +0 -1
  123. package/build/client/assets/finished-C0cpfAFL.js +0 -2
  124. package/build/client/assets/index-Bdg3v8tC.js +0 -36
  125. package/build/client/assets/index-Bdg3v8tC.js.map +0 -1
  126. package/build/client/assets/index-Bi1TbRTj.js +0 -2
  127. package/build/client/assets/index-Ca4vBON4.js +0 -2
  128. package/build/client/assets/login-C1oOgi98.js +0 -2
  129. package/build/client/assets/manifest-a8336fab.js +0 -1
  130. package/build/client/assets/mdx-CEjzXoEx.js +0 -2
  131. package/build/client/assets/onboarding-C2YNq60k.js +0 -2
  132. package/build/client/assets/preview-DaZd0wMb.js +0 -2
  133. package/build/client/assets/request-info-ByUEfOil.js +0 -2
  134. package/build/client/assets/request-info-ByUEfOil.js.map +0 -1
  135. package/build/client/assets/revalidation-ws-dUa9CAqr.js +0 -2
  136. package/build/client/assets/tailwind-B5AAMtGC.css +0 -1
  137. package/build/client/assets/test-DoKJvNug.js +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epic-web/workshop-app",
3
- "version": "5.5.0",
3
+ "version": "5.7.0",
4
4
  "sideEffects": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -44,8 +44,8 @@
44
44
  "@epic-web/invariant": "^1.0.0",
45
45
  "@epic-web/remember": "^1.1.0",
46
46
  "@epic-web/restore-scroll": "^1.1.1",
47
- "@epic-web/workshop-presence": "5.5.0",
48
- "@epic-web/workshop-utils": "5.5.0",
47
+ "@epic-web/workshop-presence": "5.7.0",
48
+ "@epic-web/workshop-utils": "5.7.0",
49
49
  "@mdx-js/mdx": "^3.0.1",
50
50
  "@mux/mux-player-react": "^3.0.0",
51
51
  "@nasa-gcn/remix-seo": "^2.0.1",
@@ -57,10 +57,10 @@
57
57
  "@radix-ui/react-tabs": "^1.1.1",
58
58
  "@radix-ui/react-toast": "^1.2.2",
59
59
  "@radix-ui/react-tooltip": "^1.1.3",
60
- "@remix-run/css-bundle": "^2.12.1",
61
- "@remix-run/express": "^2.12.1",
62
- "@remix-run/node": "^2.12.1",
63
- "@remix-run/react": "^2.12.1",
60
+ "@remix-run/css-bundle": "2.12.1",
61
+ "@remix-run/express": "2.12.1",
62
+ "@remix-run/node": "2.12.1",
63
+ "@remix-run/react": "2.12.1",
64
64
  "@resvg/resvg-js": "^2.6.2",
65
65
  "@sindresorhus/slugify": "^2.2.1",
66
66
  "address": "^2.0.3",
@@ -121,7 +121,7 @@
121
121
  },
122
122
  "devDependencies": {
123
123
  "@playwright/test": "^1.47.2",
124
- "@remix-run/dev": "^2.12.1",
124
+ "@remix-run/dev": "2.12.1",
125
125
  "@tailwindcss/typography": "^0.5.15",
126
126
  "@testing-library/dom": "^10.4.0",
127
127
  "@total-typescript/ts-reset": "^0.6.1",
@@ -1,2 +0,0 @@
1
- import{j as r,a as l,i as c}from"./index-BFGhCX_U.js";import{E as a}from"./index-BCxBKsqT.js";import{E as m}from"./epic-video-Bp4BOD2R.js";import{u as d}from"./revalidation-ws-dUa9CAqr.js";import{M as x,E as p}from"./mdx-CEjzXoEx.js";import{P as u}from"./progress-DQt_Bn9o.js";import{g as f}from"./misc-DUy_whwE.js";import{g as h}from"./seo-pBpFCWsy.js";import{u as b,L as j}from"./components-Be92gVxW.js";import"./index-Bdg3v8tC.js";import"./request-info-ByUEfOil.js";import"./tooltip-DO9uwurQ.js";import"./pe-ChIwTk8v.js";import"./loading-XhMtj4mp.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";import"./progress-bar-BaTU3Yx_.js";const B=({data:e,matches:o})=>{var i;const t=e==null?void 0:e.exercise.exerciseNumber.toString().padStart(2,"0"),s=(i=o.find(n=>n.id==="root"))==null?void 0:i.data;return!e||!s?[{title:"🦉 | Error"}]:h({title:`📝 | ${t}. ${e.exercise.title} | ${s==null?void 0:s.workshopTitle}`,description:`Introduction for ${t}. ${e.exercise.title}`,ogTitle:e.exercise.title,ogDescription:`Introduction for exercise ${Number(t)}`,instructor:s.instructor,requestInfo:s.requestInfo})},g={h1:()=>null};function D(){var t;const e=b();d({watchPaths:[e.exerciseReadme.file]});const o=String(((t=e.firstStep)==null?void 0:t.stepNumber)??"01").padStart(2,"0");return r.jsxs("main",{className:"relative flex h-full w-full max-w-5xl flex-col justify-between border-r md:w-3/4 xl:w-2/3",children:[r.jsxs("article",{id:e.articleId,className:"shadow-on-scrollbox flex w-full flex-1 flex-col gap-12 overflow-y-scroll px-3 py-4 pt-6 scrollbar-thin scrollbar-thumb-scrollbar md:px-10 md:py-12 md:pt-16",children:[r.jsx("div",{children:r.jsx("h1",{className:"text-[clamp(3rem,6vw,7.5rem)] font-extrabold leading-none",children:e.exercise.title})}),r.jsx("div",{children:e.exercise.instructionsCode?r.jsx(m,{epicVideoInfosPromise:e.epicVideoInfosPromise,children:r.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:r.jsx(x,{code:e.exercise.instructionsCode,components:g})})}):"No instructions yet..."})]},e.articleId),r.jsx(a,{elementQuery:`#${e.articleId}`},`scroll-${e.articleId}`),r.jsx(u,{type:"instructions",exerciseNumber:e.exerciseNumber,className:"h-14 border-t px-6"}),r.jsxs("div",{className:"flex h-16 justify-between border-b-4 border-t lg:border-b-0",children:[r.jsx("div",{}),r.jsx(p,{file:e.exerciseReadme.file,relativePath:e.exerciseReadme.relativePath}),r.jsx(j,{to:`${o}/${e.firstType}`,prefetch:"intent",className:"flex h-full items-center justify-center bg-foreground px-7 text-background",children:"Start Learning"})]})]})}function F(){const e=l();return typeof document<"u"&&console.error(e),c(e)?e.status===404?r.jsx("p",{children:"Sorry, we couldn't find that step."}):r.jsxs("p",{children:[e.status," ",e.data]}):r.jsx("p",{children:f(e)})}export{F as ErrorBoundary,D as default,B as meta};
2
- //# sourceMappingURL=_exerciseNumber-DCSM0NCG.js.map
@@ -1,2 +0,0 @@
1
- import{j as e,r as n}from"./index-BFGhCX_U.js";import{E as a}from"./index-BCxBKsqT.js";import{E as c}from"./epic-video-Bp4BOD2R.js";import{L as m}from"./loading-XhMtj4mp.js";import{N as x}from"./nav-chevrons-DnR25VLp.js";import{u as d}from"./revalidation-ws-dUa9CAqr.js";import{M as f,E as p}from"./mdx-CEjzXoEx.js";import{P as u}from"./progress-DQt_Bn9o.js";import{a as h}from"./misc-DUy_whwE.js";import{g as b}from"./seo-pBpFCWsy.js";import{u as j,L as g}from"./components-Be92gVxW.js";import"./index-Bdg3v8tC.js";import"./request-info-ByUEfOil.js";import"./tooltip-DO9uwurQ.js";import"./pe-ChIwTk8v.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";import"./progress-bar-BaTU3Yx_.js";const U=({data:r,matches:i})=>{var o;const t=r==null?void 0:r.exercise.exerciseNumber.toString().padStart(2,"0"),s=(o=i.find(l=>l.id==="root"))==null?void 0:o.data;return!r||!s?[{title:"🦉 | Error"}]:b({title:`🦉 | ${t}. ${r.exercise.title} | ${s==null?void 0:s.workshopTitle}`,description:`Elaboration for ${t}. ${r.exercise.title}`,ogTitle:`Finished: ${r.exercise.title}`,ogDescription:`Elaboration for exercise ${Number(t)}`,instructor:s.instructor,requestInfo:s.requestInfo})},N={h1:()=>null};function z(){const r=j(),i=r.exercise.exerciseNumber.toString().padStart(2,"0");return d({watchPaths:[`./exercises/${i}/FINISHED.mdx`]}),e.jsx("div",{className:"flex max-w-full flex-grow flex-col",children:e.jsxs("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",children:[e.jsxs("div",{className:"relative flex flex-col sm:col-span-1 sm:row-span-1 sm:h-full lg:border-r",children:[e.jsx("h1",{className:"h-14 border-b pl-10 pr-5 text-sm font-medium leading-tight",children:e.jsx("div",{className:"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2",children:e.jsxs("div",{className:"flex items-center justify-start gap-x-2",children:[e.jsx(g,{to:`/${i}`,className:"hover:underline",children:`${i}. ${r.exercise.title}`}),e.jsx("span",{children:"/"}),e.jsx("span",{children:"Elaboration"})]})})}),e.jsx("article",{className:"shadow-on-scrollbox h-full w-full max-w-none flex-1 scroll-pt-6 space-y-6 overflow-y-auto p-2 scrollbar-thin scrollbar-thumb-scrollbar sm:p-10 sm:pt-8",id:r.articleId,children:r.exercise.finishedCode?e.jsx(c,{epicVideoInfosPromise:r.epicVideoInfosPromise,children:e.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:e.jsx(f,{code:r.exercise.finishedCode,components:N})})}):"No finished instructions yet..."}),e.jsx(a,{elementQuery:`#${r.articleId}`}),e.jsx(u,{type:"finished",exerciseNumber:r.exercise.exerciseNumber,className:"h-14 border-t px-6"}),e.jsxs("div",{className:"flex h-16 justify-between border-b-4 border-t lg:border-b-0",children:[e.jsx("div",{}),e.jsx(p,{file:r.exerciseFinished.file,relativePath:r.exerciseFinished.relativePath}),e.jsx(x,{prev:r.prevStepLink,next:r.nextStepLink})]})]}),e.jsx(v,{exerciseFormEmbedUrl:r.exerciseFormEmbedUrl,exerciseTitle:r.exercise.title})]})})}function v({exerciseFormEmbedUrl:r,exerciseTitle:i}){const[t,s]=n.useState(!1);return e.jsxs("div",{className:"relative min-h-full sm:min-h-[unset] sm:flex-shrink-0",children:[t?null:e.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:e.jsx(m,{children:e.jsxs("span",{children:["Loading ",i," Elaboration form"]})})}),e.jsx("iframe",{onLoad:()=>s(!0),onError:()=>s(!0),title:"Elaboration",src:r,className:h("absolute inset-0 flex h-full w-full transition-opacity duration-300",t?"opacity-100":"opacity-0")})]})}export{z as default,U as meta};
2
- //# sourceMappingURL=_exerciseNumber_.finished-nbpk1ToO.js.map
@@ -1,2 +0,0 @@
1
- import{r as p,j as r,O as Q}from"./index-BFGhCX_U.js";import{E as Z}from"./index-BCxBKsqT.js";import{G as J}from"./error-boundary-BZA-ffa8.js";import{N as X}from"./nav-chevrons-DnR25VLp.js";import{u as ee}from"./revalidation-ws-dUa9CAqr.js";import{M as re,L as b,E as te}from"./mdx-CEjzXoEx.js";import{P as oe}from"./progress-DQt_Bn9o.js";import{S as D}from"./set-playground-CBHBA46B.js";import{g as ne}from"./seo-pBpFCWsy.js";import{b as se,a as A,I as C,i as ie}from"./misc-DUy_whwE.js";import{E as ae}from"./epic-video-Bp4BOD2R.js";import{S,d as le,j as k,A as _,h as I,P as L,f as j,g as F,k as ce,D as pe,C as ue,l as de,u as fe,R as me,e as xe}from"./tooltip-DO9uwurQ.js";import{u as he}from"./request-info-ByUEfOil.js";import{u as P,L as v,e as ve,A as ge}from"./components-Be92gVxW.js";import{h as Pe,R as je,u as Ne,F as be,P as Ce}from"./index-BCTr8uu6.js";import"./progress-bar-BaTU3Yx_.js";import"./pe-ChIwTk8v.js";import"./index-DZDhtMuq.js";import"./index-Bdg3v8tC.js";import"./loading-XhMtj4mp.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";const $=p.createContext(null);function Se(){const e=p.useContext($);if(!e)throw new Error("useStepContext must be used within a StepContext.Provider");return e}function Ee({children:e,inBrowserBrowserRef:o}){return r.jsx($.Provider,{value:{inBrowserBrowserRef:o},children:e})}const we={DiffLink:E,PrevDiffLink:Re,NextDiffLink:Oe,InlineFile:Ae,LinkToApp:ke};function ye({inBrowserBrowserRef:e}){const o=P();return o.exerciseStepApp.instructionsCode?r.jsx(Ee,{inBrowserBrowserRef:e,children:r.jsx(ae,{epicVideoInfosPromise:o.epicVideoInfosPromise,children:r.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:r.jsx(re,{code:o.exerciseStepApp.instructionsCode,components:we})})})}):null}function T(e,o,t){const n=new URLSearchParams(e);return t===null?n.delete(o):n.set(o,t),n}function Oe({app:e=0,fullPage:o=!1,children:t}){return r.jsx(E,{app1:e,app2:e+1,fullPage:o,children:t})}function Re({app:e=-1,fullPage:o=!1,children:t}){return r.jsx(E,{app1:e,app2:e+1,fullPage:o,children:t})}function E({app1:e=0,app2:o=1,children:t,fullPage:n=!1,to:i}){const s=P();if(!i&&!e&&!o)return r.jsx("callout-danger",{className:"notification",children:r.jsx("div",{className:"title",children:"DiffLink Error: invalid input"})});function a(d){var f;if(typeof d=="number"){const m=s.exerciseIndex+d;return(f=s.allApps[m])==null?void 0:f.name}if(!d)return null;for(const{name:m,stepName:x}of s.allApps)if(d===m||d===x)return m;return null}if(i){const d=new URLSearchParams(i);e=d.get("app1"),o=d.get("app2")}const l=a(e),c=a(o);if(!l||!c)return r.jsxs("callout-danger",{className:"notification",children:[r.jsx("div",{className:"title",children:"DiffLink Error: invalid input"}),!l&&r.jsxs("div",{children:['app1: "',e,'" is not a valid app name']}),!c&&r.jsxs("div",{children:['app2: "',o,'" is not a valid app name']})]});i||(i=`app1=${l}&app2=${c}`);const u=n?`/diff?${i}`:`?${decodeURIComponent(T(new URLSearchParams,"preview",`diff&${i}`).toString())}`;return t||(t=r.jsxs("span",{children:["Go to Diff ",n?"":"Preview"," from: ",r.jsx("code",{children:l})," to:"," ",r.jsx("code",{children:c})]})),r.jsx(v,{to:u,children:t})}function Ae({file:e,type:o="playground",children:t=r.jsx("code",{children:e}),...n}){const i=P(),s=i[o]||i[i.type],a=r.jsxs("div",{className:"launch-editor-button-wrapper flex underline underline-offset-4",children:[t," ",r.jsx("svg",{height:24,width:24,children:r.jsx("use",{href:`${ie}#Keyboard`})})]});return ENV.EPICSHOP_DEPLOYED&&s?r.jsx("div",{className:"inline-block grow",children:r.jsx(b,{appFile:e,appName:s.name,...n,children:a})}):s?r.jsx("div",{className:"inline-block grow",children:r.jsx(b,{appFile:e,appName:s.name,...n,children:a})}):o==="playground"?r.jsx(S,{content:"You must 'Set to Playground' before opening a file",children:r.jsx("div",{className:"inline-block grow cursor-not-allowed",children:a})}):r.jsx(r.Fragment,{children:"children"})}function De(e){return e==="problem"?"problem":e==="solution"?"solution":"playground"}function ke({to:e,children:o=r.jsx("code",{children:e.toString()}),...t}){var m;const[n]=ve(),i=`?${T(n,"pathname",e.toString()).toString()}`,s=P(),a=De(n.get("preview")),l=he(),c=s[a],u=(c==null?void 0:c.dev.type)==="script"?se({domain:l.domain,port:c.dev.portNumber}):((m=s.playground)==null?void 0:m.dev.type)==="browser"?s.playground.dev.pathname:null,{inBrowserBrowserRef:d}=Se(),f=u?u.slice(0,-1)+e.toString():null;return r.jsxs("div",{className:"inline-flex items-center justify-between gap-1",children:[r.jsx(v,{to:i,...t,className:A(t.className,{"cursor-not-allowed":ENV.EPICSHOP_DEPLOYED}),title:ENV.EPICSHOP_DEPLOYED?"Cannot link to app in deployed version":void 0,onClick:x=>{var O,R;ENV.EPICSHOP_DEPLOYED&&x.preventDefault(),(O=t.onClick)==null||O.call(t,x),(R=d.current)==null||R.handleExtrnalNavigation(e.toString())},children:o}),f?r.jsx(S,{content:"Open in new tab",children:r.jsx("a",{href:f,target:"_blank",rel:"noreferrer",className:A("flex aspect-square items-center justify-center",{"cursor-not-allowed":ENV.EPICSHOP_DEPLOYED}),title:ENV.EPICSHOP_DEPLOYED?"Cannot link to app in deployed version":"Open in new tab",onClick:x=>{ENV.EPICSHOP_DEPLOYED&&x.preventDefault()},children:r.jsx(C,{name:"ExternalLink"})})}):null]})}var w="Popover",[M,xr]=le(w,[k]),N=k(),[_e,h]=M(w),H=e=>{const{__scopePopover:o,children:t,open:n,defaultOpen:i,onOpenChange:s,modal:a=!1}=e,l=N(o),c=p.useRef(null),[u,d]=p.useState(!1),[f=!1,m]=fe({prop:n,defaultProp:i,onChange:s});return r.jsx(me,{...l,children:r.jsx(_e,{scope:o,contentId:xe(),triggerRef:c,open:f,onOpenChange:m,onOpenToggle:p.useCallback(()=>m(x=>!x),[m]),hasCustomAnchor:u,onCustomAnchorAdd:p.useCallback(()=>d(!0),[]),onCustomAnchorRemove:p.useCallback(()=>d(!1),[]),modal:a,children:t})})};H.displayName=w;var U="PopoverAnchor",Ie=p.forwardRef((e,o)=>{const{__scopePopover:t,...n}=e,i=h(U,t),s=N(t),{onCustomAnchorAdd:a,onCustomAnchorRemove:l}=i;return p.useEffect(()=>(a(),()=>l()),[a,l]),r.jsx(_,{...s,...n,ref:o})});Ie.displayName=U;var V="PopoverTrigger",Y=p.forwardRef((e,o)=>{const{__scopePopover:t,...n}=e,i=h(V,t),s=N(t),a=I(o,i.triggerRef),l=r.jsx(L.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":W(i.open),...n,ref:a,onClick:j(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?l:r.jsx(_,{asChild:!0,...s,children:l})});Y.displayName=V;var y="PopoverPortal",[Le,Fe]=M(y,{forceMount:void 0}),B=e=>{const{__scopePopover:o,forceMount:t,children:n,container:i}=e,s=h(y,o);return r.jsx(Le,{scope:o,forceMount:t,children:r.jsx(F,{present:t||s.open,children:r.jsx(Ce,{asChild:!0,container:i,children:n})})})};B.displayName=y;var g="PopoverContent",G=p.forwardRef((e,o)=>{const t=Fe(g,e.__scopePopover),{forceMount:n=t.forceMount,...i}=e,s=h(g,e.__scopePopover);return r.jsx(F,{present:n||s.open,children:s.modal?r.jsx($e,{...i,ref:o}):r.jsx(Te,{...i,ref:o})})});G.displayName=g;var $e=p.forwardRef((e,o)=>{const t=h(g,e.__scopePopover),n=p.useRef(null),i=I(o,n),s=p.useRef(!1);return p.useEffect(()=>{const a=n.current;if(a)return Pe(a)},[]),r.jsx(je,{as:ce,allowPinchZoom:!0,children:r.jsx(q,{...e,ref:i,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:j(e.onCloseAutoFocus,a=>{var l;a.preventDefault(),s.current||(l=t.triggerRef.current)==null||l.focus()}),onPointerDownOutside:j(e.onPointerDownOutside,a=>{const l=a.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0,u=l.button===2||c;s.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:j(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),Te=p.forwardRef((e,o)=>{const t=h(g,e.__scopePopover),n=p.useRef(!1),i=p.useRef(!1);return r.jsx(q,{...e,ref:o,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,l;(a=e.onCloseAutoFocus)==null||a.call(e,s),s.defaultPrevented||(n.current||(l=t.triggerRef.current)==null||l.focus(),s.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:s=>{var c,u;(c=e.onInteractOutside)==null||c.call(e,s),s.defaultPrevented||(n.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const a=s.target;((u=t.triggerRef.current)==null?void 0:u.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),q=p.forwardRef((e,o)=>{const{__scopePopover:t,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:a,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:d,...f}=e,m=h(g,t),x=N(t);return Ne(),r.jsx(be,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:s,children:r.jsx(pe,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:d,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onDismiss:()=>m.onOpenChange(!1),children:r.jsx(ue,{"data-state":W(m.open),role:"dialog",id:m.contentId,...x,...f,ref:o,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),K="PopoverClose",Me=p.forwardRef((e,o)=>{const{__scopePopover:t,...n}=e,i=h(K,t);return r.jsx(L.button,{type:"button",...n,ref:o,onClick:j(e.onClick,()=>i.onOpenChange(!1))})});Me.displayName=K;var He="PopoverArrow",Ue=p.forwardRef((e,o)=>{const{__scopePopover:t,...n}=e,i=N(t);return r.jsx(de,{...i,...n,ref:o})});Ue.displayName=He;function W(e){return e?"open":"closed"}var Ve=H,Ye=Y,Be=B,Ge=G;function qe({diffFilesPromise:e}){var l,c;const o=P(),[t,n]=p.useState(!1),i=p.useRef(null);function s(){n(!1)}const a=(l=o.playground)==null?void 0:l.appName;return r.jsx(r.Fragment,{children:r.jsxs(Ve,{open:t,onOpenChange:n,children:[r.jsx(Ye,{asChild:!0,children:r.jsxs("button",{className:"flex h-full items-center gap-1 border-r px-6 py-3 font-mono text-sm uppercase","aria-label":"Relevant Files",children:[r.jsx(C,{name:"Files"}),"Files"]})}),r.jsx(Be,{children:r.jsx(Ge,{ref:i,className:"slideRightContent lg:slideUpContent invert-theme z-10 select-none rounded bg-background px-9 py-8 text-foreground",align:"start",sideOffset:5,children:r.jsxs("div",{className:"launch-editor-wrapper",children:[r.jsx("strong",{className:"inline-block px-2 pb-4 font-semibold uppercase",children:"Relevant Files"}),o.problem&&((c=o.playground)==null?void 0:c.appName)!==o.problem.name?r.jsx("div",{className:"mb-2 rounded p-1 font-mono font-medium",children:r.jsx(D,{appName:o.problem.name})}):null,r.jsx("div",{id:"files",children:r.jsx(p.Suspense,{fallback:r.jsx(S,{content:"Loading diff",children:r.jsx("div",{className:"flex justify-center",children:r.jsx(C,{name:"Refresh",className:"h-8 w-8 animate-spin"})})}),children:r.jsx(ge,{resolve:e,errorElement:r.jsx("div",{className:"text-foreground-danger",children:"Something went wrong."}),children:u=>{if(!u)return r.jsx("p",{className:"text-foreground-danger",children:"Unable to determine diff"});if(typeof u=="string")return r.jsx("p",{className:"text-foreground-danger",children:u});if(!u.length)return r.jsx("p",{children:"No files changed"});const d=a||ENV.EPICSHOP_GITHUB_ROOT?{}:{title:"You must 'Set to Playground' before opening a file",className:"not-allowed"};return r.jsxs("ul",{...d,children:[u.length>1&&!ENV.EPICSHOP_DEPLOYED?r.jsx("div",{className:"mb-2 border-b border-b-gray-50 border-opacity-50 pb-2 font-sans",children:r.jsx(b,{appFile:u.map(f=>`${f.path},${f.line},1`),appName:"playground",onUpdate:s,children:r.jsx("p",{children:"Open All Files"})})}):null,u.map(f=>{var m;return r.jsx("li",{"data-state":f.status,children:r.jsx(b,{appFile:`${f.path},${f.line},1`,appName:ENV.EPICSHOP_DEPLOYED?((m=o.problem)==null?void 0:m.name)??"playground":"playground",onUpdate:s,children:r.jsx("code",{children:f.path})})},f.path)})]})}})})})]})})})]})})}function z(e,o){var a;const t=(e==null?void 0:e.exerciseStepApp.exerciseNumber.toString().padStart(2,"0"))??"00",n=(e==null?void 0:e.exerciseStepApp.stepNumber.toString().padStart(2,"0"))??"00",i={problem:"💪",solution:"🏁"}[(e==null?void 0:e.type)??"problem"],s=((a=e==null?void 0:e[e.type])==null?void 0:a.title)??"N/A";return{emoji:i,stepNumber:n,title:s,exerciseNumber:t,exerciseTitle:(e==null?void 0:e.exerciseTitle)??"Unknown exercise",workshopTitle:o,type:(e==null?void 0:e.type)??"problem"}}const hr=({data:e,matches:o,params:t})=>{var u;const n=(u=o.find(d=>d.id==="root"))==null?void 0:u.data;if(!e||!n)return[{title:"🦉 | Error"}];const{emoji:i,stepNumber:s,title:a,exerciseNumber:l,exerciseTitle:c}=z(e);return ne({title:`${i} | ${s}. ${a} | ${l}. ${c} | ${n.workshopTitle}`,description:`${t.type} step for exercise ${l}. ${c}`,ogTitle:a,ogDescription:`${c} step ${Number(s)} ${t.type}`,instructor:n.instructor,requestInfo:n.requestInfo})};function vr(){var n;const e=P(),o=p.useRef(null),t=z(e);return ee({watchPaths:[`${e.exerciseStepApp.relativePath}/README.mdx`]}),r.jsx("div",{className:"flex max-w-full flex-grow flex-col",children:r.jsxs("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",children:[r.jsxs("div",{className:"relative flex flex-col sm:col-span-1 sm:row-span-1 sm:h-full lg:border-r",children:[r.jsx("h1",{className:"h-14 border-b pl-10 pr-5 text-sm font-medium leading-tight",children:r.jsxs("div",{className:"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2",children:[r.jsxs("div",{className:"flex items-center justify-start gap-x-2 uppercase",children:[r.jsxs(v,{to:`/${t.exerciseNumber}`,className:"hover:underline",children:[t.exerciseNumber,". ",t.exerciseTitle]}),"/",r.jsxs(v,{to:".",className:"hover:underline",children:[t.stepNumber,". ",t.title," (",t.emoji," ",t.type,")"]})]}),e.problem&&((n=e.playground)==null?void 0:n.appName)!==e.problem.name?r.jsx("div",{className:"hidden md:block",children:r.jsx(D,{appName:e.problem.name})}):null]})}),r.jsxs("article",{id:e.articleId,className:"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",children:[e.exerciseStepApp.instructionsCode?r.jsx(ye,{inBrowserBrowserRef:o}):r.jsx("div",{className:"flex h-full items-center justify-center text-lg",children:r.jsx("p",{children:"No instructions yet..."})}),r.jsxs("div",{className:"mt-auto flex justify-between",children:[e.prevStepLink?r.jsx(v,{to:e.prevStepLink.to,"aria-label":"Previous Step",prefetch:"intent",children:"← Previous"}):r.jsx("span",{}),e.nextStepLink?r.jsx(v,{to:e.nextStepLink.to,"aria-label":"Next Step",prefetch:"intent",children:"Next →"}):r.jsx("span",{})]})]},e.articleId),r.jsx(Z,{elementQuery:`#${e.articleId}`},`scroll-${e.articleId}`),e.type==="solution"?r.jsx(oe,{type:"step",exerciseNumber:e.exerciseStepApp.exerciseNumber,stepNumber:e.exerciseStepApp.stepNumber,className:"h-14 border-t px-6"}):null,r.jsxs("div",{className:"flex h-16 justify-between border-b-4 border-t lg:border-b-0",children:[r.jsx("div",{children:r.jsx("div",{className:"h-full",children:r.jsx(qe,{diffFilesPromise:e.diffFiles})})}),r.jsx(te,{appName:e.exerciseStepApp.name,relativePath:e.exerciseStepApp.relativePath}),r.jsx(X,{prev:e.prevStepLink?{to:e.prevStepLink.to,"aria-label":"Previous Step"}:null,next:e.nextStepLink?{to:e.nextStepLink.to,"aria-label":"Next Step"}:null})]})]}),r.jsx(Q,{})]})})}function gr(){return r.jsx(J,{statusHandlers:{404:()=>r.jsx("p",{children:"Sorry, we couldn't find an app here."})}})}export{gr as ErrorBoundary,vr as default,hr as meta};
2
- //# sourceMappingURL=_layout-DTAM9xh5.js.map
@@ -1,2 +0,0 @@
1
- import{j as e}from"./index-BFGhCX_U.js";import{B as r}from"./button-_qPvcoqR.js";import{I as i}from"./misc-DUy_whwE.js";import{S as o}from"./tooltip-DO9uwurQ.js";import{u as d,a as m}from"./user-Bv6wYhQP.js";import{u}from"./workshop-config-WVltG_BV.js";import{u as x}from"./presence-8FPJKg_8.js";import{L as a,F as l}from"./components-Be92gVxW.js";import"./request-info-ByUEfOil.js";const k={getSitemapEntries:()=>null};function h(){const{product:{host:s}}=u();return`https://${s}/discord`}function L(){const s=d(),t=m(),n=x(),c=h();return e.jsxs("main",{className:"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4",children:[s.imageUrlLarge?e.jsx("img",{className:"h-36 w-36 rounded-full",alt:(t==null?void 0:t.displayName)??s.name??s.email,src:s.imageUrlLarge}):e.jsx(i,{name:"User",className:"flex-shrink-0",size:"lg"}),e.jsx("h1",{className:"mb-1 text-2xl",children:"Your Account"}),e.jsx("p",{className:"text-center text-gray-700 dark:text-gray-300",children:s.name?`Hi ${(t==null?void 0:t.displayName)??s.name}, your device is logged in with ${s.email}.`:`Your device is logged in with ${s.email}.`}),t?e.jsx(e.Fragment,{children:e.jsxs("p",{className:"text-center text-gray-700 dark:text-gray-300",children:["And you are connected to discord as"," ",e.jsx("a",{href:`https://discord.com/users/${t.id}`,target:"_blank",rel:"noopener noreferrer",className:"underline",children:t.displayName}),"."]})}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(a,{to:c,className:"inline-flex items-center gap-2 underline",children:[e.jsx(i,{name:"Discord",size:"lg"}),"Connect Discord"]}),e.jsx(o,{content:"This will give you access to the exclusive Discord channels for Epic Web",children:e.jsx(i,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(l,{method:"POST",children:[e.jsx("input",{name:"optOut",type:"hidden",value:n!=null&&n.optOut?"false":"true"}),e.jsxs(r,{varient:"mono",name:"intent",value:"presence-opt-out",children:[n!=null&&n.optOut?"Opt in to":"Opt out of"," presence"]})]}),e.jsx(o,{content:"This controls whether your name and avatar are displayed in the pile of faces in navigation",children:e.jsx(i,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(l,{method:"post",children:e.jsx(r,{varient:"mono",name:"intent",value:"logout",children:"Log device out"})}),e.jsx(o,{content:e.jsxs("div",{children:["Note: it is your ",e.jsx("i",{className:"italic",children:"device"})," that's logged in, not your browser.",e.jsx("br",{}),"So all browsers on this device will be logged in with the same account on this device."]}),children:e.jsx(i,{name:"Question",tabIndex:0})})]}),e.jsxs("p",{children:["Check"," ",e.jsx(a,{to:"/onboarding",className:"underline",children:"/onboarding"})," ","if you'd like to review onboarding again."]}),e.jsxs("p",{children:["Check"," ",e.jsx(a,{to:"/support",className:"underline",children:"/support"})," ","if you need support."]})]})}export{L as default,k as handle};
2
- //# sourceMappingURL=account-DPP4rKOb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account-DPP4rKOb.js","sources":["../../../app/routes/_app+/account.tsx"],"sourcesContent":["import { deleteCache } from '@epic-web/workshop-utils/cache.server'\nimport {\n\tdeleteDb,\n\trequireAuthInfo,\n\tsetPresencePreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { redirect, type LoaderFunctionArgs } from '@remix-run/node'\nimport { Form, Link } from '@remix-run/react'\nimport { Button } from '#app/components/button.tsx'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.js'\nimport { useOptionalDiscordMember, useUser } from '#app/components/user.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { usePresencePreferences } from '#app/utils/presence.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\tawait requireAuthInfo({ request })\n\treturn {}\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tif (intent === 'logout') {\n\t\tawait deleteDb()\n\t\tawait deleteCache()\n\t\treturn redirectWithToast('/login', {\n\t\t\ttype: 'success',\n\t\t\ttitle: 'Logged out',\n\t\t\tdescription: 'Goodbye! Come back soon!',\n\t\t})\n\t} else if (intent === 'presence-opt-out') {\n\t\tconst optOut = formData.get('optOut') === 'true'\n\t\tawait setPresencePreferences({ optOut })\n\t\treturn redirectWithToast('/account', {\n\t\t\ttitle: optOut ? 'Opted out' : 'Opted in',\n\t\t\tdescription: `You are now ${optOut ? 'invisible' : 'visible'}.`,\n\t\t\ttype: 'success',\n\t\t})\n\t}\n\n\treturn redirect('/account')\n}\n\nfunction useConnectDiscordURL() {\n\tconst {\n\t\tproduct: { host },\n\t} = useWorkshopConfig()\n\treturn `https://${host}/discord`\n}\n\nexport default function Account() {\n\tconst user = useUser()\n\tconst discordMember = useOptionalDiscordMember()\n\tconst presencePreferences = usePresencePreferences()\n\tconst connectDiscordURL = useConnectDiscordURL()\n\treturn (\n\t\t<main className=\"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4\">\n\t\t\t{user.imageUrlLarge ? (\n\t\t\t\t<img\n\t\t\t\t\tclassName=\"h-36 w-36 rounded-full\"\n\t\t\t\t\talt={discordMember?.displayName ?? user.name ?? user.email}\n\t\t\t\t\tsrc={user.imageUrlLarge}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon name=\"User\" className=\"flex-shrink-0\" size=\"lg\" />\n\t\t\t)}\n\t\t\t<h1 className=\"mb-1 text-2xl\">Your Account</h1>\n\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t{user.name\n\t\t\t\t\t? `Hi ${\n\t\t\t\t\t\t\tdiscordMember?.displayName ?? user.name\n\t\t\t\t\t\t}, your device is logged in with ${user.email}.`\n\t\t\t\t\t: `Your device is logged in with ${user.email}.`}\n\t\t\t</p>\n\t\t\t{discordMember ? (\n\t\t\t\t<>\n\t\t\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\tAnd you are connected to discord as{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`https://discord.com/users/${discordMember.id}`}\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\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{discordMember.displayName}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t.\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={connectDiscordURL}\n\t\t\t\t\t\tclassName=\"inline-flex items-center gap-2 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon name=\"Discord\" size=\"lg\" />\n\t\t\t\t\t\tConnect Discord\n\t\t\t\t\t</Link>\n\t\t\t\t\t<SimpleTooltip content=\"This will give you access to the exclusive Discord channels for Epic Web\">\n\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"optOut\"\n\t\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\t\tvalue={presencePreferences?.optOut ? 'false' : 'true'}\n\t\t\t\t\t/>\n\t\t\t\t\t<Button varient=\"mono\" name=\"intent\" value=\"presence-opt-out\">\n\t\t\t\t\t\t{presencePreferences?.optOut ? 'Opt in to' : 'Opt out of'} presence\n\t\t\t\t\t</Button>\n\t\t\t\t</Form>\n\t\t\t\t<SimpleTooltip content=\"This controls whether your name and avatar are displayed in the pile of faces in navigation\">\n\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t</SimpleTooltip>\n\t\t\t</div>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Form method=\"post\">\n\t\t\t\t\t<Button varient=\"mono\" name=\"intent\" value=\"logout\">\n\t\t\t\t\t\tLog device out\n\t\t\t\t\t</Button>\n\t\t\t\t</Form>\n\t\t\t\t<SimpleTooltip\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\tNote: it is your <i className=\"italic\">device</i> that's logged\n\t\t\t\t\t\t\tin, not your browser.\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tSo all browsers on this device will be logged in with the same\n\t\t\t\t\t\t\taccount on this device.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t</SimpleTooltip>\n\t\t\t</div>\n\t\t\t<p>\n\t\t\t\tCheck{' '}\n\t\t\t\t<Link to=\"/onboarding\" className=\"underline\">\n\t\t\t\t\t/onboarding\n\t\t\t\t</Link>{' '}\n\t\t\t\tif you'd like to review onboarding again.\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\tCheck{' '}\n\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t/support\n\t\t\t\t</Link>{' '}\n\t\t\t\tif you need support.\n\t\t\t</p>\n\t\t</main>\n\t)\n}\n"],"names":["handle","getSitemapEntries","useConnectDiscordURL","product","host","useWorkshopConfig","Account","user","useUser","discordMember","useOptionalDiscordMember","presencePreferences","usePresencePreferences","connectDiscordURL","jsxs","className","children","imageUrlLarge","jsx","alt","displayName","name","email","src","Icon","size","Fragment","href","id","target","rel","Link","to","SimpleTooltip","content","tabIndex","Form","method","type","value","optOut","Button","varient"],"mappings":"+XAkBO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EAiCA,SAASC,GAAuB,CACzB,KAAA,CACLC,QAAS,CAAEC,KAAAA,CAAK,GACbC,EAAkB,EACtB,MAAO,WAAWD,CAAI,UACvB,CAEA,SAAwBE,GAAU,CACjC,MAAMC,EAAOC,IACPC,EAAgBC,IAChBC,EAAsBC,IACtBC,EAAoBX,IAEzB,OAAAY,EAAAA,KAAC,OAAK,CAAAC,UAAU,8FACdC,SAAA,CAAAT,EAAKU,cACLC,EAAAA,IAAC,MAAA,CACAH,UAAU,yBACVI,KAAKV,GAAAA,YAAAA,EAAeW,cAAeb,EAAKc,MAAQd,EAAKe,MACrDC,IAAKhB,EAAKU,aAAA,CACX,QAECO,EAAK,CAAAH,KAAK,OAAON,UAAU,gBAAgBU,KAAK,IAAK,CAAA,EAEtDP,EAAA,IAAA,KAAA,CAAGH,UAAU,gBAAgBC,SAAY,cAAA,CAAA,QACzC,IAAE,CAAAD,UAAU,+CACXC,SAAKT,EAAAc,KACH,OACAZ,GAAAA,YAAAA,EAAeW,cAAeb,EAAKc,IACpC,mCAAmCd,EAAKe,KAAK,IAC5C,iCAAiCf,EAAKe,KAAK,IAC/C,EACCb,EACAS,EAAA,IAAAQ,WAAA,CACCV,SAACF,EAAA,KAAA,IAAA,CAAEC,UAAU,+CAA+CC,SAAA,CAAA,sCACvB,IACpCE,EAAAA,IAAC,IAAA,CACAS,KAAM,6BAA6BlB,EAAcmB,EAAE,GACnDC,OAAO,SACPC,IAAI,sBACJf,UAAU,YAETC,SAAcP,EAAAW,WAChB,CAAA,EAAI,GAAA,EAEL,CACD,CAAA,EAECN,EAAA,KAAA,MAAA,CAAIC,UAAU,0BACdC,SAAA,CAAAF,EAAA,KAACiB,EAAA,CACAC,GAAInB,EACJE,UAAU,2CAEVC,SAAA,CAAAE,EAAA,IAACM,EAAK,CAAAH,KAAK,UAAUI,KAAK,IAAK,CAAA,EAAE,iBAAA,CAAA,CAElC,EACAP,EAAA,IAACe,EAAc,CAAAC,QAAQ,2EACtBlB,SAAAE,EAAA,IAACM,GAAKH,KAAK,WAAWc,SAAU,EAAG,CACpC,CAAA,CAAA,CACD,CAAA,EAEDrB,EAAA,KAAC,MAAI,CAAAC,UAAU,0BACdC,SAAA,CAACF,EAAA,KAAAsB,EAAA,CAAKC,OAAO,OACZrB,SAAA,CAAAE,EAAA,IAAC,QAAA,CACAG,KAAK,SACLiB,KAAK,SACLC,MAAO5B,GAAAA,MAAAA,EAAqB6B,OAAS,QAAU,MAAA,CAChD,SACCC,EAAO,CAAAC,QAAQ,OAAOrB,KAAK,SAASkB,MAAM,mBACzCvB,SAAA,CAAAL,GAAAA,MAAAA,EAAqB6B,OAAS,YAAc,aAAa,WAAA,CAC3D,CAAA,CAAA,CACD,CAAA,EACAtB,EAAA,IAACe,EAAc,CAAAC,QAAQ,8FACtBlB,SAAAE,EAAA,IAACM,GAAKH,KAAK,WAAWc,SAAU,EAAG,CACpC,CAAA,CAAA,CACD,CAAA,EACArB,EAAA,KAAC,MAAI,CAAAC,UAAU,0BACdC,SAAA,CAAAE,EAAA,IAACkB,EAAK,CAAAC,OAAO,OACZrB,SAAAE,EAAA,IAACuB,EAAO,CAAAC,QAAQ,OAAOrB,KAAK,SAASkB,MAAM,SAASvB,SAAA,iBAEpD,CACD,CAAA,EACAE,EAAA,IAACe,EAAA,CACAC,eACE,MAAI,CAAAlB,SAAA,CAAA,oBACcE,EAAA,IAAA,IAAA,CAAEH,UAAU,SAASC,SAAM,QAAA,CAAA,EAAI,6CAEhD,KAAG,CAAA,CAAA,EAAE,wFAAA,CAGP,CAAA,EAGDA,SAACE,EAAA,IAAAM,EAAA,CAAKH,KAAK,WAAWc,SAAU,EAAG,CAAA,CACpC,CAAA,CACD,CAAA,SACC,IAAE,CAAAnB,SAAA,CAAA,QACI,UACLe,EAAK,CAAAC,GAAG,cAAcjB,UAAU,YAAYC,SAE7C,aAAA,CAAA,EAAQ,IAAI,2CAAA,CAEb,CAAA,SACC,IAAE,CAAAA,SAAA,CAAA,QACI,UACLe,EAAK,CAAAC,GAAG,WAAWjB,UAAU,YAAYC,SAE1C,UAAA,CAAA,EAAQ,IAAI,sBAAA,CAEb,CAAA,CAAA,CACD,CAAA,CAEF"}
@@ -1,2 +0,0 @@
1
- import{r as t,j as s}from"./index-BFGhCX_U.js";import{P as e}from"./preview-DaZd0wMb.js";import{u as i}from"./components-Be92gVxW.js";import"./misc-DUy_whwE.js";import"./request-info-ByUEfOil.js";import"./button-_qPvcoqR.js";import"./loading-XhMtj4mp.js";import"./index-Bdg3v8tC.js";import"./tooltip-DO9uwurQ.js";import"./pe-ChIwTk8v.js";import"./progress-bar-BaTU3Yx_.js";function R(){const{appInfo:r}=i(),o=t.useRef(null);return s.jsx(e,{appInfo:r,inBrowserBrowserRef:o})}export{R as default};
2
- //# sourceMappingURL=app-DgTXXO8s.js.map
@@ -1,2 +0,0 @@
1
- import{c as o,j as r}from"./index-BFGhCX_U.js";import{d as e,a as m}from"./misc-DUy_whwE.js";import{D as p}from"./diff-8nlDkmpc.js";import{N as n}from"./nav-chevrons-DnR25VLp.js";import{u as f,e as c}from"./components-Be92gVxW.js";import"./accordion-D9-D-n9p.js";import"./tooltip-DO9uwurQ.js";import"./index-DZDhtMuq.js";import"./index-BCTr8uu6.js";import"./mdx-CEjzXoEx.js";import"./epic-video-Bp4BOD2R.js";import"./index-Bdg3v8tC.js";import"./request-info-ByUEfOil.js";import"./pe-ChIwTk8v.js";import"./loading-XhMtj4mp.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";import"./progress-bar-BaTU3Yx_.js";import"./revalidation-ws-dUa9CAqr.js";function W(){const i=f(),[t]=c();new URLSearchParams(t).set("forceFresh","diff");const s=o(),a=e.useSpinDelay(s.state!=="idle",{delay:200,minDuration:200});return r.jsxs("div",{className:m("grid h-full grid-rows-[1fr,auto]",{"cursor-wait opacity-30":a}),children:[r.jsx("div",{className:"overflow-y-auto",children:r.jsx(p,{diff:i.diff,allApps:i.allApps})}),r.jsx("div",{className:"flex h-16 items-center justify-end border-t",children:r.jsx(n,{prev:i.prevLink,next:i.nextLink})})]})}export{W as default};
2
- //# sourceMappingURL=diff-BhRAIPKc.js.map
@@ -1,2 +0,0 @@
1
- import{a as e,h as d}from"./discord-BUWZUTEC.js";import"./index-BFGhCX_U.js";import"./misc-DUy_whwE.js";import"./components-Be92gVxW.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";export{e as default,d as handle};
2
- //# sourceMappingURL=discord-Bdnx7fu-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discord-Bdnx7fu-.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{j as e,r as t}from"./index-BFGhCX_U.js";import{E as l}from"./index-BCxBKsqT.js";import{E as n}from"./epic-video-Bp4BOD2R.js";import{L as a}from"./loading-XhMtj4mp.js";import{N as d}from"./nav-chevrons-DnR25VLp.js";import{u as c}from"./revalidation-ws-dUa9CAqr.js";import{M as m,E as p}from"./mdx-CEjzXoEx.js";import{a as f}from"./misc-DUy_whwE.js";import{g as h}from"./seo-pBpFCWsy.js";import{P as x}from"./progress-DQt_Bn9o.js";import{u,L as j}from"./components-Be92gVxW.js";import"./index-Bdg3v8tC.js";import"./request-info-ByUEfOil.js";import"./tooltip-DO9uwurQ.js";import"./pe-ChIwTk8v.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";import"./progress-bar-BaTU3Yx_.js";const H={getSitemapEntries:()=>[{route:"/finished"}]},U=({matches:s})=>{var i;const r=(i=s.find(o=>o.id==="root"))==null?void 0:i.data;return r?h({title:`🎉 ${r==null?void 0:r.workshopTitle}`,description:`Elaboration for ${r==null?void 0:r.workshopTitle}`,ogTitle:`Finished ${r==null?void 0:r.workshopTitle}`,ogDescription:"You finished! Time to submit feedback.",instructor:r.instructor,requestInfo:r.requestInfo}):[]},b={h1:()=>null};function z(){const s=u();return c({watchPaths:["./exercises/FINISHED.mdx"]}),e.jsx("div",{className:"flex h-full flex-grow flex-col",children:e.jsxs("main",{className:"grid h-full flex-grow grid-cols-1 grid-rows-2 lg:grid-cols-2 lg:grid-rows-1",children:[e.jsxs("div",{className:"relative col-span-1 row-span-1 flex h-full flex-col lg:border-r",children:[e.jsx("h1",{className:"h-14 border-b pl-10 pr-5 text-sm font-medium uppercase leading-none",children:e.jsx("div",{className:"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2",children:e.jsxs("div",{className:"flex items-center justify-start gap-x-2",children:[e.jsx(j,{to:"/",className:"hover:underline",children:s.workshopTitle}),e.jsx("span",{children:"/"}),e.jsx("span",{children:"Elaboration"})]})})}),e.jsx("article",{className:"shadow-on-scrollbox h-full w-full max-w-none flex-1 scroll-pt-6 space-y-6 overflow-y-auto p-2 scrollbar-thin scrollbar-thumb-scrollbar sm:p-10 sm:pt-8",id:s.articleId,children:s.finishedCode?e.jsx(n,{epicVideoInfosPromise:s.epicVideoInfosPromise,children:e.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:e.jsx(m,{code:s.finishedCode,components:b})})}):"No finished instructions yet..."}),e.jsx(l,{elementQuery:`#${s.articleId}`}),e.jsx(x,{type:"workshop-finished",className:"h-14 border-t px-6"}),e.jsxs("div",{className:"flex h-16 justify-between border-b-4 border-t lg:border-b-0",children:[e.jsx("div",{}),s.workshopFinished.status==="success"?e.jsx(p,{file:s.workshopFinished.file,relativePath:s.workshopFinished.relativePath}):null,e.jsx(d,{prev:s.prevStepLink,next:{to:"/"}})]})]}),e.jsx(g,{workshopTitle:s.workshopTitle,workshopFormEmbedUrl:s.workshopFormEmbedUrl})]})})}function g({workshopTitle:s,workshopFormEmbedUrl:r}){const[i,o]=t.useState(!1);return e.jsxs("div",{className:"relative flex-shrink-0",children:[i?null:e.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:e.jsx(a,{children:e.jsxs("span",{children:["Loading ",s," Elaboration form"]})})}),e.jsx("iframe",{onLoad:()=>o(!0),onError:()=>o(!0),title:"Elaboration",src:r,className:f("absolute inset-0 flex h-full w-full transition-opacity duration-300",i?"opacity-100":"opacity-0")})]})}export{z as default,H as handle,U as meta};
2
- //# sourceMappingURL=finished-C0cpfAFL.js.map
@@ -1,36 +0,0 @@
1
- import{r as V,d as $e,j as E}from"./index-BFGhCX_U.js";import{a as I,Z as He,b as Be,c as Je,d as ze,e as Ke,f as qe,g as We,h as Ge,i as Ye,j as Xe,k as Qe,l as xe,m as er,u as le,z as pe}from"./request-info-ByUEfOil.js";import{I as te}from"./misc-DUy_whwE.js";import{S as rr}from"./tooltip-DO9uwurQ.js";import{u as tr}from"./pe-ChIwTk8v.js";import{a as nr,b as ar}from"./components-Be92gVxW.js";function ye(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,n)}return t}function y(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ye(Object(t),!0).forEach(function(n){ir(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ye(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function ir(e,r,t){return r=ur(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function or(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function ur(e){var r=or(e,"string");return typeof r=="symbol"?r:String(r)}function sr(e,r){var t=new FormData(e,r);if(r&&r.type==="submit"&&r.name!==""){var n=t.getAll(r.name);n.includes(r.value)||t.append(r.name,r.value)}return t}function T(e){return e?e.split(/\.|(\[\d*\])/).reduce((r,t)=>{if(typeof t<"u"&&t!==""&&t!=="__proto__"&&t!=="constructor"&&t!=="prototype")if(t.startsWith("[")&&t.endsWith("]")){var n=t.slice(1,-1);r.push(Number(n))}else r.push(t);return r},[]):[]}function _(e){return e.reduce((r,t)=>typeof t=="number"?"".concat(r,"[").concat(Number.isNaN(t)?"":t,"]"):r===""||t===""?[r,t].join(""):[r,t].join("."),"")}function z(e,r){return typeof r<"u"?_([...T(e),r]):e??""}function W(e,r){var t=T(e),n=T(r);return t.length>=n.length&&n.every((a,i)=>t[i]===a)}function F(e,r,t){for(var n=T(r),a=n.length,i=a-1,u=-1,o=e;o!=null&&++u<a;){var s=n[u],c=n[u+1],m=u!=i?Object.prototype.hasOwnProperty.call(o,s)&&o[s]!==null?o[s]:typeof c=="number"?[]:{}:t(o[s]);o[s]=m,o=o[s]}}function x(e,r){var t=e;for(var n of T(r)){if(typeof t>"u"||t==null)break;if(!Object.prototype.hasOwnProperty.call(t,n))return;if(D(t)&&typeof n=="string")t=t[n];else if(Array.isArray(t)&&typeof n=="number")t=t[n];else return}return t}function D(e){return!!e&&e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function lr(e){return typeof File>"u"?!1:e instanceof File}function R(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(D(e)){var t=Object.keys(e).sort().reduce((n,a)=>{var i=R(e[a],r);return typeof i<"u"&&(n[a]=i),n},{});return Object.keys(t).length===0?void 0:t}if(Array.isArray(e))return e.length===0?void 0:e.map(n=>R(n,r));if(!(typeof e=="string"&&e===""||e===null||lr(e)&&(!r||e.size===0)))return e}function de(e){var r,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={},a=(r=t.resolve)!==null&&r!==void 0?r:o=>o;function i(o,s){var c=R(a(o));if(typeof c<"u"&&(n[s]=c),Array.isArray(o))for(var m=0;m<o.length;m++)i(o[m],"".concat(s,"[").concat(m,"]"));else if(D(o))for(var[g,N]of Object.entries(o))i(N,s?"".concat(s,".").concat(g):g)}if(e){var u;i(e,(u=t.prefix)!==null&&u!==void 0?u:"")}return n}function ee(e,r){if(!e)throw new Error(r)}function $(){return(Date.now()*Math.random()).toString(36)}function B(e){return JSON.parse(JSON.stringify(e))}function dr(e){return e instanceof Element&&(e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"||e.tagName==="BUTTON")}function ne(e){return dr(e)&&e.type!=="submit"&&e.type!=="button"&&e.type!=="reset"}function fr(e){var r,t,n=e.target,a=e.submitter;return(r=(t=a==null?void 0:a.getAttribute("formaction"))!==null&&t!==void 0?t:n.getAttribute("action"))!==null&&r!==void 0?r:"".concat(location.pathname).concat(location.search)}function cr(e){var r,t=e.target,n=e.submitter,a=(r=n==null?void 0:n.getAttribute("formenctype"))!==null&&r!==void 0?r:t.enctype;return a==="multipart/form-data"?a:"application/x-www-form-urlencoded"}function vr(e){var r,t,n=e.target,a=e.submitter,i=(r=(t=a==null?void 0:a.getAttribute("formmethod"))!==null&&t!==void 0?t:n.getAttribute("method"))===null||r===void 0?void 0:r.toUpperCase();switch(i){case"POST":case"PUT":case"PATCH":case"DELETE":return i}return"GET"}function mr(e,r){if(ee(!!e,"Failed to submit the form. The element provided is null or undefined."),typeof e.requestSubmit=="function")e.requestSubmit(r);else{var t=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:r});e.dispatchEvent(t)}}var J="__intent__",ae="__state__";function Pe(e){var r=e.get(J),t=e.get(ae);ee((typeof r=="string"||r===null)&&(typeof t=="string"||t===null),'The input name "'.concat(J,'" and "').concat(ae,'" are reserved by Conform. Please use another name for your input.'));var n={payload:{},fields:new Set,intent:gr(r)};t&&(n.state=JSON.parse(t));var a=function(s){if(i===J||i===ae)return 1;n.fields.add(i),F(n.payload,i,c=>c?Array.isArray(c)?c.concat(s):[c,s]:s)};for(var[i,u]of e.entries())a(u);return n}function pr(e,r){var t=Pe(e),n=t.intent;if(n)switch(n.type){case"update":{var a=z(n.payload.name,n.payload.index),i=n.payload.value;typeof n.payload.value<"u"&&(a?F(t.payload,a,()=>i):t.payload=i);break}case"reset":{var u=z(n.payload.name,n.payload.index);u?F(t.payload,u,()=>{}):t.payload={};break}case"insert":case"remove":case"reorder":{Ee(t.payload,n);break}}var o=r.resolve(t.payload,n),s=c=>yr(y(y({},t),{},{value:c.value,error:c.error}));return o instanceof Promise?o.then(s):s(o)}function yr(e){return e.intent||!e.value||e.error?{status:e.intent?void 0:"error",payload:e.payload,error:typeof e.error<"u"?e.error:{},reply(r){return ge(e,r)}}:{status:"success",payload:e.payload,value:e.value,reply(r){return ge(e,r)}}}function ge(e){var r,t,n,a,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if("resetForm"in i&&i.resetForm||((r=e.intent)===null||r===void 0?void 0:r.type)==="reset"&&((t=e.intent.payload.name)!==null&&t!==void 0?t:"")==="")return{initialValue:null};if("hideFields"in i&&i.hideFields)for(var u of i.hideFields){var o=x(e.payload,u);typeof o<"u"&&F(e.payload,u,()=>{})}var s="formErrors"in i||"fieldErrors"in i?R(y({"":(n=i.formErrors)!==null&&n!==void 0?n:null},i.fieldErrors)):null,c=e.error||s?y(y({},e.error),s):void 0,m=(a=R(e.payload,typeof document<"u"))!==null&&a!==void 0?a:{};return{status:e.intent?void 0:c?"error":"success",intent:e.intent?e.intent:void 0,initialValue:m,error:c,state:e.state,fields:Array.from(e.fields)}}function gr(e){if(!e)return null;var r=JSON.parse(e);if(typeof r.type!="string"||typeof r.payload>"u")throw new Error("Unknown form control intent");return r}function hr(e){switch(e.type){case"insert":return JSON.stringify({type:e.type,payload:y(y({},e.payload),{},{defaultValue:K(e.payload.defaultValue)})});case"update":return JSON.stringify({type:e.type,payload:y(y({},e.payload),{},{value:K(e.payload.value)})});default:return JSON.stringify(e)}}function oe(e,r){var t;switch(ee(Array.isArray(e),"Failed to update list. The value is not an array."),r.type){case"insert":e.splice((t=r.payload.index)!==null&&t!==void 0?t:e.length,0,r.payload.defaultValue);break;case"remove":e.splice(r.payload.index,1);break;case"reorder":e.splice(r.payload.to,0,...e.splice(r.payload.from,1));break;default:throw new Error("Unknown list intent received")}}function Ee(e,r){F(e,r.payload.name,t=>{var n=t??[];return oe(n,r),n})}var ue=Symbol.for("root");function Q(e,r,t){var n=Object.keys(e).sort((s,c)=>c.localeCompare(s)),a={},i=function(){var c=e[u];W(u,r)&&u!==r&&(F(a,u,m=>typeof m>"u"?c:(m[ue]=c,m)),delete e[u])};for(var u of n)i();var o=t(x(a,r));Object.assign(e,de(o,{resolve(s){if(D(s)||Array.isArray(s)){var c;return(c=s[ue])!==null&&c!==void 0?c:null}return s},prefix:r}))}function he(e,r,t){Q(e,r.payload.name,n=>{var a=n??[];switch(r.type){case"insert":oe(a,{type:r.type,payload:y(y({},r.payload),{},{defaultValue:t==null?void 0:t(r.payload.defaultValue)})});break;default:oe(a,r);break}return a})}function K(e){return D(e)?Object.entries(e).reduce((r,t)=>{var[n,a]=t;return r[n]=K(a),r},{}):Array.isArray(e)?e.map(K):e instanceof Date?e.toISOString():typeof e=="boolean"?e?"on":void 0:typeof e=="number"||typeof e=="bigint"?e.toString():e??void 0}function be(e,r){var t,n,a,i,u,o=r?void 0:e.lastResult,s=e.defaultValue?K(e.defaultValue):{},c=(t=o==null?void 0:o.initialValue)!==null&&t!==void 0?t:s,m={formId:e.formId,isValueUpdated:!1,submissionStatus:o==null?void 0:o.status,defaultValue:s,initialValue:c,value:c,constraint:(n=e.constraint)!==null&&n!==void 0?n:{},validated:(a=o==null||(i=o.state)===null||i===void 0?void 0:i.validated)!==null&&a!==void 0?a:{},key:r?y({"":$()},q(s)):q(s),error:(u=o==null?void 0:o.error)!==null&&u!==void 0?u:{}};return Ie(m,o==null?void 0:o.intent,o==null?void 0:o.fields),m}function q(e,r){return Object.entries(de(e,{prefix:r})).reduce((t,n)=>{var[a,i]=n;if(Array.isArray(i))for(var u=0;u<i.length;u++)t[z(a,u)]=$();return t},{})}function Oe(e,r){for(var t of Object.keys(e.error).concat(r??[]))e.validated[t]=!0}function Ie(e,r,t,n){var a;if(!r){Oe(e,t);return}switch(r.type){case"validate":{r.payload.name?e.validated[r.payload.name]=!0:Oe(e,t);break}case"update":{var{validated:i,value:u}=r.payload,o=z(r.payload.name,r.payload.index);typeof u<"u"&&Se(e,o??"",u),typeof i<"u"&&(o?Q(e.validated,o,()=>{}):e.validated={},i?((D(u)||Array.isArray(u))&&Object.assign(e.validated,de(u,{resolve(){return!0},prefix:o})),e.validated[o??""]=!0):o&&delete e.validated[o]);break}case"reset":{var s=z(r.payload.name,r.payload.index),c=x(e.defaultValue,s);Se(e,s,c),s?(Q(e.validated,s,()=>{}),delete e.validated[s]):e.validated={};break}case"insert":case"remove":case"reorder":{n&&(e.initialValue=B(e.initialValue),e.key=B(e.key),he(e.key,r,g=>!Array.isArray(g)&&!D(g)?$():Object.assign(q(g),{[ue]:$()})),Ee(e.initialValue,r)),he(e.validated,r),e.validated[r.payload.name]=!0;break}}var m=(a=t==null?void 0:t.filter(g=>e.validated[g]))!==null&&a!==void 0?a:[];e.error=Object.entries(e.error).reduce((g,N)=>{var[P,k]=N;return(e.validated[P]||m.some(j=>W(P,j)))&&(g[P]=k),g},{})}function Se(e,r,t){if(r===""){e.initialValue=t,e.value=t,e.key=y(y({},q(t)),{},{"":$()});return}e.initialValue=B(e.initialValue),e.value=B(e.value),e.key=B(e.key),F(e.initialValue,r,()=>t),F(e.value,r,()=>t),(D(t)||Array.isArray(t))&&(Q(e.key,r,()=>{}),Object.assign(e.key,q(t,r))),e.key[r]=$()}function G(e){var r={};return new Proxy(r,{get(t,n,a){var i;if(typeof n=="string")return(i=r[n])!==null&&i!==void 0?i:r[n]=e(n,a)}})}function ie(e){var r=R(e);return G((t,n)=>{if(t==="")return r;var a=T(t),i=_(a.slice(0,-1)),u=_(a.slice(-1)),o=n[i];return x(o,u)})}function br(e){return G((r,t)=>{var n,a=e[r];if(!a){for(var i=T(r),u=i.length-1;u>=0;u--){var o=i[u];if(typeof o=="number"&&!Number.isNaN(o)){i[u]=Number.NaN;break}}var s=_(i);r!==s&&(a=t[s])}return(n=a)!==null&&n!==void 0?n:{}})}function Or(e){return G((r,t)=>{var n=e[r],a=T(r);if(a.length===0)return n;var i=t[_(a.slice(0,-1))];return typeof i>"u"?n:"".concat(i,"/").concat(n??a.at(-1))})}function Sr(e){return G(r=>{var t=Object.keys(e);if(r==="")return t.length===0;for(var n of t)if(W(n,r)&&typeof e[n]<"u")return!1;return!0})}function wr(e,r,t){return G(n=>JSON.stringify(e[n])!==JSON.stringify(r[n],(a,i)=>n===""&&a===""&&i?Object.entries(i).reduce((u,o)=>{var[s,c]=o;return t(s)?Object.assign(u??{},{[s]:c}):u},void 0):i))}function M(e,r,t,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:(P,k)=>JSON.stringify(P)!==JSON.stringify(k);if(n&&e!==r){var i,u,o=(i=n.prefix)!==null&&i!==void 0?i:[],s=(u=n.name)!==null&&u!==void 0?u:[],c=o.length===0?s:Array.from(new Set([...Object.keys(e),...Object.keys(r)])),m=function(k){if(o.length===0||s.includes(k)||o.some(H=>W(k,H))){var j;if((j=t[k])!==null&&j!==void 0||(t[k]=a(e[k],r[k])),t[k])return{v:!0}}},g;for(var N of c)if(g=m(N),g)return g.v}return!1}function kr(e){var r=[],t=e,n=be(e),a=u(n);function i(){return document.forms.namedItem(t.formId)}function u(l){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l,d=arguments.length>2?arguments[2]:void 0,v=!d||f.defaultValue!==l.defaultValue?ie(l.defaultValue):d.defaultValue,b=l.initialValue===l.defaultValue?v:!d||f.initialValue!==l.initialValue?ie(l.initialValue):d.initialValue,h=l.value===l.initialValue?b:!d||f.value!==l.value?ie(l.value):d.value;return{submissionStatus:l.submissionStatus,defaultValue:v,initialValue:b,value:h,error:!d||f.error!==l.error?l.error:d.error,validated:l.validated,constraint:!d||f.constraint!==l.constraint?br(l.constraint):d.constraint,key:!d||f.key!==l.key?Or(l.key):d.key,valid:!d||f.error!==l.error?Sr(l.error):d.valid,dirty:!d||f.defaultValue!==l.defaultValue||f.value!==l.value?wr(v,h,O=>{var w,Z;return(w=(Z=t.shouldDirtyConsider)===null||Z===void 0?void 0:Z.call(t,O))!==null&&w!==void 0?w:!0}):d.dirty}}function o(l){var f=n,d=a,v=u(l,f,d);n=l,a=v;var b={value:{},error:{},initialValue:{},key:{},valid:{},dirty:{}};for(var h of r){var O,w=(O=h.getSubject)===null||O===void 0?void 0:O.call(h);(!w||w.formId&&f.formId!==l.formId||w.status&&d.submissionStatus!==v.submissionStatus||M(d.error,v.error,b.error,w.error)||M(d.initialValue,v.initialValue,b.initialValue,w.initialValue)||M(d.key,v.key,b.key,w.key,(Z,Y)=>Z!==Y)||M(d.valid,v.valid,b.valid,w.valid,s)||M(d.dirty,v.dirty,b.dirty,w.dirty,s)||M(d.value,v.value,b.value,w.value))&&h.callback()}}function s(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return l!==f}function c(){return JSON.stringify({validated:n.validated})}function m(l){var f=l.target,d=l.submitter;ee(f===i(),"The submit event is dispatched by form#".concat(f.id," instead of form#").concat(t.formId));var v=sr(f,d),b={formData:v,action:fr(l),encType:cr(l),method:vr(l)};if(typeof(t==null?void 0:t.onValidate)>"u")return b;var h=t.onValidate({form:f,formData:v,submitter:d});if(h.status==="success"||h.error!==null){var O=h.reply();fe(y(y({},O),{},{status:O.status!=="success"?O.status:void 0}))}return y(y({},b),{},{submission:h})}function g(l){var f=i(),d=l.target;return!f||!ne(d)||d.form!==f||!d.form.isConnected||d.name===""?null:d}function N(l,f){var{shouldValidate:d="onSubmit",shouldRevalidate:v=d}=t,b=n.validated[l.name];return b?v===f&&(f==="onInput"||n.isValueUpdated):d===f}function P(l){var f=new FormData(l),d=Pe(f);o(y(y({},n),{},{isValueUpdated:!0,value:d.payload}))}function k(l){var f=g(l);!f||!f.form||(l.defaultPrevented||!N(f,"onInput")?P(f.form):re({type:"validate",payload:{name:f.name}}))}function j(l){var f=g(l);!f||l.defaultPrevented||!N(f,"onBlur")||re({type:"validate",payload:{name:f.name}})}function H(){o(be(t,!0))}function _e(l){var f=i();l.type!=="reset"||l.target!==f||l.defaultPrevented||H()}function fe(l){var f,d,v=i();if(!l.initialValue){H();return}var b=Object.entries((f=l.error)!==null&&f!==void 0?f:{}).reduce((w,Z)=>{var[Y,ve]=Z,me=ve===null?n.error[Y]:ve;return me&&(w[Y]=me),w},{}),h=y(y({},n),{},{isValueUpdated:!1,submissionStatus:l.status,value:l.initialValue,validated:y(y({},n.validated),(d=l.state)===null||d===void 0?void 0:d.validated),error:b});if(Ie(h,l.intent,l.fields,!0),o(h),v&&l.status==="error"){for(var O of v.elements)if(ne(O)&&n.error[O.name]){O.focus();break}}}function Le(l){var f=t.formId,d=t.lastResult;Object.assign(t,l),t.formId!==f?H():l.lastResult&&l.lastResult!==d&&fe(l.lastResult)}function Me(l,f){var d={callback:l,getSubject:f};return r.push(d),()=>{r=r.filter(v=>v!==d)}}function Ue(){return a}function re(l){var f=i(),d=document.createElement("button"),v=ce(l);d.name=v.name,d.value=v.value,d.hidden=!0,d.formNoValidate=!0,f==null||f.appendChild(d),mr(f,d),f==null||f.removeChild(d)}function ce(l){return{name:J,value:hr(l),form:t.formId,formNoValidate:!0}}function L(l){var f=function(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return re({type:l,payload:v})};return Object.assign(f,{getButtonProps(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ce({type:l,payload:d})}})}function Re(){var l=new MutationObserver(f=>{var d=i();if(d)for(var v of f){var b=v.type==="childList"?[...v.addedNodes,...v.removedNodes]:[v.target];for(var h of b){var O=ne(h)?h:h instanceof HTMLElement?h.querySelector("input,select,textarea"):null;if((O==null?void 0:O.form)===d){P(d);return}}}});return l.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["form","name"]}),()=>{l.disconnect()}}return{getFormId(){return n.formId},submit:m,onReset:_e,onInput:k,onBlur:j,onUpdate:Le,validate:L("validate"),reset:L("reset"),update:L("update"),insert:L("insert"),remove:L("remove"),reorder:L("reorder"),subscribe:Me,getState:Ue,getSerializedState:c,observe:Re}}function we(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,n)}return t}function A(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?we(Object(t),!0).forEach(function(n){Nr(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):we(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Nr(e,r,t){return r=Vr(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Pr(e,r){if(e==null)return{};var t={},n=Object.keys(e),a,i;for(i=0;i<n.length;i++)a=n[i],!(r.indexOf(a)>=0)&&(t[a]=e[a]);return t}function Er(e,r){if(e==null)return{};var t=Pr(e,r),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],!(r.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}function Ir(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function Vr(e){var r=Ir(e,"string");return typeof r=="symbol"?r:String(r)}var jr=Symbol("wrapped");function Ar(e,r){var t=V.useCallback(n=>e.subscribe(n,()=>r==null?void 0:r.current),[e,r]);return V.useSyncExternalStore(t,e.getState,e.getState)}function Tr(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=V.useRef(e);return r.current=e,r}function U(e,r,t,n){if(r==="status"||r==="formId")e.current[r]=!0;else if(typeof t<"u"&&typeof n<"u"){var a,i;e.current[r]=A(A({},e.current[r]),{},{[t]:((a=(i=e.current[r])===null||i===void 0?void 0:i[t])!==null&&a!==void 0?a:[]).concat(n)})}}function Ve(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",a=n?"".concat(e.getFormId(),"-").concat(n):e.getFormId(),i=e.getState();return new Proxy({id:a,name:n,errorId:"".concat(a,"-error"),descriptionId:"".concat(a,"-description"),get initialValue(){return i.initialValue[n]},get value(){return i.value[n]},get errors(){return i.error[n]},get key(){return i.key[n]},get valid(){return i.valid[n]},get dirty(){return i.dirty[n]},get allErrors(){if(n==="")return i.error;var u={};for(var[o,s]of Object.entries(i.error))W(o,n)&&(u[o]=s);return u},get getFieldset(){return()=>new Proxy({},{get(u,o,s){return typeof o=="string"?je(e,r,t,n,o):Reflect.get(u,o,s)}})}},{get(u,o,s){if(i===t)switch(o){case"id":case"errorId":case"descriptionId":U(r,"formId");break;case"key":case"initialValue":case"value":case"valid":case"dirty":U(r,o,"name",n);break;case"errors":case"allErrors":U(r,"error",o==="errors"?"name":"prefix",n);break}return Reflect.get(u,o,s)}})}function je(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",a=arguments.length>4?arguments[4]:void 0,i=typeof a>"u"?n:_([...T(n),a]);return new Proxy({},{get(u,o,s){var c,m=Ve(e,r,t,i),g=e.getState();switch(o){case"formId":return g===t&&U(r,"formId"),e.getFormId();case"required":case"minLength":case"maxLength":case"min":case"max":case"pattern":case"step":case"multiple":return(c=g.constraint[i])===null||c===void 0?void 0:c[o];case"getFieldList":return()=>{var N,P=(N=g.initialValue[i])!==null&&N!==void 0?N:[];if(g===t&&U(r,"initialValue","name",i),!Array.isArray(P))throw new Error("The initial value at the given name is not a list");return Array(P.length).fill(0).map((k,j)=>je(e,r,t,i,j))}}return Reflect.get(m,o,s)}})}function Cr(e,r,t,n){return new Proxy({},{get(a,i,u){var o=Ve(e,r,t),s=e.getState();switch(i){case"context":return{[jr]:e};case"status":return s===t&&U(r,"status"),s.submissionStatus;case"validate":case"update":case"reset":case"insert":case"remove":case"reorder":return e[i];case"onSubmit":return e.submit;case"noValidate":return n}return Reflect.get(o,i,u)}})}function Fr(e){var{onSubmit:r}=e,t=kr(e);return A(A({},t),{},{submit(n){var a=n.nativeEvent,i=t.submit(a);if(!i.submission||i.submission.status==="success"||i.submission.error===null){if(!i.formData.has(J)){var u;(u=r)===null||u===void 0||u(n,i)}}else n.preventDefault()},onUpdate(n){r=n.onSubmit,t.onUpdate(n)}})}var Dr=["id"],se=typeof document>"u"?V.useEffect:V.useLayoutEffect;function Zr(e){var r=V.useId();return e??r}function _r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,[r,t]=V.useState(e);return se(()=>{r||t(!0)},[r]),r}function Lr(e){var{id:r}=e,t=Er(e,Dr),n=Zr(r),[a]=V.useState(()=>Fr(A(A({},t),{},{formId:n})));se(()=>{var c=a.observe();return document.addEventListener("input",a.onInput),document.addEventListener("focusout",a.onBlur),document.addEventListener("reset",a.onReset),()=>{c(),document.removeEventListener("input",a.onInput),document.removeEventListener("focusout",a.onBlur),document.removeEventListener("reset",a.onReset)}},[a]),se(()=>{a.onUpdate(A(A({},t),{},{formId:n}))});var i=Tr(),u=Ar(a,i),o=_r(e.defaultNoValidate),s=Cr(a,i,u,o);return[s,s.getFieldset()]}function Ae(e){for(var r in e)e[r]===void 0&&delete e[r];return e}function Mr(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof r.ariaAttributes<"u"&&!r.ariaAttributes)return{};var t=r.ariaInvalid==="allErrors"?!e.valid:typeof e.errors<"u",n=r.ariaDescribedBy;return Ae({"aria-invalid":t||void 0,"aria-describedby":t?"".concat(e.errorId," ").concat(n??"").trim():n})}function Ur(e,r){return Ae(A({id:e.id,onSubmit:e.onSubmit,noValidate:e.noValidate},Mr(e,r)))}function ke(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,n)}return t}function p(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ke(Object(t),!0).forEach(function(n){Rr(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ke(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Rr(e,r,t){return r=Hr(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function $r(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function Hr(e){var r=$r(e,"string");return typeof r=="symbol"?r:String(r)}var Te="__EMPTY_STRING__";function C(e,r){if(typeof e!="string")return e;if(e!=="")return e===Te?"":typeof r!="function"?e:r(e)}function X(e){if(!(typeof File<"u"&&e instanceof File&&e.name===""&&e.size===0))return e}function Br(e){return typeof File>"u"?!1:e._def.effect.type==="refinement"&&e.innerType()._def.typeName==="ZodAny"&&e.safeParse(new File([],"")).success&&!e.safeParse("").success}function S(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Map,t=r.get(e);if(t)return t;var n=e,a=e._def;if(a.typeName==="ZodString"||a.typeName==="ZodLiteral"||a.typeName==="ZodEnum"||a.typeName==="ZodNativeEnum")n=I().transform(u=>C(u)).pipe(e);else if(a.typeName==="ZodNumber")n=I().transform(u=>C(u,o=>o.trim()===""?o:Number(o))).pipe(e);else if(a.typeName==="ZodBoolean")n=I().transform(u=>C(u,o=>o==="on"?!0:o)).pipe(e);else if(a.typeName==="ZodDate")n=I().transform(u=>C(u,o=>{var s=new Date(o);return isNaN(s.getTime())?o:s})).pipe(e);else if(a.typeName==="ZodBigInt")n=I().transform(u=>C(u,o=>{if(o.trim()==="")return o;try{return BigInt(o)}catch{return o}})).pipe(e);else if(a.typeName==="ZodArray")n=I().transform(u=>Array.isArray(u)?u:typeof u>"u"||typeof X(C(u))>"u"?[]:[u]).pipe(new He(p(p({},a),{},{type:S(a.type,r)})));else if(a.typeName==="ZodObject")n=I().transform(u=>typeof u>"u"?{}:u).pipe(new Be(p(p({},a),{},{shape:()=>Object.fromEntries(Object.entries(a.shape()).map(u=>{var[o,s]=u;return[o,S(s,r)]}))})));else if(a.typeName==="ZodEffects")Br(e)?n=I().transform(u=>X(u)).pipe(e):n=new Je(p(p({},a),{},{schema:S(a.schema,r)}));else if(a.typeName==="ZodOptional")n=I().transform(u=>X(C(u))).pipe(new ze(p(p({},a),{},{innerType:S(a.innerType,r)})));else if(a.typeName==="ZodDefault")n=I().transform(u=>X(C(u))).pipe(new Ke(p(p({},a),{},{defaultValue:()=>{var u=a.defaultValue();return u===""?Te:u},innerType:S(a.innerType,r)})));else if(a.typeName==="ZodCatch")n=new qe(p(p({},a),{},{innerType:S(a.innerType,r)}));else if(a.typeName==="ZodIntersection")n=new We(p(p({},a),{},{left:S(a.left,r),right:S(a.right,r)}));else if(a.typeName==="ZodUnion")n=new Ge(p(p({},a),{},{options:a.options.map(u=>S(u,r))}));else if(a.typeName==="ZodDiscriminatedUnion")n=new Ye(p(p({},a),{},{options:a.options.map(u=>S(u,r)),optionsMap:new Map(Array.from(a.optionsMap.entries()).map(u=>{var[o,s]=u;return[o,S(s,r)]}))}));else if(a.typeName==="ZodTuple")n=new Xe(p(p({},a),{},{items:a.items.map(u=>S(u,r))}));else if(a.typeName==="ZodNullable")n=new Qe(p(p({},a),{},{innerType:S(a.innerType,r)}));else if(a.typeName==="ZodPipeline")n=new xe(p(p({},a),{},{in:S(a.in,r),out:S(a.out,r)}));else if(a.typeName==="ZodLazy"){var i=a.getter();n=er(()=>S(i,r))}return e!==n&&r.set(e,n),n}function Jr(e,r){var t={};for(var n of e.errors){var a=_(n.path);switch(n.message){case Ne.VALIDATION_UNDEFINED:return null;case Ne.VALIDATION_SKIPPED:t[a]=null;break;default:{var i=t[a];i!==null&&(i?t[a]=i.concat(n):t[a]=[n]);break}}}return Object.entries(t).reduce((u,o)=>{var[s,c]=o;return u[s]=c?r(c):null,u},{})}function zr(e,r){return pr(e,{resolve(t,n){var a=r.errorMap,i=S(typeof r.schema=="function"?r.schema(n):r.schema),u=o=>{var s;return{value:o.success?o.data:void 0,error:o.success?void 0:Jr(o.error,(s=r.formatError)!==null&&s!==void 0?s:c=>c.map(m=>m.message))}};return r.async?i.safeParseAsync(t,{errorMap:a}).then(o=>u(o)):u(i.safeParse(t,{errorMap:a}))}})}var Ne={VALIDATION_SKIPPED:"__skipped__",VALIDATION_UNDEFINED:"__undefined__"};function Kr(e){function r(a,i){var s;const u=e[i];if(!u)throw new Error(`Unknown client hint: ${typeof i=="string"?i:"Unknown"}`);const o=(s=a.split(";").map(c=>c.trim()).find(c=>c.startsWith(u.cookieName+"=")))==null?void 0:s.split("=")[1];return o?decodeURIComponent(o):null}function t(a){const i=typeof document<"u"?document.cookie:typeof a<"u"?a.headers.get("Cookie")??"":"";return Object.entries(e).reduce((u,[o,s])=>{const c=o;return"transform"in s?u[c]=s.transform(r(i,c)??s.fallback):u[c]=r(i,c)??s.fallback,u},{})}function n(){return`
2
- // This block of code allows us to check if the client hints have changed and
3
- // force a reload of the page with updated hints if they have so you don't get
4
- // a flash of incorrect content.
5
- function checkClientHints() {
6
- if (!navigator.cookieEnabled) return;
7
-
8
- // set a short-lived cookie to make sure we can set cookies
9
- document.cookie = "canSetCookies=1; Max-Age=60; SameSite=Lax; path=/";
10
- const canSetCookies = document.cookie.includes("canSetCookies=1");
11
- document.cookie = "canSetCookies=; Max-Age=-1; path=/";
12
- if (!canSetCookies) return;
13
-
14
- const cookies = document.cookie.split(';').map(c => c.trim()).reduce((acc, cur) => {
15
- const [key, value] = cur.split('=');
16
- acc[key] = value;
17
- return acc;
18
- }, {});
19
-
20
- let cookieChanged = false;
21
- const hints = [
22
- ${Object.values(e).map(a=>{const i=JSON.stringify(a.cookieName);return`{ name: ${i}, actual: String(${a.getValueCode}), value: cookies[${i}] != null ? cookies[${i}] : encodeURIComponent("${a.fallback}") }`}).join(`,
23
- `)}
24
- ];
25
- for (const hint of hints) {
26
- document.cookie = encodeURIComponent(hint.name) + '=' + encodeURIComponent(hint.actual) + '; Max-Age=31536000; path=/';
27
- if (decodeURIComponent(hint.value) !== hint.actual) {
28
- cookieChanged = true;
29
- }
30
- }
31
- if (cookieChanged) window.location.reload();
32
- }
33
-
34
- checkClientHints();
35
- `}return{getHints:t,getClientHintCheckScript:n}}const Ce={cookieName:"CH-prefers-color-scheme",getValueCode:"window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'",fallback:"light",transform(e){return e==="dark"?"dark":"light"}};function qr(e,r=Ce.cookieName){const t=window.matchMedia("(prefers-color-scheme: dark)");function n(){const a=t.matches?"dark":"light";document.cookie=`${r}=${a}; Max-Age=31536000; Path=/`,e(a)}return t.addEventListener("change",n),function(){t.removeEventListener("change",n)}}const Fe={cookieName:"CH-reduced-motion",getValueCode:"window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 'reduce' : 'no-preference'",fallback:"no-preference",transform(e){return e==="reduce"?"reduce":"no-preference"}};function Wr(e,r=Fe.cookieName){const t=window.matchMedia("(prefers-reduced-motion: reduce)");function n(){const a=t.matches?"reduce":"no-preference";document.cookie=`${r}=${a}; Max-Age=31536000; Path=/`,e(a)}return t.addEventListener("change",n),function(){t.removeEventListener("change",n)}}const Gr={cookieName:"CH-time-zone",getValueCode:"Intl.DateTimeFormat().resolvedOptions().timeZone",fallback:"UTC"},De="EpicShop_CH-prefers-color-scheme",Ze="EpicShop_CH-reduced-motion",Yr=Kr({theme:{...Ce,cookieName:De},timeZone:{...Gr,cookieName:"EpicShop_CH-time-zone"},reducedMotion:{...Fe,cookieName:Ze}});function Xr(){return le().hints}function ut(){const{revalidate:e}=$e();return V.useEffect(()=>qr(()=>e(),De),[e]),V.useEffect(()=>Wr(()=>e(),Ze),[e]),E.jsx("script",{dangerouslySetInnerHTML:{__html:Yr.getClientHintCheckScript()}})}function Qr({id:e,errors:r}){const t=r==null?void 0:r.filter(Boolean);return t!=null&&t.length?E.jsx("ul",{id:e,className:"space-y-1",children:t.map(n=>E.jsx("li",{className:"text-danger text-[10px]",children:n},n))}):null}const xr="/theme",et=pe.object({theme:pe.enum(["system","light","dark"])});function st(){const e=le(),r=tr(),t=nr(),[n]=Lr({lastResult:t.data,onValidate({formData:o}){return zr(o,{schema:et})}}),a=e.session.theme??"system",i=a==="system"?"light":a==="light"?"dark":"system",u={light:E.jsx(te,{size:"md",name:"Sun",title:"Light mode"}),dark:E.jsx(te,{size:"md",name:"Moon",title:"Dark mode"}),system:E.jsx(te,{size:"md",name:"Laptop",title:"System mode"})};return E.jsxs(t.Form,{method:"POST",action:xr,...Ur(n),children:[E.jsxs("div",{className:"flex gap-2",children:[r,E.jsx("input",{type:"hidden",name:"theme",value:i}),E.jsx(rr,{content:`Change theme from ${a} mode`,children:E.jsx("button",{type:"submit",name:"intent",value:"update-theme",className:"flex h-8 w-8 cursor-pointer items-center justify-center",children:u[a]})})]}),E.jsx(Qr,{errors:n.errors,id:n.errorId})]})}function lt(){var i;const e=Xr(),r=le(),n=ar().find(u=>{var o;return((o=u.formData)==null?void 0:o.get("intent"))==="update-theme"}),a=(i=n==null?void 0:n.formData)==null?void 0:i.get("theme");return a==="system"?e.theme:a==="light"||a==="dark"?a:r.session.theme??e.theme}export{ut as C,st as T,Xr as a,lt as u};
36
- //# sourceMappingURL=index-Bdg3v8tC.js.map