@epic-web/workshop-app 4.22.0 → 4.22.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.
- package/build/client/assets/_exerciseNumber-CpcJsfoV.js +2 -0
- package/build/client/assets/{_exerciseNumber-Cq0nozYz.js.map → _exerciseNumber-CpcJsfoV.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_.finished-Ddb3J5ls.js +2 -0
- package/build/client/assets/{_exerciseNumber_.finished-Q9qnPuZX.js.map → _exerciseNumber_.finished-Ddb3J5ls.js.map} +1 -1
- package/build/client/assets/{_layout-AgYGL72C.js → _layout-BLsKV5zF.js} +2 -2
- package/build/client/assets/{_layout-AgYGL72C.js.map → _layout-BLsKV5zF.js.map} +1 -1
- package/build/client/assets/_layout-CGLKLU3y.js +2 -0
- package/build/client/assets/{_layout-C8uU4Hwj.js.map → _layout-CGLKLU3y.js.map} +1 -1
- package/build/client/assets/_layout-DVR5FOsb.js +2 -0
- package/build/client/assets/_layout-DVR5FOsb.js.map +1 -0
- package/build/client/assets/app-BhrXo-z3.js +2 -0
- package/build/client/assets/{app-BiWJY58g.js.map → app-BhrXo-z3.js.map} +1 -1
- package/build/client/assets/diff-BNr0PhFR.js +2 -0
- package/build/client/assets/{diff-Cw8ktQ1-.js.map → diff-BNr0PhFR.js.map} +1 -1
- package/build/client/assets/{diff-CpFxuKA2.js → diff-Cr4LLBag.js} +2 -2
- package/build/client/assets/{diff-CpFxuKA2.js.map → diff-Cr4LLBag.js.map} +1 -1
- package/build/client/assets/{epic-video-iluUs1-s.js → epic-video-CxZy3iqK.js} +2 -2
- package/build/client/assets/{epic-video-iluUs1-s.js.map → epic-video-CxZy3iqK.js.map} +1 -1
- package/build/client/assets/finished-CU8QBU41.js +2 -0
- package/build/client/assets/{finished-Bm-bCUU2.js.map → finished-CU8QBU41.js.map} +1 -1
- package/build/client/assets/index-6GyYWV9G.js +2 -0
- package/build/client/assets/{index-BATSX33w.js.map → index-6GyYWV9G.js.map} +1 -1
- package/build/client/assets/index-BotyhhDm.js +2 -0
- package/build/client/assets/{index-Tfdnz1AB.js.map → index-BotyhhDm.js.map} +1 -1
- package/build/client/assets/index-c5oITeyN.js +2 -0
- package/build/client/assets/{index-Dm1ll1kT.js.map → index-c5oITeyN.js.map} +1 -1
- package/build/client/assets/manifest-b61acbe0.js +1 -0
- package/build/client/assets/mdx-D7ttfz2V.js +2 -0
- package/build/client/assets/mdx-D7ttfz2V.js.map +1 -0
- package/build/client/assets/onboarding-Co4cldZ0.js +2 -0
- package/build/client/assets/{onboarding-CnmE4HLR.js.map → onboarding-Co4cldZ0.js.map} +1 -1
- package/build/client/assets/pe-CUZaIcdt.js +2 -0
- package/build/client/assets/pe-CUZaIcdt.js.map +1 -0
- package/build/client/assets/preview-CdiZ0d0L.js +2 -0
- package/build/client/assets/preview-CdiZ0d0L.js.map +1 -0
- package/build/client/assets/progress-Biq-ngNF.js +2 -0
- package/build/client/assets/{progress-BsY6hGPp.js.map → progress-Biq-ngNF.js.map} +1 -1
- package/build/client/assets/{root-Tcnfz99O.js → root-D_FY953d.js} +2 -2
- package/build/client/assets/{root-Tcnfz99O.js.map → root-D_FY953d.js.map} +1 -1
- package/build/client/assets/set-playground-BXHckvUG.js +2 -0
- package/build/client/assets/set-playground-BXHckvUG.js.map +1 -0
- package/build/client/assets/test-BRkbo9G9.js +2 -0
- package/build/client/assets/{test-D9HsTvpe.js.map → test-BRkbo9G9.js.map} +1 -1
- package/build/client/assets/tests-DQuoxpDA.js +4 -0
- package/build/client/assets/tests-DQuoxpDA.js.map +1 -0
- package/build/server/index.js +122 -69
- package/build/server/index.js.map +1 -1
- package/package.json +3 -3
- package/build/client/assets/_exerciseNumber-Cq0nozYz.js +0 -2
- package/build/client/assets/_exerciseNumber_.finished-Q9qnPuZX.js +0 -2
- package/build/client/assets/_layout-BocZ2xWF.js +0 -2
- package/build/client/assets/_layout-BocZ2xWF.js.map +0 -1
- package/build/client/assets/_layout-C8uU4Hwj.js +0 -2
- package/build/client/assets/app-BiWJY58g.js +0 -2
- package/build/client/assets/diff-Cw8ktQ1-.js +0 -2
- package/build/client/assets/finished-Bm-bCUU2.js +0 -2
- package/build/client/assets/index-BATSX33w.js +0 -2
- package/build/client/assets/index-Dm1ll1kT.js +0 -2
- package/build/client/assets/index-Tfdnz1AB.js +0 -2
- package/build/client/assets/manifest-4a3cf2ec.js +0 -1
- package/build/client/assets/mdx-M0kcP-mP.js +0 -2
- package/build/client/assets/mdx-M0kcP-mP.js.map +0 -1
- package/build/client/assets/onboarding-CnmE4HLR.js +0 -2
- package/build/client/assets/preview-CqrRe2BV.js +0 -2
- package/build/client/assets/preview-CqrRe2BV.js.map +0 -1
- package/build/client/assets/progress-BsY6hGPp.js +0 -2
- package/build/client/assets/set-playground-Cdy8VlVD.js +0 -2
- package/build/client/assets/set-playground-Cdy8VlVD.js.map +0 -1
- package/build/client/assets/test-D9HsTvpe.js +0 -2
- package/build/client/assets/tests-CmNNBElK.js +0 -4
- package/build/client/assets/tests-CmNNBElK.js.map +0 -1
- package/build/client/assets/use-hydrated-Citou692.js +0 -2
- package/build/client/assets/use-hydrated-Citou692.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e}from"./index-1cKOJFpX.js";import{E as t}from"./index-Dx5GmdYq.js";import{E as a}from"./epic-video-CxZy3iqK.js";import{G as i}from"./error-boundary-DDTvdkB4.js";import{M as l,E as m}from"./mdx-D7ttfz2V.js";import{c as n}from"./misc-ENVX3CWf.js";import{P as c,u as d}from"./progress-Biq-ngNF.js";import{u as p,L as x}from"./components-CME-nGId.js";import"./index-6GyYWV9G.js";import"./request-info-CEhUGODY.js";import"./tooltip-BiHTe_7F.js";import"./client-hints-DNUUFGmB.js";import"./pe-CUZaIcdt.js";import"./loading-C5uX0jJw.js";import"./user-D6tTg1yS.js";import"./clsx-B-dksMZM.js";import"./progress-bar-CSvo1ZXP.js";function h({exercise:r}){const s=d(r.exerciseNumber);return e.jsx("li",{children:e.jsxs(x,{className:n("relative flex items-center gap-4 px-4 py-3 text-lg font-semibold transition after:absolute after:right-10 after:-translate-x-2 after:opacity-0 after:transition after:content-['→'] hover:bg-gray-50 hover:after:translate-x-0 hover:after:opacity-100 dark:hover:bg-white/5",s),to:`${r.exerciseNumber.toString().padStart(2,"0")}`,children:[e.jsx("span",{className:"text-xs font-normal tabular-nums opacity-50",children:r.exerciseNumber}),e.jsx("span",{children:r.title})]})},r.exerciseNumber)}const f={h1:()=>null};function V(){const r=p(),s=e.jsxs("ul",{className:"flex flex-col divide-y divide-border dark:divide-border/50",children:[e.jsx("strong",{className:"px-10 pb-3 font-mono text-xs uppercase",children:"Exercises"}),r.exercises.map(o=>e.jsx(h,{exercise:o},o.exerciseNumber))]});return e.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:[e.jsxs("article",{id:r.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:[e.jsx("div",{children:e.jsx("h1",{className:"px-10 text-[clamp(3rem,6vw,7.5rem)] font-extrabold leading-none",children:r.title})}),e.jsxs("div",{className:"w-full max-w-none scroll-pt-6 border-t px-3 pt-3 md:px-10 md:pt-8",children:[e.jsx("h2",{className:"pb-5 font-mono text-xs font-semibold uppercase",children:"Intro"}),r.workshopReadme.compiled.status==="success"&&r.workshopReadme.compiled.code?e.jsx(a,{epicVideoInfosPromise:r.epicVideoInfosPromise,children:e.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:e.jsx(l,{code:r.workshopReadme.compiled.code,components:f})})}):r.workshopReadme.compiled.status==="error"?e.jsxs("div",{className:"text-red-500",children:["There was an error:",e.jsx("pre",{children:r.workshopReadme.compiled.error})]}):"No instructions yet..."]}),e.jsx("div",{className:"pb-5 pt-10",children:r.workshopReadme.compiled.status==="success"&&r.workshopReadme.compiled.code&&r.workshopReadme.compiled.code.length>500?s:null})]}),e.jsx(t,{elementQuery:`#${r.articleId}`}),e.jsx(c,{type:"workshop-instructions",className:"h-14 border-t px-6"}),e.jsx("div",{className:"flex h-16 justify-center border-t",children:e.jsx(m,{file:r.workshopReadme.file,relativePath:r.workshopReadme.relativePath})})]})}function B(){return e.jsx(i,{})}export{B as ErrorBoundary,V as default};
|
|
2
|
+
//# sourceMappingURL=index-BotyhhDm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BotyhhDm.js","sources":["../../../app/routes/_app+/index.tsx"],"sourcesContent":["import { ElementScrollRestoration } from '@epic-web/restore-scroll'\nimport {\n\tgetExercises,\n\tgetWorkshopInstructions,\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\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport {\n\tdefer,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\ttype SerializeFrom,\n} from '@remix-run/node'\nimport { Link, useLoaderData } from '@remix-run/react'\nimport slugify from '@sindresorhus/slugify'\nimport { EpicVideoInfoProvider } from '#app/components/epic-video.tsx'\nimport { GeneralErrorBoundary } from '#app/components/error-boundary.tsx'\nimport { EditFileOnGitHub } from '#app/routes/launch-editor.tsx'\nimport { getEpicVideoInfos } from '#app/utils/epic-api.ts'\nimport { Mdx } from '#app/utils/mdx.tsx'\nimport { cn } from '#app/utils/misc.tsx'\nimport { ProgressToggle, useExerciseProgressClassName } from '../progress.tsx'\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('indexLoader')\n\tconst { title } = getWorkshopConfig()\n\tconst [exercises, workshopReadme] = await Promise.all([\n\t\ttime(() => getExercises({ request, timings }), {\n\t\t\ttimings,\n\t\t\ttype: 'getExercises',\n\t\t\tdesc: 'getExercises in index',\n\t\t}),\n\t\ttime(() => getWorkshopInstructions({ request }), {\n\t\t\ttimings,\n\t\t\ttype: 'compileMdx',\n\t\t\tdesc: 'compileMdx in index',\n\t\t}),\n\t])\n\n\treturn defer(\n\t\t{\n\t\t\tarticleId: `workshop-${slugify(title)}-instructions`,\n\t\t\ttitle:\n\t\t\t\tworkshopReadme.compiled.status === 'success'\n\t\t\t\t\t? workshopReadme.compiled.title\n\t\t\t\t\t: title,\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})),\n\t\t\tworkshopReadme,\n\t\t\tepicVideoInfosPromise:\n\t\t\t\tworkshopReadme.compiled.status === 'success'\n\t\t\t\t\t? getEpicVideoInfos(workshopReadme.compiled.epicVideoEmbeds, {\n\t\t\t\t\t\t\trequest,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders, parentHeaders }) => {\n\tconst headers = {\n\t\t'Cache-Control': loaderHeaders.get('Cache-Control') ?? '',\n\t\t'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nfunction ExerciseListItem({\n\texercise,\n}: {\n\texercise: SerializeFrom<typeof loader>['exercises'][number]\n}) {\n\tconst progressClassName = useExerciseProgressClassName(\n\t\texercise.exerciseNumber,\n\t)\n\treturn (\n\t\t<li key={exercise.exerciseNumber}>\n\t\t\t<Link\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative flex items-center gap-4 px-4 py-3 text-lg font-semibold transition after:absolute after:right-10 after:-translate-x-2 after:opacity-0 after:transition after:content-['→'] hover:bg-gray-50 hover:after:translate-x-0 hover:after:opacity-100 dark:hover:bg-white/5\",\n\t\t\t\t\tprogressClassName,\n\t\t\t\t)}\n\t\t\t\tto={`${exercise.exerciseNumber.toString().padStart(2, '0')}`}\n\t\t\t>\n\t\t\t\t<span className=\"text-xs font-normal tabular-nums opacity-50\">\n\t\t\t\t\t{exercise.exerciseNumber}\n\t\t\t\t</span>\n\t\t\t\t<span>{exercise.title}</span>\n\t\t\t</Link>\n\t\t</li>\n\t)\n}\n\nconst mdxComponents = { h1: () => null }\n\nexport default function Index() {\n\tconst data = useLoaderData<typeof loader>()\n\n\tconst exerciseLinks = (\n\t\t<ul className=\"flex flex-col divide-y divide-border dark:divide-border/50\">\n\t\t\t<strong className=\"px-10 pb-3 font-mono text-xs uppercase\">\n\t\t\t\tExercises\n\t\t\t</strong>\n\t\t\t{data.exercises.map((exercise) => (\n\t\t\t\t<ExerciseListItem key={exercise.exerciseNumber} exercise={exercise} />\n\t\t\t))}\n\t\t</ul>\n\t)\n\treturn (\n\t\t<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\">\n\t\t\t<article\n\t\t\t\tid={data.articleId}\n\t\t\t\tclassName=\"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\"\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t<h1 className=\"px-10 text-[clamp(3rem,6vw,7.5rem)] font-extrabold leading-none\">\n\t\t\t\t\t\t{data.title}\n\t\t\t\t\t</h1>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"w-full max-w-none scroll-pt-6 border-t px-3 pt-3 md:px-10 md:pt-8\">\n\t\t\t\t\t<h2 className=\"pb-5 font-mono text-xs font-semibold uppercase\">\n\t\t\t\t\t\tIntro\n\t\t\t\t\t</h2>\n\t\t\t\t\t{data.workshopReadme.compiled.status === 'success' &&\n\t\t\t\t\tdata.workshopReadme.compiled.code ? (\n\t\t\t\t\t\t<EpicVideoInfoProvider\n\t\t\t\t\t\t\tepicVideoInfosPromise={data.epicVideoInfosPromise}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"prose dark:prose-invert sm:prose-lg\">\n\t\t\t\t\t\t\t\t<Mdx\n\t\t\t\t\t\t\t\t\tcode={data.workshopReadme.compiled.code}\n\t\t\t\t\t\t\t\t\tcomponents={mdxComponents}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</EpicVideoInfoProvider>\n\t\t\t\t\t) : data.workshopReadme.compiled.status === 'error' ? (\n\t\t\t\t\t\t<div className=\"text-red-500\">\n\t\t\t\t\t\t\tThere was an error:\n\t\t\t\t\t\t\t<pre>{data.workshopReadme.compiled.error}</pre>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t'No instructions yet...'\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"pb-5 pt-10\">\n\t\t\t\t\t{data.workshopReadme.compiled.status === 'success' &&\n\t\t\t\t\tdata.workshopReadme.compiled.code &&\n\t\t\t\t\tdata.workshopReadme.compiled.code.length > 500\n\t\t\t\t\t\t? exerciseLinks\n\t\t\t\t\t\t: null}\n\t\t\t\t</div>\n\t\t\t</article>\n\t\t\t<ElementScrollRestoration elementQuery={`#${data.articleId}`} />\n\t\t\t<ProgressToggle\n\t\t\t\ttype=\"workshop-instructions\"\n\t\t\t\tclassName=\"h-14 border-t px-6\"\n\t\t\t/>\n\t\t\t<div className=\"flex h-16 justify-center border-t\">\n\t\t\t\t<EditFileOnGitHub\n\t\t\t\t\tfile={data.workshopReadme.file}\n\t\t\t\t\trelativePath={data.workshopReadme.relativePath}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</main>\n\t)\n}\n\nexport function ErrorBoundary() {\n\treturn <GeneralErrorBoundary />\n}\n"],"names":["ExerciseListItem","exercise","progressClassName","useExerciseProgressClassName","exerciseNumber","children","jsxs","Link","className","cn","to","toString","padStart","jsx","title","mdxComponents","h1","Index","data","useLoaderData","exerciseLinks","exercises","map","id","articleId","workshopReadme","compiled","status","code","EpicVideoInfoProvider","epicVideoInfosPromise","Mdx","components","error","length","ElementScrollRestoration","elementQuery","ProgressToggle","type","EditFileOnGitHub","file","relativePath","ErrorBoundary","GeneralErrorBoundary"],"mappings":"wnBA+EA,SAASA,EAAiB,CACzBC,SAAAA,CACD,EAEG,CACF,MAAMC,EAAoBC,EACzBF,EAASG,cACV,EACA,aACE,KACA,CAAAC,SAAAC,EAAA,KAACC,EAAA,CACAC,UAAWC,EACV,+QACAP,CACD,EACAQ,GAAI,GAAGT,EAASG,eAAeO,SAAW,EAAAC,SAAS,EAAG,GAAG,CAAC,GAE1DP,SAAA,CAAAQ,EAAA,IAAC,OAAK,CAAAL,UAAU,8CACdH,SAAAJ,EAASG,cACX,CAAA,EACAS,EAAA,IAAC,OAAM,CAAAR,SAAAJ,EAASa,KAAM,CAAA,CAAA,EACvB,CAAA,EAZQb,EAASG,cAalB,CAEF,CAEA,MAAMW,EAAgB,CAAEC,GAAIA,IAAM,IAAK,EAEvC,SAAwBC,GAAQ,CAC/B,MAAMC,EAAOC,IAEPC,EACLd,EAAA,KAAC,KAAG,CAAAE,UAAU,6DACbH,SAAA,CAACQ,EAAA,IAAA,SAAA,CAAOL,UAAU,yCAAyCH,SAE3D,WAAA,CAAA,EACCa,EAAKG,UAAUC,IAAKrB,SACnBD,EAA+C,CAAAC,SAAAA,CAAA,EAAzBA,EAASG,cAAoC,CACpE,CAAA,CACF,CAAA,EAGA,OAAAE,EAAAA,KAAC,OAAK,CAAAE,UAAU,4FACfH,SAAA,CAAAC,EAAA,KAAC,UAAA,CACAiB,GAAIL,EAAKM,UACThB,UAAU,8JAEVH,SAAA,CAAAQ,EAAA,IAAC,OACAR,SAACQ,EAAA,IAAA,KAAA,CAAGL,UAAU,kEACZH,SAAAa,EAAKJ,MACP,CACD,CAAA,EACAR,EAAA,KAAC,MAAI,CAAAE,UAAU,oEACdH,SAAA,CAACQ,EAAA,IAAA,KAAA,CAAGL,UAAU,iDAAiDH,SAE/D,OAAA,CAAA,EACCa,EAAKO,eAAeC,SAASC,SAAW,WACzCT,EAAKO,eAAeC,SAASE,KAC5Bf,EAAAA,IAACgB,EAAA,CACAC,sBAAuBZ,EAAKY,sBAE5BzB,SAAAQ,EAAA,IAAC,MAAI,CAAAL,UAAU,sCACdH,SAAAQ,EAAA,IAACkB,EAAA,CACAH,KAAMV,EAAKO,eAAeC,SAASE,KACnCI,WAAYjB,EACb,EACD,CAAA,CACD,EACGG,EAAKO,eAAeC,SAASC,SAAW,QAC3CrB,EAAA,KAAC,MAAI,CAAAE,UAAU,eAAeH,SAAA,CAAA,sBAE5BQ,EAAA,IAAA,MAAA,CAAKR,SAAKa,EAAAO,eAAeC,SAASO,KAAM,CAAA,CAAA,CAC1C,CAAA,EAEA,wBAAA,CAEF,CAAA,EACApB,EAAA,IAAC,OAAIL,UAAU,aACbH,WAAKoB,eAAeC,SAASC,SAAW,WACzCT,EAAKO,eAAeC,SAASE,MAC7BV,EAAKO,eAAeC,SAASE,KAAKM,OAAS,IACxCd,EACA,IACJ,CAAA,CAAA,CAAA,CACD,QACCe,EAAyB,CAAAC,aAAc,IAAIlB,EAAKM,SAAS,EAAI,CAAA,EAC9DX,EAAA,IAACwB,EAAA,CACAC,KAAK,wBACL9B,UAAU,oBAAA,CACX,EACAK,EAAA,IAAC,MAAI,CAAAL,UAAU,oCACdH,SAAAQ,EAAA,IAAC0B,EAAA,CACAC,KAAMtB,EAAKO,eAAee,KAC1BC,aAAcvB,EAAKO,eAAegB,aACnC,CACD,CAAA,CAAA,CACD,CAAA,CAEF,CAEO,SAASC,GAAgB,CAC/B,aAAQC,EAAqB,CAAA,CAAA,CAC9B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as F,j as t,l as re,n as ne,d as Le}from"./index-1cKOJFpX.js";import{d as me,h as Ye,u as ve,m as He,P as J,f as z,e as pe,g as ze,S as Ge}from"./tooltip-BiHTe_7F.js";import{f as Ke,u as xe}from"./index-hogig2HK.js";import{c as Be}from"./clsx-B-dksMZM.js";import{D as Ve}from"./diff-Cr4LLBag.js";import{G as Ze}from"./error-boundary-DDTvdkB4.js";import{u as ge,I as te}from"./misc-ENVX3CWf.js";import{L as We}from"./loading-C5uX0jJw.js";import{u as Je}from"./client-hints-DNUUFGmB.js";import{D as qe,u as Qe}from"./discord-Dq4e30wV.js";import{u as le,A as Xe,L as $e,b as et}from"./components-CME-nGId.js";import{J as tt}from"./index-B-hHvmeV.js";import{S as rt}from"./set-playground-BXHckvUG.js";import{P as nt,a as st}from"./tests-DQuoxpDA.js";import{P as oe}from"./preview-CdiZ0d0L.js";import"./index-BXWoOGxB.js";import"./accordion-BroSqIct.js";import"./mdx-D7ttfz2V.js";import"./epic-video-CxZy3iqK.js";import"./index-6GyYWV9G.js";import"./request-info-CEhUGODY.js";import"./pe-CUZaIcdt.js";import"./user-D6tTg1yS.js";import"./progress-bar-CSvo1ZXP.js";import"./use-event-source-A_0lEOPX.js";import"./button-BklqyTPS.js";var ie="rovingFocusGroup.onEntryFocus",at={bubbles:!1,cancelable:!0},se="RovingFocusGroup",[ce,be,it]=Ke(se),[ot,we]=me(se,[it]),[ct,ut]=ot(se),ye=F.forwardRef((e,l)=>t.jsx(ce.Provider,{scope:e.__scopeRovingFocusGroup,children:t.jsx(ce.Slot,{scope:e.__scopeRovingFocusGroup,children:t.jsx(lt,{...e,ref:l})})}));ye.displayName=se;var lt=F.forwardRef((e,l)=>{const{__scopeRovingFocusGroup:c,orientation:s,loop:D=!1,dir:C,currentTabStopId:m,defaultCurrentTabStopId:S,onCurrentTabStopIdChange:h,onEntryFocus:f,preventScrollOnEntryFocus:b=!1,...x}=e,v=F.useRef(null),T=Ye(l,v),d=xe(C),[n=null,o]=ve({prop:m,defaultProp:S,onChange:h}),[y,w]=F.useState(!1),M=He(f),R=be(c),N=F.useRef(!1),[P,k]=F.useState(0);return F.useEffect(()=>{const I=v.current;if(I)return I.addEventListener(ie,M),()=>I.removeEventListener(ie,M)},[M]),t.jsx(ct,{scope:c,orientation:s,dir:d,loop:D,currentTabStopId:n,onItemFocus:F.useCallback(I=>o(I),[o]),onItemShiftTab:F.useCallback(()=>w(!0),[]),onFocusableItemAdd:F.useCallback(()=>k(I=>I+1),[]),onFocusableItemRemove:F.useCallback(()=>k(I=>I-1),[]),children:t.jsx(J.div,{tabIndex:y||P===0?-1:0,"data-orientation":s,...x,ref:T,style:{outline:"none",...e.style},onMouseDown:z(e.onMouseDown,()=>{N.current=!0}),onFocus:z(e.onFocus,I=>{const L=!N.current;if(I.target===I.currentTarget&&L&&!y){const O=new CustomEvent(ie,at);if(I.currentTarget.dispatchEvent(O),!O.defaultPrevented){const j=R().filter(r=>r.focusable),V=j.find(r=>r.active),X=j.find(r=>r.id===n),a=[V,X,...j].filter(Boolean).map(r=>r.ref.current);Te(a,b)}}N.current=!1}),onBlur:z(e.onBlur,()=>w(!1))})})}),je="RovingFocusGroupItem",De=F.forwardRef((e,l)=>{const{__scopeRovingFocusGroup:c,focusable:s=!0,active:D=!1,tabStopId:C,...m}=e,S=pe(),h=C||S,f=ut(je,c),b=f.currentTabStopId===h,x=be(c),{onFocusableItemAdd:v,onFocusableItemRemove:T}=f;return F.useEffect(()=>{if(s)return v(),()=>T()},[s,v,T]),t.jsx(ce.ItemSlot,{scope:c,id:h,focusable:s,active:D,children:t.jsx(J.span,{tabIndex:b?0:-1,"data-orientation":f.orientation,...m,ref:l,onMouseDown:z(e.onMouseDown,d=>{s?f.onItemFocus(h):d.preventDefault()}),onFocus:z(e.onFocus,()=>f.onItemFocus(h)),onKeyDown:z(e.onKeyDown,d=>{if(d.key==="Tab"&&d.shiftKey){f.onItemShiftTab();return}if(d.target!==d.currentTarget)return;const n=ht(d,f.orientation,f.dir);if(n!==void 0){if(d.metaKey||d.ctrlKey||d.altKey||d.shiftKey)return;d.preventDefault();let y=x().filter(w=>w.focusable).map(w=>w.ref.current);if(n==="last")y.reverse();else if(n==="prev"||n==="next"){n==="prev"&&y.reverse();const w=y.indexOf(d.currentTarget);y=f.loop?mt(y,w+1):y.slice(w+1)}setTimeout(()=>Te(y))}})})})});De.displayName=je;var ft={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function dt(e,l){return l!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function ht(e,l,c){const s=dt(e.key,c);if(!(l==="vertical"&&["ArrowLeft","ArrowRight"].includes(s))&&!(l==="horizontal"&&["ArrowUp","ArrowDown"].includes(s)))return ft[s]}function Te(e,l=!1){const c=document.activeElement;for(const s of e)if(s===c||(s.focus({preventScroll:l}),document.activeElement!==c))return}function mt(e,l){return e.map((c,s)=>e[(l+s)%e.length])}var vt=ye,pt=De,fe="Tabs",[xt,or]=me(fe,[we]),Se=we(),[gt,de]=xt(fe),Ne=F.forwardRef((e,l)=>{const{__scopeTabs:c,value:s,onValueChange:D,defaultValue:C,orientation:m="horizontal",dir:S,activationMode:h="automatic",...f}=e,b=xe(S),[x,v]=ve({prop:s,onChange:D,defaultProp:C});return t.jsx(gt,{scope:c,baseId:pe(),value:x,onValueChange:v,orientation:m,dir:b,activationMode:h,children:t.jsx(J.div,{dir:b,"data-orientation":m,...f,ref:l})})});Ne.displayName=fe;var Me="TabsList",Ce=F.forwardRef((e,l)=>{const{__scopeTabs:c,loop:s=!0,...D}=e,C=de(Me,c),m=Se(c);return t.jsx(vt,{asChild:!0,...m,orientation:C.orientation,dir:C.dir,loop:s,children:t.jsx(J.div,{role:"tablist","aria-orientation":C.orientation,...D,ref:l})})});Ce.displayName=Me;var Ie="TabsTrigger",Oe=F.forwardRef((e,l)=>{const{__scopeTabs:c,value:s,disabled:D=!1,...C}=e,m=de(Ie,c),S=Se(c),h=_e(m.baseId,s),f=Fe(m.baseId,s),b=s===m.value;return t.jsx(pt,{asChild:!0,...S,focusable:!D,active:b,children:t.jsx(J.button,{type:"button",role:"tab","aria-selected":b,"aria-controls":f,"data-state":b?"active":"inactive","data-disabled":D?"":void 0,disabled:D,id:h,...C,ref:l,onMouseDown:z(e.onMouseDown,x=>{!D&&x.button===0&&x.ctrlKey===!1?m.onValueChange(s):x.preventDefault()}),onKeyDown:z(e.onKeyDown,x=>{[" ","Enter"].includes(x.key)&&m.onValueChange(s)}),onFocus:z(e.onFocus,()=>{const x=m.activationMode!=="manual";!b&&!D&&x&&m.onValueChange(s)})})})});Oe.displayName=Ie;var Ee="TabsContent",Pe=F.forwardRef((e,l)=>{const{__scopeTabs:c,value:s,forceMount:D,children:C,...m}=e,S=de(Ee,c),h=_e(S.baseId,s),f=Fe(S.baseId,s),b=s===S.value,x=F.useRef(b);return F.useEffect(()=>{const v=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(v)},[]),t.jsx(ze,{present:D||b,children:({present:v})=>t.jsx(J.div,{"data-state":b?"active":"inactive","data-orientation":S.orientation,role:"tabpanel","aria-labelledby":h,hidden:!v,id:f,tabIndex:0,...m,ref:l,style:{...e.style,animationDuration:x.current?"0s":void 0},children:v&&C})})});Pe.displayName=Ee;function _e(e,l){return`${e}-trigger-${l}`}function Fe(e,l){return`${e}-content-${l}`}var $t=Ne,bt=Ce,wt=Oe,W=Pe,Re={exports:{}};(function(e,l){(function(c,s){e.exports=s()})(ne,function(){var c=1e3,s=6e4,D=36e5,C="millisecond",m="second",S="minute",h="hour",f="day",b="week",x="month",v="quarter",T="year",d="date",n="Invalid Date",o=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,w={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(p){var a=["th","st","nd","rd"],r=p%100;return"["+p+(a[(r-20)%10]||a[r]||a[0])+"]"}},M=function(p,a,r){var u=String(p);return!u||u.length>=a?p:""+Array(a+1-u.length).join(r)+p},R={s:M,z:function(p){var a=-p.utcOffset(),r=Math.abs(a),u=Math.floor(r/60),i=r%60;return(a<=0?"+":"-")+M(u,2,"0")+":"+M(i,2,"0")},m:function p(a,r){if(a.date()<r.date())return-p(r,a);var u=12*(r.year()-a.year())+(r.month()-a.month()),i=a.clone().add(u,x),g=r-i<0,$=a.clone().add(u+(g?-1:1),x);return+(-(u+(r-i)/(g?i-$:$-i))||0)},a:function(p){return p<0?Math.ceil(p)||0:Math.floor(p)},p:function(p){return{M:x,y:T,w:b,d:f,D:d,h,m:S,s:m,ms:C,Q:v}[p]||String(p||"").toLowerCase().replace(/s$/,"")},u:function(p){return p===void 0}},N="en",P={};P[N]=w;var k="$isDayjsObject",I=function(p){return p instanceof V||!(!p||!p[k])},L=function p(a,r,u){var i;if(!a)return N;if(typeof a=="string"){var g=a.toLowerCase();P[g]&&(i=g),r&&(P[g]=r,i=g);var $=a.split("-");if(!i&&$.length>1)return p($[0])}else{var E=a.name;P[E]=a,i=E}return!u&&i&&(N=i),i||!u&&N},O=function(p,a){if(I(p))return p.clone();var r=typeof a=="object"?a:{};return r.date=p,r.args=arguments,new V(r)},j=R;j.l=L,j.i=I,j.w=function(p,a){return O(p,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})};var V=function(){function p(r){this.$L=L(r.locale,null,!0),this.parse(r),this.$x=this.$x||r.x||{},this[k]=!0}var a=p.prototype;return a.parse=function(r){this.$d=function(u){var i=u.date,g=u.utc;if(i===null)return new Date(NaN);if(j.u(i))return new Date;if(i instanceof Date)return new Date(i);if(typeof i=="string"&&!/Z$/i.test(i)){var $=i.match(o);if($){var E=$[2]-1||0,_=($[7]||"0").substring(0,3);return g?new Date(Date.UTC($[1],E,$[3]||1,$[4]||0,$[5]||0,$[6]||0,_)):new Date($[1],E,$[3]||1,$[4]||0,$[5]||0,$[6]||0,_)}}return new Date(i)}(r),this.init()},a.init=function(){var r=this.$d;this.$y=r.getFullYear(),this.$M=r.getMonth(),this.$D=r.getDate(),this.$W=r.getDay(),this.$H=r.getHours(),this.$m=r.getMinutes(),this.$s=r.getSeconds(),this.$ms=r.getMilliseconds()},a.$utils=function(){return j},a.isValid=function(){return this.$d.toString()!==n},a.isSame=function(r,u){var i=O(r);return this.startOf(u)<=i&&i<=this.endOf(u)},a.isAfter=function(r,u){return O(r)<this.startOf(u)},a.isBefore=function(r,u){return this.endOf(u)<O(r)},a.$g=function(r,u,i){return j.u(r)?this[u]:this.set(i,r)},a.unix=function(){return Math.floor(this.valueOf()/1e3)},a.valueOf=function(){return this.$d.getTime()},a.startOf=function(r,u){var i=this,g=!!j.u(u)||u,$=j.p(r),E=function(B,Y){var G=j.w(i.$u?Date.UTC(i.$y,Y,B):new Date(i.$y,Y,B),i);return g?G:G.endOf(f)},_=function(B,Y){return j.w(i.toDate()[B].apply(i.toDate("s"),(g?[0,0,0,0]:[23,59,59,999]).slice(Y)),i)},A=this.$W,U=this.$M,H=this.$D,Z="set"+(this.$u?"UTC":"");switch($){case T:return g?E(1,0):E(31,11);case x:return g?E(1,U):E(0,U+1);case b:var K=this.$locale().weekStart||0,q=(A<K?A+7:A)-K;return E(g?H-q:H+(6-q),U);case f:case d:return _(Z+"Hours",0);case h:return _(Z+"Minutes",1);case S:return _(Z+"Seconds",2);case m:return _(Z+"Milliseconds",3);default:return this.clone()}},a.endOf=function(r){return this.startOf(r,!1)},a.$set=function(r,u){var i,g=j.p(r),$="set"+(this.$u?"UTC":""),E=(i={},i[f]=$+"Date",i[d]=$+"Date",i[x]=$+"Month",i[T]=$+"FullYear",i[h]=$+"Hours",i[S]=$+"Minutes",i[m]=$+"Seconds",i[C]=$+"Milliseconds",i)[g],_=g===f?this.$D+(u-this.$W):u;if(g===x||g===T){var A=this.clone().set(d,1);A.$d[E](_),A.init(),this.$d=A.set(d,Math.min(this.$D,A.daysInMonth())).$d}else E&&this.$d[E](_);return this.init(),this},a.set=function(r,u){return this.clone().$set(r,u)},a.get=function(r){return this[j.p(r)]()},a.add=function(r,u){var i,g=this;r=Number(r);var $=j.p(u),E=function(U){var H=O(g);return j.w(H.date(H.date()+Math.round(U*r)),g)};if($===x)return this.set(x,this.$M+r);if($===T)return this.set(T,this.$y+r);if($===f)return E(1);if($===b)return E(7);var _=(i={},i[S]=s,i[h]=D,i[m]=c,i)[$]||1,A=this.$d.getTime()+r*_;return j.w(A,this)},a.subtract=function(r,u){return this.add(-1*r,u)},a.format=function(r){var u=this,i=this.$locale();if(!this.isValid())return i.invalidDate||n;var g=r||"YYYY-MM-DDTHH:mm:ssZ",$=j.z(this),E=this.$H,_=this.$m,A=this.$M,U=i.weekdays,H=i.months,Z=i.meridiem,K=function(Y,G,Q,ee){return Y&&(Y[G]||Y(u,g))||Q[G].slice(0,ee)},q=function(Y){return j.s(E%12||12,Y,"0")},B=Z||function(Y,G,Q){var ee=Y<12?"AM":"PM";return Q?ee.toLowerCase():ee};return g.replace(y,function(Y,G){return G||function(Q){switch(Q){case"YY":return String(u.$y).slice(-2);case"YYYY":return j.s(u.$y,4,"0");case"M":return A+1;case"MM":return j.s(A+1,2,"0");case"MMM":return K(i.monthsShort,A,H,3);case"MMMM":return K(H,A);case"D":return u.$D;case"DD":return j.s(u.$D,2,"0");case"d":return String(u.$W);case"dd":return K(i.weekdaysMin,u.$W,U,2);case"ddd":return K(i.weekdaysShort,u.$W,U,3);case"dddd":return U[u.$W];case"H":return String(E);case"HH":return j.s(E,2,"0");case"h":return q(1);case"hh":return q(2);case"a":return B(E,_,!0);case"A":return B(E,_,!1);case"m":return String(_);case"mm":return j.s(_,2,"0");case"s":return String(u.$s);case"ss":return j.s(u.$s,2,"0");case"SSS":return j.s(u.$ms,3,"0");case"Z":return $}return null}(Y)||$.replace(":","")})},a.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},a.diff=function(r,u,i){var g,$=this,E=j.p(u),_=O(r),A=(_.utcOffset()-this.utcOffset())*s,U=this-_,H=function(){return j.m($,_)};switch(E){case T:g=H()/12;break;case x:g=H();break;case v:g=H()/3;break;case b:g=(U-A)/6048e5;break;case f:g=(U-A)/864e5;break;case h:g=U/D;break;case S:g=U/s;break;case m:g=U/c;break;default:g=U}return i?g:j.a(g)},a.daysInMonth=function(){return this.endOf(x).$D},a.$locale=function(){return P[this.$L]},a.locale=function(r,u){if(!r)return this.$L;var i=this.clone(),g=L(r,u,!0);return g&&(i.$L=g),i},a.clone=function(){return j.w(this.$d,this)},a.toDate=function(){return new Date(this.valueOf())},a.toJSON=function(){return this.isValid()?this.toISOString():null},a.toISOString=function(){return this.$d.toISOString()},a.toString=function(){return this.$d.toUTCString()},p}(),X=V.prototype;return O.prototype=X,[["$ms",C],["$s",m],["$m",S],["$H",h],["$W",f],["$M",x],["$y",T],["$D",d]].forEach(function(p){X[p[1]]=function(a){return this.$g(a,p[0],p[1])}}),O.extend=function(p,a){return p.$i||(p(a,V,O),p.$i=!0),O},O.locale=L,O.isDayjs=I,O.unix=function(p){return O(1e3*p)},O.en=P[N],O.Ls=P,O.p={},O})})(Re);var yt=Re.exports;const ae=re(yt);var ke={exports:{}};(function(e,l){(function(c,s){e.exports=s()})(ne,function(){return function(c,s,D){c=c||{};var C=s.prototype,m={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function S(f,b,x,v){return C.fromToBase(f,b,x,v)}D.en.relativeTime=m,C.fromToBase=function(f,b,x,v,T){for(var d,n,o,y=x.$locale().relativeTime||m,w=c.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],M=w.length,R=0;R<M;R+=1){var N=w[R];N.d&&(d=v?D(f).diff(x,N.d,!0):x.diff(f,N.d,!0));var P=(c.rounding||Math.round)(Math.abs(d));if(o=d>0,P<=N.r||!N.r){P<=1&&R>0&&(N=w[R-1]);var k=y[N.l];T&&(P=T(""+P)),n=typeof k=="string"?k.replace("%d",P):k(P,b,N.l,o);break}}if(b)return n;var I=o?y.future:y.past;return typeof I=="function"?I(n):I.replace("%s",n)},C.to=function(f,b){return S(f,b,this,!0)},C.from=function(f,b){return S(f,b,this)};var h=function(f){return f.$u?D.utc():D()};C.toNow=function(f){return this.to(h(this),f)},C.fromNow=function(f){return this.from(h(this),f)}}})})(ke);var jt=ke.exports;const Dt=re(jt);var Ae={exports:{}};(function(e,l){(function(c,s){e.exports=s()})(ne,function(){var c={year:0,month:1,day:2,hour:3,minute:4,second:5},s={};return function(D,C,m){var S,h=function(v,T,d){d===void 0&&(d={});var n=new Date(v),o=function(y,w){w===void 0&&(w={});var M=w.timeZoneName||"short",R=y+"|"+M,N=s[R];return N||(N=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:y,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:M}),s[R]=N),N}(T,d);return o.formatToParts(n)},f=function(v,T){for(var d=h(v,T),n=[],o=0;o<d.length;o+=1){var y=d[o],w=y.type,M=y.value,R=c[w];R>=0&&(n[R]=parseInt(M,10))}var N=n[3],P=N===24?0:N,k=n[0]+"-"+n[1]+"-"+n[2]+" "+P+":"+n[4]+":"+n[5]+":000",I=+v;return(m.utc(k).valueOf()-(I-=I%1e3))/6e4},b=C.prototype;b.tz=function(v,T){v===void 0&&(v=S);var d=this.utcOffset(),n=this.toDate(),o=n.toLocaleString("en-US",{timeZone:v}),y=Math.round((n-new Date(o))/1e3/60),w=m(o,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(n.getTimezoneOffset()/15)-y,!0);if(T){var M=w.utcOffset();w=w.add(d-M,"minute")}return w.$x.$timezone=v,w},b.offsetName=function(v){var T=this.$x.$timezone||m.tz.guess(),d=h(this.valueOf(),T,{timeZoneName:v}).find(function(n){return n.type.toLowerCase()==="timezonename"});return d&&d.value};var x=b.startOf;b.startOf=function(v,T){if(!this.$x||!this.$x.$timezone)return x.call(this,v,T);var d=m(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return x.call(d,v,T).tz(this.$x.$timezone,!0)},m.tz=function(v,T,d){var n=d&&T,o=d||T||S,y=f(+m(),o);if(typeof v!="string")return m(v).tz(o);var w=function(P,k,I){var L=P-60*k*1e3,O=f(L,I);if(k===O)return[L,k];var j=f(L-=60*(O-k)*1e3,I);return O===j?[L,O]:[P-60*Math.min(O,j)*1e3,Math.max(O,j)]}(m.utc(v,n).valueOf(),y,o),M=w[0],R=w[1],N=m(M).utcOffset(R);return N.$x.$timezone=o,N},m.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},m.tz.setDefault=function(v){S=v}}})})(Ae);var Tt=Ae.exports;const St=re(Tt);var Ue={exports:{}};(function(e,l){(function(c,s){e.exports=s()})(ne,function(){var c="minute",s=/[+-]\d\d(?::?\d\d)?/g,D=/([+-]|\d\d)/g;return function(C,m,S){var h=m.prototype;S.utc=function(n){var o={date:n,utc:!0,args:arguments};return new m(o)},h.utc=function(n){var o=S(this.toDate(),{locale:this.$L,utc:!0});return n?o.add(this.utcOffset(),c):o},h.local=function(){return S(this.toDate(),{locale:this.$L,utc:!1})};var f=h.parse;h.parse=function(n){n.utc&&(this.$u=!0),this.$utils().u(n.$offset)||(this.$offset=n.$offset),f.call(this,n)};var b=h.init;h.init=function(){if(this.$u){var n=this.$d;this.$y=n.getUTCFullYear(),this.$M=n.getUTCMonth(),this.$D=n.getUTCDate(),this.$W=n.getUTCDay(),this.$H=n.getUTCHours(),this.$m=n.getUTCMinutes(),this.$s=n.getUTCSeconds(),this.$ms=n.getUTCMilliseconds()}else b.call(this)};var x=h.utcOffset;h.utcOffset=function(n,o){var y=this.$utils().u;if(y(n))return this.$u?0:y(this.$offset)?x.call(this):this.$offset;if(typeof n=="string"&&(n=function(N){N===void 0&&(N="");var P=N.match(s);if(!P)return null;var k=(""+P[0]).match(D)||["-",0,0],I=k[0],L=60*+k[1]+ +k[2];return L===0?0:I==="+"?L:-L}(n),n===null))return this;var w=Math.abs(n)<=16?60*n:n,M=this;if(o)return M.$offset=w,M.$u=n===0,M;if(n!==0){var R=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(M=this.local().add(w+R,c)).$offset=w,M.$x.$localOffset=R}else M=this.utc();return M};var v=h.format;h.format=function(n){var o=n||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return v.call(this,o)},h.valueOf=function(){var n=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*n},h.isUTC=function(){return!!this.$u},h.toISOString=function(){return this.toDate().toISOString()},h.toString=function(){return this.toDate().toUTCString()};var T=h.toDate;h.toDate=function(n){return n==="s"&&this.$offset?S(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():T.call(this)};var d=h.diff;h.diff=function(n,o,y){if(n&&this.$u===n.$u)return d.call(this,n,o,y);var w=this.local(),M=S(n).local();return d.call(w,M,o,y)}}})})(Ue);var Nt=Ue.exports;const Mt=re(Nt);ae.extend(Mt);ae.extend(St);ae.extend(Dt);function Ct(){const e=le();return t.jsxs("div",{className:"flex h-full w-full flex-col gap-4 pt-4",children:[t.jsx("div",{className:"text-center",children:t.jsx(qe,{discordAuthUrl:e.discordAuthUrl})}),t.jsx("div",{className:"flex-1 overflow-y-scroll bg-accent pb-4 scrollbar-thin scrollbar-thumb-scrollbar",children:t.jsx(It,{})})]})}function It(){const e=le(),l=Qe({discordAuthUrl:e.discordAuthUrl}),c=ge();return t.jsxs("div",{className:"flex h-full flex-col items-center justify-between",children:[t.jsx(F.Suspense,{fallback:t.jsx("div",{className:"flex h-full w-full flex-col items-center justify-center",children:t.jsx(We,{children:"Loading Discord Posts"})}),children:t.jsx(Xe,{resolve:e.discordPostsPromise,errorElement:t.jsx("div",{className:"text-red-500",children:"There was a problem loading the discord posts"}),children:s=>t.jsx("ul",{className:"flex w-full flex-col gap-4 p-3 xl:p-12",children:s.map(D=>t.jsx("li",{className:"rounded-xl border bg-background transition-all duration-200 focus-within:-translate-y-1 focus-within:shadow-lg hover:-translate-y-1 hover:shadow-lg",children:t.jsx(Ot,{thread:D})},D.id))})})}),t.jsx("div",{children:t.jsxs($e,{to:c&&!l.includes("oauth")?l.replace(/^https/,"discord"):l,target:l.includes("oauth")?void 0:"_blank",rel:"noreferrer noopener",onClick:c?s=>{s.preventDefault(),window.open(s.currentTarget.href,"_blank","noreferrer noopener")}:void 0,className:"flex items-center gap-2 p-2 text-xl hover:underline",children:["Create Post ",t.jsx(te,{name:"ExternalLink"})]})})]})}function Ot({thread:e}){const l=e.reactions.filter(s=>s.count),c=Je();return t.jsx("div",{children:t.jsxs("div",{className:"flex flex-col gap-2 p-4",children:[t.jsxs("div",{className:"flex gap-4",children:[t.jsxs("div",{className:"flex flex-col gap-1",children:[e.tags.length?t.jsx("div",{className:"flex gap-2",children:e.tags.map(s=>t.jsxs("div",{className:"flex items-center justify-center gap-1 rounded-full bg-accent px-2 py-1 text-sm",children:[t.jsx("span",{className:"h-3 w-3 leading-3",children:t.jsx(he,{name:s.emojiName,url:s.emojiUrl})}),t.jsx("span",{children:s.name})]},s.name))}):null,t.jsx("strong",{className:"text-xl font-bold",children:e.name}),t.jsxs("div",{className:"flex items-start gap-1",children:[t.jsxs("div",{className:"flex items-center gap-1",children:[e.authorAvatarUrl?t.jsx("img",{src:e.authorAvatarUrl,alt:"",className:"h-6 w-6 rounded-full"}):null,t.jsxs("span",{children:[t.jsx("span",{className:"font-bold",style:e.authorHexAccentColor?{color:e.authorHexAccentColor}:{},children:e.authorDisplayName}),":"," "]})]}),t.jsx("span",{className:"flex-1 overflow-ellipsis text-muted-foreground",children:e.messagePreview})]})]}),e.previewImageUrl?t.jsx("img",{src:e.previewImageUrl,alt:"",className:"h-28 w-28 rounded-lg object-cover"}):null]}),t.jsxs("div",{className:"flex justify-between",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("span",{children:l.length?t.jsx("ul",{className:"flex items-center gap-2",children:l.map((s,D)=>t.jsxs("li",{className:"flex items-center gap-1 rounded-md border border-blue-600 bg-blue-500/20 px-[5px] py-[0.5px] text-sm",children:[t.jsx("span",{className:"h-3 w-3 leading-3",children:t.jsx(he,{name:s.emojiName,url:s.emojiUrl})}),t.jsx("span",{children:s.count})]},D))}):null}),t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(te,{name:"Chat"})," ",e.messageCount]}),` · ${ae(e.lastUpdated).tz(c.timeZone).fromNow()}`]})]}),t.jsxs("span",{className:"flex items-center gap-4",children:[t.jsx("a",{href:e.link.replace(/^https/,"discord"),children:t.jsx(te,{name:"Discord"})}),t.jsx("a",{href:e.link,target:"_blank",rel:"noreferrer noopener",children:t.jsx(te,{name:"ExternalLink"})})]})]})]})})}function he({name:e,url:l}){return l?t.jsx("img",{src:l,alt:e,className:"h-full w-full"}):e||null}function Et({appInfo:e,inBrowserBrowserRef:l,problemAppName:c,allApps:s,isUpToDate:D}){return t.jsx(nt,{playgroundAppName:e==null?void 0:e.appName,problemAppName:c,allApps:s,isUpToDate:D,children:(e==null?void 0:e.dev.type)==="none"?t.jsxs("div",{children:[t.jsx("div",{className:"text-foreground-secondary flex h-full items-center justify-center text-2xl",children:"Non-UI playground"}),t.jsx("div",{children:t.jsxs("div",{className:"text-foreground-secondary flex flex-wrap gap-1 text-center",children:["Navigate to"," ",t.jsx(Ge,{content:e.fullPath,children:t.jsx("span",{className:"underline",onClick:()=>{navigator.clipboard.writeText(e.fullPath),tt.success("Copied playground path to clipboard")},children:"the playground directory"})})," ","in your editor and terminal to work on this exercise!"]})})]}):e?t.jsx(oe,{id:e.appName,appInfo:e,inBrowserBrowserRef:l}):t.jsxs("div",{className:"flex flex-col justify-center gap-2",children:[t.jsx("p",{children:"Please set the playground first"}),c?t.jsx(rt,{appName:c}):null]})})}const ue=["playground","problem","solution","tests","diff","chat"],Pt=e=>!!(e&&ue.includes(e));function _t(e,l,c){const s=new URLSearchParams(e);return c===null?s.delete(l):s.set(l,c),s}function cr(){var b,x,v,T,d,n;const e=le(),[l]=et(),c=l.get("preview"),s=F.useRef(null),D=ge(),C=Le();function m(o){var y,w,M;if(o==="tests")return ENV.EPICSHOP_DEPLOYED||!e.playground||e.playground.test.type==="none";if(o==="problem"||o==="solution"){if(((y=e[o])==null?void 0:y.dev.type)==="none")return!0;if(ENV.EPICSHOP_DEPLOYED)return((w=e[o])==null?void 0:w.dev.type)!=="browser"&&!((M=e[o])!=null&&M.stackBlitzUrl)}return!!(o==="playground"&&ENV.EPICSHOP_DEPLOYED)}const S=Pt(c)?c:ue.find(o=>!m(o)),h=`/diff?${new URLSearchParams({app1:((b=e.problem)==null?void 0:b.name)??"",app2:((x=e.solution)==null?void 0:x.name)??""})}`;function f(o){o.altKey&&!o.ctrlKey&&!o.shiftKey&&!o.metaKey&&(o.preventDefault(),C(h))}return t.jsxs($t,{className:"relative flex flex-col overflow-y-auto sm:col-span-1 sm:row-span-1",value:S,children:[t.jsx(bt,{className:"h-14 min-h-14 overflow-x-hidden border-b scrollbar-thin scrollbar-thumb-scrollbar",children:ue.map(o=>{const y=m(o);return t.jsx(wt,{value:o,hidden:y,asChild:!0,children:t.jsx($e,{id:`${o}-tab`,className:Be("clip-path-button relative h-full px-6 py-4 font-mono text-sm uppercase outline-none radix-state-active:z-10 radix-state-active:bg-foreground radix-state-active:text-background radix-state-active:hover:bg-foreground/80 radix-state-active:hover:text-background/80 radix-state-inactive:hover:bg-foreground/20 radix-state-inactive:hover:text-foreground/80 focus:bg-foreground/80 focus:text-background/80",y?"hidden":"inline-block"),preventScrollReset:!0,prefetch:"intent",onClick:f,to:o==="diff"&&D?h:`?${_t(l,"preview",o==="playground"?null:o)}`,children:o})},o)})}),t.jsxs("div",{className:"relative z-10 flex min-h-96 flex-grow flex-col overflow-y-auto",children:[t.jsx(W,{value:"playground",className:"flex w-full flex-grow items-center justify-center self-start radix-state-inactive:hidden",children:t.jsx(Et,{appInfo:e.playground,problemAppName:(v=e.problem)==null?void 0:v.name,inBrowserBrowserRef:s,allApps:e.allApps,isUpToDate:((T=e.playground)==null?void 0:T.isUpToDate)??!1})}),t.jsx(W,{value:"problem",className:"flex w-full flex-grow items-center justify-center self-start radix-state-inactive:hidden",children:t.jsx(oe,{appInfo:e.problem,inBrowserBrowserRef:s})}),t.jsx(W,{value:"solution",className:"flex w-full flex-grow items-center justify-center self-start radix-state-inactive:hidden",children:t.jsx(oe,{appInfo:e.solution,inBrowserBrowserRef:s})}),t.jsx(W,{value:"tests",className:"flex w-full flex-grow items-start justify-center self-start overflow-hidden radix-state-inactive:hidden",children:t.jsx(st,{appInfo:e.playground,problemAppName:(d=e.problem)==null?void 0:d.name,allApps:e.allApps,isUpToDate:((n=e.playground)==null?void 0:n.isUpToDate)??!1})}),t.jsx(W,{value:"diff",className:"flex h-full w-full flex-grow items-start justify-center self-start radix-state-inactive:hidden",children:t.jsx(Ve,{diff:e.diff,allApps:e.allApps})}),t.jsx(W,{value:"chat",className:"flex h-full w-full flex-grow items-start justify-center self-start radix-state-inactive:hidden",children:t.jsx(Ct,{})})]})]})}function ur(){return t.jsx(Ze,{statusHandlers:{404:()=>t.jsx("p",{children:"Sorry, we couldn't find an app here."})}})}export{ur as ErrorBoundary,cr as default};
|
|
2
|
+
//# sourceMappingURL=index-c5oITeyN.js.map
|