@epic-web/workshop-app 4.12.0 → 4.12.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-DN5AsSNn.js → _exerciseNumber-DTITDRGx.js} +2 -2
- package/build/client/assets/{_exerciseNumber-DN5AsSNn.js.map → _exerciseNumber-DTITDRGx.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_.finished-W3hcmvgu.js → _exerciseNumber_.finished-gEWcHsfL.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-W3hcmvgu.js.map → _exerciseNumber_.finished-gEWcHsfL.js.map} +1 -1
- package/build/client/assets/{_layout-qyqfsEt3.js → _layout-Bn9QhWq9.js} +2 -2
- package/build/client/assets/{_layout-qyqfsEt3.js.map → _layout-Bn9QhWq9.js.map} +1 -1
- package/build/client/assets/{_layout-CLLcE4oc.js → _layout-dHX2Hcew.js} +2 -2
- package/build/client/assets/{_layout-CLLcE4oc.js.map → _layout-dHX2Hcew.js.map} +1 -1
- package/build/client/assets/{diff-DczVYWk4.js → diff-Bd9WnUnR.js} +2 -2
- package/build/client/assets/{diff-DczVYWk4.js.map → diff-Bd9WnUnR.js.map} +1 -1
- package/build/client/assets/{diff-hpVBklM0.js → diff-CpG96hGZ.js} +2 -2
- package/build/client/assets/{diff-hpVBklM0.js.map → diff-CpG96hGZ.js.map} +1 -1
- package/build/client/assets/{epic-video--ydmGfR4.js → epic-video-DJN9_SUj.js} +2 -2
- package/build/client/assets/{epic-video--ydmGfR4.js.map → epic-video-DJN9_SUj.js.map} +1 -1
- package/build/client/assets/{finished-3FuL-PiH.js → finished-B9qjUR4B.js} +2 -2
- package/build/client/assets/{finished-3FuL-PiH.js.map → finished-B9qjUR4B.js.map} +1 -1
- package/build/client/assets/{index-DCO6tIXL.js → index-6edM1tdB.js} +2 -2
- package/build/client/assets/{index-DCO6tIXL.js.map → index-6edM1tdB.js.map} +1 -1
- package/build/client/assets/{index-DMhFsRrG.js → index-yEAxvbDV.js} +2 -2
- package/build/client/assets/{index-DMhFsRrG.js.map → index-yEAxvbDV.js.map} +1 -1
- package/build/client/assets/{manifest-b955f6ee.js → manifest-d58796c3.js} +1 -1
- package/build/client/assets/{mdx-DF11h1m-.js → mdx-BENF-kTQ.js} +2 -2
- package/build/client/assets/{mdx-DF11h1m-.js.map → mdx-BENF-kTQ.js.map} +1 -1
- package/build/client/assets/{onboarding-CBm-xBhv.js → onboarding-FD1FkQuu.js} +2 -2
- package/build/client/assets/{onboarding-CBm-xBhv.js.map → onboarding-FD1FkQuu.js.map} +1 -1
- package/build/client/assets/{root-CW5sLiRQ.js → root-BvoAKOBJ.js} +2 -2
- package/build/client/assets/{root-CW5sLiRQ.js.map → root-BvoAKOBJ.js.map} +1 -1
- package/build/server/index.js +4 -3
- package/build/server/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e,r as t}from"./index-Czg1ruVn.js";import{E as l}from"./index-D6ukHE4T.js";import{E as n}from"./epic-video
|
|
2
|
-
//# sourceMappingURL=finished-
|
|
1
|
+
import{j as e,r as t}from"./index-Czg1ruVn.js";import{E as l}from"./index-D6ukHE4T.js";import{E as n}from"./epic-video-DJN9_SUj.js";import{L as a}from"./loading-B0uKxERz.js";import{N as d}from"./nav-chevrons-DaXg0NPS.js";import{M as c,E as m}from"./mdx-BENF-kTQ.js";import{c as p}from"./misc-S5ZD98sI.js";import{g as f}from"./seo-pBpFCWsy.js";import{P as h}from"./progress-BwanvUpB.js";import{u as x,L as u}from"./components-wgHiPsTg.js";import"./index-yEAxvbDV.js";import"./request-info-DHtGM4FI.js";import"./tooltip-BtzSIxlB.js";import"./client-hints-DLYDs4RF.js";import"./user-CdUDQ7a8.js";import"./clsx-B-dksMZM.js";import"./progress-bar-wMXWRGq0.js";const q=({matches:s})=>{var o;const r=(o=s.find(i=>i.id==="root"))==null?void 0:o.data;return r?f({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}):[]},j={h1:()=>null};function R(){const s=x();return 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(u,{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(c,{code:s.finishedCode,components:j})})}):"No finished instructions yet..."}),e.jsx(l,{elementQuery:`#${s.articleId}`}),e.jsx(h,{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(m,{file:s.workshopFinished.file,relativePath:s.workshopFinished.relativePath}):null,e.jsx(d,{prev:s.prevStepLink,next:{to:"/"}})]})]}),e.jsx(b,{workshopTitle:s.workshopTitle,workshopFormEmbedUrl:s.workshopFormEmbedUrl})]})})}function b({workshopTitle:s,workshopFormEmbedUrl:r}){const[o,i]=t.useState(!1);return e.jsxs("div",{className:"relative flex-shrink-0",children:[o?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:()=>i(!0),onError:()=>i(!0),title:"Elaboration",src:r,className:p("absolute inset-0 flex h-full w-full transition-opacity duration-300",o?"opacity-100":"opacity-0")})]})}export{R as default,q as meta};
|
|
2
|
+
//# sourceMappingURL=finished-B9qjUR4B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finished-3FuL-PiH.js","sources":["../../../app/routes/_app+/finished.tsx"],"sourcesContent":["import { ElementScrollRestoration } from '@epic-web/restore-scroll'\nimport {\n\tgetExercises,\n\tgetWorkshopFinished,\n\tgetWorkshopRoot,\n\tgetWorkshopTitle,\n} from '@epic-web/workshop-utils/apps.server'\nimport {\n\tcombineServerTimings,\n\tgetServerTimeHeader,\n\tmakeTimings,\n\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport { getPkgProp } from '@epic-web/workshop-utils/utils.server'\nimport {\n\tdefer,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\ttype MetaFunction,\n} from '@remix-run/node'\nimport { Link, useLoaderData } from '@remix-run/react'\nimport slugify from '@sindresorhus/slugify'\nimport * as React from 'react'\nimport { EpicVideoInfoProvider } from '#app/components/epic-video.tsx'\nimport { Loading } from '#app/components/loading.tsx'\nimport { NavChevrons } from '#app/components/nav-chevrons.tsx'\nimport { type loader as rootLoader } from '#app/root.tsx'\nimport { getEpicVideoInfos } from '#app/utils/epic-api.ts'\nimport { Mdx } from '#app/utils/mdx.tsx'\nimport { cn } from '#app/utils/misc.tsx'\nimport { getSeoMetaTags } from '#app/utils/seo.js'\nimport { EditFileOnGitHub } from '../launch-editor.tsx'\nimport { ProgressToggle } from '../progress.tsx'\n\nexport const meta: MetaFunction<typeof loader, { root: typeof rootLoader }> = ({\n\tmatches,\n}) => {\n\tconst rootData = matches.find((m) => m.id === 'root')?.data\n\tif (!rootData) return []\n\n\treturn getSeoMetaTags({\n\t\ttitle: `🎉 ${rootData?.workshopTitle}`,\n\t\tdescription: `Elaboration for ${rootData?.workshopTitle}`,\n\t\togTitle: `Finished ${rootData?.workshopTitle}`,\n\t\togDescription: `You finished! Time to submit feedback.`,\n\t\tinstructor: rootData.instructor,\n\t\trequestInfo: rootData.requestInfo,\n\t})\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('finishedLoader')\n\tconst exercises = await getExercises({ request, timings })\n\tconst compiledFinished = await time(() => getWorkshopFinished({ request }), {\n\t\ttimings,\n\t\ttype: 'compileMdx',\n\t\tdesc: 'compileMdx in finished',\n\t})\n\n\tconst lastExercises = exercises[exercises.length - 1]\n\tconst workshopTitle = await getWorkshopTitle()\n\tconst workshopRoot = getWorkshopRoot()\n\tconst workshopFormTemplate = await getPkgProp(\n\t\tworkshopRoot,\n\t\t'epicshop.forms.workshop',\n\t\t'https://docs.google.com/forms/d/e/1FAIpQLSdRmj9p8-5zyoqRzxp3UpqSbC3aFkweXvvJIKes0a5s894gzg/viewform?hl=en&embedded=true&entry.2123647600={workshopTitle}',\n\t)\n\tconst workshopFormEmbedUrl = workshopFormTemplate.replace(\n\t\t'{workshopTitle}',\n\t\tencodeURIComponent(workshopTitle),\n\t)\n\treturn defer(\n\t\t{\n\t\t\tarticleId: `workshop-${slugify(workshopTitle)}-finished`,\n\t\t\tworkshopTitle,\n\t\t\tworkshopFormEmbedUrl,\n\t\t\tfinishedCode:\n\t\t\t\tcompiledFinished.compiled.status === 'success'\n\t\t\t\t\t? compiledFinished.compiled.code\n\t\t\t\t\t: null,\n\t\t\tepicVideoInfosPromise:\n\t\t\t\tcompiledFinished.compiled.status === 'success'\n\t\t\t\t\t? getEpicVideoInfos(compiledFinished.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\tworkshopFinished: {\n\t\t\t\tstatus: compiledFinished.compiled.status,\n\t\t\t\tfile: compiledFinished.file,\n\t\t\t\trelativePath: compiledFinished.relativePath,\n\t\t\t},\n\t\t\tprevStepLink: lastExercises\n\t\t\t\t? {\n\t\t\t\t\t\tto: `/${lastExercises.exerciseNumber}/finished`,\n\t\t\t\t\t}\n\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\nconst mdxComponents = { h1: () => null }\n\nexport default function ExerciseFinished() {\n\tconst data = useLoaderData<typeof loader>()\n\treturn (\n\t\t<div className=\"flex h-full flex-grow flex-col\">\n\t\t\t<main className=\"grid h-full flex-grow grid-cols-1 grid-rows-2 lg:grid-cols-2 lg:grid-rows-1\">\n\t\t\t\t<div className=\"relative col-span-1 row-span-1 flex h-full flex-col lg:border-r\">\n\t\t\t\t\t<h1 className=\"h-14 border-b pl-10 pr-5 text-sm font-medium uppercase leading-none\">\n\t\t\t\t\t\t<div className=\"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-start gap-x-2\">\n\t\t\t\t\t\t\t\t<Link to=\"/\" className=\"hover:underline\">\n\t\t\t\t\t\t\t\t\t{data.workshopTitle}\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t<span>/</span>\n\t\t\t\t\t\t\t\t<span>Elaboration</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</h1>\n\t\t\t\t\t<article\n\t\t\t\t\t\tclassName=\"shadow-on-scrollbox h-full w-full max-w-none flex-1 scroll-pt-6 space-y-6 overflow-y-auto p-2 scrollbar-thin scrollbar-thumb-scrollbar sm:p-10 sm:pt-8\"\n\t\t\t\t\t\tid={data.articleId}\n\t\t\t\t\t>\n\t\t\t\t\t\t{data.finishedCode ? (\n\t\t\t\t\t\t\t<EpicVideoInfoProvider\n\t\t\t\t\t\t\t\tepicVideoInfosPromise={data.epicVideoInfosPromise}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"prose dark:prose-invert sm:prose-lg\">\n\t\t\t\t\t\t\t\t\t<Mdx code={data.finishedCode} components={mdxComponents} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</EpicVideoInfoProvider>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t// TODO: render a random dad joke...\n\t\t\t\t\t\t\t'No finished instructions yet...'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</article>\n\t\t\t\t\t<ElementScrollRestoration elementQuery={`#${data.articleId}`} />\n\t\t\t\t\t<ProgressToggle\n\t\t\t\t\t\ttype=\"workshop-finished\"\n\t\t\t\t\t\tclassName=\"h-14 border-t px-6\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"flex h-16 justify-between border-b-4 border-t lg:border-b-0\">\n\t\t\t\t\t\t<div />\n\t\t\t\t\t\t{data.workshopFinished.status === 'success' ? (\n\t\t\t\t\t\t\t<EditFileOnGitHub\n\t\t\t\t\t\t\t\tfile={data.workshopFinished.file}\n\t\t\t\t\t\t\t\trelativePath={data.workshopFinished.relativePath}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<NavChevrons prev={data.prevStepLink} next={{ to: '/' }} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<Survey\n\t\t\t\t\tworkshopTitle={data.workshopTitle}\n\t\t\t\t\tworkshopFormEmbedUrl={data.workshopFormEmbedUrl}\n\t\t\t\t/>\n\t\t\t</main>\n\t\t</div>\n\t)\n}\n\nfunction Survey({\n\tworkshopTitle,\n\tworkshopFormEmbedUrl,\n}: {\n\tworkshopTitle: string\n\tworkshopFormEmbedUrl: string\n}) {\n\tconst [iframeLoaded, setIframeLoaded] = React.useState(false)\n\treturn (\n\t\t<div className=\"relative flex-shrink-0\">\n\t\t\t{!iframeLoaded ? (\n\t\t\t\t<div className=\"absolute inset-0 z-10 flex items-center justify-center\">\n\t\t\t\t\t<Loading>\n\t\t\t\t\t\t<span>Loading {workshopTitle} Elaboration form</span>\n\t\t\t\t\t</Loading>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<iframe\n\t\t\t\tonLoad={() => setIframeLoaded(true)}\n\t\t\t\t// show what would have shown if there is an error\n\t\t\t\tonError={() => setIframeLoaded(true)}\n\t\t\t\ttitle=\"Elaboration\"\n\t\t\t\tsrc={workshopFormEmbedUrl}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute inset-0 flex h-full w-full transition-opacity duration-300',\n\t\t\t\t\tiframeLoaded ? 'opacity-100' : 'opacity-0',\n\t\t\t\t)}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n"],"names":["meta","matches","rootData","find","m","id","data","getSeoMetaTags","title","workshopTitle","description","ogTitle","ogDescription","instructor","requestInfo","mdxComponents","h1","ExerciseFinished","useLoaderData","className","children","jsxs","jsx","Link","to","articleId","finishedCode","EpicVideoInfoProvider","epicVideoInfosPromise","Mdx","code","components","ElementScrollRestoration","elementQuery","ProgressToggle","type","workshopFinished","status","EditFileOnGitHub","file","relativePath","NavChevrons","prev","prevStepLink","next","Survey","workshopFormEmbedUrl","iframeLoaded","setIframeLoaded","React","Loading","onLoad","onError","src","cn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"finished-B9qjUR4B.js","sources":["../../../app/routes/_app+/finished.tsx"],"sourcesContent":["import { ElementScrollRestoration } from '@epic-web/restore-scroll'\nimport {\n\tgetExercises,\n\tgetWorkshopFinished,\n\tgetWorkshopRoot,\n\tgetWorkshopTitle,\n} from '@epic-web/workshop-utils/apps.server'\nimport {\n\tcombineServerTimings,\n\tgetServerTimeHeader,\n\tmakeTimings,\n\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport { getPkgProp } from '@epic-web/workshop-utils/utils.server'\nimport {\n\tdefer,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\ttype MetaFunction,\n} from '@remix-run/node'\nimport { Link, useLoaderData } from '@remix-run/react'\nimport slugify from '@sindresorhus/slugify'\nimport * as React from 'react'\nimport { EpicVideoInfoProvider } from '#app/components/epic-video.tsx'\nimport { Loading } from '#app/components/loading.tsx'\nimport { NavChevrons } from '#app/components/nav-chevrons.tsx'\nimport { type loader as rootLoader } from '#app/root.tsx'\nimport { getEpicVideoInfos } from '#app/utils/epic-api.ts'\nimport { Mdx } from '#app/utils/mdx.tsx'\nimport { cn } from '#app/utils/misc.tsx'\nimport { getSeoMetaTags } from '#app/utils/seo.js'\nimport { EditFileOnGitHub } from '../launch-editor.tsx'\nimport { ProgressToggle } from '../progress.tsx'\n\nexport const meta: MetaFunction<typeof loader, { root: typeof rootLoader }> = ({\n\tmatches,\n}) => {\n\tconst rootData = matches.find((m) => m.id === 'root')?.data\n\tif (!rootData) return []\n\n\treturn getSeoMetaTags({\n\t\ttitle: `🎉 ${rootData?.workshopTitle}`,\n\t\tdescription: `Elaboration for ${rootData?.workshopTitle}`,\n\t\togTitle: `Finished ${rootData?.workshopTitle}`,\n\t\togDescription: `You finished! Time to submit feedback.`,\n\t\tinstructor: rootData.instructor,\n\t\trequestInfo: rootData.requestInfo,\n\t})\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('finishedLoader')\n\tconst exercises = await getExercises({ request, timings })\n\tconst compiledFinished = await time(() => getWorkshopFinished({ request }), {\n\t\ttimings,\n\t\ttype: 'compileMdx',\n\t\tdesc: 'compileMdx in finished',\n\t})\n\n\tconst lastExercises = exercises[exercises.length - 1]\n\tconst workshopTitle = await getWorkshopTitle()\n\tconst workshopRoot = getWorkshopRoot()\n\tconst workshopFormTemplate = await getPkgProp(\n\t\tworkshopRoot,\n\t\t'epicshop.forms.workshop',\n\t\t'https://docs.google.com/forms/d/e/1FAIpQLSdRmj9p8-5zyoqRzxp3UpqSbC3aFkweXvvJIKes0a5s894gzg/viewform?hl=en&embedded=true&entry.2123647600={workshopTitle}',\n\t)\n\tconst workshopFormEmbedUrl = workshopFormTemplate.replace(\n\t\t'{workshopTitle}',\n\t\tencodeURIComponent(workshopTitle),\n\t)\n\treturn defer(\n\t\t{\n\t\t\tarticleId: `workshop-${slugify(workshopTitle)}-finished`,\n\t\t\tworkshopTitle,\n\t\t\tworkshopFormEmbedUrl,\n\t\t\tfinishedCode:\n\t\t\t\tcompiledFinished.compiled.status === 'success'\n\t\t\t\t\t? compiledFinished.compiled.code\n\t\t\t\t\t: null,\n\t\t\tepicVideoInfosPromise:\n\t\t\t\tcompiledFinished.compiled.status === 'success'\n\t\t\t\t\t? getEpicVideoInfos(compiledFinished.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\tworkshopFinished: {\n\t\t\t\tstatus: compiledFinished.compiled.status,\n\t\t\t\tfile: compiledFinished.file,\n\t\t\t\trelativePath: compiledFinished.relativePath,\n\t\t\t},\n\t\t\tprevStepLink: lastExercises\n\t\t\t\t? {\n\t\t\t\t\t\tto: `/${lastExercises.exerciseNumber}/finished`,\n\t\t\t\t\t}\n\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\nconst mdxComponents = { h1: () => null }\n\nexport default function ExerciseFinished() {\n\tconst data = useLoaderData<typeof loader>()\n\treturn (\n\t\t<div className=\"flex h-full flex-grow flex-col\">\n\t\t\t<main className=\"grid h-full flex-grow grid-cols-1 grid-rows-2 lg:grid-cols-2 lg:grid-rows-1\">\n\t\t\t\t<div className=\"relative col-span-1 row-span-1 flex h-full flex-col lg:border-r\">\n\t\t\t\t\t<h1 className=\"h-14 border-b pl-10 pr-5 text-sm font-medium uppercase leading-none\">\n\t\t\t\t\t\t<div className=\"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-start gap-x-2\">\n\t\t\t\t\t\t\t\t<Link to=\"/\" className=\"hover:underline\">\n\t\t\t\t\t\t\t\t\t{data.workshopTitle}\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t<span>/</span>\n\t\t\t\t\t\t\t\t<span>Elaboration</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</h1>\n\t\t\t\t\t<article\n\t\t\t\t\t\tclassName=\"shadow-on-scrollbox h-full w-full max-w-none flex-1 scroll-pt-6 space-y-6 overflow-y-auto p-2 scrollbar-thin scrollbar-thumb-scrollbar sm:p-10 sm:pt-8\"\n\t\t\t\t\t\tid={data.articleId}\n\t\t\t\t\t>\n\t\t\t\t\t\t{data.finishedCode ? (\n\t\t\t\t\t\t\t<EpicVideoInfoProvider\n\t\t\t\t\t\t\t\tepicVideoInfosPromise={data.epicVideoInfosPromise}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"prose dark:prose-invert sm:prose-lg\">\n\t\t\t\t\t\t\t\t\t<Mdx code={data.finishedCode} components={mdxComponents} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</EpicVideoInfoProvider>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t// TODO: render a random dad joke...\n\t\t\t\t\t\t\t'No finished instructions yet...'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</article>\n\t\t\t\t\t<ElementScrollRestoration elementQuery={`#${data.articleId}`} />\n\t\t\t\t\t<ProgressToggle\n\t\t\t\t\t\ttype=\"workshop-finished\"\n\t\t\t\t\t\tclassName=\"h-14 border-t px-6\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"flex h-16 justify-between border-b-4 border-t lg:border-b-0\">\n\t\t\t\t\t\t<div />\n\t\t\t\t\t\t{data.workshopFinished.status === 'success' ? (\n\t\t\t\t\t\t\t<EditFileOnGitHub\n\t\t\t\t\t\t\t\tfile={data.workshopFinished.file}\n\t\t\t\t\t\t\t\trelativePath={data.workshopFinished.relativePath}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<NavChevrons prev={data.prevStepLink} next={{ to: '/' }} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<Survey\n\t\t\t\t\tworkshopTitle={data.workshopTitle}\n\t\t\t\t\tworkshopFormEmbedUrl={data.workshopFormEmbedUrl}\n\t\t\t\t/>\n\t\t\t</main>\n\t\t</div>\n\t)\n}\n\nfunction Survey({\n\tworkshopTitle,\n\tworkshopFormEmbedUrl,\n}: {\n\tworkshopTitle: string\n\tworkshopFormEmbedUrl: string\n}) {\n\tconst [iframeLoaded, setIframeLoaded] = React.useState(false)\n\treturn (\n\t\t<div className=\"relative flex-shrink-0\">\n\t\t\t{!iframeLoaded ? (\n\t\t\t\t<div className=\"absolute inset-0 z-10 flex items-center justify-center\">\n\t\t\t\t\t<Loading>\n\t\t\t\t\t\t<span>Loading {workshopTitle} Elaboration form</span>\n\t\t\t\t\t</Loading>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<iframe\n\t\t\t\tonLoad={() => setIframeLoaded(true)}\n\t\t\t\t// show what would have shown if there is an error\n\t\t\t\tonError={() => setIframeLoaded(true)}\n\t\t\t\ttitle=\"Elaboration\"\n\t\t\t\tsrc={workshopFormEmbedUrl}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute inset-0 flex h-full w-full transition-opacity duration-300',\n\t\t\t\t\tiframeLoaded ? 'opacity-100' : 'opacity-0',\n\t\t\t\t)}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n"],"names":["meta","matches","rootData","find","m","id","data","getSeoMetaTags","title","workshopTitle","description","ogTitle","ogDescription","instructor","requestInfo","mdxComponents","h1","ExerciseFinished","useLoaderData","className","children","jsxs","jsx","Link","to","articleId","finishedCode","EpicVideoInfoProvider","epicVideoInfosPromise","Mdx","code","components","ElementScrollRestoration","elementQuery","ProgressToggle","type","workshopFinished","status","EditFileOnGitHub","file","relativePath","NavChevrons","prev","prevStepLink","next","Survey","workshopFormEmbedUrl","iframeLoaded","setIframeLoaded","React","Loading","onLoad","onError","src","cn"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"./index-Czg1ruVn.js";import{E as t}from"./index-D6ukHE4T.js";import{E as a}from"./epic-video
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{j as e}from"./index-Czg1ruVn.js";import{E as t}from"./index-D6ukHE4T.js";import{E as a}from"./epic-video-DJN9_SUj.js";import{G as i}from"./error-boundary-BVTbN8PZ.js";import{M as l,E as m}from"./mdx-BENF-kTQ.js";import{c as n}from"./misc-S5ZD98sI.js";import{P as c,u as d}from"./progress-BwanvUpB.js";import{u as p,L as x}from"./components-wgHiPsTg.js";import"./index-yEAxvbDV.js";import"./request-info-DHtGM4FI.js";import"./tooltip-BtzSIxlB.js";import"./client-hints-DLYDs4RF.js";import"./loading-B0uKxERz.js";import"./user-CdUDQ7a8.js";import"./clsx-B-dksMZM.js";import"./progress-bar-wMXWRGq0.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 S(){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,8.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 V(){return e.jsx(i,{})}export{V as ErrorBoundary,S as default};
|
|
2
|
+
//# sourceMappingURL=index-6edM1tdB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-6edM1tdB.js","sources":["../../../app/routes/_app+/index.tsx"],"sourcesContent":["import { ElementScrollRestoration } from '@epic-web/restore-scroll'\nimport {\n\tgetExercises,\n\tgetWorkshopInstructions,\n\tgetWorkshopTitle,\n} from '@epic-web/workshop-utils/apps.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, exercises, workshopReadme] = await Promise.all([\n\t\ttime(() => getWorkshopTitle(), {\n\t\t\ttimings,\n\t\t\ttype: 'getWorkshopTitle',\n\t\t\tdesc: 'getWorkshopTitle in index',\n\t\t}),\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,8.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":"+lBAmFA,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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as I,j}from"./index-Czg1ruVn.js";import{a as A,Z as _e,b as Ce,c as Ue,d as Re,e as Me,f as $e,g as Be,h as Je,i as Ke,j as ze,k as qe,l as He,m as We,z as te,u as Ne}from"./request-info-DHtGM4FI.js";import{I as ne}from"./misc-S5ZD98sI.js";import{S as Ge}from"./tooltip-BtzSIxlB.js";import{u as Xe}from"./client-hints-DLYDs4RF.js";import{a as Qe,c as Ye}from"./components-wgHiPsTg.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){xe(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 xe(e,r,t){return r=rr(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function er(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 rr(e){var r=er(e,"string");return typeof r=="symbol"?r:String(r)}function tr(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,o)=>t[o]===a)}function k(e,r,t){for(var n=T(r),a=n.length,o=a-1,l=-1,i=e;i!=null&&++l<a;){var u=n[l],c=n[l+1],m=l!=o?Object.prototype.hasOwnProperty.call(i,u)&&i[u]!==null?i[u]:typeof c=="number"?[]:{}:t(i[u]);i[u]=m,i=i[u]}}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(Z(t)&&typeof n=="string")t=t[n];else if(Array.isArray(t)&&typeof n=="number")t=t[n];else return}return t}function Z(e){return!!e&&e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function nr(e){return typeof File>"u"?!1:e instanceof File}function M(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(Z(e)){var t=Object.keys(e).sort().reduce((n,a)=>{var o=M(e[a],r);return typeof o<"u"&&(n[a]=o),n},{});return Object.keys(t).length===0?void 0:t}if(Array.isArray(e))return e.length===0?void 0:e.map(n=>M(n,r));if(!(typeof e=="string"&&e===""||e===null||nr(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:i=>i;function o(i,u){var c=M(a(i));if(typeof c<"u"&&(n[u]=c),Array.isArray(i))for(var m=0;m<i.length;m++)o(i[m],"".concat(u,"[").concat(m,"]"));else if(Z(i))for(var[g,N]of Object.entries(i))o(N,u?"".concat(u,".").concat(g):g)}if(e){var l;o(e,(l=t.prefix)!==null&&l!==void 0?l:"")}return n}function ee(e,r){if(!e)throw new Error(r)}function $(){return(Date.now()*Math.random()).toString(36)}function J(e){return JSON.parse(JSON.stringify(e))}function ar(e){return e instanceof Element&&(e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"||e.tagName==="BUTTON")}function ae(e){return ar(e)&&e.type!=="submit"&&e.type!=="button"&&e.type!=="reset"}function ir(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 or(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 ur(e){var r,t,n=e.target,a=e.submitter,o=(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(o){case"POST":case"PUT":case"PATCH":case"DELETE":return o}return"GET"}function lr(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 K="__intent__",ie="__state__";function Ee(e){var r=e.get(K),t=e.get(ie);ee((typeof r=="string"||r===null)&&(typeof t=="string"||t===null),'The input name "'.concat(K,'" and "').concat(ie,'" are reserved by Conform. Please use another name for your input.'));var n={payload:{},fields:new Set,intent:fr(r)};t&&(n.state=JSON.parse(t));var a=function(u){if(o===K||o===ie)return 1;n.fields.add(o),k(n.payload,o,c=>c?Array.isArray(c)?c.concat(u):[c,u]:u)};for(var[o,l]of e.entries())a(l);return n}function sr(e,r){var t=Ee(e),n=t.intent;if(n)switch(n.type){case"update":{var a=z(n.payload.name,n.payload.index),o=n.payload.value;typeof n.payload.value<"u"&&(a?k(t.payload,a,()=>o):t.payload=o);break}case"reset":{var l=z(n.payload.name,n.payload.index);l?k(t.payload,l,()=>{}):t.payload={};break}case"insert":case"remove":case"reorder":{je(t.payload,n);break}}var i=r.resolve(t.payload,n),u=c=>dr(y(y({},t),{},{value:c.value,error:c.error}));return i instanceof Promise?i.then(u):u(i)}function dr(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 me(e,r)}}:{status:"success",payload:e.payload,value:e.value,reply(r){return me(e,r)}}}function me(e){var r,t,n,a,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if("resetForm"in o&&o.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 o&&o.hideFields)for(var l of o.hideFields){var i=x(e.payload,l);typeof i<"u"&&k(e.payload,l,()=>{})}var u="formErrors"in o||"fieldErrors"in o?M(y({"":(n=o.formErrors)!==null&&n!==void 0?n:null},o.fieldErrors)):null,c=e.error||u?y(y({},e.error),u):void 0;return{status:e.intent?void 0:c?"error":"success",intent:e.intent?e.intent:void 0,initialValue:(a=M(e.payload,typeof document<"u"))!==null&&a!==void 0?a:{},error:c,state:e.state,fields:Array.from(e.fields)}}function fr(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 cr(e){switch(e.type){case"insert":return JSON.stringify({type:e.type,payload:y(y({},e.payload),{},{defaultValue:q(e.payload.defaultValue)})});case"update":return JSON.stringify({type:e.type,payload:y(y({},e.payload),{},{value:q(e.payload.value)})});default:return JSON.stringify(e)}}function ue(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 je(e,r){k(e,r.payload.name,t=>{var n=t??[];return ue(n,r),n})}var le=Symbol.for("root");function Y(e,r,t){var n=Object.keys(e).sort((u,c)=>c.localeCompare(u)),a={},o=function(){var c=e[l];W(l,r)&&l!==r&&(k(a,l,m=>typeof m>"u"?c:(m[le]=c,m)),delete e[l])};for(var l of n)o();var i=t(x(a,r));Object.assign(e,de(i,{resolve(u){if(Z(u)||Array.isArray(u)){var c;return(c=u[le])!==null&&c!==void 0?c:null}return u},prefix:r}))}function ge(e,r,t){Y(e,r.payload.name,n=>{var a=n??[];switch(r.type){case"insert":ue(a,{type:r.type,payload:y(y({},r.payload),{},{defaultValue:t==null?void 0:t(r.payload.defaultValue)})});break;default:ue(a,r);break}return a})}function q(e){return Z(e)?Object.entries(e).reduce((r,t)=>{var[n,a]=t;return r[n]=q(a),r},{}):Array.isArray(e)?e.map(q):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,o,l,i=r?void 0:e.lastResult,u=e.defaultValue?q(e.defaultValue):{},c=(t=i==null?void 0:i.initialValue)!==null&&t!==void 0?t:u,m={formId:e.formId,isValueUpdated:!1,submissionStatus:i==null?void 0:i.status,defaultValue:u,initialValue:c,value:c,constraint:(n=e.constraint)!==null&&n!==void 0?n:{},validated:(a=i==null||(o=i.state)===null||o===void 0?void 0:o.validated)!==null&&a!==void 0?a:{},key:r?y({"":$()},H(u)):H(u),error:(l=i==null?void 0:i.error)!==null&&l!==void 0?l:{}};return Ie(m,i==null?void 0:i.intent,i==null?void 0:i.fields),m}function H(e,r){return Object.entries(de(e,{prefix:r})).reduce((t,n)=>{var[a,o]=n;if(Array.isArray(o))for(var l=0;l<o.length;l++)t[z(a,l)]=$();return t},{})}function he(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){he(e,t);return}switch(r.type){case"validate":{r.payload.name?e.validated[r.payload.name]=!0:he(e,t);break}case"update":{var{validated:o,value:l}=r.payload,i=z(r.payload.name,r.payload.index);typeof l<"u"&&Oe(e,i??"",l),typeof o<"u"&&(i?Y(e.validated,i,()=>{}):e.validated={},o?((Z(l)||Array.isArray(l))&&Object.assign(e.validated,de(l,{resolve(){return!0},prefix:i})),e.validated[i??""]=!0):i&&delete e.validated[i]);break}case"reset":{var u=z(r.payload.name,r.payload.index),c=x(e.defaultValue,u);Oe(e,u,c),u?(Y(e.validated,u,()=>{}),delete e.validated[u]):e.validated={};break}case"insert":case"remove":case"reorder":{n&&(e.initialValue=J(e.initialValue),e.key=J(e.key),ge(e.key,r,g=>!Array.isArray(g)&&!Z(g)?$():Object.assign(H(g),{[le]:$()})),je(e.initialValue,r)),ge(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[E,P]=N;return(e.validated[E]||m.some(V=>W(E,V)))&&(g[E]=P),g},{})}function Oe(e,r,t){if(r===""){e.initialValue=t,e.value=t,e.key=y(y({},H(t)),{},{"":$()});return}e.initialValue=J(e.initialValue),e.value=J(e.value),e.key=J(e.key),k(e.initialValue,r,()=>t),k(e.value,r,()=>t),(Z(t)||Array.isArray(t))&&(Y(e.key,r,()=>{}),Object.assign(e.key,H(t,r))),e.key[r]=$()}function G(e){var r={};return new Proxy(r,{get(t,n,a){var o;if(typeof n=="string")return(o=r[n])!==null&&o!==void 0?o:r[n]=e(n,a)}})}function oe(e){var r=M(e);return G((t,n)=>{if(t==="")return r;var a=T(t),o=_(a.slice(0,-1)),l=_(a.slice(-1)),i=n[o];return x(i,l)})}function vr(e){return G((r,t)=>{var n,a=e[r];if(!a){for(var o=T(r),l=o.length-1;l>=0;l--){var i=o[l];if(typeof i=="number"&&!Number.isNaN(i)){o[l]=Number.NaN;break}}var u=_(o);r!==u&&(a=t[u])}return(n=a)!==null&&n!==void 0?n:{}})}function pr(e){return G((r,t)=>{var n=e[r],a=T(r);if(a.length===0)return n;var o=t[_(a.slice(0,-1))];return typeof o>"u"?n:"".concat(o,"/").concat(n??a.at(-1))})}function yr(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 mr(e,r,t){return G(n=>JSON.stringify(e[n])!==JSON.stringify(r[n],(a,o)=>n===""&&a===""&&o?Object.entries(o).reduce((l,i)=>{var[u,c]=i;return t(u)?Object.assign(l??{},{[u]:c}):l},void 0):o))}function U(e,r,t,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:(E,P)=>JSON.stringify(E)!==JSON.stringify(P);if(n&&e!==r){var o,l,i=(o=n.prefix)!==null&&o!==void 0?o:[],u=(l=n.name)!==null&&l!==void 0?l:[],c=i.length===0?u:Array.from(new Set([...Object.keys(e),...Object.keys(r)])),m=function(P){if(i.length===0||u.includes(P)||i.some(B=>W(P,B))){var V;if((V=t[P])!==null&&V!==void 0||(t[P]=a(e[P],r[P])),t[P])return{v:!0}}},g;for(var N of c)if(g=m(N),g)return g.v}return!1}function gr(e){var r=[],t=e,n=be(e),a=l(n);function o(){return document.forms.namedItem(t.formId)}function l(s){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s,d=arguments.length>2?arguments[2]:void 0,v=!d||f.defaultValue!==s.defaultValue?oe(s.defaultValue):d.defaultValue,h=s.initialValue===s.defaultValue?v:!d||f.initialValue!==s.initialValue?oe(s.initialValue):d.initialValue,b=s.value===s.initialValue?h:!d||f.value!==s.value?oe(s.value):d.value;return{submissionStatus:s.submissionStatus,defaultValue:v,initialValue:h,value:b,error:!d||f.error!==s.error?s.error:d.error,validated:s.validated,constraint:!d||f.constraint!==s.constraint?vr(s.constraint):d.constraint,key:!d||f.key!==s.key?pr(s.key):d.key,valid:!d||f.error!==s.error?yr(s.error):d.valid,dirty:!d||f.defaultValue!==s.defaultValue||f.value!==s.value?mr(v,b,O=>{var w,L;return(w=(L=t.shouldDirtyConsider)===null||L===void 0?void 0:L.call(t,O))!==null&&w!==void 0?w:!0}):d.dirty}}function i(s){var f=n,d=a,v=l(s,f,d);n=s,a=v;var h={value:{},error:{},initialValue:{},key:{},valid:{},dirty:{}};for(var b of r){var O,w=(O=b.getSubject)===null||O===void 0?void 0:O.call(b);(!w||w.formId&&f.formId!==s.formId||w.status&&d.submissionStatus!==v.submissionStatus||U(d.error,v.error,h.error,w.error)||U(d.initialValue,v.initialValue,h.initialValue,w.initialValue)||U(d.key,v.key,h.key,w.key,(L,X)=>L!==X)||U(d.valid,v.valid,h.valid,w.valid,u)||U(d.dirty,v.dirty,h.dirty,w.dirty,u)||U(d.value,v.value,h.value,w.value))&&b.callback()}}function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return s!==f}function c(){return JSON.stringify({validated:n.validated})}function m(s){var f=s.target,d=s.submitter;ee(f===o(),"The submit event is dispatched by form#".concat(f.id," instead of form#").concat(t.formId));var v=tr(f,d),h={formData:v,action:ir(s),encType:or(s),method:ur(s)};if(typeof(t==null?void 0:t.onValidate)>"u")return h;var b=t.onValidate({form:f,formData:v,submitter:d});if(b.status==="success"||b.error!==null){var O=b.reply();fe(y(y({},O),{},{status:O.status!=="success"?O.status:void 0}))}return y(y({},h),{},{submission:b})}function g(s){var f=o(),d=s.target;return!f||!ae(d)||d.form!==f||!d.form.isConnected||d.name===""?null:d}function N(s,f){var{shouldValidate:d="onSubmit",shouldRevalidate:v=d}=t,h=n.validated[s.name];return h?v===f&&(f==="onInput"||n.isValueUpdated):d===f}function E(s){var f=new FormData(s),d=Ee(f);i(y(y({},n),{},{isValueUpdated:!0,value:d.payload}))}function P(s){var f=g(s);!f||!f.form||(s.defaultPrevented||!N(f,"onInput")?E(f.form):re({type:"validate",payload:{name:f.name}}))}function V(s){var f=g(s);!f||s.defaultPrevented||!N(f,"onBlur")||re({type:"validate",payload:{name:f.name}})}function B(){i(be(t,!0))}function Te(s){var f=o();s.type!=="reset"||s.target!==f||s.defaultPrevented||B()}function fe(s){var f,d,v=o();if(!s.initialValue){B();return}var h=Object.entries((f=s.error)!==null&&f!==void 0?f:{}).reduce((w,L)=>{var[X,ve]=L,pe=ve===null?n.error[X]:ve;return pe&&(w[X]=pe),w},{}),b=y(y({},n),{},{isValueUpdated:!1,submissionStatus:s.status,value:s.initialValue,validated:y(y({},n.validated),(d=s.state)===null||d===void 0?void 0:d.validated),error:h});if(Ie(b,s.intent,s.fields,!0),i(b),v&&s.status==="error"){for(var O of v.elements)if(ae(O)&&n.error[O.name]){O.focus();break}}}function De(s){var f=t.formId,d=t.lastResult;Object.assign(t,s),t.formId!==f?B():s.lastResult&&s.lastResult!==d&&fe(s.lastResult)}function ke(s,f){var d={callback:s,getSubject:f};return r.push(d),()=>{r=r.filter(v=>v!==d)}}function Ze(){return a}function re(s){var f=o(),d=document.createElement("button"),v=ce(s);d.name=v.name,d.value=v.value,d.hidden=!0,d.formNoValidate=!0,f==null||f.appendChild(d),lr(f,d),f==null||f.removeChild(d)}function ce(s){return{name:K,value:cr(s),form:t.formId,formNoValidate:!0}}function C(s){var f=function(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return re({type:s,payload:v})};return Object.assign(f,{getButtonProps(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ce({type:s,payload:d})}})}function Le(){var s=new MutationObserver(f=>{var d=o();if(d)for(var v of f){var h=v.type==="childList"?[...v.addedNodes,...v.removedNodes]:[v.target];for(var b of h){var O=ae(b)?b:b instanceof HTMLElement?b.querySelector("input,select,textarea"):null;if((O==null?void 0:O.form)===d){E(d);return}}}});return s.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["form","name"]}),()=>{s.disconnect()}}return{getFormId(){return n.formId},submit:m,onReset:Te,onInput:P,onBlur:V,onUpdate:De,validate:C("validate"),reset:C("reset"),update:C("update"),insert:C("insert"),remove:C("remove"),reorder:C("reorder"),subscribe:ke,getState:Ze,getSerializedState:c,observe:Le}}function Se(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 F(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Se(Object(t),!0).forEach(function(n){br(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Se(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function br(e,r,t){return r=wr(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function hr(e,r){if(e==null)return{};var t={},n=Object.keys(e),a,o;for(o=0;o<n.length;o++)a=n[o],!(r.indexOf(a)>=0)&&(t[a]=e[a]);return t}function Or(e,r){if(e==null)return{};var t=hr(e,r),n,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],!(r.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}function Sr(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 wr(e){var r=Sr(e,"string");return typeof r=="symbol"?r:String(r)}var Pr=Symbol("wrapped");function Nr(e,r){var t=I.useCallback(n=>e.subscribe(n,()=>r==null?void 0:r.current),[e,r]);return I.useSyncExternalStore(t,e.getState,e.getState)}function Er(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=I.useRef(e);return r.current=e,r}function R(e,r,t,n){if(r==="status"||r==="formId")e.current[r]=!0;else if(typeof t<"u"&&typeof n<"u"){var a,o;e.current[r]=F(F({},e.current[r]),{},{[t]:((a=(o=e.current[r])===null||o===void 0?void 0:o[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(),o=e.getState();return new Proxy({id:a,name:n,errorId:"".concat(a,"-error"),descriptionId:"".concat(a,"-description"),get initialValue(){return o.initialValue[n]},get value(){return o.value[n]},get errors(){return o.error[n]},get key(){return o.key[n]},get valid(){return o.valid[n]},get dirty(){return o.dirty[n]},get allErrors(){if(n==="")return o.error;var l={};for(var[i,u]of Object.entries(o.error))W(i,n)&&(l[i]=u);return l},get getFieldset(){return()=>new Proxy({},{get(l,i,u){return typeof i=="string"?Ae(e,r,t,n,i):Reflect.get(l,i,u)}})}},{get(l,i,u){if(o===t)switch(i){case"id":case"errorId":case"descriptionId":R(r,"formId");break;case"key":case"initialValue":case"value":case"valid":case"dirty":R(r,i,"name",n);break;case"errors":case"allErrors":R(r,"error",i==="errors"?"name":"prefix",n);break}return Reflect.get(l,i,u)}})}function Ae(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",a=arguments.length>4?arguments[4]:void 0,o=typeof a>"u"?n:_([...T(n),a]);return new Proxy({},{get(l,i,u){var c,m=Ve(e,r,t,o),g=e.getState();switch(i){case"formId":return g===t&&R(r,"formId"),e.getFormId();case"required":case"minLength":case"maxLength":case"min":case"max":case"pattern":case"step":case"multiple":return(c=g.constraint[o])===null||c===void 0?void 0:c[i];case"getFieldList":return()=>{var N,E=(N=g.initialValue[o])!==null&&N!==void 0?N:[];if(g===t&&R(r,"initialValue","name",o),!Array.isArray(E))throw new Error("The initial value at the given name is not a list");return Array(E.length).fill(0).map((P,V)=>Ae(e,r,t,o,V))}}return Reflect.get(m,i,u)}})}function jr(e,r,t,n){return new Proxy({},{get(a,o,l){var i=Ve(e,r,t),u=e.getState();switch(o){case"context":return{[Pr]:e};case"status":return u===t&&R(r,"status"),u.submissionStatus;case"validate":case"update":case"reset":case"insert":case"remove":case"reorder":return e[o];case"onSubmit":return e.submit;case"noValidate":return n}return Reflect.get(i,o,l)}})}function Ir(e){var{onSubmit:r}=e,t=gr(e);return F(F({},t),{},{submit(n){var a=n.nativeEvent,o=t.submit(a);if(!o.submission||o.submission.status==="success"||o.submission.error===null){if(!o.formData.has(K)){var l;(l=r)===null||l===void 0||l(n,o)}}else n.preventDefault()},onUpdate(n){r=n.onSubmit,t.onUpdate(n)}})}var Vr=["id"],se=typeof document>"u"?I.useEffect:I.useLayoutEffect;function Ar(e){var r=I.useId();return e??r}function Fr(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,[r,t]=I.useState(e);return se(()=>{r||t(!0)},[r]),r}function Tr(e){var{id:r}=e,t=Or(e,Vr),n=Ar(r),[a]=I.useState(()=>Ir(F(F({},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(F(F({},t),{},{formId:n}))});var o=Er(),l=Nr(a,o),i=Fr(e.defaultNoValidate),u=jr(a,o,l,i);return[u,u.getFieldset()]}function Fe(e){for(var r in e)e[r]===void 0&&delete e[r];return e}function Dr(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 Fe({"aria-invalid":t||void 0,"aria-describedby":t?"".concat(e.errorId," ").concat(n??"").trim():n})}function kr(e,r){return Fe(F({id:e.id,onSubmit:e.onSubmit,noValidate:e.noValidate},Dr(e,r)))}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 p(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){Zr(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 Zr(e,r,t){return r=_r(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Lr(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 _r(e){var r=Lr(e,"string");return typeof r=="symbol"?r:String(r)}function D(e,r){if(typeof e!="string")return e;if(e!=="")return typeof r!="function"?e:r(e)}function Q(e){if(!(typeof File<"u"&&e instanceof File&&e.name===""&&e.size===0))return e}function Cr(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=A().transform(i=>D(i)).pipe(e);else if(a.typeName==="ZodNumber")n=A().transform(i=>D(i,u=>u.trim()===""?Number.NaN:Number(u))).pipe(e);else if(a.typeName==="ZodBoolean")n=A().transform(i=>D(i,u=>u==="on"?!0:u)).pipe(e);else if(a.typeName==="ZodDate")n=A().transform(i=>D(i,u=>{var c=new Date(u);return isNaN(c.getTime())?u:c})).pipe(e);else if(a.typeName==="ZodBigInt")n=A().transform(i=>D(i,BigInt)).pipe(e);else if(a.typeName==="ZodArray")n=A().transform(i=>Array.isArray(i)?i:typeof i>"u"||typeof Q(D(i))>"u"?[]:[i]).pipe(new _e(p(p({},a),{},{type:S(a.type,r)})));else if(a.typeName==="ZodObject"){var o=Object.fromEntries(Object.entries(a.shape()).map(i=>{var[u,c]=i;return[u,S(c,r)]}));n=new Ce(p(p({},a),{},{shape:()=>o}))}else if(a.typeName==="ZodEffects")Cr(e)?n=A().transform(i=>Q(i)).pipe(e):n=new Ue(p(p({},a),{},{schema:S(a.schema,r)}));else if(a.typeName==="ZodOptional")n=A().transform(i=>Q(D(i))).pipe(new Re(p(p({},a),{},{innerType:S(a.innerType,r)})));else if(a.typeName==="ZodDefault")n=A().transform(i=>Q(D(i))).pipe(new Me(p(p({},a),{},{innerType:S(a.innerType,r)})));else if(a.typeName==="ZodCatch")n=new $e(p(p({},a),{},{innerType:S(a.innerType,r)}));else if(a.typeName==="ZodIntersection")n=new Be(p(p({},a),{},{left:S(a.left,r),right:S(a.right,r)}));else if(a.typeName==="ZodUnion")n=new Je(p(p({},a),{},{options:a.options.map(i=>S(i,r))}));else if(a.typeName==="ZodDiscriminatedUnion")n=new Ke(p(p({},a),{},{options:a.options.map(i=>S(i,r)),optionsMap:new Map(Array.from(a.optionsMap.entries()).map(i=>{var[u,c]=i;return[u,S(c,r)]}))}));else if(a.typeName==="ZodTuple")n=new ze(p(p({},a),{},{items:a.items.map(i=>S(i,r))}));else if(a.typeName==="ZodNullable")n=new qe(p(p({},a),{},{innerType:S(a.innerType,r)}));else if(a.typeName==="ZodPipeline")n=new He(p(p({},a),{},{in:S(a.in,r),out:S(a.out,r)}));else if(a.typeName==="ZodLazy"){var l=a.getter();n=We(()=>S(l,r))}return e!==n&&r.set(e,n),n}function Ur(e,r){var t={};for(var n of e.errors){var a=_(n.path);switch(n.message){case Pe.VALIDATION_UNDEFINED:return null;case Pe.VALIDATION_SKIPPED:t[a]=null;break;default:{var o=t[a];o!==null&&(o?t[a]=o.concat(n):t[a]=[n]);break}}}return Object.entries(t).reduce((l,i)=>{var[u,c]=i;return l[u]=c?r(c):null,l},{})}function Rr(e,r){return sr(e,{resolve(t,n){var a=r.errorMap,o=S(typeof r.schema=="function"?r.schema(n):r.schema),l=i=>{var u;return{value:i.success?i.data:void 0,error:i.success?void 0:Ur(i.error,(u=r.formatError)!==null&&u!==void 0?u:c=>c.map(m=>m.message))}};return r.async?o.safeParseAsync(t,{errorMap:a}).then(i=>l(i)):l(o.safeParse(t,{errorMap:a}))}})}var Pe={VALIDATION_SKIPPED:"__skipped__",VALIDATION_UNDEFINED:"__undefined__"};function Mr({id:e,errors:r}){const t=r==null?void 0:r.filter(Boolean);return t!=null&&t.length?j.jsx("ul",{id:e,className:"space-y-1",children:t.map(n=>j.jsx("li",{className:"text-danger text-[10px]",children:n},n))}):null}const $r="/theme",Br=te.object({redirectTo:te.string().optional(),theme:te.enum(["system","light","dark"])});function Gr(){const e=Ne(),r=Qe(),[t,n]=I.useState(!1);I.useEffect(()=>{n(!0)},[]);const[a]=Tr({id:"theme-switcher",lastResult:r.data,onValidate({formData:u}){return Rr(u,{schema:Br})}}),o=e.session.theme??"system",l=o==="system"?"light":o==="light"?"dark":"system",i={light:j.jsx(ne,{size:"md",name:"Sun",title:"Light mode"}),dark:j.jsx(ne,{size:"md",name:"Moon",title:"Dark mode"}),system:j.jsx(ne,{size:"md",name:"Laptop",title:"System mode"})};return j.jsxs(r.Form,{method:"POST",action:$r,...kr(a),children:[j.jsxs("div",{className:"flex gap-2",children:[t?null:j.jsx("input",{type:"hidden",name:"redirectTo",value:e.path}),j.jsx("input",{type:"hidden",name:"theme",value:l}),j.jsx(Ge,{content:`Change theme from ${o} mode`,children:j.jsx("button",{type:"submit",name:"intent",value:"update-theme",className:"flex h-8 w-8 cursor-pointer items-center justify-center",children:i[o]})})]}),j.jsx(Mr,{errors:a.errors,id:a.errorId})]})}function Xr(){var o;const e=Xe(),r=Ne(),n=Ye().find(l=>{var i;return((i=l.formData)==null?void 0:i.get("intent"))==="update-theme"}),a=(o=n==null?void 0:n.formData)==null?void 0:o.get("theme");return a==="system"?e.theme:a==="light"||a==="dark"?a:r.session.theme??e.theme}export{Gr as T,Xr as u};
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{r as I,j}from"./index-Czg1ruVn.js";import{a as A,Z as _e,b as Ce,c as Ue,d as Re,e as Me,f as $e,g as Be,h as Je,i as Ke,j as ze,k as qe,l as He,m as We,z as te,u as Ne}from"./request-info-DHtGM4FI.js";import{I as ne}from"./misc-S5ZD98sI.js";import{S as Ge}from"./tooltip-BtzSIxlB.js";import{u as Xe}from"./client-hints-DLYDs4RF.js";import{a as Qe,c as Ye}from"./components-wgHiPsTg.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){xe(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 xe(e,r,t){return r=rr(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function er(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 rr(e){var r=er(e,"string");return typeof r=="symbol"?r:String(r)}function tr(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,o)=>t[o]===a)}function k(e,r,t){for(var n=T(r),a=n.length,o=a-1,l=-1,i=e;i!=null&&++l<a;){var u=n[l],c=n[l+1],m=l!=o?Object.prototype.hasOwnProperty.call(i,u)&&i[u]!==null?i[u]:typeof c=="number"?[]:{}:t(i[u]);i[u]=m,i=i[u]}}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(Z(t)&&typeof n=="string")t=t[n];else if(Array.isArray(t)&&typeof n=="number")t=t[n];else return}return t}function Z(e){return!!e&&e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function nr(e){return typeof File>"u"?!1:e instanceof File}function M(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(Z(e)){var t=Object.keys(e).sort().reduce((n,a)=>{var o=M(e[a],r);return typeof o<"u"&&(n[a]=o),n},{});return Object.keys(t).length===0?void 0:t}if(Array.isArray(e))return e.length===0?void 0:e.map(n=>M(n,r));if(!(typeof e=="string"&&e===""||e===null||nr(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:i=>i;function o(i,u){var c=M(a(i));if(typeof c<"u"&&(n[u]=c),Array.isArray(i))for(var m=0;m<i.length;m++)o(i[m],"".concat(u,"[").concat(m,"]"));else if(Z(i))for(var[g,N]of Object.entries(i))o(N,u?"".concat(u,".").concat(g):g)}if(e){var l;o(e,(l=t.prefix)!==null&&l!==void 0?l:"")}return n}function ee(e,r){if(!e)throw new Error(r)}function $(){return(Date.now()*Math.random()).toString(36)}function J(e){return JSON.parse(JSON.stringify(e))}function ar(e){return e instanceof Element&&(e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"||e.tagName==="BUTTON")}function ae(e){return ar(e)&&e.type!=="submit"&&e.type!=="button"&&e.type!=="reset"}function ir(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 or(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 ur(e){var r,t,n=e.target,a=e.submitter,o=(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(o){case"POST":case"PUT":case"PATCH":case"DELETE":return o}return"GET"}function lr(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 K="__intent__",ie="__state__";function Ee(e){var r=e.get(K),t=e.get(ie);ee((typeof r=="string"||r===null)&&(typeof t=="string"||t===null),'The input name "'.concat(K,'" and "').concat(ie,'" are reserved by Conform. Please use another name for your input.'));var n={payload:{},fields:new Set,intent:fr(r)};t&&(n.state=JSON.parse(t));var a=function(u){if(o===K||o===ie)return 1;n.fields.add(o),k(n.payload,o,c=>c?Array.isArray(c)?c.concat(u):[c,u]:u)};for(var[o,l]of e.entries())a(l);return n}function sr(e,r){var t=Ee(e),n=t.intent;if(n)switch(n.type){case"update":{var a=z(n.payload.name,n.payload.index),o=n.payload.value;typeof n.payload.value<"u"&&(a?k(t.payload,a,()=>o):t.payload=o);break}case"reset":{var l=z(n.payload.name,n.payload.index);l?k(t.payload,l,()=>{}):t.payload={};break}case"insert":case"remove":case"reorder":{je(t.payload,n);break}}var i=r.resolve(t.payload,n),u=c=>dr(y(y({},t),{},{value:c.value,error:c.error}));return i instanceof Promise?i.then(u):u(i)}function dr(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 me(e,r)}}:{status:"success",payload:e.payload,value:e.value,reply(r){return me(e,r)}}}function me(e){var r,t,n,a,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if("resetForm"in o&&o.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 o&&o.hideFields)for(var l of o.hideFields){var i=x(e.payload,l);typeof i<"u"&&k(e.payload,l,()=>{})}var u="formErrors"in o||"fieldErrors"in o?M(y({"":(n=o.formErrors)!==null&&n!==void 0?n:null},o.fieldErrors)):null,c=e.error||u?y(y({},e.error),u):void 0;return{status:e.intent?void 0:c?"error":"success",intent:e.intent?e.intent:void 0,initialValue:(a=M(e.payload,typeof document<"u"))!==null&&a!==void 0?a:{},error:c,state:e.state,fields:Array.from(e.fields)}}function fr(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 cr(e){switch(e.type){case"insert":return JSON.stringify({type:e.type,payload:y(y({},e.payload),{},{defaultValue:q(e.payload.defaultValue)})});case"update":return JSON.stringify({type:e.type,payload:y(y({},e.payload),{},{value:q(e.payload.value)})});default:return JSON.stringify(e)}}function ue(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 je(e,r){k(e,r.payload.name,t=>{var n=t??[];return ue(n,r),n})}var le=Symbol.for("root");function Y(e,r,t){var n=Object.keys(e).sort((u,c)=>c.localeCompare(u)),a={},o=function(){var c=e[l];W(l,r)&&l!==r&&(k(a,l,m=>typeof m>"u"?c:(m[le]=c,m)),delete e[l])};for(var l of n)o();var i=t(x(a,r));Object.assign(e,de(i,{resolve(u){if(Z(u)||Array.isArray(u)){var c;return(c=u[le])!==null&&c!==void 0?c:null}return u},prefix:r}))}function ge(e,r,t){Y(e,r.payload.name,n=>{var a=n??[];switch(r.type){case"insert":ue(a,{type:r.type,payload:y(y({},r.payload),{},{defaultValue:t==null?void 0:t(r.payload.defaultValue)})});break;default:ue(a,r);break}return a})}function q(e){return Z(e)?Object.entries(e).reduce((r,t)=>{var[n,a]=t;return r[n]=q(a),r},{}):Array.isArray(e)?e.map(q):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,o,l,i=r?void 0:e.lastResult,u=e.defaultValue?q(e.defaultValue):{},c=(t=i==null?void 0:i.initialValue)!==null&&t!==void 0?t:u,m={formId:e.formId,isValueUpdated:!1,submissionStatus:i==null?void 0:i.status,defaultValue:u,initialValue:c,value:c,constraint:(n=e.constraint)!==null&&n!==void 0?n:{},validated:(a=i==null||(o=i.state)===null||o===void 0?void 0:o.validated)!==null&&a!==void 0?a:{},key:r?y({"":$()},H(u)):H(u),error:(l=i==null?void 0:i.error)!==null&&l!==void 0?l:{}};return Ie(m,i==null?void 0:i.intent,i==null?void 0:i.fields),m}function H(e,r){return Object.entries(de(e,{prefix:r})).reduce((t,n)=>{var[a,o]=n;if(Array.isArray(o))for(var l=0;l<o.length;l++)t[z(a,l)]=$();return t},{})}function he(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){he(e,t);return}switch(r.type){case"validate":{r.payload.name?e.validated[r.payload.name]=!0:he(e,t);break}case"update":{var{validated:o,value:l}=r.payload,i=z(r.payload.name,r.payload.index);typeof l<"u"&&Oe(e,i??"",l),typeof o<"u"&&(i?Y(e.validated,i,()=>{}):e.validated={},o?((Z(l)||Array.isArray(l))&&Object.assign(e.validated,de(l,{resolve(){return!0},prefix:i})),e.validated[i??""]=!0):i&&delete e.validated[i]);break}case"reset":{var u=z(r.payload.name,r.payload.index),c=x(e.defaultValue,u);Oe(e,u,c),u?(Y(e.validated,u,()=>{}),delete e.validated[u]):e.validated={};break}case"insert":case"remove":case"reorder":{n&&(e.initialValue=J(e.initialValue),e.key=J(e.key),ge(e.key,r,g=>!Array.isArray(g)&&!Z(g)?$():Object.assign(H(g),{[le]:$()})),je(e.initialValue,r)),ge(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[E,P]=N;return(e.validated[E]||m.some(V=>W(E,V)))&&(g[E]=P),g},{})}function Oe(e,r,t){if(r===""){e.initialValue=t,e.value=t,e.key=y(y({},H(t)),{},{"":$()});return}e.initialValue=J(e.initialValue),e.value=J(e.value),e.key=J(e.key),k(e.initialValue,r,()=>t),k(e.value,r,()=>t),(Z(t)||Array.isArray(t))&&(Y(e.key,r,()=>{}),Object.assign(e.key,H(t,r))),e.key[r]=$()}function G(e){var r={};return new Proxy(r,{get(t,n,a){var o;if(typeof n=="string")return(o=r[n])!==null&&o!==void 0?o:r[n]=e(n,a)}})}function oe(e){var r=M(e);return G((t,n)=>{if(t==="")return r;var a=T(t),o=_(a.slice(0,-1)),l=_(a.slice(-1)),i=n[o];return x(i,l)})}function vr(e){return G((r,t)=>{var n,a=e[r];if(!a){for(var o=T(r),l=o.length-1;l>=0;l--){var i=o[l];if(typeof i=="number"&&!Number.isNaN(i)){o[l]=Number.NaN;break}}var u=_(o);r!==u&&(a=t[u])}return(n=a)!==null&&n!==void 0?n:{}})}function pr(e){return G((r,t)=>{var n=e[r],a=T(r);if(a.length===0)return n;var o=t[_(a.slice(0,-1))];return typeof o>"u"?n:"".concat(o,"/").concat(n??a.at(-1))})}function yr(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 mr(e,r,t){return G(n=>JSON.stringify(e[n])!==JSON.stringify(r[n],(a,o)=>n===""&&a===""&&o?Object.entries(o).reduce((l,i)=>{var[u,c]=i;return t(u)?Object.assign(l??{},{[u]:c}):l},void 0):o))}function U(e,r,t,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:(E,P)=>JSON.stringify(E)!==JSON.stringify(P);if(n&&e!==r){var o,l,i=(o=n.prefix)!==null&&o!==void 0?o:[],u=(l=n.name)!==null&&l!==void 0?l:[],c=i.length===0?u:Array.from(new Set([...Object.keys(e),...Object.keys(r)])),m=function(P){if(i.length===0||u.includes(P)||i.some(B=>W(P,B))){var V;if((V=t[P])!==null&&V!==void 0||(t[P]=a(e[P],r[P])),t[P])return{v:!0}}},g;for(var N of c)if(g=m(N),g)return g.v}return!1}function gr(e){var r=[],t=e,n=be(e),a=l(n);function o(){return document.forms.namedItem(t.formId)}function l(s){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s,d=arguments.length>2?arguments[2]:void 0,v=!d||f.defaultValue!==s.defaultValue?oe(s.defaultValue):d.defaultValue,h=s.initialValue===s.defaultValue?v:!d||f.initialValue!==s.initialValue?oe(s.initialValue):d.initialValue,b=s.value===s.initialValue?h:!d||f.value!==s.value?oe(s.value):d.value;return{submissionStatus:s.submissionStatus,defaultValue:v,initialValue:h,value:b,error:!d||f.error!==s.error?s.error:d.error,validated:s.validated,constraint:!d||f.constraint!==s.constraint?vr(s.constraint):d.constraint,key:!d||f.key!==s.key?pr(s.key):d.key,valid:!d||f.error!==s.error?yr(s.error):d.valid,dirty:!d||f.defaultValue!==s.defaultValue||f.value!==s.value?mr(v,b,O=>{var w,L;return(w=(L=t.shouldDirtyConsider)===null||L===void 0?void 0:L.call(t,O))!==null&&w!==void 0?w:!0}):d.dirty}}function i(s){var f=n,d=a,v=l(s,f,d);n=s,a=v;var h={value:{},error:{},initialValue:{},key:{},valid:{},dirty:{}};for(var b of r){var O,w=(O=b.getSubject)===null||O===void 0?void 0:O.call(b);(!w||w.formId&&f.formId!==s.formId||w.status&&d.submissionStatus!==v.submissionStatus||U(d.error,v.error,h.error,w.error)||U(d.initialValue,v.initialValue,h.initialValue,w.initialValue)||U(d.key,v.key,h.key,w.key,(L,X)=>L!==X)||U(d.valid,v.valid,h.valid,w.valid,u)||U(d.dirty,v.dirty,h.dirty,w.dirty,u)||U(d.value,v.value,h.value,w.value))&&b.callback()}}function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return s!==f}function c(){return JSON.stringify({validated:n.validated})}function m(s){var f=s.target,d=s.submitter;ee(f===o(),"The submit event is dispatched by form#".concat(f.id," instead of form#").concat(t.formId));var v=tr(f,d),h={formData:v,action:ir(s),encType:or(s),method:ur(s)};if(typeof(t==null?void 0:t.onValidate)>"u")return h;var b=t.onValidate({form:f,formData:v,submitter:d});if(b.status==="success"||b.error!==null){var O=b.reply();fe(y(y({},O),{},{status:O.status!=="success"?O.status:void 0}))}return y(y({},h),{},{submission:b})}function g(s){var f=o(),d=s.target;return!f||!ae(d)||d.form!==f||!d.form.isConnected||d.name===""?null:d}function N(s,f){var{shouldValidate:d="onSubmit",shouldRevalidate:v=d}=t,h=n.validated[s.name];return h?v===f&&(f==="onInput"||n.isValueUpdated):d===f}function E(s){var f=new FormData(s),d=Ee(f);i(y(y({},n),{},{isValueUpdated:!0,value:d.payload}))}function P(s){var f=g(s);!f||!f.form||(s.defaultPrevented||!N(f,"onInput")?E(f.form):re({type:"validate",payload:{name:f.name}}))}function V(s){var f=g(s);!f||s.defaultPrevented||!N(f,"onBlur")||re({type:"validate",payload:{name:f.name}})}function B(){i(be(t,!0))}function Te(s){var f=o();s.type!=="reset"||s.target!==f||s.defaultPrevented||B()}function fe(s){var f,d,v=o();if(!s.initialValue){B();return}var h=Object.entries((f=s.error)!==null&&f!==void 0?f:{}).reduce((w,L)=>{var[X,ve]=L,pe=ve===null?n.error[X]:ve;return pe&&(w[X]=pe),w},{}),b=y(y({},n),{},{isValueUpdated:!1,submissionStatus:s.status,value:s.initialValue,validated:y(y({},n.validated),(d=s.state)===null||d===void 0?void 0:d.validated),error:h});if(Ie(b,s.intent,s.fields,!0),i(b),v&&s.status==="error"){for(var O of v.elements)if(ae(O)&&n.error[O.name]){O.focus();break}}}function De(s){var f=t.formId,d=t.lastResult;Object.assign(t,s),t.formId!==f?B():s.lastResult&&s.lastResult!==d&&fe(s.lastResult)}function ke(s,f){var d={callback:s,getSubject:f};return r.push(d),()=>{r=r.filter(v=>v!==d)}}function Ze(){return a}function re(s){var f=o(),d=document.createElement("button"),v=ce(s);d.name=v.name,d.value=v.value,d.hidden=!0,d.formNoValidate=!0,f==null||f.appendChild(d),lr(f,d),f==null||f.removeChild(d)}function ce(s){return{name:K,value:cr(s),form:t.formId,formNoValidate:!0}}function C(s){var f=function(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return re({type:s,payload:v})};return Object.assign(f,{getButtonProps(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ce({type:s,payload:d})}})}function Le(){var s=new MutationObserver(f=>{var d=o();if(d)for(var v of f){var h=v.type==="childList"?[...v.addedNodes,...v.removedNodes]:[v.target];for(var b of h){var O=ae(b)?b:b instanceof HTMLElement?b.querySelector("input,select,textarea"):null;if((O==null?void 0:O.form)===d){E(d);return}}}});return s.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["form","name"]}),()=>{s.disconnect()}}return{getFormId(){return n.formId},submit:m,onReset:Te,onInput:P,onBlur:V,onUpdate:De,validate:C("validate"),reset:C("reset"),update:C("update"),insert:C("insert"),remove:C("remove"),reorder:C("reorder"),subscribe:ke,getState:Ze,getSerializedState:c,observe:Le}}function Se(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 F(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Se(Object(t),!0).forEach(function(n){br(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Se(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function br(e,r,t){return r=wr(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function hr(e,r){if(e==null)return{};var t={},n=Object.keys(e),a,o;for(o=0;o<n.length;o++)a=n[o],!(r.indexOf(a)>=0)&&(t[a]=e[a]);return t}function Or(e,r){if(e==null)return{};var t=hr(e,r),n,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],!(r.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}function Sr(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 wr(e){var r=Sr(e,"string");return typeof r=="symbol"?r:String(r)}var Pr=Symbol("wrapped");function Nr(e,r){var t=I.useCallback(n=>e.subscribe(n,()=>r==null?void 0:r.current),[e,r]);return I.useSyncExternalStore(t,e.getState,e.getState)}function Er(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=I.useRef(e);return r.current=e,r}function R(e,r,t,n){if(r==="status"||r==="formId")e.current[r]=!0;else if(typeof t<"u"&&typeof n<"u"){var a,o;e.current[r]=F(F({},e.current[r]),{},{[t]:((a=(o=e.current[r])===null||o===void 0?void 0:o[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(),o=e.getState();return new Proxy({id:a,name:n,errorId:"".concat(a,"-error"),descriptionId:"".concat(a,"-description"),get initialValue(){return o.initialValue[n]},get value(){return o.value[n]},get errors(){return o.error[n]},get key(){return o.key[n]},get valid(){return o.valid[n]},get dirty(){return o.dirty[n]},get allErrors(){if(n==="")return o.error;var l={};for(var[i,u]of Object.entries(o.error))W(i,n)&&(l[i]=u);return l},get getFieldset(){return()=>new Proxy({},{get(l,i,u){return typeof i=="string"?Ae(e,r,t,n,i):Reflect.get(l,i,u)}})}},{get(l,i,u){if(o===t)switch(i){case"id":case"errorId":case"descriptionId":R(r,"formId");break;case"key":case"initialValue":case"value":case"valid":case"dirty":R(r,i,"name",n);break;case"errors":case"allErrors":R(r,"error",i==="errors"?"name":"prefix",n);break}return Reflect.get(l,i,u)}})}function Ae(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",a=arguments.length>4?arguments[4]:void 0,o=typeof a>"u"?n:_([...T(n),a]);return new Proxy({},{get(l,i,u){var c,m=Ve(e,r,t,o),g=e.getState();switch(i){case"formId":return g===t&&R(r,"formId"),e.getFormId();case"required":case"minLength":case"maxLength":case"min":case"max":case"pattern":case"step":case"multiple":return(c=g.constraint[o])===null||c===void 0?void 0:c[i];case"getFieldList":return()=>{var N,E=(N=g.initialValue[o])!==null&&N!==void 0?N:[];if(g===t&&R(r,"initialValue","name",o),!Array.isArray(E))throw new Error("The initial value at the given name is not a list");return Array(E.length).fill(0).map((P,V)=>Ae(e,r,t,o,V))}}return Reflect.get(m,i,u)}})}function jr(e,r,t,n){return new Proxy({},{get(a,o,l){var i=Ve(e,r,t),u=e.getState();switch(o){case"context":return{[Pr]:e};case"status":return u===t&&R(r,"status"),u.submissionStatus;case"validate":case"update":case"reset":case"insert":case"remove":case"reorder":return e[o];case"onSubmit":return e.submit;case"noValidate":return n}return Reflect.get(i,o,l)}})}function Ir(e){var{onSubmit:r}=e,t=gr(e);return F(F({},t),{},{submit(n){var a=n.nativeEvent,o=t.submit(a);if(!o.submission||o.submission.status==="success"||o.submission.error===null){if(!o.formData.has(K)){var l;(l=r)===null||l===void 0||l(n,o)}}else n.preventDefault()},onUpdate(n){r=n.onSubmit,t.onUpdate(n)}})}var Vr=["id"],se=typeof document>"u"?I.useEffect:I.useLayoutEffect;function Ar(e){var r=I.useId();return e??r}function Fr(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,[r,t]=I.useState(e);return se(()=>{r||t(!0)},[r]),r}function Tr(e){var{id:r}=e,t=Or(e,Vr),n=Ar(r),[a]=I.useState(()=>Ir(F(F({},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(F(F({},t),{},{formId:n}))});var o=Er(),l=Nr(a,o),i=Fr(e.defaultNoValidate),u=jr(a,o,l,i);return[u,u.getFieldset()]}function Fe(e){for(var r in e)e[r]===void 0&&delete e[r];return e}function Dr(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 Fe({"aria-invalid":t||void 0,"aria-describedby":t?"".concat(e.errorId," ").concat(n??"").trim():n})}function kr(e,r){return Fe(F({id:e.id,onSubmit:e.onSubmit,noValidate:e.noValidate},Dr(e,r)))}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 p(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){Zr(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 Zr(e,r,t){return r=_r(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Lr(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 _r(e){var r=Lr(e,"string");return typeof r=="symbol"?r:String(r)}function D(e,r){if(typeof e!="string")return e;if(e!=="")return typeof r!="function"?e:r(e)}function Q(e){if(!(typeof File<"u"&&e instanceof File&&e.name===""&&e.size===0))return e}function Cr(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=A().transform(i=>D(i)).pipe(e);else if(a.typeName==="ZodNumber")n=A().transform(i=>D(i,u=>u.trim()===""?Number.NaN:Number(u))).pipe(e);else if(a.typeName==="ZodBoolean")n=A().transform(i=>D(i,u=>u==="on"?!0:u)).pipe(e);else if(a.typeName==="ZodDate")n=A().transform(i=>D(i,u=>{var c=new Date(u);return isNaN(c.getTime())?u:c})).pipe(e);else if(a.typeName==="ZodBigInt")n=A().transform(i=>D(i,BigInt)).pipe(e);else if(a.typeName==="ZodArray")n=A().transform(i=>Array.isArray(i)?i:typeof i>"u"||typeof Q(D(i))>"u"?[]:[i]).pipe(new _e(p(p({},a),{},{type:S(a.type,r)})));else if(a.typeName==="ZodObject"){var o=Object.fromEntries(Object.entries(a.shape()).map(i=>{var[u,c]=i;return[u,S(c,r)]}));n=new Ce(p(p({},a),{},{shape:()=>o}))}else if(a.typeName==="ZodEffects")Cr(e)?n=A().transform(i=>Q(i)).pipe(e):n=new Ue(p(p({},a),{},{schema:S(a.schema,r)}));else if(a.typeName==="ZodOptional")n=A().transform(i=>Q(D(i))).pipe(new Re(p(p({},a),{},{innerType:S(a.innerType,r)})));else if(a.typeName==="ZodDefault")n=A().transform(i=>Q(D(i))).pipe(new Me(p(p({},a),{},{innerType:S(a.innerType,r)})));else if(a.typeName==="ZodCatch")n=new $e(p(p({},a),{},{innerType:S(a.innerType,r)}));else if(a.typeName==="ZodIntersection")n=new Be(p(p({},a),{},{left:S(a.left,r),right:S(a.right,r)}));else if(a.typeName==="ZodUnion")n=new Je(p(p({},a),{},{options:a.options.map(i=>S(i,r))}));else if(a.typeName==="ZodDiscriminatedUnion")n=new Ke(p(p({},a),{},{options:a.options.map(i=>S(i,r)),optionsMap:new Map(Array.from(a.optionsMap.entries()).map(i=>{var[u,c]=i;return[u,S(c,r)]}))}));else if(a.typeName==="ZodTuple")n=new ze(p(p({},a),{},{items:a.items.map(i=>S(i,r))}));else if(a.typeName==="ZodNullable")n=new qe(p(p({},a),{},{innerType:S(a.innerType,r)}));else if(a.typeName==="ZodPipeline")n=new He(p(p({},a),{},{in:S(a.in,r),out:S(a.out,r)}));else if(a.typeName==="ZodLazy"){var l=a.getter();n=We(()=>S(l,r))}return e!==n&&r.set(e,n),n}function Ur(e,r){var t={};for(var n of e.errors){var a=_(n.path);switch(n.message){case Pe.VALIDATION_UNDEFINED:return null;case Pe.VALIDATION_SKIPPED:t[a]=null;break;default:{var o=t[a];o!==null&&(o?t[a]=o.concat(n):t[a]=[n]);break}}}return Object.entries(t).reduce((l,i)=>{var[u,c]=i;return l[u]=c?r(c):null,l},{})}function Rr(e,r){return sr(e,{resolve(t,n){var a=r.errorMap,o=S(typeof r.schema=="function"?r.schema(n):r.schema),l=i=>{var u;return{value:i.success?i.data:void 0,error:i.success?void 0:Ur(i.error,(u=r.formatError)!==null&&u!==void 0?u:c=>c.map(m=>m.message))}};return r.async?o.safeParseAsync(t,{errorMap:a}).then(i=>l(i)):l(o.safeParse(t,{errorMap:a}))}})}var Pe={VALIDATION_SKIPPED:"__skipped__",VALIDATION_UNDEFINED:"__undefined__"};function Mr({id:e,errors:r}){const t=r==null?void 0:r.filter(Boolean);return t!=null&&t.length?j.jsx("ul",{id:e,className:"space-y-1",children:t.map(n=>j.jsx("li",{className:"text-danger text-[10px]",children:n},n))}):null}const $r="/theme",Br=te.object({redirectTo:te.string().optional(),theme:te.enum(["system","light","dark"])});function Gr(){const e=Ne(),r=Qe(),[t,n]=I.useState(!1);I.useEffect(()=>{n(!0)},[]);const[a]=Tr({lastResult:r.data,onValidate({formData:u}){return Rr(u,{schema:Br})}}),o=e.session.theme??"system",l=o==="system"?"light":o==="light"?"dark":"system",i={light:j.jsx(ne,{size:"md",name:"Sun",title:"Light mode"}),dark:j.jsx(ne,{size:"md",name:"Moon",title:"Dark mode"}),system:j.jsx(ne,{size:"md",name:"Laptop",title:"System mode"})};return j.jsxs(r.Form,{method:"POST",action:$r,...kr(a),children:[j.jsxs("div",{className:"flex gap-2",children:[t?null:j.jsx("input",{type:"hidden",name:"redirectTo",value:e.path}),j.jsx("input",{type:"hidden",name:"theme",value:l}),j.jsx(Ge,{content:`Change theme from ${o} mode`,children:j.jsx("button",{type:"submit",name:"intent",value:"update-theme",className:"flex h-8 w-8 cursor-pointer items-center justify-center",children:i[o]})})]}),j.jsx(Mr,{errors:a.errors,id:a.errorId})]})}function Xr(){var o;const e=Xe(),r=Ne(),n=Ye().find(l=>{var i;return((i=l.formData)==null?void 0:i.get("intent"))==="update-theme"}),a=(o=n==null?void 0:n.formData)==null?void 0:o.get("theme");return a==="system"?e.theme:a==="light"||a==="dark"?a:r.session.theme??e.theme}export{Gr as T,Xr as u};
|
|
2
|
+
//# sourceMappingURL=index-yEAxvbDV.js.map
|