@epic-web/workshop-app 5.3.7 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/assets/{_-CWSCXcBv.js → _-BrkpfnBb.js} +2 -2
- package/build/client/assets/{_-CWSCXcBv.js.map → _-BrkpfnBb.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber-BnwWTYFw.js → _exerciseNumber-DCSM0NCG.js} +2 -2
- package/build/client/assets/{_exerciseNumber-BnwWTYFw.js.map → _exerciseNumber-DCSM0NCG.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-BA2Xhzqs.js → _exerciseNumber_._stepNumber-BIMJh_sg.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-BA2Xhzqs.js.map → _exerciseNumber_._stepNumber-BIMJh_sg.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_.finished-BfeMSie-.js → _exerciseNumber_.finished-nbpk1ToO.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-BfeMSie-.js.map → _exerciseNumber_.finished-nbpk1ToO.js.map} +1 -1
- package/build/client/assets/{_layout-pUNfVRe2.js → _layout-Cbz7Qt-S.js} +2 -2
- package/build/client/assets/{_layout-pUNfVRe2.js.map → _layout-Cbz7Qt-S.js.map} +1 -1
- package/build/client/assets/{_layout-Bpho30KN.js → _layout-DTAM9xh5.js} +2 -2
- package/build/client/assets/{_layout-Bpho30KN.js.map → _layout-DTAM9xh5.js.map} +1 -1
- package/build/client/assets/_layout-Dfmv2zcn.js +2 -0
- package/build/client/assets/_layout-Dfmv2zcn.js.map +1 -0
- package/build/client/assets/{accordion-DC885Li1.js → accordion-D9-D-n9p.js} +2 -2
- package/build/client/assets/{accordion-DC885Li1.js.map → accordion-D9-D-n9p.js.map} +1 -1
- package/build/client/assets/account-C4Piztoz.js +2 -0
- package/build/client/assets/account-C4Piztoz.js.map +1 -0
- package/build/client/assets/app-DgTXXO8s.js +2 -0
- package/build/client/assets/{app-CM8yuYni.js.map → app-DgTXXO8s.js.map} +1 -1
- package/build/client/assets/{button-DQ001ob0.js → button-_qPvcoqR.js} +2 -2
- package/build/client/assets/{button-DQ001ob0.js.map → button-_qPvcoqR.js.map} +1 -1
- package/build/client/assets/{components-9EGYHTc_.js → components-Be92gVxW.js} +2 -2
- package/build/client/assets/{components-9EGYHTc_.js.map → components-Be92gVxW.js.map} +1 -1
- package/build/client/assets/{diff-CyIaJAoJ.js → diff-8nlDkmpc.js} +2 -2
- package/build/client/assets/{diff-CyIaJAoJ.js.map → diff-8nlDkmpc.js.map} +1 -1
- package/build/client/assets/diff-BhRAIPKc.js +2 -0
- package/build/client/assets/{diff-Cnw7IcG5.js.map → diff-BhRAIPKc.js.map} +1 -1
- package/build/client/assets/discord-BUWZUTEC.js +2 -0
- package/build/client/assets/discord-BUWZUTEC.js.map +1 -0
- package/build/client/assets/discord-Bdnx7fu-.js +2 -0
- package/build/client/assets/discord-Bdnx7fu-.js.map +1 -0
- package/build/client/assets/{entry.client-BTYTUpFV.js → entry.client-DqIWuxf8.js} +2 -2
- package/build/client/assets/{entry.client-BTYTUpFV.js.map → entry.client-DqIWuxf8.js.map} +1 -1
- package/build/client/assets/{epic-video-1XLXSFCL.js → epic-video-Bp4BOD2R.js} +2 -2
- package/build/client/assets/{epic-video-1XLXSFCL.js.map → epic-video-Bp4BOD2R.js.map} +1 -1
- package/build/client/assets/{error-boundary-1-dmC941.js → error-boundary-BZA-ffa8.js} +2 -2
- package/build/client/assets/{error-boundary-1-dmC941.js.map → error-boundary-BZA-ffa8.js.map} +1 -1
- package/build/client/assets/{finished-DjF_kSoF.js → finished-C0cpfAFL.js} +2 -2
- package/build/client/assets/{finished-DjF_kSoF.js.map → finished-C0cpfAFL.js.map} +1 -1
- package/build/client/assets/{index-BuoaxPEj.js → index-BCTr8uu6.js} +2 -2
- package/build/client/assets/{index-BuoaxPEj.js.map → index-BCTr8uu6.js.map} +1 -1
- package/build/client/assets/{index-_J-F_Dnc.js → index-Bdg3v8tC.js} +2 -2
- package/build/client/assets/{index-_J-F_Dnc.js.map → index-Bdg3v8tC.js.map} +1 -1
- package/build/client/assets/index-Bi1TbRTj.js +2 -0
- package/build/client/assets/index-Bi1TbRTj.js.map +1 -0
- package/build/client/assets/{index-DRH72MzK.js → index-C9Hx0Dey.js} +2 -2
- package/build/client/assets/{index-DRH72MzK.js.map → index-C9Hx0Dey.js.map} +1 -1
- package/build/client/assets/{index-f5Q6XZEy.js → index-Ca4vBON4.js} +2 -2
- package/build/client/assets/{index-f5Q6XZEy.js.map → index-Ca4vBON4.js.map} +1 -1
- package/build/client/assets/{index-BuA_RWlU.js → index-DZDhtMuq.js} +2 -2
- package/build/client/assets/{index-BuA_RWlU.js.map → index-DZDhtMuq.js.map} +1 -1
- package/build/client/assets/index-pkiQppkK.js +2 -0
- package/build/client/assets/index-pkiQppkK.js.map +1 -0
- package/build/client/assets/{loading-Dk0n07O3.js → loading-XhMtj4mp.js} +2 -2
- package/build/client/assets/{loading-Dk0n07O3.js.map → loading-XhMtj4mp.js.map} +1 -1
- package/build/client/assets/{login-pZYDEC_l.js → login-C1oOgi98.js} +2 -2
- package/build/client/assets/{login-pZYDEC_l.js.map → login-C1oOgi98.js.map} +1 -1
- package/build/client/assets/manifest-bc809ee6.js +1 -0
- package/build/client/assets/{mdx-DiFCTSLR.js → mdx-CEjzXoEx.js} +2 -2
- package/build/client/assets/{mdx-DiFCTSLR.js.map → mdx-CEjzXoEx.js.map} +1 -1
- package/build/client/assets/{misc-BJtHv_Jh.js → misc-DUy_whwE.js} +2 -2
- package/build/client/assets/{misc-BJtHv_Jh.js.map → misc-DUy_whwE.js.map} +1 -1
- package/build/client/assets/{nav-chevrons-CgbSMLeb.js → nav-chevrons-DnR25VLp.js} +2 -2
- package/build/client/assets/{nav-chevrons-CgbSMLeb.js.map → nav-chevrons-DnR25VLp.js.map} +1 -1
- package/build/client/assets/{onboarding-DXICEaMi.js → onboarding-C2YNq60k.js} +2 -2
- package/build/client/assets/{onboarding-DXICEaMi.js.map → onboarding-C2YNq60k.js.map} +1 -1
- package/build/client/assets/{presence-DyppfK2V.js → presence-DJGFvdDh.js} +2 -2
- package/build/client/assets/{presence-DyppfK2V.js.map → presence-DJGFvdDh.js.map} +1 -1
- package/build/client/assets/{preview-CW_12I0i.js → preview-DaZd0wMb.js} +2 -2
- package/build/client/assets/{preview-CW_12I0i.js.map → preview-DaZd0wMb.js.map} +1 -1
- package/build/client/assets/{product-C1ynnrN_.js → product-DIAmCwmZ.js} +2 -2
- package/build/client/assets/{product-C1ynnrN_.js.map → product-DIAmCwmZ.js.map} +1 -1
- package/build/client/assets/{progress-DAB3nDa2.js → progress-DQt_Bn9o.js} +2 -2
- package/build/client/assets/{progress-DAB3nDa2.js.map → progress-DQt_Bn9o.js.map} +1 -1
- package/build/client/assets/{progress-bar-Cj5R4Zk7.js → progress-bar-BaTU3Yx_.js} +2 -2
- package/build/client/assets/{progress-bar-Cj5R4Zk7.js.map → progress-bar-BaTU3Yx_.js.map} +1 -1
- package/build/client/assets/{request-info-DCIQLE6H.js → request-info-ByUEfOil.js} +2 -2
- package/build/client/assets/{request-info-DCIQLE6H.js.map → request-info-ByUEfOil.js.map} +1 -1
- package/build/client/assets/{revalidation-ws-DU-PzW-_.js → revalidation-ws-dUa9CAqr.js} +2 -2
- package/build/client/assets/{revalidation-ws-DU-PzW-_.js.map → revalidation-ws-dUa9CAqr.js.map} +1 -1
- package/build/client/assets/{root-DCfiv1cO.js → root-a3d3Qwip.js} +2 -2
- package/build/client/assets/{root-DCfiv1cO.js.map → root-a3d3Qwip.js.map} +1 -1
- package/build/client/assets/{set-playground-S_rIwJAa.js → set-playground-CBHBA46B.js} +2 -2
- package/build/client/assets/{set-playground-S_rIwJAa.js.map → set-playground-CBHBA46B.js.map} +1 -1
- package/build/client/assets/{support-BNS-kEhc.js → support-CIz02V_r.js} +2 -2
- package/build/client/assets/{support-BNS-kEhc.js.map → support-CIz02V_r.js.map} +1 -1
- package/build/client/assets/test-DoKJvNug.js +2 -0
- package/build/client/assets/{test-CvzcNTDp.js.map → test-DoKJvNug.js.map} +1 -1
- package/build/client/assets/{tests-Bp85P9FF.js → tests-DbuyD2cI.js} +2 -2
- package/build/client/assets/{tests-Bp85P9FF.js.map → tests-DbuyD2cI.js.map} +1 -1
- package/build/client/assets/{tooltip-BgynKV2c.js → tooltip-DO9uwurQ.js} +2 -2
- package/build/client/assets/{tooltip-BgynKV2c.js.map → tooltip-DO9uwurQ.js.map} +1 -1
- package/build/client/assets/user-Bv6wYhQP.js +2 -0
- package/build/client/assets/user-Bv6wYhQP.js.map +1 -0
- package/build/client/assets/version-CaywAlNQ.js +2 -0
- package/build/client/assets/version-CaywAlNQ.js.map +1 -0
- package/build/client/assets/{workshop-config-DJY2cXU_.js → workshop-config-WVltG_BV.js} +2 -2
- package/build/client/assets/{workshop-config-DJY2cXU_.js.map → workshop-config-WVltG_BV.js.map} +1 -1
- package/build/server/index.js +420 -361
- package/build/server/index.js.map +1 -1
- package/package.json +3 -3
- package/start.js +6 -0
- package/build/client/assets/_layout-gyrNluke.js +0 -2
- package/build/client/assets/_layout-gyrNluke.js.map +0 -1
- package/build/client/assets/account-RJjysGnp.js +0 -2
- package/build/client/assets/account-RJjysGnp.js.map +0 -1
- package/build/client/assets/app-CM8yuYni.js +0 -2
- package/build/client/assets/diff-Cnw7IcG5.js +0 -2
- package/build/client/assets/discord-DxisvcaU.js +0 -2
- package/build/client/assets/discord-DxisvcaU.js.map +0 -1
- package/build/client/assets/discord-lXkS53K3.js +0 -2
- package/build/client/assets/discord-lXkS53K3.js.map +0 -1
- package/build/client/assets/discord.callback-l0sNRNKZ.js +0 -2
- package/build/client/assets/discord.callback-l0sNRNKZ.js.map +0 -1
- package/build/client/assets/index-DZ0It6pH.js +0 -2
- package/build/client/assets/index-DZ0It6pH.js.map +0 -1
- package/build/client/assets/manifest-9328c766.js +0 -1
- package/build/client/assets/test-CvzcNTDp.js +0 -2
- package/build/client/assets/user-DJiL1Lk-.js +0 -2
- package/build/client/assets/user-DJiL1Lk-.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"./index-BFGhCX_U.js";import{E as t}from"./index-BCxBKsqT.js";import{E as a}from"./epic-video-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{j as e}from"./index-BFGhCX_U.js";import{E as t}from"./index-BCxBKsqT.js";import{E as a}from"./epic-video-Bp4BOD2R.js";import{G as i}from"./error-boundary-BZA-ffa8.js";import{M as l,E as m}from"./mdx-CEjzXoEx.js";import{a as n}from"./misc-DUy_whwE.js";import{P as d,u as c}from"./progress-DQt_Bn9o.js";import{u as p,L as x}from"./components-Be92gVxW.js";import"./index-Bdg3v8tC.js";import"./request-info-ByUEfOil.js";import"./tooltip-DO9uwurQ.js";import"./pe-ChIwTk8v.js";import"./loading-XhMtj4mp.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";import"./progress-bar-BaTU3Yx_.js";function h({exercise:r}){const s=c(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,7.5rem)] font-extrabold leading-none",children:r.title})}),e.jsxs("div",{className:"w-full max-w-none scroll-pt-6 border-t px-3 pt-3 md:px-10 md:pt-8",children:[e.jsx("h2",{className:"pb-5 font-mono text-xs font-semibold uppercase",children:"Intro"}),r.workshopReadme.compiled.status==="success"&&r.workshopReadme.compiled.code?e.jsx(a,{epicVideoInfosPromise:r.epicVideoInfosPromise,children:e.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:e.jsx(l,{code:r.workshopReadme.compiled.code,components:f})})}):r.workshopReadme.compiled.status==="error"?e.jsxs("div",{className:"text-red-500",children:["There was an error:",e.jsx("pre",{children:r.workshopReadme.compiled.error})]}):"No instructions yet..."]}),e.jsx("div",{className:"pb-5 pt-10",children:r.workshopReadme.compiled.status==="success"&&r.workshopReadme.compiled.code&&r.workshopReadme.compiled.code.length>500?s:null})]}),e.jsx(t,{elementQuery:`#${r.articleId}`}),e.jsx(d,{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-Ca4vBON4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Ca4vBON4.js","sources":["../../../app/routes/_app+/index.tsx"],"sourcesContent":["import { ElementScrollRestoration } from '@epic-web/restore-scroll'\nimport {\n\tgetExercises,\n\tgetWorkshopInstructions,\n} from '@epic-web/workshop-utils/apps.server'\nimport { getWorkshopConfig } from '@epic-web/workshop-utils/config.server'\nimport {\n\tcombineServerTimings,\n\tgetServerTimeHeader,\n\tmakeTimings,\n\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport {\n\tunstable_data as data,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\ttype SerializeFrom,\n} from '@remix-run/node'\nimport { Link, useLoaderData } from '@remix-run/react'\nimport slugify from '@sindresorhus/slugify'\nimport { EpicVideoInfoProvider } from '#app/components/epic-video.tsx'\nimport { GeneralErrorBoundary } from '#app/components/error-boundary.tsx'\nimport { EditFileOnGitHub } from '#app/routes/launch-editor.tsx'\nimport { getEpicVideoInfos } from '#app/utils/epic-api.ts'\nimport { Mdx } from '#app/utils/mdx.tsx'\nimport { cn } from '#app/utils/misc.tsx'\nimport { ProgressToggle, useExerciseProgressClassName } from '../progress.tsx'\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('indexLoader')\n\tconst { title } = getWorkshopConfig()\n\tconst [exercises, workshopReadme] = await Promise.all([\n\t\ttime(() => getExercises({ request, timings }), {\n\t\t\ttimings,\n\t\t\ttype: 'getExercises',\n\t\t\tdesc: 'getExercises in index',\n\t\t}),\n\t\ttime(() => getWorkshopInstructions({ request }), {\n\t\t\ttimings,\n\t\t\ttype: 'compileMdx',\n\t\t\tdesc: 'compileMdx in index',\n\t\t}),\n\t])\n\n\treturn data(\n\t\t{\n\t\t\tarticleId: `workshop-${slugify(title)}-instructions`,\n\t\t\ttitle:\n\t\t\t\tworkshopReadme.compiled.status === 'success'\n\t\t\t\t\t? workshopReadme.compiled.title\n\t\t\t\t\t: title,\n\t\t\texercises: exercises.map((e) => ({\n\t\t\t\texerciseNumber: e.exerciseNumber,\n\t\t\t\ttitle: e.title,\n\t\t\t})),\n\t\t\tworkshopReadme,\n\t\t\tepicVideoInfosPromise:\n\t\t\t\tworkshopReadme.compiled.status === 'success'\n\t\t\t\t\t? getEpicVideoInfos(workshopReadme.compiled.epicVideoEmbeds, {\n\t\t\t\t\t\t\trequest,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders, parentHeaders }) => {\n\tconst headers = {\n\t\t'Cache-Control': loaderHeaders.get('Cache-Control') ?? '',\n\t\t'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nfunction ExerciseListItem({\n\texercise,\n}: {\n\texercise: SerializeFrom<typeof loader>['exercises'][number]\n}) {\n\tconst progressClassName = useExerciseProgressClassName(\n\t\texercise.exerciseNumber,\n\t)\n\treturn (\n\t\t<li key={exercise.exerciseNumber}>\n\t\t\t<Link\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative flex items-center gap-4 px-4 py-3 text-lg font-semibold transition after:absolute after:right-10 after:-translate-x-2 after:opacity-0 after:transition after:content-['→'] hover:bg-gray-50 hover:after:translate-x-0 hover:after:opacity-100 dark:hover:bg-white/5\",\n\t\t\t\t\tprogressClassName,\n\t\t\t\t)}\n\t\t\t\tto={`${exercise.exerciseNumber.toString().padStart(2, '0')}`}\n\t\t\t>\n\t\t\t\t<span className=\"text-xs font-normal tabular-nums opacity-50\">\n\t\t\t\t\t{exercise.exerciseNumber}\n\t\t\t\t</span>\n\t\t\t\t<span>{exercise.title}</span>\n\t\t\t</Link>\n\t\t</li>\n\t)\n}\n\nconst mdxComponents = { h1: () => null }\n\nexport default function Index() {\n\tconst data = useLoaderData<typeof loader>()\n\n\tconst exerciseLinks = (\n\t\t<ul className=\"flex flex-col divide-y divide-border dark:divide-border/50\">\n\t\t\t<strong className=\"px-10 pb-3 font-mono text-xs uppercase\">\n\t\t\t\tExercises\n\t\t\t</strong>\n\t\t\t{data.exercises.map((exercise) => (\n\t\t\t\t<ExerciseListItem key={exercise.exerciseNumber} exercise={exercise} />\n\t\t\t))}\n\t\t</ul>\n\t)\n\treturn (\n\t\t<main className=\"relative flex h-full w-full max-w-5xl flex-col justify-between border-r md:w-3/4 xl:w-2/3\">\n\t\t\t<article\n\t\t\t\tid={data.articleId}\n\t\t\t\tclassName=\"shadow-on-scrollbox flex w-full flex-1 flex-col gap-12 overflow-y-scroll px-3 py-4 pt-6 scrollbar-thin scrollbar-thumb-scrollbar md:px-10 md:py-12 md:pt-16\"\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t<h1 className=\"px-10 text-[clamp(3rem,6vw,7.5rem)] font-extrabold leading-none\">\n\t\t\t\t\t\t{data.title}\n\t\t\t\t\t</h1>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"w-full max-w-none scroll-pt-6 border-t px-3 pt-3 md:px-10 md:pt-8\">\n\t\t\t\t\t<h2 className=\"pb-5 font-mono text-xs font-semibold uppercase\">\n\t\t\t\t\t\tIntro\n\t\t\t\t\t</h2>\n\t\t\t\t\t{data.workshopReadme.compiled.status === 'success' &&\n\t\t\t\t\tdata.workshopReadme.compiled.code ? (\n\t\t\t\t\t\t<EpicVideoInfoProvider\n\t\t\t\t\t\t\tepicVideoInfosPromise={data.epicVideoInfosPromise}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"prose dark:prose-invert sm:prose-lg\">\n\t\t\t\t\t\t\t\t<Mdx\n\t\t\t\t\t\t\t\t\tcode={data.workshopReadme.compiled.code}\n\t\t\t\t\t\t\t\t\tcomponents={mdxComponents}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</EpicVideoInfoProvider>\n\t\t\t\t\t) : data.workshopReadme.compiled.status === 'error' ? (\n\t\t\t\t\t\t<div className=\"text-red-500\">\n\t\t\t\t\t\t\tThere was an error:\n\t\t\t\t\t\t\t<pre>{data.workshopReadme.compiled.error}</pre>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t'No instructions yet...'\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"pb-5 pt-10\">\n\t\t\t\t\t{data.workshopReadme.compiled.status === 'success' &&\n\t\t\t\t\tdata.workshopReadme.compiled.code &&\n\t\t\t\t\tdata.workshopReadme.compiled.code.length > 500\n\t\t\t\t\t\t? exerciseLinks\n\t\t\t\t\t\t: null}\n\t\t\t\t</div>\n\t\t\t</article>\n\t\t\t<ElementScrollRestoration elementQuery={`#${data.articleId}`} />\n\t\t\t<ProgressToggle\n\t\t\t\ttype=\"workshop-instructions\"\n\t\t\t\tclassName=\"h-14 border-t px-6\"\n\t\t\t/>\n\t\t\t<div className=\"flex h-16 justify-center border-t\">\n\t\t\t\t<EditFileOnGitHub\n\t\t\t\t\tfile={data.workshopReadme.file}\n\t\t\t\t\trelativePath={data.workshopReadme.relativePath}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</main>\n\t)\n}\n\nexport function ErrorBoundary() {\n\treturn <GeneralErrorBoundary />\n}\n"],"names":["ExerciseListItem","exercise","progressClassName","useExerciseProgressClassName","exerciseNumber","children","jsxs","Link","className","cn","to","toString","padStart","jsx","title","mdxComponents","h1","Index","data","useLoaderData","exerciseLinks","exercises","map","id","articleId","workshopReadme","compiled","status","code","EpicVideoInfoProvider","epicVideoInfosPromise","Mdx","components","error","length","ElementScrollRestoration","elementQuery","ProgressToggle","type","EditFileOnGitHub","file","relativePath","ErrorBoundary","GeneralErrorBoundary"],"mappings":"gmBA+EA,SAASA,EAAiB,CACzBC,SAAAA,CACD,EAEG,CACF,MAAMC,EAAoBC,EACzBF,EAASG,cACV,EACA,aACE,KACA,CAAAC,SAAAC,EAAA,KAACC,EAAA,CACAC,UAAWC,EACV,+QACAP,CACD,EACAQ,GAAI,GAAGT,EAASG,eAAeO,SAAW,EAAAC,SAAS,EAAG,GAAG,CAAC,GAE1DP,SAAA,CAAAQ,EAAA,IAAC,OAAK,CAAAL,UAAU,8CACdH,SAAAJ,EAASG,cACX,CAAA,EACAS,EAAA,IAAC,OAAM,CAAAR,SAAAJ,EAASa,KAAM,CAAA,CAAA,EACvB,CAAA,EAZQb,EAASG,cAalB,CAEF,CAEA,MAAMW,EAAgB,CAAEC,GAAIA,IAAM,IAAK,EAEvC,SAAwBC,GAAQ,CAC/B,MAAMC,EAAOC,IAEPC,EACLd,EAAA,KAAC,KAAG,CAAAE,UAAU,6DACbH,SAAA,CAACQ,EAAA,IAAA,SAAA,CAAOL,UAAU,yCAAyCH,SAE3D,WAAA,CAAA,EACCa,EAAKG,UAAUC,IAAKrB,SACnBD,EAA+C,CAAAC,SAAAA,CAAA,EAAzBA,EAASG,cAAoC,CACpE,CAAA,CACF,CAAA,EAGA,OAAAE,EAAAA,KAAC,OAAK,CAAAE,UAAU,4FACfH,SAAA,CAAAC,EAAA,KAAC,UAAA,CACAiB,GAAIL,EAAKM,UACThB,UAAU,8JAEVH,SAAA,CAACQ,EAAA,IAAA,MAAA,CACAR,eAAC,KAAG,CAAAG,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,4BAE5B,MAAK,CAAAA,SAAAa,EAAKO,eAAeC,SAASO,KAAM,CAAA,CAAA,CAC1C,CAAA,EAEA,wBAAA,CAEF,CAAA,EACApB,EAAA,IAAC,OAAIL,UAAU,aACbH,SAAAa,EAAKO,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 o,j as f,R as J}from"./index-BFGhCX_U.js";import{r as be}from"./components-9EGYHTc_.js";import{h as O,k as Se,d as rt,j as _e,A as st,P as D,f as E,i as $,D as ct,C as lt,e as Te,l as it,V as at,n as dt,u as Re,R as ut}from"./tooltip-BgynKV2c.js";import{h as pt,u as ft,R as mt,F as ht,P as vt}from"./index-BuoaxPEj.js";function Ee(t,[c,e]){return Math.min(e,Math.max(c,t))}function gt(t,c=[]){let e=[];function i(d,n){const r=o.createContext(n),s=e.length;e=[...e,n];function p(x){const{scope:y,children:C,...g}=x,a=(y==null?void 0:y[t][s])||r,m=o.useMemo(()=>g,Object.values(g));return f.jsx(a.Provider,{value:m,children:C})}function S(x,y){const C=(y==null?void 0:y[t][s])||r,g=o.useContext(C);if(g)return g;if(n!==void 0)return n;throw new Error(`\`${x}\` must be used within \`${d}\``)}return p.displayName=d+"Provider",[p,S]}const l=()=>{const d=e.map(n=>o.createContext(n));return function(r){const s=(r==null?void 0:r[t])||d;return o.useMemo(()=>({[`__scope${t}`]:{...r,[t]:s}}),[r,s])}};return l.scopeName=t,[i,St(l,...c)]}function St(...t){const c=t[0];if(t.length===1)return c;const e=()=>{const i=t.map(l=>({useScope:l(),scopeName:l.scopeName}));return function(d){const n=i.reduce((r,{useScope:s,scopeName:p})=>{const x=s(d)[`__scope${p}`];return{...r,...x}},{});return o.useMemo(()=>({[`__scope${c.scopeName}`]:n}),[n])}};return e.scopeName=c.scopeName,e}function xt(t){const c=t+"CollectionProvider",[e,i]=gt(c),[l,d]=e(c,{collectionRef:{current:null},itemMap:new Map}),n=C=>{const{scope:g,children:a}=C,m=J.useRef(null),w=J.useRef(new Map).current;return f.jsx(l,{scope:g,itemMap:w,collectionRef:m,children:a})};n.displayName=c;const r=t+"CollectionSlot",s=J.forwardRef((C,g)=>{const{scope:a,children:m}=C,w=d(r,a),u=O(g,w.collectionRef);return f.jsx(Se,{ref:u,children:m})});s.displayName=r;const p=t+"CollectionItemSlot",S="data-radix-collection-item",x=J.forwardRef((C,g)=>{const{scope:a,children:m,...w}=C,u=J.useRef(null),h=O(g,u),b=d(p,a);return J.useEffect(()=>(b.itemMap.set(u,{ref:u,...w}),()=>void b.itemMap.delete(u))),f.jsx(Se,{[S]:"",ref:h,children:m})});x.displayName=p;function y(C){const g=d(t+"CollectionConsumer",C);return J.useCallback(()=>{const m=g.collectionRef.current;if(!m)return[];const w=Array.from(m.querySelectorAll(`[${S}]`));return Array.from(g.itemMap.values()).sort((b,M)=>w.indexOf(b.ref.current)-w.indexOf(M.ref.current))},[g.collectionRef,g.itemMap])}return[{Provider:n,Slot:s,ItemSlot:x},y,i]}var wt=o.createContext(void 0);function Ct(t){const c=o.useContext(wt);return t||c||"ltr"}function yt(t){const c=o.useRef({value:t,previous:t});return o.useMemo(()=>(c.current.value!==t&&(c.current.previous=c.current.value,c.current.value=t),c.current.previous),[t])}var It=[" ","Enter","ArrowUp","ArrowDown"],Tt=[" ","Enter"],se="Select",[ae,de,Pt]=xt(se),[te,$t]=rt(se,[Pt,_e]),ue=_e(),[Rt,z]=te(se),[Et,bt]=te(se),Ne=t=>{const{__scopeSelect:c,children:e,open:i,defaultOpen:l,onOpenChange:d,value:n,defaultValue:r,onValueChange:s,dir:p,name:S,autoComplete:x,disabled:y,required:C,form:g}=t,a=ue(c),[m,w]=o.useState(null),[u,h]=o.useState(null),[b,M]=o.useState(!1),oe=Ct(p),[_=!1,L]=Re({prop:i,defaultProp:l,onChange:d}),[U,Y]=Re({prop:n,defaultProp:r,onChange:s}),V=o.useRef(null),B=m?g||!!m.closest("form"):!0,[K,H]=o.useState(new Set),F=Array.from(K).map(N=>N.props.value).join(";");return f.jsx(ut,{...a,children:f.jsxs(Rt,{required:C,scope:c,trigger:m,onTriggerChange:w,valueNode:u,onValueNodeChange:h,valueNodeHasChildren:b,onValueNodeHasChildrenChange:M,contentId:Te(),value:U,onValueChange:Y,open:_,onOpenChange:L,dir:oe,triggerPointerDownPosRef:V,disabled:y,children:[f.jsx(ae.Provider,{scope:c,children:f.jsx(Et,{scope:t.__scopeSelect,onNativeOptionAdd:o.useCallback(N=>{H(k=>new Set(k).add(N))},[]),onNativeOptionRemove:o.useCallback(N=>{H(k=>{const W=new Set(k);return W.delete(N),W})},[]),children:e})}),B?f.jsxs(tt,{"aria-hidden":!0,required:C,tabIndex:-1,name:S,autoComplete:x,value:U,onChange:N=>Y(N.target.value),disabled:y,form:g,children:[U===void 0?f.jsx("option",{value:""}):null,Array.from(K)]},F):null]})})};Ne.displayName=se;var Me="SelectTrigger",Ae=o.forwardRef((t,c)=>{const{__scopeSelect:e,disabled:i=!1,...l}=t,d=ue(e),n=z(Me,e),r=n.disabled||i,s=O(c,n.onTriggerChange),p=de(e),S=o.useRef("touch"),[x,y,C]=ot(a=>{const m=p().filter(h=>!h.disabled),w=m.find(h=>h.value===n.value),u=nt(m,a,w);u!==void 0&&n.onValueChange(u.value)}),g=a=>{r||(n.onOpenChange(!0),C()),a&&(n.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return f.jsx(st,{asChild:!0,...d,children:f.jsx(D.button,{type:"button",role:"combobox","aria-controls":n.contentId,"aria-expanded":n.open,"aria-required":n.required,"aria-autocomplete":"none",dir:n.dir,"data-state":n.open?"open":"closed",disabled:r,"data-disabled":r?"":void 0,"data-placeholder":et(n.value)?"":void 0,...l,ref:s,onClick:E(l.onClick,a=>{a.currentTarget.focus(),S.current!=="mouse"&&g(a)}),onPointerDown:E(l.onPointerDown,a=>{S.current=a.pointerType;const m=a.target;m.hasPointerCapture(a.pointerId)&&m.releasePointerCapture(a.pointerId),a.button===0&&a.ctrlKey===!1&&a.pointerType==="mouse"&&(g(a),a.preventDefault())}),onKeyDown:E(l.onKeyDown,a=>{const m=x.current!=="";!(a.ctrlKey||a.altKey||a.metaKey)&&a.key.length===1&&y(a.key),!(m&&a.key===" ")&&It.includes(a.key)&&(g(),a.preventDefault())})})})});Ae.displayName=Me;var Oe="SelectValue",De=o.forwardRef((t,c)=>{const{__scopeSelect:e,className:i,style:l,children:d,placeholder:n="",...r}=t,s=z(Oe,e),{onValueNodeHasChildrenChange:p}=s,S=d!==void 0,x=O(c,s.onValueNodeChange);return $(()=>{p(S)},[p,S]),f.jsx(D.span,{...r,ref:x,style:{pointerEvents:"none"},children:et(s.value)?f.jsx(f.Fragment,{children:n}):d})});De.displayName=Oe;var _t="SelectIcon",je=o.forwardRef((t,c)=>{const{__scopeSelect:e,children:i,...l}=t;return f.jsx(D.span,{"aria-hidden":!0,...l,ref:c,children:i||"▼"})});je.displayName=_t;var Nt="SelectPortal",Le=t=>f.jsx(vt,{asChild:!0,...t});Le.displayName=Nt;var Q="SelectContent",ke=o.forwardRef((t,c)=>{const e=z(Q,t.__scopeSelect),[i,l]=o.useState();if($(()=>{l(new DocumentFragment)},[]),!e.open){const d=i;return d?be.createPortal(f.jsx(Ve,{scope:t.__scopeSelect,children:f.jsx(ae.Slot,{scope:t.__scopeSelect,children:f.jsx("div",{children:t.children})})}),d):null}return f.jsx(Be,{...t,ref:c})});ke.displayName=Q;var j=10,[Ve,q]=te(Q),Mt="SelectContentImpl",Be=o.forwardRef((t,c)=>{const{__scopeSelect:e,position:i="item-aligned",onCloseAutoFocus:l,onEscapeKeyDown:d,onPointerDownOutside:n,side:r,sideOffset:s,align:p,alignOffset:S,arrowPadding:x,collisionBoundary:y,collisionPadding:C,sticky:g,hideWhenDetached:a,avoidCollisions:m,...w}=t,u=z(Q,e),[h,b]=o.useState(null),[M,oe]=o.useState(null),_=O(c,v=>b(v)),[L,U]=o.useState(null),[Y,V]=o.useState(null),B=de(e),[K,H]=o.useState(!1),F=o.useRef(!1);o.useEffect(()=>{if(h)return pt(h)},[h]),ft();const N=o.useCallback(v=>{const[R,...A]=B().map(T=>T.ref.current),[P]=A.slice(-1),I=document.activeElement;for(const T of v)if(T===I||(T==null||T.scrollIntoView({block:"nearest"}),T===R&&M&&(M.scrollTop=0),T===P&&M&&(M.scrollTop=M.scrollHeight),T==null||T.focus(),document.activeElement!==I))return},[B,M]),k=o.useCallback(()=>N([L,h]),[N,L,h]);o.useEffect(()=>{K&&k()},[K,k]);const{onOpenChange:W,triggerPointerDownPosRef:G}=u;o.useEffect(()=>{if(h){let v={x:0,y:0};const R=P=>{var I,T;v={x:Math.abs(Math.round(P.pageX)-(((I=G.current)==null?void 0:I.x)??0)),y:Math.abs(Math.round(P.pageY)-(((T=G.current)==null?void 0:T.y)??0))}},A=P=>{v.x<=10&&v.y<=10?P.preventDefault():h.contains(P.target)||W(!1),document.removeEventListener("pointermove",R),G.current=null};return G.current!==null&&(document.addEventListener("pointermove",R),document.addEventListener("pointerup",A,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",R),document.removeEventListener("pointerup",A,{capture:!0})}}},[h,W,G]),o.useEffect(()=>{const v=()=>W(!1);return window.addEventListener("blur",v),window.addEventListener("resize",v),()=>{window.removeEventListener("blur",v),window.removeEventListener("resize",v)}},[W]);const[pe,ce]=ot(v=>{const R=B().filter(I=>!I.disabled),A=R.find(I=>I.ref.current===document.activeElement),P=nt(R,v,A);P&&setTimeout(()=>P.ref.current.focus())}),fe=o.useCallback((v,R,A)=>{const P=!F.current&&!A;(u.value!==void 0&&u.value===R||P)&&(U(v),P&&(F.current=!0))},[u.value]),me=o.useCallback(()=>h==null?void 0:h.focus(),[h]),ee=o.useCallback((v,R,A)=>{const P=!F.current&&!A;(u.value!==void 0&&u.value===R||P)&&V(v)},[u.value]),le=i==="popper"?xe:He,ne=le===xe?{side:r,sideOffset:s,align:p,alignOffset:S,arrowPadding:x,collisionBoundary:y,collisionPadding:C,sticky:g,hideWhenDetached:a,avoidCollisions:m}:{};return f.jsx(Ve,{scope:e,content:h,viewport:M,onViewportChange:oe,itemRefCallback:fe,selectedItem:L,onItemLeave:me,itemTextRefCallback:ee,focusSelectedItem:k,selectedItemText:Y,position:i,isPositioned:K,searchRef:pe,children:f.jsx(mt,{as:Se,allowPinchZoom:!0,children:f.jsx(ht,{asChild:!0,trapped:u.open,onMountAutoFocus:v=>{v.preventDefault()},onUnmountAutoFocus:E(l,v=>{var R;(R=u.trigger)==null||R.focus({preventScroll:!0}),v.preventDefault()}),children:f.jsx(ct,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:n,onFocusOutside:v=>v.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:f.jsx(le,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:v=>v.preventDefault(),...w,...ne,onPlaced:()=>H(!0),ref:_,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:E(w.onKeyDown,v=>{const R=v.ctrlKey||v.altKey||v.metaKey;if(v.key==="Tab"&&v.preventDefault(),!R&&v.key.length===1&&ce(v.key),["ArrowUp","ArrowDown","Home","End"].includes(v.key)){let P=B().filter(I=>!I.disabled).map(I=>I.ref.current);if(["ArrowUp","End"].includes(v.key)&&(P=P.slice().reverse()),["ArrowUp","ArrowDown"].includes(v.key)){const I=v.target,T=P.indexOf(I);P=P.slice(T+1)}setTimeout(()=>N(P)),v.preventDefault()}})})})})})})});Be.displayName=Mt;var At="SelectItemAlignedPosition",He=o.forwardRef((t,c)=>{const{__scopeSelect:e,onPlaced:i,...l}=t,d=z(Q,e),n=q(Q,e),[r,s]=o.useState(null),[p,S]=o.useState(null),x=O(c,_=>S(_)),y=de(e),C=o.useRef(!1),g=o.useRef(!0),{viewport:a,selectedItem:m,selectedItemText:w,focusSelectedItem:u}=n,h=o.useCallback(()=>{if(d.trigger&&d.valueNode&&r&&p&&a&&m&&w){const _=d.trigger.getBoundingClientRect(),L=p.getBoundingClientRect(),U=d.valueNode.getBoundingClientRect(),Y=w.getBoundingClientRect();if(d.dir!=="rtl"){const I=Y.left-L.left,T=U.left-I,X=_.left-T,Z=_.width+X,he=Math.max(Z,L.width),ve=window.innerWidth-j,ge=Ee(T,[j,Math.max(j,ve-he)]);r.style.minWidth=Z+"px",r.style.left=ge+"px"}else{const I=L.right-Y.right,T=window.innerWidth-U.right-I,X=window.innerWidth-_.right-T,Z=_.width+X,he=Math.max(Z,L.width),ve=window.innerWidth-j,ge=Ee(T,[j,Math.max(j,ve-he)]);r.style.minWidth=Z+"px",r.style.right=ge+"px"}const V=y(),B=window.innerHeight-j*2,K=a.scrollHeight,H=window.getComputedStyle(p),F=parseInt(H.borderTopWidth,10),N=parseInt(H.paddingTop,10),k=parseInt(H.borderBottomWidth,10),W=parseInt(H.paddingBottom,10),G=F+N+K+W+k,pe=Math.min(m.offsetHeight*5,G),ce=window.getComputedStyle(a),fe=parseInt(ce.paddingTop,10),me=parseInt(ce.paddingBottom,10),ee=_.top+_.height/2-j,le=B-ee,ne=m.offsetHeight/2,v=m.offsetTop+ne,R=F+N+v,A=G-R;if(R<=ee){const I=V.length>0&&m===V[V.length-1].ref.current;r.style.bottom="0px";const T=p.clientHeight-a.offsetTop-a.offsetHeight,X=Math.max(le,ne+(I?me:0)+T+k),Z=R+X;r.style.height=Z+"px"}else{const I=V.length>0&&m===V[0].ref.current;r.style.top="0px";const X=Math.max(ee,F+a.offsetTop+(I?fe:0)+ne)+A;r.style.height=X+"px",a.scrollTop=R-ee+a.offsetTop}r.style.margin=`${j}px 0`,r.style.minHeight=pe+"px",r.style.maxHeight=B+"px",i==null||i(),requestAnimationFrame(()=>C.current=!0)}},[y,d.trigger,d.valueNode,r,p,a,m,w,d.dir,i]);$(()=>h(),[h]);const[b,M]=o.useState();$(()=>{p&&M(window.getComputedStyle(p).zIndex)},[p]);const oe=o.useCallback(_=>{_&&g.current===!0&&(h(),u==null||u(),g.current=!1)},[h,u]);return f.jsx(Dt,{scope:e,contentWrapper:r,shouldExpandOnScrollRef:C,onScrollButtonChange:oe,children:f.jsx("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:b},children:f.jsx(D.div,{...l,ref:x,style:{boxSizing:"border-box",maxHeight:"100%",...l.style}})})})});He.displayName=At;var Ot="SelectPopperPosition",xe=o.forwardRef((t,c)=>{const{__scopeSelect:e,align:i="start",collisionPadding:l=j,...d}=t,n=ue(e);return f.jsx(lt,{...n,...d,ref:c,align:i,collisionPadding:l,style:{boxSizing:"border-box",...d.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});xe.displayName=Ot;var[Dt,Pe]=te(Q,{}),we="SelectViewport",Fe=o.forwardRef((t,c)=>{const{__scopeSelect:e,nonce:i,...l}=t,d=q(we,e),n=Pe(we,e),r=O(c,d.onViewportChange),s=o.useRef(0);return f.jsxs(f.Fragment,{children:[f.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),f.jsx(ae.Slot,{scope:e,children:f.jsx(D.div,{"data-radix-select-viewport":"",role:"presentation",...l,ref:r,style:{position:"relative",flex:1,overflow:"hidden auto",...l.style},onScroll:E(l.onScroll,p=>{const S=p.currentTarget,{contentWrapper:x,shouldExpandOnScrollRef:y}=n;if(y!=null&&y.current&&x){const C=Math.abs(s.current-S.scrollTop);if(C>0){const g=window.innerHeight-j*2,a=parseFloat(x.style.minHeight),m=parseFloat(x.style.height),w=Math.max(a,m);if(w<g){const u=w+C,h=Math.min(g,u),b=u-h;x.style.height=h+"px",x.style.bottom==="0px"&&(S.scrollTop=b>0?b:0,x.style.justifyContent="flex-end")}}}s.current=S.scrollTop})})})]})});Fe.displayName=we;var We="SelectGroup",[jt,Lt]=te(We),Ue=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t,l=Te();return f.jsx(jt,{scope:e,id:l,children:f.jsx(D.div,{role:"group","aria-labelledby":l,...i,ref:c})})});Ue.displayName=We;var Ke="SelectLabel",Ge=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t,l=Lt(Ke,e);return f.jsx(D.div,{id:l.id,...i,ref:c})});Ge.displayName=Ke;var ie="SelectItem",[kt,$e]=te(ie),ze=o.forwardRef((t,c)=>{const{__scopeSelect:e,value:i,disabled:l=!1,textValue:d,...n}=t,r=z(ie,e),s=q(ie,e),p=r.value===i,[S,x]=o.useState(d??""),[y,C]=o.useState(!1),g=O(c,u=>{var h;return(h=s.itemRefCallback)==null?void 0:h.call(s,u,i,l)}),a=Te(),m=o.useRef("touch"),w=()=>{l||(r.onValueChange(i),r.onOpenChange(!1))};if(i==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return f.jsx(kt,{scope:e,value:i,disabled:l,textId:a,isSelected:p,onItemTextChange:o.useCallback(u=>{x(h=>h||((u==null?void 0:u.textContent)??"").trim())},[]),children:f.jsx(ae.ItemSlot,{scope:e,value:i,disabled:l,textValue:S,children:f.jsx(D.div,{role:"option","aria-labelledby":a,"data-highlighted":y?"":void 0,"aria-selected":p&&y,"data-state":p?"checked":"unchecked","aria-disabled":l||void 0,"data-disabled":l?"":void 0,tabIndex:l?void 0:-1,...n,ref:g,onFocus:E(n.onFocus,()=>C(!0)),onBlur:E(n.onBlur,()=>C(!1)),onClick:E(n.onClick,()=>{m.current!=="mouse"&&w()}),onPointerUp:E(n.onPointerUp,()=>{m.current==="mouse"&&w()}),onPointerDown:E(n.onPointerDown,u=>{m.current=u.pointerType}),onPointerMove:E(n.onPointerMove,u=>{var h;m.current=u.pointerType,l?(h=s.onItemLeave)==null||h.call(s):m.current==="mouse"&&u.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E(n.onPointerLeave,u=>{var h;u.currentTarget===document.activeElement&&((h=s.onItemLeave)==null||h.call(s))}),onKeyDown:E(n.onKeyDown,u=>{var b;((b=s.searchRef)==null?void 0:b.current)!==""&&u.key===" "||(Tt.includes(u.key)&&w(),u.key===" "&&u.preventDefault())})})})})});ze.displayName=ie;var re="SelectItemText",qe=o.forwardRef((t,c)=>{const{__scopeSelect:e,className:i,style:l,...d}=t,n=z(re,e),r=q(re,e),s=$e(re,e),p=bt(re,e),[S,x]=o.useState(null),y=O(c,w=>x(w),s.onItemTextChange,w=>{var u;return(u=r.itemTextRefCallback)==null?void 0:u.call(r,w,s.value,s.disabled)}),C=S==null?void 0:S.textContent,g=o.useMemo(()=>f.jsx("option",{value:s.value,disabled:s.disabled,children:C},s.value),[s.disabled,s.value,C]),{onNativeOptionAdd:a,onNativeOptionRemove:m}=p;return $(()=>(a(g),()=>m(g)),[a,m,g]),f.jsxs(f.Fragment,{children:[f.jsx(D.span,{id:s.textId,...d,ref:y}),s.isSelected&&n.valueNode&&!n.valueNodeHasChildren?be.createPortal(d.children,n.valueNode):null]})});qe.displayName=re;var Ye="SelectItemIndicator",Xe=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t;return $e(Ye,e).isSelected?f.jsx(D.span,{"aria-hidden":!0,...i,ref:c}):null});Xe.displayName=Ye;var Ce="SelectScrollUpButton",Ze=o.forwardRef((t,c)=>{const e=q(Ce,t.__scopeSelect),i=Pe(Ce,t.__scopeSelect),[l,d]=o.useState(!1),n=O(c,i.onScrollButtonChange);return $(()=>{if(e.viewport&&e.isPositioned){let r=function(){const p=s.scrollTop>0;d(p)};const s=e.viewport;return r(),s.addEventListener("scroll",r),()=>s.removeEventListener("scroll",r)}},[e.viewport,e.isPositioned]),l?f.jsx(Qe,{...t,ref:n,onAutoScroll:()=>{const{viewport:r,selectedItem:s}=e;r&&s&&(r.scrollTop=r.scrollTop-s.offsetHeight)}}):null});Ze.displayName=Ce;var ye="SelectScrollDownButton",Je=o.forwardRef((t,c)=>{const e=q(ye,t.__scopeSelect),i=Pe(ye,t.__scopeSelect),[l,d]=o.useState(!1),n=O(c,i.onScrollButtonChange);return $(()=>{if(e.viewport&&e.isPositioned){let r=function(){const p=s.scrollHeight-s.clientHeight,S=Math.ceil(s.scrollTop)<p;d(S)};const s=e.viewport;return r(),s.addEventListener("scroll",r),()=>s.removeEventListener("scroll",r)}},[e.viewport,e.isPositioned]),l?f.jsx(Qe,{...t,ref:n,onAutoScroll:()=>{const{viewport:r,selectedItem:s}=e;r&&s&&(r.scrollTop=r.scrollTop+s.offsetHeight)}}):null});Je.displayName=ye;var Qe=o.forwardRef((t,c)=>{const{__scopeSelect:e,onAutoScroll:i,...l}=t,d=q("SelectScrollButton",e),n=o.useRef(null),r=de(e),s=o.useCallback(()=>{n.current!==null&&(window.clearInterval(n.current),n.current=null)},[]);return o.useEffect(()=>()=>s(),[s]),$(()=>{var S;const p=r().find(x=>x.ref.current===document.activeElement);(S=p==null?void 0:p.ref.current)==null||S.scrollIntoView({block:"nearest"})},[r]),f.jsx(D.div,{"aria-hidden":!0,...l,ref:c,style:{flexShrink:0,...l.style},onPointerDown:E(l.onPointerDown,()=>{n.current===null&&(n.current=window.setInterval(i,50))}),onPointerMove:E(l.onPointerMove,()=>{var p;(p=d.onItemLeave)==null||p.call(d),n.current===null&&(n.current=window.setInterval(i,50))}),onPointerLeave:E(l.onPointerLeave,()=>{s()})})}),Vt="SelectSeparator",Bt=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t;return f.jsx(D.div,{"aria-hidden":!0,...i,ref:c})});Bt.displayName=Vt;var Ie="SelectArrow",Ht=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t,l=ue(e),d=z(Ie,e),n=q(Ie,e);return d.open&&n.position==="popper"?f.jsx(it,{...l,...i,ref:c}):null});Ht.displayName=Ie;function et(t){return t===""||t===void 0}var tt=o.forwardRef((t,c)=>{const{value:e,...i}=t,l=o.useRef(null),d=O(c,l),n=yt(e);return o.useEffect(()=>{const r=l.current,s=window.HTMLSelectElement.prototype,S=Object.getOwnPropertyDescriptor(s,"value").set;if(n!==e&&S){const x=new Event("change",{bubbles:!0});S.call(r,e),r.dispatchEvent(x)}},[n,e]),f.jsx(at,{asChild:!0,children:f.jsx("select",{...i,ref:d,defaultValue:e})})});tt.displayName="BubbleSelect";function ot(t){const c=dt(t),e=o.useRef(""),i=o.useRef(0),l=o.useCallback(n=>{const r=e.current+n;c(r),function s(p){e.current=p,window.clearTimeout(i.current),p!==""&&(i.current=window.setTimeout(()=>s(""),1e3))}(r)},[c]),d=o.useCallback(()=>{e.current="",window.clearTimeout(i.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(i.current),[]),[e,l,d]}function nt(t,c,e){const l=c.length>1&&Array.from(c).every(p=>p===c[0])?c[0]:c,d=e?t.indexOf(e):-1;let n=Ft(t,Math.max(d,0));l.length===1&&(n=n.filter(p=>p!==e));const s=n.find(p=>p.textValue.toLowerCase().startsWith(l.toLowerCase()));return s!==e?s:void 0}function Ft(t,c){return t.map((e,i)=>t[(c+i)%t.length])}var zt=Ne,qt=Ae,Yt=De,Xt=je,Zt=Le,Jt=ke,Qt=Fe,eo=Ue,to=Ge,oo=ze,no=qe,ro=Xe,so=Ze,co=Je;export{Jt as C,eo as G,Xt as I,to as L,Zt as P,zt as R,so as S,qt as T,Yt as V,Qt as a,co as b,oo as c,no as d,ro as e,xt as f,Ct as u};
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{r as o,j as f,R as J}from"./index-BFGhCX_U.js";import{r as be}from"./components-Be92gVxW.js";import{h as O,k as Se,d as rt,j as _e,A as st,P as D,f as E,i as $,D as ct,C as lt,e as Te,l as it,V as at,n as dt,u as Re,R as ut}from"./tooltip-DO9uwurQ.js";import{h as pt,u as ft,R as mt,F as ht,P as vt}from"./index-BCTr8uu6.js";function Ee(t,[c,e]){return Math.min(e,Math.max(c,t))}function gt(t,c=[]){let e=[];function i(d,n){const r=o.createContext(n),s=e.length;e=[...e,n];function p(x){const{scope:y,children:C,...g}=x,a=(y==null?void 0:y[t][s])||r,m=o.useMemo(()=>g,Object.values(g));return f.jsx(a.Provider,{value:m,children:C})}function S(x,y){const C=(y==null?void 0:y[t][s])||r,g=o.useContext(C);if(g)return g;if(n!==void 0)return n;throw new Error(`\`${x}\` must be used within \`${d}\``)}return p.displayName=d+"Provider",[p,S]}const l=()=>{const d=e.map(n=>o.createContext(n));return function(r){const s=(r==null?void 0:r[t])||d;return o.useMemo(()=>({[`__scope${t}`]:{...r,[t]:s}}),[r,s])}};return l.scopeName=t,[i,St(l,...c)]}function St(...t){const c=t[0];if(t.length===1)return c;const e=()=>{const i=t.map(l=>({useScope:l(),scopeName:l.scopeName}));return function(d){const n=i.reduce((r,{useScope:s,scopeName:p})=>{const x=s(d)[`__scope${p}`];return{...r,...x}},{});return o.useMemo(()=>({[`__scope${c.scopeName}`]:n}),[n])}};return e.scopeName=c.scopeName,e}function xt(t){const c=t+"CollectionProvider",[e,i]=gt(c),[l,d]=e(c,{collectionRef:{current:null},itemMap:new Map}),n=C=>{const{scope:g,children:a}=C,m=J.useRef(null),w=J.useRef(new Map).current;return f.jsx(l,{scope:g,itemMap:w,collectionRef:m,children:a})};n.displayName=c;const r=t+"CollectionSlot",s=J.forwardRef((C,g)=>{const{scope:a,children:m}=C,w=d(r,a),u=O(g,w.collectionRef);return f.jsx(Se,{ref:u,children:m})});s.displayName=r;const p=t+"CollectionItemSlot",S="data-radix-collection-item",x=J.forwardRef((C,g)=>{const{scope:a,children:m,...w}=C,u=J.useRef(null),h=O(g,u),b=d(p,a);return J.useEffect(()=>(b.itemMap.set(u,{ref:u,...w}),()=>void b.itemMap.delete(u))),f.jsx(Se,{[S]:"",ref:h,children:m})});x.displayName=p;function y(C){const g=d(t+"CollectionConsumer",C);return J.useCallback(()=>{const m=g.collectionRef.current;if(!m)return[];const w=Array.from(m.querySelectorAll(`[${S}]`));return Array.from(g.itemMap.values()).sort((b,M)=>w.indexOf(b.ref.current)-w.indexOf(M.ref.current))},[g.collectionRef,g.itemMap])}return[{Provider:n,Slot:s,ItemSlot:x},y,i]}var wt=o.createContext(void 0);function Ct(t){const c=o.useContext(wt);return t||c||"ltr"}function yt(t){const c=o.useRef({value:t,previous:t});return o.useMemo(()=>(c.current.value!==t&&(c.current.previous=c.current.value,c.current.value=t),c.current.previous),[t])}var It=[" ","Enter","ArrowUp","ArrowDown"],Tt=[" ","Enter"],se="Select",[ae,de,Pt]=xt(se),[te,$t]=rt(se,[Pt,_e]),ue=_e(),[Rt,z]=te(se),[Et,bt]=te(se),Ne=t=>{const{__scopeSelect:c,children:e,open:i,defaultOpen:l,onOpenChange:d,value:n,defaultValue:r,onValueChange:s,dir:p,name:S,autoComplete:x,disabled:y,required:C,form:g}=t,a=ue(c),[m,w]=o.useState(null),[u,h]=o.useState(null),[b,M]=o.useState(!1),oe=Ct(p),[_=!1,L]=Re({prop:i,defaultProp:l,onChange:d}),[U,Y]=Re({prop:n,defaultProp:r,onChange:s}),V=o.useRef(null),B=m?g||!!m.closest("form"):!0,[K,H]=o.useState(new Set),F=Array.from(K).map(N=>N.props.value).join(";");return f.jsx(ut,{...a,children:f.jsxs(Rt,{required:C,scope:c,trigger:m,onTriggerChange:w,valueNode:u,onValueNodeChange:h,valueNodeHasChildren:b,onValueNodeHasChildrenChange:M,contentId:Te(),value:U,onValueChange:Y,open:_,onOpenChange:L,dir:oe,triggerPointerDownPosRef:V,disabled:y,children:[f.jsx(ae.Provider,{scope:c,children:f.jsx(Et,{scope:t.__scopeSelect,onNativeOptionAdd:o.useCallback(N=>{H(k=>new Set(k).add(N))},[]),onNativeOptionRemove:o.useCallback(N=>{H(k=>{const W=new Set(k);return W.delete(N),W})},[]),children:e})}),B?f.jsxs(tt,{"aria-hidden":!0,required:C,tabIndex:-1,name:S,autoComplete:x,value:U,onChange:N=>Y(N.target.value),disabled:y,form:g,children:[U===void 0?f.jsx("option",{value:""}):null,Array.from(K)]},F):null]})})};Ne.displayName=se;var Me="SelectTrigger",Ae=o.forwardRef((t,c)=>{const{__scopeSelect:e,disabled:i=!1,...l}=t,d=ue(e),n=z(Me,e),r=n.disabled||i,s=O(c,n.onTriggerChange),p=de(e),S=o.useRef("touch"),[x,y,C]=ot(a=>{const m=p().filter(h=>!h.disabled),w=m.find(h=>h.value===n.value),u=nt(m,a,w);u!==void 0&&n.onValueChange(u.value)}),g=a=>{r||(n.onOpenChange(!0),C()),a&&(n.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return f.jsx(st,{asChild:!0,...d,children:f.jsx(D.button,{type:"button",role:"combobox","aria-controls":n.contentId,"aria-expanded":n.open,"aria-required":n.required,"aria-autocomplete":"none",dir:n.dir,"data-state":n.open?"open":"closed",disabled:r,"data-disabled":r?"":void 0,"data-placeholder":et(n.value)?"":void 0,...l,ref:s,onClick:E(l.onClick,a=>{a.currentTarget.focus(),S.current!=="mouse"&&g(a)}),onPointerDown:E(l.onPointerDown,a=>{S.current=a.pointerType;const m=a.target;m.hasPointerCapture(a.pointerId)&&m.releasePointerCapture(a.pointerId),a.button===0&&a.ctrlKey===!1&&a.pointerType==="mouse"&&(g(a),a.preventDefault())}),onKeyDown:E(l.onKeyDown,a=>{const m=x.current!=="";!(a.ctrlKey||a.altKey||a.metaKey)&&a.key.length===1&&y(a.key),!(m&&a.key===" ")&&It.includes(a.key)&&(g(),a.preventDefault())})})})});Ae.displayName=Me;var Oe="SelectValue",De=o.forwardRef((t,c)=>{const{__scopeSelect:e,className:i,style:l,children:d,placeholder:n="",...r}=t,s=z(Oe,e),{onValueNodeHasChildrenChange:p}=s,S=d!==void 0,x=O(c,s.onValueNodeChange);return $(()=>{p(S)},[p,S]),f.jsx(D.span,{...r,ref:x,style:{pointerEvents:"none"},children:et(s.value)?f.jsx(f.Fragment,{children:n}):d})});De.displayName=Oe;var _t="SelectIcon",je=o.forwardRef((t,c)=>{const{__scopeSelect:e,children:i,...l}=t;return f.jsx(D.span,{"aria-hidden":!0,...l,ref:c,children:i||"▼"})});je.displayName=_t;var Nt="SelectPortal",Le=t=>f.jsx(vt,{asChild:!0,...t});Le.displayName=Nt;var Q="SelectContent",ke=o.forwardRef((t,c)=>{const e=z(Q,t.__scopeSelect),[i,l]=o.useState();if($(()=>{l(new DocumentFragment)},[]),!e.open){const d=i;return d?be.createPortal(f.jsx(Ve,{scope:t.__scopeSelect,children:f.jsx(ae.Slot,{scope:t.__scopeSelect,children:f.jsx("div",{children:t.children})})}),d):null}return f.jsx(Be,{...t,ref:c})});ke.displayName=Q;var j=10,[Ve,q]=te(Q),Mt="SelectContentImpl",Be=o.forwardRef((t,c)=>{const{__scopeSelect:e,position:i="item-aligned",onCloseAutoFocus:l,onEscapeKeyDown:d,onPointerDownOutside:n,side:r,sideOffset:s,align:p,alignOffset:S,arrowPadding:x,collisionBoundary:y,collisionPadding:C,sticky:g,hideWhenDetached:a,avoidCollisions:m,...w}=t,u=z(Q,e),[h,b]=o.useState(null),[M,oe]=o.useState(null),_=O(c,v=>b(v)),[L,U]=o.useState(null),[Y,V]=o.useState(null),B=de(e),[K,H]=o.useState(!1),F=o.useRef(!1);o.useEffect(()=>{if(h)return pt(h)},[h]),ft();const N=o.useCallback(v=>{const[R,...A]=B().map(T=>T.ref.current),[P]=A.slice(-1),I=document.activeElement;for(const T of v)if(T===I||(T==null||T.scrollIntoView({block:"nearest"}),T===R&&M&&(M.scrollTop=0),T===P&&M&&(M.scrollTop=M.scrollHeight),T==null||T.focus(),document.activeElement!==I))return},[B,M]),k=o.useCallback(()=>N([L,h]),[N,L,h]);o.useEffect(()=>{K&&k()},[K,k]);const{onOpenChange:W,triggerPointerDownPosRef:G}=u;o.useEffect(()=>{if(h){let v={x:0,y:0};const R=P=>{var I,T;v={x:Math.abs(Math.round(P.pageX)-(((I=G.current)==null?void 0:I.x)??0)),y:Math.abs(Math.round(P.pageY)-(((T=G.current)==null?void 0:T.y)??0))}},A=P=>{v.x<=10&&v.y<=10?P.preventDefault():h.contains(P.target)||W(!1),document.removeEventListener("pointermove",R),G.current=null};return G.current!==null&&(document.addEventListener("pointermove",R),document.addEventListener("pointerup",A,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",R),document.removeEventListener("pointerup",A,{capture:!0})}}},[h,W,G]),o.useEffect(()=>{const v=()=>W(!1);return window.addEventListener("blur",v),window.addEventListener("resize",v),()=>{window.removeEventListener("blur",v),window.removeEventListener("resize",v)}},[W]);const[pe,ce]=ot(v=>{const R=B().filter(I=>!I.disabled),A=R.find(I=>I.ref.current===document.activeElement),P=nt(R,v,A);P&&setTimeout(()=>P.ref.current.focus())}),fe=o.useCallback((v,R,A)=>{const P=!F.current&&!A;(u.value!==void 0&&u.value===R||P)&&(U(v),P&&(F.current=!0))},[u.value]),me=o.useCallback(()=>h==null?void 0:h.focus(),[h]),ee=o.useCallback((v,R,A)=>{const P=!F.current&&!A;(u.value!==void 0&&u.value===R||P)&&V(v)},[u.value]),le=i==="popper"?xe:He,ne=le===xe?{side:r,sideOffset:s,align:p,alignOffset:S,arrowPadding:x,collisionBoundary:y,collisionPadding:C,sticky:g,hideWhenDetached:a,avoidCollisions:m}:{};return f.jsx(Ve,{scope:e,content:h,viewport:M,onViewportChange:oe,itemRefCallback:fe,selectedItem:L,onItemLeave:me,itemTextRefCallback:ee,focusSelectedItem:k,selectedItemText:Y,position:i,isPositioned:K,searchRef:pe,children:f.jsx(mt,{as:Se,allowPinchZoom:!0,children:f.jsx(ht,{asChild:!0,trapped:u.open,onMountAutoFocus:v=>{v.preventDefault()},onUnmountAutoFocus:E(l,v=>{var R;(R=u.trigger)==null||R.focus({preventScroll:!0}),v.preventDefault()}),children:f.jsx(ct,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:n,onFocusOutside:v=>v.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:f.jsx(le,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:v=>v.preventDefault(),...w,...ne,onPlaced:()=>H(!0),ref:_,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:E(w.onKeyDown,v=>{const R=v.ctrlKey||v.altKey||v.metaKey;if(v.key==="Tab"&&v.preventDefault(),!R&&v.key.length===1&&ce(v.key),["ArrowUp","ArrowDown","Home","End"].includes(v.key)){let P=B().filter(I=>!I.disabled).map(I=>I.ref.current);if(["ArrowUp","End"].includes(v.key)&&(P=P.slice().reverse()),["ArrowUp","ArrowDown"].includes(v.key)){const I=v.target,T=P.indexOf(I);P=P.slice(T+1)}setTimeout(()=>N(P)),v.preventDefault()}})})})})})})});Be.displayName=Mt;var At="SelectItemAlignedPosition",He=o.forwardRef((t,c)=>{const{__scopeSelect:e,onPlaced:i,...l}=t,d=z(Q,e),n=q(Q,e),[r,s]=o.useState(null),[p,S]=o.useState(null),x=O(c,_=>S(_)),y=de(e),C=o.useRef(!1),g=o.useRef(!0),{viewport:a,selectedItem:m,selectedItemText:w,focusSelectedItem:u}=n,h=o.useCallback(()=>{if(d.trigger&&d.valueNode&&r&&p&&a&&m&&w){const _=d.trigger.getBoundingClientRect(),L=p.getBoundingClientRect(),U=d.valueNode.getBoundingClientRect(),Y=w.getBoundingClientRect();if(d.dir!=="rtl"){const I=Y.left-L.left,T=U.left-I,X=_.left-T,Z=_.width+X,he=Math.max(Z,L.width),ve=window.innerWidth-j,ge=Ee(T,[j,Math.max(j,ve-he)]);r.style.minWidth=Z+"px",r.style.left=ge+"px"}else{const I=L.right-Y.right,T=window.innerWidth-U.right-I,X=window.innerWidth-_.right-T,Z=_.width+X,he=Math.max(Z,L.width),ve=window.innerWidth-j,ge=Ee(T,[j,Math.max(j,ve-he)]);r.style.minWidth=Z+"px",r.style.right=ge+"px"}const V=y(),B=window.innerHeight-j*2,K=a.scrollHeight,H=window.getComputedStyle(p),F=parseInt(H.borderTopWidth,10),N=parseInt(H.paddingTop,10),k=parseInt(H.borderBottomWidth,10),W=parseInt(H.paddingBottom,10),G=F+N+K+W+k,pe=Math.min(m.offsetHeight*5,G),ce=window.getComputedStyle(a),fe=parseInt(ce.paddingTop,10),me=parseInt(ce.paddingBottom,10),ee=_.top+_.height/2-j,le=B-ee,ne=m.offsetHeight/2,v=m.offsetTop+ne,R=F+N+v,A=G-R;if(R<=ee){const I=V.length>0&&m===V[V.length-1].ref.current;r.style.bottom="0px";const T=p.clientHeight-a.offsetTop-a.offsetHeight,X=Math.max(le,ne+(I?me:0)+T+k),Z=R+X;r.style.height=Z+"px"}else{const I=V.length>0&&m===V[0].ref.current;r.style.top="0px";const X=Math.max(ee,F+a.offsetTop+(I?fe:0)+ne)+A;r.style.height=X+"px",a.scrollTop=R-ee+a.offsetTop}r.style.margin=`${j}px 0`,r.style.minHeight=pe+"px",r.style.maxHeight=B+"px",i==null||i(),requestAnimationFrame(()=>C.current=!0)}},[y,d.trigger,d.valueNode,r,p,a,m,w,d.dir,i]);$(()=>h(),[h]);const[b,M]=o.useState();$(()=>{p&&M(window.getComputedStyle(p).zIndex)},[p]);const oe=o.useCallback(_=>{_&&g.current===!0&&(h(),u==null||u(),g.current=!1)},[h,u]);return f.jsx(Dt,{scope:e,contentWrapper:r,shouldExpandOnScrollRef:C,onScrollButtonChange:oe,children:f.jsx("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:b},children:f.jsx(D.div,{...l,ref:x,style:{boxSizing:"border-box",maxHeight:"100%",...l.style}})})})});He.displayName=At;var Ot="SelectPopperPosition",xe=o.forwardRef((t,c)=>{const{__scopeSelect:e,align:i="start",collisionPadding:l=j,...d}=t,n=ue(e);return f.jsx(lt,{...n,...d,ref:c,align:i,collisionPadding:l,style:{boxSizing:"border-box",...d.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});xe.displayName=Ot;var[Dt,Pe]=te(Q,{}),we="SelectViewport",Fe=o.forwardRef((t,c)=>{const{__scopeSelect:e,nonce:i,...l}=t,d=q(we,e),n=Pe(we,e),r=O(c,d.onViewportChange),s=o.useRef(0);return f.jsxs(f.Fragment,{children:[f.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),f.jsx(ae.Slot,{scope:e,children:f.jsx(D.div,{"data-radix-select-viewport":"",role:"presentation",...l,ref:r,style:{position:"relative",flex:1,overflow:"hidden auto",...l.style},onScroll:E(l.onScroll,p=>{const S=p.currentTarget,{contentWrapper:x,shouldExpandOnScrollRef:y}=n;if(y!=null&&y.current&&x){const C=Math.abs(s.current-S.scrollTop);if(C>0){const g=window.innerHeight-j*2,a=parseFloat(x.style.minHeight),m=parseFloat(x.style.height),w=Math.max(a,m);if(w<g){const u=w+C,h=Math.min(g,u),b=u-h;x.style.height=h+"px",x.style.bottom==="0px"&&(S.scrollTop=b>0?b:0,x.style.justifyContent="flex-end")}}}s.current=S.scrollTop})})})]})});Fe.displayName=we;var We="SelectGroup",[jt,Lt]=te(We),Ue=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t,l=Te();return f.jsx(jt,{scope:e,id:l,children:f.jsx(D.div,{role:"group","aria-labelledby":l,...i,ref:c})})});Ue.displayName=We;var Ke="SelectLabel",Ge=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t,l=Lt(Ke,e);return f.jsx(D.div,{id:l.id,...i,ref:c})});Ge.displayName=Ke;var ie="SelectItem",[kt,$e]=te(ie),ze=o.forwardRef((t,c)=>{const{__scopeSelect:e,value:i,disabled:l=!1,textValue:d,...n}=t,r=z(ie,e),s=q(ie,e),p=r.value===i,[S,x]=o.useState(d??""),[y,C]=o.useState(!1),g=O(c,u=>{var h;return(h=s.itemRefCallback)==null?void 0:h.call(s,u,i,l)}),a=Te(),m=o.useRef("touch"),w=()=>{l||(r.onValueChange(i),r.onOpenChange(!1))};if(i==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return f.jsx(kt,{scope:e,value:i,disabled:l,textId:a,isSelected:p,onItemTextChange:o.useCallback(u=>{x(h=>h||((u==null?void 0:u.textContent)??"").trim())},[]),children:f.jsx(ae.ItemSlot,{scope:e,value:i,disabled:l,textValue:S,children:f.jsx(D.div,{role:"option","aria-labelledby":a,"data-highlighted":y?"":void 0,"aria-selected":p&&y,"data-state":p?"checked":"unchecked","aria-disabled":l||void 0,"data-disabled":l?"":void 0,tabIndex:l?void 0:-1,...n,ref:g,onFocus:E(n.onFocus,()=>C(!0)),onBlur:E(n.onBlur,()=>C(!1)),onClick:E(n.onClick,()=>{m.current!=="mouse"&&w()}),onPointerUp:E(n.onPointerUp,()=>{m.current==="mouse"&&w()}),onPointerDown:E(n.onPointerDown,u=>{m.current=u.pointerType}),onPointerMove:E(n.onPointerMove,u=>{var h;m.current=u.pointerType,l?(h=s.onItemLeave)==null||h.call(s):m.current==="mouse"&&u.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E(n.onPointerLeave,u=>{var h;u.currentTarget===document.activeElement&&((h=s.onItemLeave)==null||h.call(s))}),onKeyDown:E(n.onKeyDown,u=>{var b;((b=s.searchRef)==null?void 0:b.current)!==""&&u.key===" "||(Tt.includes(u.key)&&w(),u.key===" "&&u.preventDefault())})})})})});ze.displayName=ie;var re="SelectItemText",qe=o.forwardRef((t,c)=>{const{__scopeSelect:e,className:i,style:l,...d}=t,n=z(re,e),r=q(re,e),s=$e(re,e),p=bt(re,e),[S,x]=o.useState(null),y=O(c,w=>x(w),s.onItemTextChange,w=>{var u;return(u=r.itemTextRefCallback)==null?void 0:u.call(r,w,s.value,s.disabled)}),C=S==null?void 0:S.textContent,g=o.useMemo(()=>f.jsx("option",{value:s.value,disabled:s.disabled,children:C},s.value),[s.disabled,s.value,C]),{onNativeOptionAdd:a,onNativeOptionRemove:m}=p;return $(()=>(a(g),()=>m(g)),[a,m,g]),f.jsxs(f.Fragment,{children:[f.jsx(D.span,{id:s.textId,...d,ref:y}),s.isSelected&&n.valueNode&&!n.valueNodeHasChildren?be.createPortal(d.children,n.valueNode):null]})});qe.displayName=re;var Ye="SelectItemIndicator",Xe=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t;return $e(Ye,e).isSelected?f.jsx(D.span,{"aria-hidden":!0,...i,ref:c}):null});Xe.displayName=Ye;var Ce="SelectScrollUpButton",Ze=o.forwardRef((t,c)=>{const e=q(Ce,t.__scopeSelect),i=Pe(Ce,t.__scopeSelect),[l,d]=o.useState(!1),n=O(c,i.onScrollButtonChange);return $(()=>{if(e.viewport&&e.isPositioned){let r=function(){const p=s.scrollTop>0;d(p)};const s=e.viewport;return r(),s.addEventListener("scroll",r),()=>s.removeEventListener("scroll",r)}},[e.viewport,e.isPositioned]),l?f.jsx(Qe,{...t,ref:n,onAutoScroll:()=>{const{viewport:r,selectedItem:s}=e;r&&s&&(r.scrollTop=r.scrollTop-s.offsetHeight)}}):null});Ze.displayName=Ce;var ye="SelectScrollDownButton",Je=o.forwardRef((t,c)=>{const e=q(ye,t.__scopeSelect),i=Pe(ye,t.__scopeSelect),[l,d]=o.useState(!1),n=O(c,i.onScrollButtonChange);return $(()=>{if(e.viewport&&e.isPositioned){let r=function(){const p=s.scrollHeight-s.clientHeight,S=Math.ceil(s.scrollTop)<p;d(S)};const s=e.viewport;return r(),s.addEventListener("scroll",r),()=>s.removeEventListener("scroll",r)}},[e.viewport,e.isPositioned]),l?f.jsx(Qe,{...t,ref:n,onAutoScroll:()=>{const{viewport:r,selectedItem:s}=e;r&&s&&(r.scrollTop=r.scrollTop+s.offsetHeight)}}):null});Je.displayName=ye;var Qe=o.forwardRef((t,c)=>{const{__scopeSelect:e,onAutoScroll:i,...l}=t,d=q("SelectScrollButton",e),n=o.useRef(null),r=de(e),s=o.useCallback(()=>{n.current!==null&&(window.clearInterval(n.current),n.current=null)},[]);return o.useEffect(()=>()=>s(),[s]),$(()=>{var S;const p=r().find(x=>x.ref.current===document.activeElement);(S=p==null?void 0:p.ref.current)==null||S.scrollIntoView({block:"nearest"})},[r]),f.jsx(D.div,{"aria-hidden":!0,...l,ref:c,style:{flexShrink:0,...l.style},onPointerDown:E(l.onPointerDown,()=>{n.current===null&&(n.current=window.setInterval(i,50))}),onPointerMove:E(l.onPointerMove,()=>{var p;(p=d.onItemLeave)==null||p.call(d),n.current===null&&(n.current=window.setInterval(i,50))}),onPointerLeave:E(l.onPointerLeave,()=>{s()})})}),Vt="SelectSeparator",Bt=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t;return f.jsx(D.div,{"aria-hidden":!0,...i,ref:c})});Bt.displayName=Vt;var Ie="SelectArrow",Ht=o.forwardRef((t,c)=>{const{__scopeSelect:e,...i}=t,l=ue(e),d=z(Ie,e),n=q(Ie,e);return d.open&&n.position==="popper"?f.jsx(it,{...l,...i,ref:c}):null});Ht.displayName=Ie;function et(t){return t===""||t===void 0}var tt=o.forwardRef((t,c)=>{const{value:e,...i}=t,l=o.useRef(null),d=O(c,l),n=yt(e);return o.useEffect(()=>{const r=l.current,s=window.HTMLSelectElement.prototype,S=Object.getOwnPropertyDescriptor(s,"value").set;if(n!==e&&S){const x=new Event("change",{bubbles:!0});S.call(r,e),r.dispatchEvent(x)}},[n,e]),f.jsx(at,{asChild:!0,children:f.jsx("select",{...i,ref:d,defaultValue:e})})});tt.displayName="BubbleSelect";function ot(t){const c=dt(t),e=o.useRef(""),i=o.useRef(0),l=o.useCallback(n=>{const r=e.current+n;c(r),function s(p){e.current=p,window.clearTimeout(i.current),p!==""&&(i.current=window.setTimeout(()=>s(""),1e3))}(r)},[c]),d=o.useCallback(()=>{e.current="",window.clearTimeout(i.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(i.current),[]),[e,l,d]}function nt(t,c,e){const l=c.length>1&&Array.from(c).every(p=>p===c[0])?c[0]:c,d=e?t.indexOf(e):-1;let n=Ft(t,Math.max(d,0));l.length===1&&(n=n.filter(p=>p!==e));const s=n.find(p=>p.textValue.toLowerCase().startsWith(l.toLowerCase()));return s!==e?s:void 0}function Ft(t,c){return t.map((e,i)=>t[(c+i)%t.length])}var zt=Ne,qt=Ae,Yt=De,Xt=je,Zt=Le,Jt=ke,Qt=Fe,eo=Ue,to=Ge,oo=ze,no=qe,ro=Xe,so=Ze,co=Je;export{Jt as C,eo as G,Xt as I,to as L,Zt as P,zt as R,so as S,qt as T,Yt as V,Qt as a,co as b,oo as c,no as d,ro as e,xt as f,Ct as u};
|
|
2
|
+
//# sourceMappingURL=index-DZDhtMuq.js.map
|