@epic-web/workshop-app 5.6.0 → 5.7.1
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/{_-hAKYb2AG.js → _-CjjFMNGC.js} +2 -2
- package/build/client/assets/{_-hAKYb2AG.js.map → _-CjjFMNGC.js.map} +1 -1
- package/build/client/assets/_exerciseNumber-CqkGzsgV.js +2 -0
- package/build/client/assets/{_exerciseNumber-PTdG9GGB.js.map → _exerciseNumber-CqkGzsgV.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-03erOIGo.js → _exerciseNumber_._stepNumber-BNWGPi9m.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-03erOIGo.js.map → _exerciseNumber_._stepNumber-BNWGPi9m.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_.finished-CdNhLhKg.js +2 -0
- package/build/client/assets/{_exerciseNumber_.finished-DQg4F1NL.js.map → _exerciseNumber_.finished-CdNhLhKg.js.map} +1 -1
- package/build/client/assets/_layout-BMa5nZcJ.js +2 -0
- package/build/client/assets/{_layout-DHoH74NH.js.map → _layout-BMa5nZcJ.js.map} +1 -1
- package/build/client/assets/{_layout-B4JGpA3A.js → _layout-CwTidn3v.js} +2 -2
- package/build/client/assets/{_layout-B4JGpA3A.js.map → _layout-CwTidn3v.js.map} +1 -1
- package/build/client/assets/{_layout-BJbMl6SJ.js → _layout-DV29dlKr.js} +2 -2
- package/build/client/assets/{_layout-BJbMl6SJ.js.map → _layout-DV29dlKr.js.map} +1 -1
- package/build/client/assets/{_layout-Bu0lel3p.js → _layout-Muw3ERYT.js} +3 -3
- package/build/client/assets/{_layout-Bu0lel3p.js.map → _layout-Muw3ERYT.js.map} +1 -1
- package/build/client/assets/{accordion-DLg7gJkp.js → accordion-C-sW--in.js} +2 -2
- package/build/client/assets/{accordion-DLg7gJkp.js.map → accordion-C-sW--in.js.map} +1 -1
- package/build/client/assets/account-Cc968svU.js +2 -0
- package/build/client/assets/account-Cc968svU.js.map +1 -0
- package/build/client/assets/app-BOqXK9hi.js +2 -0
- package/build/client/assets/{app-DJDjmdlu.js.map → app-BOqXK9hi.js.map} +1 -1
- package/build/client/assets/{app-b7uXHF5m.css → app-C3e6tFRf.css} +1 -1
- package/build/client/assets/{button-39zQyNX6.js → button-BS845Tjo.js} +2 -2
- package/build/client/assets/{button-39zQyNX6.js.map → button-BS845Tjo.js.map} +1 -1
- package/build/client/assets/{components-DUNtf72c.js → components-DrvY4pal.js} +4 -4
- package/build/client/assets/{components-DUNtf72c.js.map → components-DrvY4pal.js.map} +1 -1
- package/build/client/assets/diff-D0e_PrB7.js +2 -0
- package/build/client/assets/{diff-B3oaU_KB.js.map → diff-D0e_PrB7.js.map} +1 -1
- package/build/client/assets/{diff-BNCREJvf.js → diff-DtvfyjPI.js} +2 -2
- package/build/client/assets/{diff-BNCREJvf.js.map → diff-DtvfyjPI.js.map} +1 -1
- package/build/client/assets/{discord-CEOqKs_c.js → discord-BfP_Rny5.js} +2 -2
- package/build/client/assets/{discord-CEOqKs_c.js.map → discord-BfP_Rny5.js.map} +1 -1
- package/build/client/assets/discord-DILzAZN8.js +2 -0
- package/build/client/assets/discord-DILzAZN8.js.map +1 -0
- package/build/client/assets/{entry.client-CrlHhRMR.js → entry.client-CQusg5Iz.js} +2 -2
- package/build/client/assets/{entry.client-CrlHhRMR.js.map → entry.client-CQusg5Iz.js.map} +1 -1
- package/build/client/assets/epic-video-qHKPWPt1.js +3053 -0
- package/build/client/assets/epic-video-qHKPWPt1.js.map +1 -0
- package/build/client/assets/error-boundary-Beul7lrT.js +2 -0
- package/build/client/assets/{error-boundary-3zItlMUO.js.map → error-boundary-Beul7lrT.js.map} +1 -1
- package/build/client/assets/finished-DUKfL220.js +2 -0
- package/build/client/assets/{finished-rUzUjnEm.js.map → finished-DUKfL220.js.map} +1 -1
- package/build/client/assets/{index-CV3nxGFp.js → index-BHwOR8R1.js} +2 -2
- package/build/client/assets/{index-CV3nxGFp.js.map → index-BHwOR8R1.js.map} +1 -1
- package/build/client/assets/index-BOQWfIQC.js +36 -0
- package/build/client/assets/index-BOQWfIQC.js.map +1 -0
- package/build/client/assets/{index-DFqQCjCw.js → index-BPegC-d3.js} +2 -2
- package/build/client/assets/{index-DFqQCjCw.js.map → index-BPegC-d3.js.map} +1 -1
- package/build/client/assets/{index-LjRZeU7x.js → index-CB8bjE90.js} +2 -2
- package/build/client/assets/{index-LjRZeU7x.js.map → index-CB8bjE90.js.map} +1 -1
- package/build/client/assets/{index-C_B1-9rF.js → index-CGzylDPY.js} +2 -2
- package/build/client/assets/{index-C_B1-9rF.js.map → index-CGzylDPY.js.map} +1 -1
- package/build/client/assets/index-DbCT6N5p.js +2 -0
- package/build/client/assets/{index-DE-jwnOP.js.map → index-DbCT6N5p.js.map} +1 -1
- package/build/client/assets/{index-DDqzbGM2.js → index-cZQeGrqL.js} +2 -2
- package/build/client/assets/{index-DDqzbGM2.js.map → index-cZQeGrqL.js.map} +1 -1
- package/build/client/assets/{index-CLNXC84j.js → index-egcHQOpF.js} +2 -2
- package/build/client/assets/{index-CLNXC84j.js.map → index-egcHQOpF.js.map} +1 -1
- package/build/client/assets/index-oED4uZLa.js +2 -0
- package/build/client/assets/{index-mivnjq36.js.map → index-oED4uZLa.js.map} +1 -1
- package/build/client/assets/{loading-DW_I206H.js → loading-C2wPVvQw.js} +2 -2
- package/build/client/assets/{loading-DW_I206H.js.map → loading-C2wPVvQw.js.map} +1 -1
- package/build/client/assets/login-DoU7gifi.js +2 -0
- package/build/client/assets/{login-CdNej0Z7.js.map → login-DoU7gifi.js.map} +1 -1
- package/build/client/assets/manifest-3096dc61.js +1 -0
- package/build/client/assets/mdx-CsS30JUo.js +2 -0
- package/build/client/assets/{mdx-C9dqA6IZ.js.map → mdx-CsS30JUo.js.map} +1 -1
- package/build/client/assets/{misc-DIdEn_jt.js → misc-BtjCSy-T.js} +2 -2
- package/build/client/assets/{misc-DIdEn_jt.js.map → misc-BtjCSy-T.js.map} +1 -1
- package/build/client/assets/{nav-chevrons-B3SvZV8B.js → nav-chevrons-2hLTwAZb.js} +2 -2
- package/build/client/assets/{nav-chevrons-B3SvZV8B.js.map → nav-chevrons-2hLTwAZb.js.map} +1 -1
- package/build/client/assets/onboarding-Cu6eD7KS.js +2 -0
- package/build/client/assets/{onboarding-CC9zz4rl.js.map → onboarding-Cu6eD7KS.js.map} +1 -1
- package/build/client/assets/{pe-D5h19vSo.js → pe-DXT2FOp1.js} +2 -2
- package/build/client/assets/{pe-D5h19vSo.js.map → pe-DXT2FOp1.js.map} +1 -1
- package/build/client/assets/preferences-br0VSK51.js +2 -0
- package/build/client/assets/preferences-br0VSK51.js.map +1 -0
- package/build/client/assets/{presence-D1DPz__2.js → presence-CrYBA3ta.js} +3 -3
- package/build/client/assets/{presence-D1DPz__2.js.map → presence-CrYBA3ta.js.map} +1 -1
- package/build/client/assets/preview-C2y4Z0qO.js +2 -0
- package/build/client/assets/{preview-BEtmdi0E.js.map → preview-C2y4Z0qO.js.map} +1 -1
- package/build/client/assets/{product-CYOFfeJM.js → product-gqq_YQBW.js} +2 -2
- package/build/client/assets/{product-CYOFfeJM.js.map → product-gqq_YQBW.js.map} +1 -1
- package/build/client/assets/{progress-D6SP0Gec.js → progress-D-HsH4j3.js} +2 -2
- package/build/client/assets/{progress-D6SP0Gec.js.map → progress-D-HsH4j3.js.map} +1 -1
- package/build/client/assets/{progress-bar-CBDBzRQ2.js → progress-bar-CTPCfvDi.js} +2 -2
- package/build/client/assets/{progress-bar-CBDBzRQ2.js.map → progress-bar-CTPCfvDi.js.map} +1 -1
- package/build/client/assets/revalidation-ws-DYaJNyw1.js +2 -0
- package/build/client/assets/{revalidation-ws-DK5QOPlL.js.map → revalidation-ws-DYaJNyw1.js.map} +1 -1
- package/build/client/assets/{root-Bg-hxaOK.js → root-C1pLsthM.js} +3 -3
- package/build/client/assets/{root-Bg-hxaOK.js.map → root-C1pLsthM.js.map} +1 -1
- package/build/client/assets/{set-playground-CMoUFgkO.js → set-playground-DQzAhC0t.js} +2 -2
- package/build/client/assets/{set-playground-CMoUFgkO.js.map → set-playground-DQzAhC0t.js.map} +1 -1
- package/build/client/assets/{support-CPzYlWkd.js → support-lgEG2piy.js} +2 -2
- package/build/client/assets/{support-CPzYlWkd.js.map → support-lgEG2piy.js.map} +1 -1
- package/build/client/assets/tailwind-CRGTilRc.css +1 -0
- package/build/client/assets/test-CDWRwwO-.js +2 -0
- package/build/client/assets/{test-C8wkLh9a.js.map → test-CDWRwwO-.js.map} +1 -1
- package/build/client/assets/{tests-CiM4RPOf.js → tests-LWW8wCYZ.js} +3 -3
- package/build/client/assets/{tests-CiM4RPOf.js.map → tests-LWW8wCYZ.js.map} +1 -1
- package/build/client/assets/{tooltip-BoVikCa-.js → tooltip-Bp9KHnLy.js} +2 -2
- package/build/client/assets/{tooltip-BoVikCa-.js.map → tooltip-Bp9KHnLy.js.map} +1 -1
- package/build/client/assets/{use-event-source-M87p8Tme.js → use-event-source-AZJtQsFX.js} +2 -2
- package/build/client/assets/{use-event-source-M87p8Tme.js.map → use-event-source-AZJtQsFX.js.map} +1 -1
- package/build/client/assets/{user-CbbIYEs8.js → user-C0j04V55.js} +2 -2
- package/build/client/assets/{user-CbbIYEs8.js.map → user-C0j04V55.js.map} +1 -1
- package/build/client/assets/{version-CIF3cX3N.js → version-D61Qvt0X.js} +2 -2
- package/build/client/assets/{version-CIF3cX3N.js.map → version-D61Qvt0X.js.map} +1 -1
- package/build/client/assets/{workshop-config-C5sYl312.js → workshop-config-oL_FWDKq.js} +2 -2
- package/build/client/assets/{workshop-config-C5sYl312.js.map → workshop-config-oL_FWDKq.js.map} +1 -1
- package/build/server/index.js +517 -445
- package/build/server/index.js.map +1 -1
- package/package.json +3 -3
- package/build/client/assets/_exerciseNumber-PTdG9GGB.js +0 -2
- package/build/client/assets/_exerciseNumber_.finished-DQg4F1NL.js +0 -2
- package/build/client/assets/_layout-DHoH74NH.js +0 -2
- package/build/client/assets/account-DLDPrc9J.js +0 -2
- package/build/client/assets/account-DLDPrc9J.js.map +0 -1
- package/build/client/assets/app-DJDjmdlu.js +0 -2
- package/build/client/assets/diff-B3oaU_KB.js +0 -2
- package/build/client/assets/discord-CpIgvYus.js +0 -2
- package/build/client/assets/discord-CpIgvYus.js.map +0 -1
- package/build/client/assets/epic-video-D8ex9vao.js +0 -2
- package/build/client/assets/epic-video-D8ex9vao.js.map +0 -1
- package/build/client/assets/error-boundary-3zItlMUO.js +0 -2
- package/build/client/assets/finished-rUzUjnEm.js +0 -2
- package/build/client/assets/index-BajUQsFT.js +0 -3053
- package/build/client/assets/index-BajUQsFT.js.map +0 -1
- package/build/client/assets/index-DE-jwnOP.js +0 -2
- package/build/client/assets/index-DH1w3QmP.js +0 -36
- package/build/client/assets/index-DH1w3QmP.js.map +0 -1
- package/build/client/assets/index-mivnjq36.js +0 -2
- package/build/client/assets/login-CdNej0Z7.js +0 -2
- package/build/client/assets/manifest-62ea49c4.js +0 -1
- package/build/client/assets/mdx-C9dqA6IZ.js +0 -2
- package/build/client/assets/onboarding-CC9zz4rl.js +0 -2
- package/build/client/assets/preview-BEtmdi0E.js +0 -2
- package/build/client/assets/request-info-vBkaf3Rk.js +0 -2
- package/build/client/assets/request-info-vBkaf3Rk.js.map +0 -1
- package/build/client/assets/revalidation-ws-DK5QOPlL.js +0 -2
- package/build/client/assets/tailwind-B5AAMtGC.css +0 -1
- package/build/client/assets/test-C8wkLh9a.js +0 -2
- /package/build/client/assets/{index-DUnRvy1A.css → epic-video-DUnRvy1A.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion-DLg7gJkp.js","sources":["../../../../../node_modules/@radix-ui/react-collapsible/dist/index.mjs","../../../../../node_modules/@radix-ui/react-accordion/dist/index.mjs","../../../app/components/accordion.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/collapsible/src/Collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef();\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/accordion/src/Accordion.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { createCollapsibleScope } from \"@radix-ui/react-collapsible\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\nvar [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\nvar [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n]);\nvar useCollapsibleScope = createCollapsibleScope();\nvar Accordion = React.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n);\nAccordion.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\nvar AccordionImplSingle = React.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: value ? [value] : [],\n onItemOpen: setValue,\n onItemClose: React.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n);\nvar AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const handleItemOpen = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ jsx(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n);\nvar ITEM_NAME = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\nvar AccordionItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ jsx(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Root,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n);\nAccordionItem.displayName = ITEM_NAME;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ jsx(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n);\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME = \"AccordionTrigger\";\nvar AccordionTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nAccordionTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"AccordionContent\";\nvar AccordionContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n);\nAccordionContent.displayName = CONTENT_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Accordion;\nvar Item = AccordionItem;\nvar Header = AccordionHeader;\nvar Trigger2 = AccordionTrigger;\nvar Content2 = AccordionContent;\nexport {\n Accordion,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n Content2 as Content,\n Header,\n Item,\n Root2 as Root,\n Trigger2 as Trigger,\n createAccordionScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as Accordion from '@radix-ui/react-accordion'\nimport { clsx } from 'clsx'\nimport * as React from 'react'\nimport { Icon } from './icons.tsx'\n\ntype AccordionProps = {\n\ttitle: string\n\tchildren: React.ReactElement\n\tvariant?: 'changed' | 'added' | 'deleted' | 'renamed'\n\ticon?: React.ReactElement\n\tforceMount?: boolean\n}\n\nconst AccordionComponent: React.FC<AccordionProps> = ({\n\ttitle,\n\tchildren,\n\tvariant,\n\ticon,\n\tforceMount = false,\n}) => {\n\tconst getVariantIcon = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'renamed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Renamed\"\n\t\t\t\t\t\taria-label=\"Renamed\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'added':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon name=\"Added\" aria-label=\"Added\" className=\"text-[#10b981]\" />\n\t\t\t\t)\n\t\t\tcase 'deleted':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Deleted\"\n\t\t\t\t\t\taria-label=\"Deleted\"\n\t\t\t\t\t\tclassName=\"text-[#ef4444]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t}\n\t}\n\tconst getVariantLabel = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn 'modified'\n\t\t\tdefault:\n\t\t\t\treturn variant\n\t\t}\n\t}\n\n\t// Somehow on windows we get double backslashes in the title\n\t// so we'll just remove those 🤷♂️\n\tconst fixedTitle = title.replace(/\\\\\\\\/g, '\\\\')\n\treturn (\n\t\t<Accordion.Item value={title}>\n\t\t\t<AccordionTrigger variant={getVariantLabel()}>\n\t\t\t\t{icon ? icon : getVariantIcon()} {fixedTitle}\n\t\t\t</AccordionTrigger>\n\t\t\t<AccordionContent\n\t\t\t\tforceMount={forceMount}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'prose max-w-none whitespace-pre-wrap dark:prose-invert prose-pre:m-0 prose-pre:mb-1 prose-pre:rounded-none',\n\t\t\t\t\t{\n\t\t\t\t\t\t'radix-state-closed:hidden': forceMount,\n\t\t\t\t\t},\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</AccordionContent>\n\t\t</Accordion.Item>\n\t)\n}\n\nexport default AccordionComponent\n\nconst AccordionTrigger: React.FC<any> = React.forwardRef(\n\t({ children, className, variant, ...props }, forwardedRef) => (\n\t\t<Accordion.Header className=\"flex\" asChild>\n\t\t\t<Accordion.Trigger\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'group flex w-full items-center justify-between border-b p-4 pr-3 font-mono text-sm font-medium leading-none hover:bg-foreground/20',\n\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t\tref={forwardedRef}\n\t\t\t>\n\t\t\t\t<div className=\"flex items-center gap-1.5\">{children}</div>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<span className=\"font-mono text-xs font-normal uppercase text-muted-foreground\">\n\t\t\t\t\t\t{variant}\n\t\t\t\t\t</span>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"TriangleDownSmall\"\n\t\t\t\t\t\tclassName=\"transition group-radix-state-open:rotate-180\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Accordion.Trigger>\n\t\t</Accordion.Header>\n\t),\n)\n\nconst AccordionContent: React.FC<any> = React.forwardRef(\n\t({ children, className, ...props }, forwardedRef) => (\n\t\t<Accordion.Content\n\t\t\tclassName={clsx('', className)}\n\t\t\t{...props}\n\t\t\tref={forwardedRef}\n\t\t>\n\t\t\t<div>{children}</div>\n\t\t</Accordion.Content>\n\t),\n)\n"],"names":["COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","createContextScope","CollapsibleProvider","useCollapsibleContext","Collapsible","React.forwardRef","props","forwardedRef","__scopeCollapsible","openProp","defaultOpen","disabled","onOpenChange","collapsibleProps","open","setOpen","useControllableState","jsx","useId","React.useCallback","prevOpen","Primitive","getState","TRIGGER_NAME","CollapsibleTrigger","triggerProps","context","composeEventHandlers","CONTENT_NAME","CollapsibleContent","forceMount","contentProps","Presence","present","CollapsibleContentImpl","children","isPresent","setIsPresent","React.useState","ref","React.useRef","composedRefs","useComposedRefs","heightRef","height","widthRef","width","isOpen","isMountAnimationPreventedRef","originalStylesRef","React.useEffect","rAF","useLayoutEffect","node","rect","Root","Trigger","Content","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createCollection","createAccordionContext","createAccordionScope","useCollapsibleScope","Accordion","React","type","accordionProps","singleProps","multipleProps","AccordionImplMultiple","AccordionImplSingle","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","valueProp","defaultValue","onValueChange","collapsible","accordionSingleProps","value","setValue","AccordionImpl","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","value2","AccordionImplProvider","useAccordionContext","__scopeAccordion","dir","orientation","accordionRef","getItems","isDirectionLTR","useDirection","handleKeyDown","event","target","triggerCollection","item","_a","triggerIndex","triggerCount","nextIndex","homeIndex","endIndex","moveNext","movePrev","clampedIndex","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","CollapsiblePrimitive.Root","open2","HEADER_NAME","AccordionHeader","headerProps","itemContext","AccordionTrigger","collapsibleContext","CollapsiblePrimitive.Trigger","AccordionContent","CollapsiblePrimitive.Content","Root2","Item","Header","Trigger2","Content2","AccordionComponent","title","variant","icon","getVariantIcon","Icon","getVariantLabel","fixedTitle","jsxs","Accordion.Item","clsx","className","Accordion.Header","Accordion.Trigger","Accordion.Content"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"accordion-C-sW--in.js","sources":["../../../../../node_modules/@radix-ui/react-collapsible/dist/index.mjs","../../../../../node_modules/@radix-ui/react-accordion/dist/index.mjs","../../../app/components/accordion.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/collapsible/src/Collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef();\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/accordion/src/Accordion.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { createCollapsibleScope } from \"@radix-ui/react-collapsible\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\nvar [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\nvar [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n]);\nvar useCollapsibleScope = createCollapsibleScope();\nvar Accordion = React.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n);\nAccordion.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\nvar AccordionImplSingle = React.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: value ? [value] : [],\n onItemOpen: setValue,\n onItemClose: React.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n);\nvar AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const handleItemOpen = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ jsx(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n);\nvar ITEM_NAME = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\nvar AccordionItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ jsx(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Root,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n);\nAccordionItem.displayName = ITEM_NAME;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ jsx(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n);\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME = \"AccordionTrigger\";\nvar AccordionTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nAccordionTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"AccordionContent\";\nvar AccordionContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n);\nAccordionContent.displayName = CONTENT_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Accordion;\nvar Item = AccordionItem;\nvar Header = AccordionHeader;\nvar Trigger2 = AccordionTrigger;\nvar Content2 = AccordionContent;\nexport {\n Accordion,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n Content2 as Content,\n Header,\n Item,\n Root2 as Root,\n Trigger2 as Trigger,\n createAccordionScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as Accordion from '@radix-ui/react-accordion'\nimport { clsx } from 'clsx'\nimport * as React from 'react'\nimport { Icon } from './icons.tsx'\n\ntype AccordionProps = {\n\ttitle: string\n\tchildren: React.ReactElement\n\tvariant?: 'changed' | 'added' | 'deleted' | 'renamed'\n\ticon?: React.ReactElement\n\tforceMount?: boolean\n}\n\nconst AccordionComponent: React.FC<AccordionProps> = ({\n\ttitle,\n\tchildren,\n\tvariant,\n\ticon,\n\tforceMount = false,\n}) => {\n\tconst getVariantIcon = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'renamed':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Renamed\"\n\t\t\t\t\t\taria-label=\"Renamed\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tcase 'added':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon name=\"Added\" aria-label=\"Added\" className=\"text-[#10b981]\" />\n\t\t\t\t)\n\t\t\tcase 'deleted':\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Deleted\"\n\t\t\t\t\t\taria-label=\"Deleted\"\n\t\t\t\t\t\tclassName=\"text-[#ef4444]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"Modified\"\n\t\t\t\t\t\taria-label=\"Modified\"\n\t\t\t\t\t\tclassName=\"text-[#fb923c]\"\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t}\n\t}\n\tconst getVariantLabel = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'changed':\n\t\t\t\treturn 'modified'\n\t\t\tdefault:\n\t\t\t\treturn variant\n\t\t}\n\t}\n\n\t// Somehow on windows we get double backslashes in the title\n\t// so we'll just remove those 🤷♂️\n\tconst fixedTitle = title.replace(/\\\\\\\\/g, '\\\\')\n\treturn (\n\t\t<Accordion.Item value={title}>\n\t\t\t<AccordionTrigger variant={getVariantLabel()}>\n\t\t\t\t{icon ? icon : getVariantIcon()} {fixedTitle}\n\t\t\t</AccordionTrigger>\n\t\t\t<AccordionContent\n\t\t\t\tforceMount={forceMount}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'prose max-w-none whitespace-pre-wrap dark:prose-invert prose-pre:m-0 prose-pre:mb-1 prose-pre:rounded-none',\n\t\t\t\t\t{\n\t\t\t\t\t\t'radix-state-closed:hidden': forceMount,\n\t\t\t\t\t},\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</AccordionContent>\n\t\t</Accordion.Item>\n\t)\n}\n\nexport default AccordionComponent\n\nconst AccordionTrigger: React.FC<any> = React.forwardRef(\n\t({ children, className, variant, ...props }, forwardedRef) => (\n\t\t<Accordion.Header className=\"flex\" asChild>\n\t\t\t<Accordion.Trigger\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'group flex w-full items-center justify-between border-b p-4 pr-3 font-mono text-sm font-medium leading-none hover:bg-foreground/20',\n\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t\tref={forwardedRef}\n\t\t\t>\n\t\t\t\t<div className=\"flex items-center gap-1.5\">{children}</div>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<span className=\"font-mono text-xs font-normal uppercase text-muted-foreground\">\n\t\t\t\t\t\t{variant}\n\t\t\t\t\t</span>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"TriangleDownSmall\"\n\t\t\t\t\t\tclassName=\"transition group-radix-state-open:rotate-180\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Accordion.Trigger>\n\t\t</Accordion.Header>\n\t),\n)\n\nconst AccordionContent: React.FC<any> = React.forwardRef(\n\t({ children, className, ...props }, forwardedRef) => (\n\t\t<Accordion.Content\n\t\t\tclassName={clsx('', className)}\n\t\t\t{...props}\n\t\t\tref={forwardedRef}\n\t\t>\n\t\t\t<div>{children}</div>\n\t\t</Accordion.Content>\n\t),\n)\n"],"names":["COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","createContextScope","CollapsibleProvider","useCollapsibleContext","Collapsible","React.forwardRef","props","forwardedRef","__scopeCollapsible","openProp","defaultOpen","disabled","onOpenChange","collapsibleProps","open","setOpen","useControllableState","jsx","useId","React.useCallback","prevOpen","Primitive","getState","TRIGGER_NAME","CollapsibleTrigger","triggerProps","context","composeEventHandlers","CONTENT_NAME","CollapsibleContent","forceMount","contentProps","Presence","present","CollapsibleContentImpl","children","isPresent","setIsPresent","React.useState","ref","React.useRef","composedRefs","useComposedRefs","heightRef","height","widthRef","width","isOpen","isMountAnimationPreventedRef","originalStylesRef","React.useEffect","rAF","useLayoutEffect","node","rect","Root","Trigger","Content","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createCollection","createAccordionContext","createAccordionScope","useCollapsibleScope","Accordion","React","type","accordionProps","singleProps","multipleProps","AccordionImplMultiple","AccordionImplSingle","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","valueProp","defaultValue","onValueChange","collapsible","accordionSingleProps","value","setValue","AccordionImpl","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","value2","AccordionImplProvider","useAccordionContext","__scopeAccordion","dir","orientation","accordionRef","getItems","isDirectionLTR","useDirection","handleKeyDown","event","target","triggerCollection","item","_a","triggerIndex","triggerCount","nextIndex","homeIndex","endIndex","moveNext","movePrev","clampedIndex","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","CollapsiblePrimitive.Root","open2","HEADER_NAME","AccordionHeader","headerProps","itemContext","AccordionTrigger","collapsibleContext","CollapsiblePrimitive.Trigger","AccordionContent","CollapsiblePrimitive.Content","Root2","Item","Header","Trigger2","Content2","AccordionComponent","title","variant","icon","getVariantIcon","Icon","getVariantLabel","fixedTitle","jsxs","Accordion.Item","clsx","className","Accordion.Header","Accordion.Trigger","Accordion.Content"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e}from"./index-CGzylDPY.js";import{B as c}from"./button-BS845Tjo.js";import{I as i}from"./misc-BtjCSy-T.js";import{S as t}from"./tooltip-Bp9KHnLy.js";import{u as d,a as m}from"./user-C0j04V55.js";import{u as l}from"./workshop-config-oL_FWDKq.js";import{L as r,F as x}from"./components-DrvY4pal.js";const v={getSitemapEntries:()=>null};function u(){const{product:{host:s}}=l();return`https://${s}/discord`}function w(){const s=d(),a=l(),n=m(),o=u();return e.jsxs("main",{className:"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4",children:[s.imageUrlLarge?e.jsx("img",{className:"h-36 w-36 rounded-full",alt:(n==null?void 0:n.displayName)??s.name??s.email,src:s.imageUrlLarge}):e.jsx(i,{name:"User",className:"flex-shrink-0",size:"lg"}),e.jsx("h1",{className:"mb-1 text-2xl",children:"Your Account"}),e.jsx("p",{className:"text-center text-gray-700 dark:text-gray-300",children:s.name?`Hi ${(n==null?void 0:n.displayName)??s.name}, your device is logged in with ${s.email}.`:`Your device is logged in with ${s.email}.`}),n?e.jsx(e.Fragment,{children:e.jsxs("p",{className:"text-center text-gray-700 dark:text-gray-300",children:["And you are connected to discord as"," ",e.jsx("a",{href:`https://discord.com/users/${n.id}`,target:"_blank",rel:"noopener noreferrer",className:"underline",children:n.displayName}),"."]})}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(r,{to:o,className:"inline-flex items-center gap-2 underline",children:[e.jsx(i,{name:"Discord",size:"lg"}),"Connect Discord"]}),e.jsx(t,{content:"This will give you access to the exclusive Discord channels for Epic Web",children:e.jsx(i,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x,{method:"post",children:e.jsx(c,{varient:"mono",name:"intent",value:"logout",children:"Log device out"})}),e.jsx(t,{content:e.jsxs("div",{children:["Note: it is your ",e.jsx("i",{className:"italic",children:"device"})," that's logged in, not your browser.",e.jsx("br",{}),"So all browsers on this device will be logged in with the same account on this device."]}),children:e.jsx(i,{name:"Question",tabIndex:0})})]}),e.jsx("hr",{className:"w-full"}),e.jsxs("ul",{className:"flex list-inside list-disc flex-col gap-2 self-start",children:[e.jsx("li",{children:e.jsxs(r,{to:`https://${a.product.host}/profile`,className:"inline-flex gap-1 underline",children:[e.jsx("span",{children:"Manage your account"}),e.jsx(i,{name:"ExternalLink"})]})}),e.jsx("li",{children:e.jsx(r,{to:"/preferences",className:"underline",children:"Manage your preferences"})}),e.jsx("li",{children:e.jsx(r,{to:"/onboarding",className:"underline",children:"Review onboarding"})}),e.jsx("li",{children:e.jsx(r,{to:"/support",className:"underline",children:"Get support"})})]})]})}export{w as default,v as handle};
|
|
2
|
+
//# sourceMappingURL=account-Cc968svU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-Cc968svU.js","sources":["../../../app/routes/_app+/account.tsx"],"sourcesContent":["import { deleteCache } from '@epic-web/workshop-utils/cache.server'\nimport {\n\tdeleteDb,\n\trequireAuthInfo,\n\tsetPreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { redirect, type LoaderFunctionArgs } from '@remix-run/node'\nimport { Form, Link } from '@remix-run/react'\nimport { Button } from '#app/components/button.tsx'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.js'\nimport { useOptionalDiscordMember, useUser } from '#app/components/user.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\tawait requireAuthInfo({ request })\n\treturn {}\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tif (intent === 'logout') {\n\t\tawait deleteDb()\n\t\tawait deleteCache()\n\t\treturn redirectWithToast('/login', {\n\t\t\ttype: 'success',\n\t\t\ttitle: 'Logged out',\n\t\t\tdescription: 'Goodbye! Come back soon!',\n\t\t})\n\t} else if (intent === 'presence-opt-out') {\n\t\tconst optOut = formData.get('optOut') === 'true'\n\t\tawait setPreferences({ presence: { optOut } })\n\t\treturn redirectWithToast('/account', {\n\t\t\ttitle: optOut ? 'Opted out' : 'Opted in',\n\t\t\tdescription: `You are now ${optOut ? 'invisible' : 'visible'}.`,\n\t\t\ttype: 'success',\n\t\t})\n\t}\n\n\treturn redirect('/account')\n}\n\nfunction useConnectDiscordURL() {\n\tconst {\n\t\tproduct: { host },\n\t} = useWorkshopConfig()\n\treturn `https://${host}/discord`\n}\n\nexport default function Account() {\n\tconst user = useUser()\n\tconst config = useWorkshopConfig()\n\tconst discordMember = useOptionalDiscordMember()\n\tconst connectDiscordURL = useConnectDiscordURL()\n\n\treturn (\n\t\t<main className=\"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4\">\n\t\t\t{user.imageUrlLarge ? (\n\t\t\t\t<img\n\t\t\t\t\tclassName=\"h-36 w-36 rounded-full\"\n\t\t\t\t\talt={discordMember?.displayName ?? user.name ?? user.email}\n\t\t\t\t\tsrc={user.imageUrlLarge}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon name=\"User\" className=\"flex-shrink-0\" size=\"lg\" />\n\t\t\t)}\n\t\t\t<h1 className=\"mb-1 text-2xl\">Your Account</h1>\n\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t{user.name\n\t\t\t\t\t? `Hi ${\n\t\t\t\t\t\t\tdiscordMember?.displayName ?? user.name\n\t\t\t\t\t\t}, your device is logged in with ${user.email}.`\n\t\t\t\t\t: `Your device is logged in with ${user.email}.`}\n\t\t\t</p>\n\t\t\t{discordMember ? (\n\t\t\t\t<>\n\t\t\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\tAnd you are connected to discord as{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`https://discord.com/users/${discordMember.id}`}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{discordMember.displayName}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t.\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={connectDiscordURL}\n\t\t\t\t\t\tclassName=\"inline-flex items-center gap-2 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon name=\"Discord\" size=\"lg\" />\n\t\t\t\t\t\tConnect Discord\n\t\t\t\t\t</Link>\n\t\t\t\t\t<SimpleTooltip content=\"This will give you access to the exclusive Discord channels for Epic Web\">\n\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Form method=\"post\">\n\t\t\t\t\t<Button varient=\"mono\" name=\"intent\" value=\"logout\">\n\t\t\t\t\t\tLog device out\n\t\t\t\t\t</Button>\n\t\t\t\t</Form>\n\t\t\t\t<SimpleTooltip\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\tNote: it is your <i className=\"italic\">device</i> that's logged\n\t\t\t\t\t\t\tin, not your browser.\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tSo all browsers on this device will be logged in with the same\n\t\t\t\t\t\t\taccount on this device.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t</SimpleTooltip>\n\t\t\t</div>\n\t\t\t<hr className=\"w-full\" />\n\t\t\t<ul className=\"flex list-inside list-disc flex-col gap-2 self-start\">\n\t\t\t\t<li>\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={`https://${config.product.host}/profile`}\n\t\t\t\t\t\tclassName=\"inline-flex gap-1 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>Manage your account</span>\n\t\t\t\t\t\t<Icon name=\"ExternalLink\" />\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/preferences\" className=\"underline\">\n\t\t\t\t\t\tManage your preferences\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/onboarding\" className=\"underline\">\n\t\t\t\t\t\tReview onboarding\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t\tGet support\n\t\t\t\t\t</Link>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</main>\n\t)\n}\n"],"names":["handle","getSitemapEntries","useConnectDiscordURL","product","host","useWorkshopConfig","Account","user","useUser","config","discordMember","useOptionalDiscordMember","connectDiscordURL","jsxs","className","children","imageUrlLarge","jsx","alt","displayName","name","email","src","Icon","size","Fragment","href","id","target","rel","Link","to","SimpleTooltip","content","tabIndex","Form","method","Button","varient","value"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,j as s}from"./index-CGzylDPY.js";import{P as e}from"./preview-C2y4Z0qO.js";import{u as i}from"./components-DrvY4pal.js";import"./misc-BtjCSy-T.js";import"./index-BOQWfIQC.js";import"./tooltip-Bp9KHnLy.js";import"./pe-DXT2FOp1.js";import"./button-BS845Tjo.js";import"./loading-C2wPVvQw.js";import"./progress-bar-CTPCfvDi.js";function w(){const{appInfo:r}=i(),o=t.useRef(null);return s.jsx(e,{appInfo:r,inBrowserBrowserRef:o})}export{w as default};
|
|
2
|
+
//# sourceMappingURL=app-BOqXK9hi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-
|
|
1
|
+
{"version":3,"file":"app-BOqXK9hi.js","sources":["../../../app/routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app.tsx"],"sourcesContent":["import { requireExerciseApp } from '@epic-web/workshop-utils/apps.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport {\n\tunstable_data as data,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n} from '@remix-run/node'\nimport { useLoaderData } from '@remix-run/react'\nimport { useRef } from 'react'\nimport { type InBrowserBrowserRef } from '#app/components/in-browser-browser.js'\nimport { Preview } from './__shared/preview.tsx'\nimport { getAppRunningState } from './__shared/utils.tsx'\n\nexport async function loader({ request, params }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('exercise-step-test')\n\tconst exerciseStepApp = await requireExerciseApp(params, { request, timings })\n\tconst { isRunning, portIsAvailable } =\n\t\tawait getAppRunningState(exerciseStepApp)\n\n\treturn data(\n\t\t{\n\t\t\tappInfo: {\n\t\t\t\tisRunning,\n\t\t\t\tname: exerciseStepApp.name,\n\t\t\t\ttitle: exerciseStepApp.title,\n\t\t\t\tportIsAvailable,\n\t\t\t\ttype: exerciseStepApp.type,\n\t\t\t\tfullPath: exerciseStepApp.fullPath,\n\t\t\t\tdev: exerciseStepApp.dev,\n\t\t\t\ttest: exerciseStepApp.test,\n\t\t\t\tstackBlitzUrl: exerciseStepApp.stackBlitzUrl,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': timings.toString(),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders, parentHeaders }) => {\n\tconst headers = {\n\t\t'Server-Timing': combineServerTimings(loaderHeaders, parentHeaders),\n\t}\n\treturn headers\n}\n\nexport default function TestsList() {\n\tconst { appInfo } = useLoaderData<typeof loader>()\n\tconst ref = useRef<InBrowserBrowserRef>(null)\n\n\treturn <Preview appInfo={appInfo} inBrowserBrowserRef={ref} />\n}\n"],"names":["TestsList","appInfo","useLoaderData","ref","useRef","jsx","Preview","inBrowserBrowserRef"],"mappings":"kVAmDA,SAAwBA,GAAY,CAC7B,KAAA,CAAEC,QAAAA,CAAQ,EAAIC,EAA6B,EAC3CC,EAAMC,SAA4B,IAAI,EAE5C,OAAQC,EAAAA,IAAAC,EAAA,CAAQL,QAAAA,EAAkBM,oBAAqBJ,CAAK,CAAA,CAC7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
#files h2{display:none}#files ul{display:flex;flex-direction:column;gap:.125rem;font-size:1rem;line-height:1.5rem}#files ul li code{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}#files ul li span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#files ul li[data-state=modified] button:before,#files ul li[data-state=modified] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(251 146 60)' width='16' height='16' %3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z'%3E%3C/path%3E%3C/svg%3E")}#files ul li[data-state=added] button:before,#files ul li[data-state=added] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(16 185 129)' width='16' height='16'%3E%3Cpath d='M2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1Zm10.5 1.5H2.75a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4Z'%3E%3C/path%3E%3C/svg%3E")}#files ul li[data-state=deleted] button:before,#files ul li[data-state=deleted] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(239 68 68)' width='16' height='16'%3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm8.5 6.25h-6.5a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5Z'%3E%3C/path%3E%3C/svg%3E")}.launch-editor-wrapper form .launch_button{display:flex;width:100%;align-items:center;border-radius:.25rem;padding:.25rem .5rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.launch-editor-wrapper form .launch_button:hover{background-color:hsl(var(--foreground) / .2)}.launch-editor-wrapper form .launch_button:focus{background-color:hsl(var(--foreground) / .2)}.launch-editor-wrapper .not-allowed{cursor:not-allowed}.launch-editor-wrapper .not-allowed .launch_button{pointer-events:none}summary[data-state=modified]:before{padding-right:.25rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(251 146 60)' width='16' height='16' %3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z'%3E%3C/path%3E%3C/svg%3E")}body{-moz-tab-size:2ch;-o-tab-size:2ch;tab-size:2ch}.clip-path-button-outer{clip-path:polygon(0 0,100% 0,100% 70%,88% 100%,0 100%)}.clip-path-button{clip-path:polygon(0 0,100% 0,100% 70%,88.5% 100%,0 100%)}.shadow-on-scrollbox{background:linear-gradient(hsl(var(--background)) 30%,hsl(var(--foreground) / 0)),radial-gradient(farthest-side at 50% 0,hsl(var(--foreground) / .2),hsl(var(--foreground) / 0)) 0 0,linear-gradient(hsl(var(--foreground) / 0),hsl(var(--background)) 70%) 0 100%,radial-gradient(farthest-side at 50% 100%,hsl(var(--foreground) / .2),hsl(var(--foreground) / 0)) 0 100%;background-repeat:no-repeat;background-color:hsl(var(--background));background-size:100% 40px,100% 14px,100% 40px,100% 14px;background-attachment:local,scroll,local,local}.orientation-sideways{text-orientation:sideways;writing-mode:vertical-rl;--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.display-alt-down{display:none}.alt-down .display-alt-down{display:inherit}.alt-down .display-alt-up{display:none}:root{--base00: #121318;--base01: #2d2d2d;--base02: #424242;--base03: #637777;--base04: #555555;--base05: #d6deeb;--base06: #c8c8c8;--base07: #fafafa;--base08: #7fdbca;--base09: #f78c6c;--base0A: #c792ea;--base0B: #ecc48d;--base0C: #f78c6c;--base0D: #82aaff;--base0E: #c792ea;--base0F: #d3423e;--highlight-added: #7fdbca;--highlight-added-selection: #7fdbca47;--highlight-removed: #d3423e;--highlight-removed-selection: #d3433e57}:root .light,:root.light{--base00: #f3f3f3;--base01: #e0e0e0;--base02: #d6d6d6;--base03: #989fb1;--base04: #969896;--base05: #2e3039;--base06: #282a2e;--base07: #1d1f21;--base08: #0c969b;--base09: #aa0982;--base0A: #994cc3;--base0B: #c96765;--base0C: #aa0982;--base0D: #4876d6;--base0E: #994cc3;--base0F: #d3423e;--highlight-added: #0c969b;--highlight-added-selection: #7fdbca4a;--highlight-removed: #d3423e;--highlight-removed-selection: #d3433e24}.prose ul.list-none>li{padding-left:unset}.prose ul.list-none>li:before{content:unset}.dark .prose ol>li:before,.dark .prose ul>li:before{color:var(--color-gray-300)}.dark .dark\:prose-dark thead{color:var(--color-slate-500)}.prose pre[data-line-numbers=true],.prose pre[data-add],.prose pre[data-remove],.prose pre:has([data-highlight]){padding-left:0rem;padding-right:0rem}.prose pre:not([data-line-numbers=true]):has([data-highlight]){padding-left:0rem;padding-right:0rem}.prose pre:not([data-line-numbers=true]) .codeblock-line:before,.prose pre[data-line-numbers=true] .codeblock-line:before,.prose pre[data-remove] .codeblock-line:before,.prose pre[data-add] .codeblock-line:before{padding-left:0rem;content:attr(data-line-number);text-align:right;display:inline-block;width:4rem;color:var(--base03);padding-right:1.5rem;position:sticky;left:0;background-color:var(--base00)}.prose pre[data-line-numbers=false][data-line-numbers=false] .codeblock-line:before{content:" "}.prose pre[data-line-numbers=false]:not([data-add]):not([data-remove]):not(:has([data-highlight])) .codeblock-line:before{width:0;padding-right:0}.prose pre[data-line-numbers=false]:not([data-add]):not([data-remove]):has([data-highlight]) .codeblock-line:before{width:2rem}.prose pre[data-filename]{padding-top:2rem}.prose pre[data-filename][data-buttons][data-fullpath]{padding-top:3rem}.prose pre[data-lang]:not([data-nolang]){padding-bottom:2rem}.prose pre:not([data-lang]):not([data-nolang]){background-color:var(--base00);color:var(--base05)}.prose pre[data-line-numbers=true] [data-line-number]:before .codeblock-line[data-highlight=true]:before{background:var(--base0E)}.prose *:not(pre) code{background:var(--base00);color:var(--base05);padding:.2rem .4rem;border-radius:.2rem}.prose pre[data-add]:not([data-line-numbers=true]) [data-diff-line-number]:before,.prose pre[data-remove]:not([data-line-numbers=true]) [data-diff-line-number]:before{content:attr(data-diff-line-number)}.prose pre>code{display:inline-block;min-width:100%}.codeblock-line{display:block;position:relative;padding-right:1rem}.codeblock-line[data-highlight=true]:after,.prose pre[data-remove] .codeblock-line[data-remove]:after,.prose pre[data-add] .codeblock-line[data-add]:after{content:" ";position:absolute;left:0;top:0;width:100%;opacity:.15;pointer-events:none}.codeblock-line[data-highlight=true]:before{border-left:6px solid var(--base0E)}.codeblock-line[data-highlight=true]:after{background:var(--base0E)}.prose pre[data-remove][data-remove][data-remove] .codeblock-line[data-remove]:before{content:"-"}.prose pre[data-remove] .codeblock-line[data-remove]:after{background:var(--highlight-removed)}.prose pre[data-add][data-add][data-add] .codeblock-line[data-add]:before{content:"+"}.prose pre[data-add] .codeblock-line[data-add]:after{background:var(--highlight-added)}.prose pre[data-add] .codeblock-line[data-add]::-moz-selection,.prose pre[data-add] .codeblock-line[data-add] span::-moz-selection{background:var(--highlight-added-selection)}.prose pre[data-add] .codeblock-line[data-add]::selection,.prose pre[data-add] .codeblock-line[data-add] span::selection{background:var(--highlight-added-selection)}.prose pre[data-remove] .codeblock-line[data-remove]::-moz-selection,.prose pre[data-remove] .codeblock-line[data-remove] span::-moz-selection{background:var(--highlight-removed-selection)}.prose pre[data-remove] .codeblock-line[data-remove]::selection,.prose pre[data-remove] .codeblock-line[data-remove] span::selection{background:var(--highlight-removed-selection)}.prose pre{position:relative}.prose pre[data-filename]:before{content:attr(data-filename);position:absolute;left:8px;top:4px;font-size:.7rem;opacity:.7}.prose pre[data-lang]:not([data-nolang]):after{content:attr(data-lang);position:sticky;right:0;font-size:.7rem;opacity:.7;display:inline-block;transform:translate(-16px,24px);text-align:right;width:200px;margin-left:-200px}.prose>*{margin-bottom:1rem}.prose callout-muted a,.prose callout-info a,.prose callout-warning a,.prose callout-danger a,.prose callout-success a{text-decoration:underline}.prose callout-muted p,.prose callout-info p,.prose callout-warning p,.prose callout-danger p,.prose callout-success p{margin-bottom:0}.prose callout-muted,.prose callout-info,.prose callout-warning,.prose callout-danger,.prose callout-success{margin-top:0;margin-bottom:2rem;display:block;border-left:solid 4px;padding:.5rem 1rem;position:relative;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.prose callout-muted,.prose callout-info,.prose callout-warning,.prose callout-danger,.prose callout-success,.prose callout-muted *,.prose callout-info *,.prose callout-warning *,.prose callout-danger *,.prose callout-success *{font-size:1rem}.prose callout-muted.aside,.prose callout-info.aside,.prose callout-warning.aside,.prose callout-danger.aside,.prose callout-success.aside,.prose callout-muted.aside *,.prose callout-info.aside *,.prose callout-warning.aside *,.prose callout-danger.aside *,.prose callout-success.aside *{font-size:.875rem}.prose callout-muted.important,.prose callout-info.important,.prose callout-warning.important,.prose callout-danger.important,.prose callout-success.important,.prose callout-muted.important *,.prose callout-info.important *,.prose callout-warning.important *,.prose callout-danger.important *,.prose callout-success.important *{font-size:1.25rem;font-weight:700}.prose callout-muted:before,.prose callout-info:before,.prose callout-warning:before,.prose callout-danger:before,.prose callout-success:before{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.1;pointer-events:none}.light .prose callout-warning,.light .prose callout-warning ol>li:before{color:#676000}.light .prose callout-warning:before{background:#ffd800}.prose callout-warning,.prose callout-warning ol>li:before{color:#ffd644}.prose callout-warning:before{background:#ffd644}.light .prose callout-muted,.light .prose callout-muted ol>li:before{color:#4c4b5e}.light .prose callout-muted:before{background:#3c3e4d}.prose callout-muted,.prose callout-muted ol>li:before{color:#b9b9c3}.prose callout-muted:before{background:#3c3e4d}.prose callout-info,.prose callout-info ol>li:before{color:#4b96ff}.prose callout-info:before{background:#4b96ff}.prose callout-danger,.prose callout-danger ol>li:before{color:#ff4545}.prose callout-danger:before{background:#ff4545}.prose callout-success,.prose callout-success ol>li:before{color:#30c85e}.prose callout-success:before{background:#30c85e}.prose callout-warning.notification .title,.prose callout-danger.notification .title{font-size:1.5rem;line-height:2rem}.prose callout-danger.notification pre{border:4px solid #ff4545;padding-block:1.5rem;margin-block:.5rem}.prose callout-warning.notification,.prose callout-danger.notification{margin-bottom:0!important}
|
|
1
|
+
#files h2{display:none}#files ul{display:flex;flex-direction:column;gap:.125rem;font-size:1rem;line-height:1.5rem}#files ul li code{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}#files ul li span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#files ul li[data-state=modified] button:before,#files ul li[data-state=modified] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(251 146 60)' width='16' height='16' %3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z'%3E%3C/path%3E%3C/svg%3E")}#files ul li[data-state=added] button:before,#files ul li[data-state=added] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(16 185 129)' width='16' height='16'%3E%3Cpath d='M2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1Zm10.5 1.5H2.75a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4Z'%3E%3C/path%3E%3C/svg%3E")}#files ul li[data-state=deleted] button:before,#files ul li[data-state=deleted] a:before{margin-right:.5rem;height:1rem;width:1rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(239 68 68)' width='16' height='16'%3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm8.5 6.25h-6.5a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5Z'%3E%3C/path%3E%3C/svg%3E")}.launch-editor-wrapper form .launch_button{display:flex;width:100%;align-items:center;border-radius:.25rem;padding:.25rem .5rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.launch-editor-wrapper form .launch_button:hover{background-color:hsl(var(--foreground) / .2)}.launch-editor-wrapper form .launch_button:focus{background-color:hsl(var(--foreground) / .2)}.launch-editor-wrapper .not-allowed{cursor:not-allowed}.launch-editor-wrapper .not-allowed .launch_button{pointer-events:none}summary[data-state=modified]:before{padding-right:.25rem;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' viewBox='0 0 16 16' fill='rgb(251 146 60)' width='16' height='16' %3E%3Cpath d='M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z'%3E%3C/path%3E%3C/svg%3E")}body{-moz-tab-size:2ch;-o-tab-size:2ch;tab-size:2ch}.clip-path-button-outer{clip-path:polygon(0 0,100% 0,100% 70%,88% 100%,0 100%)}.clip-path-button{clip-path:polygon(0 0,100% 0,100% 70%,88.5% 100%,0 100%)}.shadow-on-scrollbox{background:linear-gradient(hsl(var(--background)) 30%,hsl(var(--foreground) / 0)),radial-gradient(farthest-side at 50% 0,hsl(var(--foreground) / .2),hsl(var(--foreground) / 0)) 0 0,linear-gradient(hsl(var(--foreground) / 0),hsl(var(--background)) 70%) 0 100%,radial-gradient(farthest-side at 50% 100%,hsl(var(--foreground) / .2),hsl(var(--foreground) / 0)) 0 100%;background-repeat:no-repeat;background-color:hsl(var(--background));background-size:100% 40px,100% 14px,100% 40px,100% 14px;background-attachment:local,scroll,local,local}.orientation-sideways{text-orientation:sideways;writing-mode:vertical-rl;--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.display-alt-down{display:none}.alt-down .display-alt-down{display:inherit}.alt-down .display-alt-up{display:none}:root{--base00: #121318;--base01: #2d2d2d;--base02: #424242;--base03: #637777;--base04: #555555;--base05: #d6deeb;--base06: #c8c8c8;--base07: #fafafa;--base08: #7fdbca;--base09: #f78c6c;--base0A: #c792ea;--base0B: #ecc48d;--base0C: #f78c6c;--base0D: #82aaff;--base0E: #c792ea;--base0F: #d3423e;--highlight-added: #7fdbca;--highlight-added-selection: #7fdbca47;--highlight-removed: #d3423e;--highlight-removed-selection: #d3433e57}:root .light,:root.light{--base00: #f3f3f3;--base01: #e0e0e0;--base02: #d6d6d6;--base03: #989fb1;--base04: #969896;--base05: #2e3039;--base06: #282a2e;--base07: #1d1f21;--base08: #0c969b;--base09: #aa0982;--base0A: #994cc3;--base0B: #c96765;--base0C: #aa0982;--base0D: #4876d6;--base0E: #994cc3;--base0F: #d3423e;--highlight-added: #0c969b;--highlight-added-selection: #7fdbca4a;--highlight-removed: #d3423e;--highlight-removed-selection: #d3433e24}.prose ul.list-none>li{padding-left:unset}.prose ul.list-none>li:before{content:unset}.dark .prose ol>li:before,.dark .prose ul>li:before{color:var(--color-gray-300)}.dark .dark\:prose-dark thead{color:var(--color-slate-500)}.prose pre[data-line-numbers=true],.prose pre[data-add],.prose pre[data-remove],.prose pre:has([data-highlight]){padding-left:0rem;padding-right:0rem}.prose pre:not([data-line-numbers=true]):has([data-highlight]){padding-left:0rem;padding-right:0rem}.prose pre:not([data-line-numbers=true]) .codeblock-line:before,.prose pre[data-line-numbers=true] .codeblock-line:before,.prose pre[data-remove] .codeblock-line:before,.prose pre[data-add] .codeblock-line:before{padding-left:0rem;content:attr(data-line-number);text-align:right;display:inline-block;width:4rem;color:var(--base03);padding-right:1.5rem;position:sticky;left:0;background-color:var(--base00)}.prose pre[data-line-numbers=false][data-line-numbers=false] .codeblock-line:before{content:" "}.prose pre[data-line-numbers=false]:not([data-add]):not([data-remove]):not(:has([data-highlight])) .codeblock-line:before{width:0;padding-right:0}.prose pre[data-line-numbers=false]:not([data-add]):not([data-remove]):has([data-highlight]) .codeblock-line:before{width:2rem}.prose pre[data-filename]{padding-top:2rem}.prose pre[data-filename][data-buttons][data-fullpath]{padding-top:3rem}.prose pre[data-lang]:not([data-nolang]){padding-bottom:2rem}.prose pre:not([data-lang]):not([data-nolang]){background-color:var(--base00);color:var(--base05)}.prose pre[data-line-numbers=true] [data-line-number]:before .codeblock-line[data-highlight=true]:before{background:var(--base0E)}.prose *:not(pre) code{background:var(--base00);color:var(--base05);padding:.2rem .4rem;border-radius:.2rem}.prose pre[data-add]:not([data-line-numbers=true]) [data-diff-line-number]:before,.prose pre[data-remove]:not([data-line-numbers=true]) [data-diff-line-number]:before{content:attr(data-diff-line-number)}.prose pre>code{display:inline-block;min-width:100%}.codeblock-line{display:block;position:relative;padding-right:1rem}.codeblock-line[data-highlight=true]:after,.prose pre[data-remove] .codeblock-line[data-remove]:after,.prose pre[data-add] .codeblock-line[data-add]:after{content:" ";position:absolute;left:0;top:0;width:100%;opacity:.15;pointer-events:none}.codeblock-line[data-highlight=true]:before{border-left:6px solid var(--base0E)}.codeblock-line[data-highlight=true]:after{background:var(--base0E)}.prose pre[data-remove][data-remove][data-remove] .codeblock-line[data-remove]:before{content:"-"}.prose pre[data-remove] .codeblock-line[data-remove]:after{background:var(--highlight-removed)}.prose pre[data-add][data-add][data-add] .codeblock-line[data-add]:before{content:"+"}.prose pre[data-add] .codeblock-line[data-add]:after{background:var(--highlight-added)}.prose pre[data-add] .codeblock-line[data-add]::-moz-selection,.prose pre[data-add] .codeblock-line[data-add] span::-moz-selection{background:var(--highlight-added-selection)}.prose pre[data-add] .codeblock-line[data-add]::selection,.prose pre[data-add] .codeblock-line[data-add] span::selection{background:var(--highlight-added-selection)}.prose pre[data-remove] .codeblock-line[data-remove]::-moz-selection,.prose pre[data-remove] .codeblock-line[data-remove] span::-moz-selection{background:var(--highlight-removed-selection)}.prose pre[data-remove] .codeblock-line[data-remove]::selection,.prose pre[data-remove] .codeblock-line[data-remove] span::selection{background:var(--highlight-removed-selection)}.prose pre{position:relative}.prose pre[data-filename]:before{content:attr(data-filename);position:absolute;left:8px;top:4px;font-size:.7rem;opacity:.7}.prose pre[data-lang]:not([data-nolang]):after{content:attr(data-lang);position:sticky;right:0;font-size:.7rem;opacity:.7;display:inline-block;transform:translate(-16px,24px);text-align:right;width:200px;margin-left:-200px}.prose>*{margin-bottom:1rem}.prose callout-muted a,.prose callout-info a,.prose callout-warning a,.prose callout-danger a,.prose callout-success a{text-decoration:underline}.prose callout-muted p,.prose callout-info p,.prose callout-warning p,.prose callout-danger p,.prose callout-success p{margin-bottom:0}.prose callout-muted,.prose callout-info,.prose callout-warning,.prose callout-danger,.prose callout-success{margin-top:0;margin-bottom:2rem;display:block;border-left:solid 4px;padding:.5rem 1rem;position:relative;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.prose callout-muted,.prose callout-info,.prose callout-warning,.prose callout-danger,.prose callout-success,.prose callout-muted *,.prose callout-info *,.prose callout-warning *,.prose callout-danger *,.prose callout-success *{font-size:1rem}.prose callout-muted.aside,.prose callout-info.aside,.prose callout-warning.aside,.prose callout-danger.aside,.prose callout-success.aside,.prose callout-muted.aside *,.prose callout-info.aside *,.prose callout-warning.aside *,.prose callout-danger.aside *,.prose callout-success.aside *{font-size:.875rem}.prose callout-muted.important,.prose callout-info.important,.prose callout-warning.important,.prose callout-danger.important,.prose callout-success.important,.prose callout-muted.important *,.prose callout-info.important *,.prose callout-warning.important *,.prose callout-danger.important *,.prose callout-success.important *{font-size:1.25rem;font-weight:700}.prose callout-muted:before,.prose callout-info:before,.prose callout-warning:before,.prose callout-danger:before,.prose callout-success:before{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.1;pointer-events:none}.light .prose callout-warning,.light .prose callout-warning ol>li:before{color:#676000}.light .prose callout-warning:before{background:#ffd800}.prose callout-warning,.prose callout-warning ol>li:before{color:#ffd644}.prose callout-warning:before{background:#ffd644}.light .prose callout-muted,.light .prose callout-muted ol>li:before{color:#4c4b5e}.light .prose callout-muted:before{background:#3c3e4d}.prose callout-muted,.prose callout-muted ol>li:before{color:#b9b9c3}.prose callout-muted:before{background:#3c3e4d}.prose callout-info,.prose callout-info ol>li:before{color:#4b96ff}.prose callout-info:before{background:#4b96ff}.prose callout-danger,.prose callout-danger ol>li:before{color:#ff4545}.prose callout-danger:before{background:#ff4545}.prose callout-success,.prose callout-success ol>li:before{color:#30c85e}.prose callout-success:before{background:#30c85e}.prose callout-warning.notification .title,.prose callout-danger.notification .title{font-size:1.5rem;line-height:2rem}.prose callout-danger.notification pre{border:4px solid #ff4545;padding-block:1.5rem;margin-block:.5rem}.prose callout-warning.notification,.prose callout-danger.notification{margin-bottom:0!important}.radix-state-closed\:hidden[data-state=closed]{height:0;overflow:hidden;display:flex}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as n}from"./index-
|
|
2
|
-
//# sourceMappingURL=button-
|
|
1
|
+
import{j as n}from"./index-CGzylDPY.js";import{c as r}from"./misc-BtjCSy-T.js";import{L as u}from"./components-DrvY4pal.js";function l(){return n.jsx("span",{className:"inline-block animate-spin",children:"🌀"})}function d(){return n.jsx("span",{children:"✅"})}function m(){return n.jsx("span",{children:"❌"})}function a({varient:e,clip:o=!0}){const t="inline-flex bg-foreground text-background outline-none hover:bg-background hover:text-foreground focus:bg-background focus:text-foreground",s="px-8 py-4 font-bold",c="px-8 py-4 text-xl font-bold",i="px-8 py-4 font-mono text-sm uppercase";return r(t,{"clip-path-button":o,[s]:e==="primary",[c]:e==="big",[i]:e==="mono"})}function g({varient:e,status:o="idle",...t}){const s={pending:n.jsx(l,{}),success:n.jsx(d,{}),error:n.jsx(m,{}),idle:null}[o];return n.jsx("div",{className:"clip-path-button-outer w-fit border-2 border-foreground bg-foreground",children:n.jsxs("button",{...t,className:r(t.className,a({varient:e}),"flex justify-center gap-4"),children:[n.jsx("div",{children:t.children}),s]})})}function j({varient:e,...o}){return n.jsx("div",{className:"clip-path-button-outer w-fit border-2 border-foreground bg-foreground",children:n.jsx(u,{...o,className:r(o.className,a({varient:e}))})})}export{g as B,j as a};
|
|
2
|
+
//# sourceMappingURL=button-BS845Tjo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-
|
|
1
|
+
{"version":3,"file":"button-BS845Tjo.js","sources":["../../../app/components/button.tsx"],"sourcesContent":["import { Link } from '@remix-run/react'\nimport { clsx } from 'clsx'\n\nfunction PendingState() {\n\treturn <span className=\"inline-block animate-spin\">🌀</span>\n}\n\nfunction SuccessState() {\n\treturn <span>✅</span>\n}\n\nfunction ErrorState() {\n\treturn <span>❌</span>\n}\n\nexport function getButtonClassName({\n\tvarient,\n\tclip = true,\n}: {\n\tvarient: 'primary' | 'big' | 'mono'\n\tclip?: boolean\n}) {\n\tconst baseClassName =\n\t\t'inline-flex bg-foreground text-background outline-none hover:bg-background hover:text-foreground focus:bg-background focus:text-foreground'\n\tconst primaryClassName = 'px-8 py-4 font-bold'\n\tconst bigClassName = 'px-8 py-4 text-xl font-bold'\n\tconst monoClassName = 'px-8 py-4 font-mono text-sm uppercase'\n\tconst className = clsx(baseClassName, {\n\t\t'clip-path-button': clip,\n\t\t[primaryClassName]: varient === 'primary',\n\t\t[bigClassName]: varient === 'big',\n\t\t[monoClassName]: varient === 'mono',\n\t})\n\treturn className\n}\n\nexport function Button({\n\tvarient,\n\tstatus = 'idle',\n\t...props\n}: React.ComponentPropsWithoutRef<'button'> &\n\tParameters<typeof getButtonClassName>[0] & {\n\t\tstatus?: 'pending' | 'success' | 'error' | 'idle'\n\t}) {\n\tconst companion = {\n\t\tpending: <PendingState />,\n\t\tsuccess: <SuccessState />,\n\t\terror: <ErrorState />,\n\t\tidle: null,\n\t}[status]\n\treturn (\n\t\t<div className=\"clip-path-button-outer w-fit border-2 border-foreground bg-foreground\">\n\t\t\t<button\n\t\t\t\t{...props}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\tprops.className,\n\t\t\t\t\tgetButtonClassName({ varient }),\n\t\t\t\t\t'flex justify-center gap-4',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div>{props.children}</div>\n\t\t\t\t{companion}\n\t\t\t</button>\n\t\t</div>\n\t)\n}\n\nexport function ButtonLink({\n\tvarient,\n\t...props\n}: React.ComponentPropsWithoutRef<typeof Link> &\n\tParameters<typeof getButtonClassName>[0]) {\n\treturn (\n\t\t<div className=\"clip-path-button-outer w-fit border-2 border-foreground bg-foreground\">\n\t\t\t<Link\n\t\t\t\t{...props}\n\t\t\t\tclassName={clsx(props.className, getButtonClassName({ varient }))}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n"],"names":["PendingState","jsx","SuccessState","ErrorState","getButtonClassName","varient","clip","baseClassName","primaryClassName","bigClassName","monoClassName","clsx","Button","status","props","companion","jsxs","ButtonLink","Link"],"mappings":"4HAGA,SAASA,GAAe,CACvB,OAAQC,EAAAA,IAAA,OAAA,CAAK,UAAU,4BAA4B,SAAE,IAAA,CAAA,CACtD,CAEA,SAASC,GAAe,CAChB,OAAAD,EAAA,IAAC,QAAK,SAAC,GAAA,CAAA,CACf,CAEA,SAASE,GAAa,CACd,OAAAF,EAAA,IAAC,QAAK,SAAC,GAAA,CAAA,CACf,CAEO,SAASG,EAAmB,CAClC,QAAAC,EACA,KAAAC,EAAO,EACR,EAGG,CACF,MAAMC,EACL,6IACKC,EAAmB,sBACnBC,EAAe,8BACfC,EAAgB,wCAOf,OANWC,EAAKJ,EAAe,CACrC,mBAAoBD,EACpB,CAACE,CAAgB,EAAGH,IAAY,UAChC,CAACI,CAAY,EAAGJ,IAAY,MAC5B,CAACK,CAAa,EAAGL,IAAY,MAAA,CAC7B,CAEF,CAEO,SAASO,EAAO,CACtB,QAAAP,EACA,OAAAQ,EAAS,OACT,GAAGC,CACJ,EAGI,CACH,MAAMC,EAAY,CACjB,cAAUf,EAAa,EAAA,EACvB,cAAUE,EAAa,EAAA,EACvB,YAAQC,EAAW,EAAA,EACnB,KAAM,MACLU,CAAM,EAEP,OAAAZ,EAAAA,IAAC,MAAI,CAAA,UAAU,wEACd,SAAAe,EAAA,KAAC,SAAA,CACC,GAAGF,EACJ,UAAWH,EACVG,EAAM,UACNV,EAAmB,CAAE,QAAAC,EAAS,EAC9B,2BACD,EAEA,SAAA,CAACJ,EAAAA,IAAA,MAAA,CAAK,WAAM,QAAS,CAAA,EACpBc,CAAA,CAAA,CAEH,CAAA,CAAA,CAEF,CAEO,SAASE,EAAW,CAC1B,QAAAZ,EACA,GAAGS,CACJ,EAC2C,CAEzC,OAAAb,EAAAA,IAAC,MAAI,CAAA,UAAU,wEACd,SAAAA,EAAA,IAACiB,EAAA,CACC,GAAGJ,EACJ,UAAWH,EAAKG,EAAM,UAAWV,EAAmB,CAAE,QAAAC,CAAA,CAAS,CAAC,CAAA,CAElE,CAAA,CAAA,CAEF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var At=Object.defineProperty;var Dt=(e,t,r)=>t in e?At(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var X=(e,t,r)=>Dt(e,typeof t!="symbol"?t+"":t,r);import{r as o,l as Nt,u as M,e as Ge,D as _e,o as ie,p as Ft,q as It,N as K,s as U,t as xe,v as oe,w as we,x as jt,y as Qe,z as $,A as $t,I as Ut,B as Ze,C as $e,k as Mt,
|
|
1
|
+
var At=Object.defineProperty;var Dt=(e,t,r)=>t in e?At(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var X=(e,t,r)=>Dt(e,typeof t!="symbol"?t+"":t,r);import{r as o,l as Nt,u as M,e as Ge,D as _e,o as ie,p as Ft,q as It,N as K,s as U,t as xe,v as oe,w as we,x as jt,y as Qe,z as $,A as $t,I as Ut,B as Ze,C as $e,k as Mt,c as Ht,F as zt,G as Bt,H as Jt,i as qe,J as Yt,K as et,E as ne,a as Vt,m as tt,L as Kt,M as Xt,P as Wt,Q as Gt}from"./index-CGzylDPY.js";function Qt(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const i=Object.getOwnPropertyDescriptor(n,a);i&&Object.defineProperty(e,a,i.get?i:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var rt={exports:{}},k={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-dom.production.js
|
|
4
4
|
*
|
|
@@ -143,7 +143,7 @@ var At=Object.defineProperty;var Dt=(e,t,r)=>t in e?At(e,t,{enumerable:!0,config
|
|
|
143
143
|
* @license MIT
|
|
144
144
|
*/const te=new Set,kn=1e3,ae=new Set,An=7680;function De(e,t){return e.unstable_lazyRouteDiscovery===!0&&!t}function Dn(e,t){let r=new Set(t.state.matches.map(u=>u.route.id)),n=t.state.location.pathname.split("/").filter(Boolean),a=["/"];for(n.pop();n.length>0;)a.push(`/${n.join("/")}`),n.pop();a.forEach(u=>{let l=tt(t.routes,u,t.basename);l&&l.forEach(s=>r.add(s.route.id))});let i=[...r].reduce((u,l)=>Object.assign(u,{[l]:e.routes[l]}),{});return{...e,routes:i}}function ra(e,t,r,n,a){if(De(r,n))return async({path:i,patch:u})=>{ae.has(i)||await Tt([i],e,t,r,n,a,u)}}function na(e,t,r,n,a){o.useEffect(()=>{var i;if(!De(n,a)||((i=navigator.connection)===null||i===void 0?void 0:i.saveData)===!0)return;function u(f){let h=f.tagName==="FORM"?f.getAttribute("action"):f.getAttribute("href");if(!h)return;let p=new URL(h,window.location.origin);ae.has(p.pathname)||te.add(p.pathname)}async function l(){let f=Array.from(te.keys()).filter(h=>ae.has(h)?(te.delete(h),!1):!0);if(f.length!==0)try{await Tt(f,t,r,n,a,e.basename,e.patchRoutes)}catch(h){console.error("Failed to fetch manifest patches",h)}}document.body.querySelectorAll("a[data-discover], form[data-discover]").forEach(f=>u(f)),l();let s=Fn(l,100);function c(f){return f.nodeType===Node.ELEMENT_NODE}let m=new MutationObserver(f=>{let h=new Set;f.forEach(p=>{[p.target,...p.addedNodes].forEach(d=>{c(d)&&((d.tagName==="A"&&d.getAttribute("data-discover")||d.tagName==="FORM"&&d.getAttribute("data-discover"))&&h.add(d),d.tagName!=="A"&&d.querySelectorAll("a[data-discover], form[data-discover]").forEach(E=>h.add(E)))})}),h.forEach(p=>u(p)),s()});return m.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>m.disconnect()},[n,a,t,r,e])}async function Tt(e,t,r,n,a,i,u){let l=`${i??"/"}/__manifest`.replace(/\/+/g,"/"),s=new URL(l,window.location.origin);if(e.sort().forEach(d=>s.searchParams.append("p",d)),s.searchParams.set("version",t.version),s.toString().length>An){te.clear();return}let c=await fetch(s);if(c.ok){if(c.status>=400)throw new Error(await c.text())}else throw new Error(`${c.status} ${c.statusText}`);let m=await c.json(),f=new Set(Object.keys(t.routes)),h=Object.values(m).reduce((d,E)=>f.has(E.id)?d:Object.assign(d,{[E.id]:E}),{});Object.assign(t.routes,h),e.forEach(d=>Nn(d,ae));let p=new Set;Object.values(h).forEach(d=>{(!d.parentId||!h[d.parentId])&&p.add(d.parentId)}),p.forEach(d=>u(d||null,Ae(h,r,null,n,a,d)))}function Nn(e,t){if(t.size>=kn){let r=t.values().next().value;t.delete(r)}t.add(e)}function Fn(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}function Ot(){let e=o.useContext(_e);return I(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function fe(){let e=o.useContext(ie);return I(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const Pt=o.createContext(void 0);Pt.displayName="Remix";function z(){let e=o.useContext(Pt);return I(e,"You must render this element inside a <Remix> element"),e}function Ct(e,t){let[r,n]=o.useState(!1),[a,i]=o.useState(!1),{onFocus:u,onBlur:l,onMouseEnter:s,onMouseLeave:c,onTouchStart:m}=t,f=o.useRef(null);o.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let d=R=>{R.forEach(S=>{i(S.isIntersecting)})},E=new IntersectionObserver(d,{threshold:.5});return f.current&&E.observe(f.current),()=>{E.disconnect()}}},[e]);let h=()=>{e==="intent"&&n(!0)},p=()=>{e==="intent"&&(n(!1),i(!1))};return o.useEffect(()=>{if(r){let d=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(d)}}},[r]),[a,f,{onFocus:J(u,h),onBlur:J(l,p),onMouseEnter:J(s,h),onMouseLeave:J(c,p),onTouchStart:J(m,h)}]}const Ne=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Fe(e,t,r){return e==="render"&&!t&&!r?"true":void 0}let In=o.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&Ne.test(e),u=xe(e),[l,s,c]=Ct(t,n);return o.createElement(o.Fragment,null,o.createElement(xr,O({},n,c,{ref:kt(a,s),to:e,"data-discover":Fe(r,i,n.reloadDocument)})),l&&!i?o.createElement(je,{page:u}):null)});In.displayName="NavLink";let jn=o.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&Ne.test(e),u=xe(e),[l,s,c]=Ct(t,n);return o.createElement(o.Fragment,null,o.createElement(st,O({},n,c,{ref:kt(a,s),to:e,"data-discover":Fe(r,i,n.reloadDocument)})),l&&!i?o.createElement(je,{page:u}):null)});jn.displayName="Link";let $n=o.forwardRef(({discover:e="render",...t},r)=>{let n=typeof t.action=="string"&&Ne.test(t.action);return o.createElement(ut,O({},t,{ref:r,"data-discover":Fe(e,n,t.reloadDocument)}))});$n.displayName="Form";function J(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Ie(e,t,r){if(r&&!re)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function aa(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=z(),{errors:a,matches:i}=fe(),u=Ie(i,a,e),l=o.useMemo(()=>qr(u,r,t),[u,r,t]);return o.createElement(o.Fragment,null,n?o.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,l.map(({key:s,link:c})=>Oe(c)?o.createElement(je,O({key:s},c)):o.createElement("link",O({key:s},c))))}function je({page:e,...t}){let{router:r}=Ot(),n=o.useMemo(()=>tt(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?o.createElement(Mn,O({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Un(e){let{manifest:t,routeModules:r}=z(),[n,a]=o.useState([]);return o.useEffect(()=>{let i=!1;return rn(e,t,r).then(u=>{i||a(u)}),()=>{i=!0}},[e,t,r]),n}function Mn({page:e,matches:t,...r}){let n=M(),{future:a,manifest:i,routeModules:u}=z(),{loaderData:l,matches:s}=fe(),c=o.useMemo(()=>Je(e,t,s,i,n,"data"),[e,t,s,i,n]),m=o.useMemo(()=>{if(!a.unstable_singleFetch)return nn(e,c,i);if(e===n.pathname+n.search+n.hash)return[];let d=new Set,E=!1;if(t.forEach(S=>{var v;i.routes[S.route.id].hasLoader&&(!c.some(w=>w.route.id===S.route.id)&&S.route.id in l&&(v=u[S.route.id])!==null&&v!==void 0&&v.shouldRevalidate||i.routes[S.route.id].hasClientLoader?E=!0:d.add(S.route.id))}),d.size===0)return[];let R=de(e);return E&&d.size>0&&R.searchParams.set("_routes",t.filter(S=>d.has(S.route.id)).map(S=>S.route.id).join(",")),[R.pathname+R.search]},[a.unstable_singleFetch,l,n,i,c,t,e,u]),f=o.useMemo(()=>Je(e,t,s,i,n,"assets"),[e,t,s,i,n]),h=o.useMemo(()=>an(f,i),[f,i]),p=Un(f);return o.createElement(o.Fragment,null,m.map(d=>o.createElement("link",O({key:d,rel:"prefetch",as:"fetch",href:d},r))),h.map(d=>o.createElement("link",O({key:d,rel:"modulepreload",href:d},r))),p.map(({key:d,link:E})=>o.createElement("link",O({key:d},E))))}function ia(){let{isSpaMode:e,routeModules:t}=z(),{errors:r,matches:n,loaderData:a}=fe(),i=M(),u=Ie(n,r,e),l=null;r&&(l=r[u[u.length-1].route.id]);let s=[],c=null,m=[];for(let f=0;f<u.length;f++){let h=u[f],p=h.route.id,d=a[p],E=h.params,R=t[p],S=[],v={id:p,data:d,meta:[],params:h.params,pathname:h.pathname,handle:h.route.handle,error:l};if(m[f]=v,R!=null&&R.meta?S=typeof R.meta=="function"?R.meta({data:d,params:E,location:i,matches:m,error:l}):Array.isArray(R.meta)?[...R.meta]:R.meta:c&&(S=[...c]),S=S||[],!Array.isArray(S))throw new Error("The route at "+h.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
|
|
145
145
|
|
|
146
|
-
To reference the meta function API, see https://remix.run/route/meta`);v.meta=S,m[f]=v,s=[...S],c=s}return o.createElement(o.Fragment,null,s.flat().map(f=>{if(!f)return null;if("tagName"in f){let{tagName:h,...p}=f;if(!Hn(h))return console.warn(`A meta object uses an invalid tagName: ${h}. Expected either 'link' or 'meta'`),null;let d=h;return o.createElement(d,O({key:JSON.stringify(p)},p))}if("title"in f)return o.createElement("title",{key:"title"},String(f.title));if("charset"in f&&(f.charSet??(f.charSet=f.charset),delete f.charset),"charSet"in f&&f.charSet!=null)return typeof f.charSet=="string"?o.createElement("meta",{key:"charSet",charSet:f.charSet}):null;if("script:ld+json"in f)try{let h=JSON.stringify(f["script:ld+json"]);return o.createElement("script",{key:`script:ld+json:${h}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:h}})}catch{return null}return o.createElement("meta",O({key:JSON.stringify(f)},f))}))}function Hn(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function zn(e){return o.createElement(
|
|
146
|
+
To reference the meta function API, see https://remix.run/route/meta`);v.meta=S,m[f]=v,s=[...S],c=s}return o.createElement(o.Fragment,null,s.flat().map(f=>{if(!f)return null;if("tagName"in f){let{tagName:h,...p}=f;if(!Hn(h))return console.warn(`A meta object uses an invalid tagName: ${h}. Expected either 'link' or 'meta'`),null;let d=h;return o.createElement(d,O({key:JSON.stringify(p)},p))}if("title"in f)return o.createElement("title",{key:"title"},String(f.title));if("charset"in f&&(f.charSet??(f.charSet=f.charset),delete f.charset),"charSet"in f&&f.charSet!=null)return typeof f.charSet=="string"?o.createElement("meta",{key:"charSet",charSet:f.charSet}):null;if("script:ld+json"in f)try{let h=JSON.stringify(f["script:ld+json"]);return o.createElement("script",{key:`script:ld+json:${h}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:h}})}catch{return null}return o.createElement("meta",O({key:JSON.stringify(f)},f))}))}function Hn(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function zn(e){return o.createElement(Wt,e)}let re=!1;function Bn(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:i,future:u,renderMeta:l}=z(),{router:s,static:c,staticContext:m}=Ot(),{matches:f}=fe(),h=De(u,i);l&&(l.didRenderScripts=!0);let p=Ie(f,null,i);o.useEffect(()=>{re=!0},[]);let d=(g,x)=>{let b;return a&&x instanceof Error?b=a(x):b=x,`${JSON.stringify(g)}:__remixContext.p(!1, ${Z(JSON.stringify(b))})`},E=(g,x,b)=>{let L;try{L=JSON.stringify(b)}catch(T){return d(x,T)}return`${JSON.stringify(x)}:__remixContext.p(${Z(L)})`},R=(g,x,b)=>{let L;return a&&b instanceof Error?L=a(b):L=b,`__remixContext.r(${JSON.stringify(g)}, ${JSON.stringify(x)}, !1, ${Z(JSON.stringify(L))})`},S=(g,x,b)=>{let L;try{L=JSON.stringify(b)}catch(T){return R(g,x,T)}return`__remixContext.r(${JSON.stringify(g)}, ${JSON.stringify(x)}, ${Z(L)})`},v=[],w=o.useMemo(()=>{var g;let x=u.unstable_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",b=m?`window.__remixContext = ${r};${x}`:" ",L=u.unstable_singleFetch||m==null?void 0:m.activeDeferreds;b+=L?["__remixContext.p = function(v,e,p,x) {"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
|
|
147
147
|
x.stack=undefined;`," p=Promise.reject(x);"," } else {"," p=Promise.resolve(v);"," }"," return p;","};","__remixContext.n = function(i,k) {"," __remixContext.t = __remixContext.t || {};"," __remixContext.t[i] = __remixContext.t[i] || {};"," let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:""," return p;","};","__remixContext.r = function(i,k,v,e,p,x) {"," p = __remixContext.t[i][k];"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
|
|
148
148
|
x.stack=undefined;`," p.e(x);"," } else {"," p.r(v);"," }","};"].join(`
|
|
149
149
|
`)+Object.entries(L).map(([A,P])=>{let he=new Set(P.pendingKeys),F=P.deferredKeys.map(N=>{if(he.has(N))return v.push(o.createElement(We,{key:`${A} | ${N}`,deferredData:P,routeId:A,dataKey:N,scriptProps:e,serializeData:S,serializeError:R})),`${JSON.stringify(N)}:__remixContext.n(${JSON.stringify(A)}, ${JSON.stringify(N)})`;{let me=P.data[N];return typeof me._error<"u"?d(N,me._error):E(A,N,me._data)}}).join(`,
|
|
@@ -154,5 +154,5 @@ ${p.map((A,P)=>`import * as route${P} from ${JSON.stringify(t.routes[A.route.id]
|
|
|
154
154
|
${h?`window.__remixManifest = ${JSON.stringify(Dn(t,s),null,2)};`:""}
|
|
155
155
|
window.__remixRouteModules = {${p.map((A,P)=>`${JSON.stringify(A.route.id)}:route${P}`).join(",")}};
|
|
156
156
|
|
|
157
|
-
import(${JSON.stringify(t.entry.module)});`:" ";return o.createElement(o.Fragment,null,o.createElement("script",O({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Ye(b),type:void 0})),o.createElement("script",O({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Ye(T),type:"module",async:!0})))},[]);if(!c&&typeof __remixContext=="object"&&__remixContext.a)for(let g=0;g<__remixContext.a;g++)v.push(o.createElement(We,{key:g,scriptProps:e,serializeData:S,serializeError:R}));let y=p.map(g=>{let x=t.routes[g.route.id];return(x.imports||[]).concat([x.module])}).flat(1),_=re?[]:t.entry.imports.concat(y);return re?null:o.createElement(o.Fragment,null,h?null:o.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),o.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),Yn(_).map(g=>o.createElement("link",{key:g,rel:"modulepreload",href:g,crossOrigin:e.crossOrigin})),w,v)}function We({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&I(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),o.createElement(o.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?o.createElement(zn,{resolve:t.data[e],errorElement:o.createElement(Jn,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:u=>o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,u)}}))}):o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function Jn({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=
|
|
158
|
-
//# sourceMappingURL=components-
|
|
157
|
+
import(${JSON.stringify(t.entry.module)});`:" ";return o.createElement(o.Fragment,null,o.createElement("script",O({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Ye(b),type:void 0})),o.createElement("script",O({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Ye(T),type:"module",async:!0})))},[]);if(!c&&typeof __remixContext=="object"&&__remixContext.a)for(let g=0;g<__remixContext.a;g++)v.push(o.createElement(We,{key:g,scriptProps:e,serializeData:S,serializeError:R}));let y=p.map(g=>{let x=t.routes[g.route.id];return(x.imports||[]).concat([x.module])}).flat(1),_=re?[]:t.entry.imports.concat(y);return re?null:o.createElement(o.Fragment,null,h?null:o.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),o.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),Yn(_).map(g=>o.createElement("link",{key:g,rel:"modulepreload",href:g,crossOrigin:e.crossOrigin})),w,v)}function We({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&I(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),o.createElement(o.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?o.createElement(zn,{resolve:t.data[e],errorElement:o.createElement(Jn,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:u=>o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,u)}}))}):o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function Jn({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=Gt();return o.createElement("script",O({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function Yn(e){return[...new Set(e)]}function oa(){return Kt()}function la(e){return Xt(e)}function sa(e={}){return Cr(e)}function kt(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}export{zn as A,$n as F,jn as L,ia as M,In as N,tr as R,Bn as S,O as _,sa as a,la as b,Qn as c,dt as d,Gn as e,ta as f,bn as g,Ae as h,I as i,qn as j,ra as k,na as l,Pt as m,ea as n,Wn as o,z as p,Zn as q,it as r,Cn as s,aa as t,oa as u};
|
|
158
|
+
//# sourceMappingURL=components-DrvY4pal.js.map
|