@epic-web/workshop-app 5.6.0 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/build/client/assets/{_-hAKYb2AG.js → _-CjjFMNGC.js} +2 -2
  2. package/build/client/assets/{_-hAKYb2AG.js.map → _-CjjFMNGC.js.map} +1 -1
  3. package/build/client/assets/_exerciseNumber-CqkGzsgV.js +2 -0
  4. package/build/client/assets/{_exerciseNumber-PTdG9GGB.js.map → _exerciseNumber-CqkGzsgV.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-03erOIGo.js → _exerciseNumber_._stepNumber-BNWGPi9m.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-03erOIGo.js.map → _exerciseNumber_._stepNumber-BNWGPi9m.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber_.finished-CdNhLhKg.js +2 -0
  8. package/build/client/assets/{_exerciseNumber_.finished-DQg4F1NL.js.map → _exerciseNumber_.finished-CdNhLhKg.js.map} +1 -1
  9. package/build/client/assets/_layout-BMa5nZcJ.js +2 -0
  10. package/build/client/assets/{_layout-DHoH74NH.js.map → _layout-BMa5nZcJ.js.map} +1 -1
  11. package/build/client/assets/{_layout-B4JGpA3A.js → _layout-CwTidn3v.js} +2 -2
  12. package/build/client/assets/{_layout-B4JGpA3A.js.map → _layout-CwTidn3v.js.map} +1 -1
  13. package/build/client/assets/{_layout-BJbMl6SJ.js → _layout-DV29dlKr.js} +2 -2
  14. package/build/client/assets/{_layout-BJbMl6SJ.js.map → _layout-DV29dlKr.js.map} +1 -1
  15. package/build/client/assets/{_layout-Bu0lel3p.js → _layout-Muw3ERYT.js} +3 -3
  16. package/build/client/assets/{_layout-Bu0lel3p.js.map → _layout-Muw3ERYT.js.map} +1 -1
  17. package/build/client/assets/{accordion-DLg7gJkp.js → accordion-C-sW--in.js} +2 -2
  18. package/build/client/assets/{accordion-DLg7gJkp.js.map → accordion-C-sW--in.js.map} +1 -1
  19. package/build/client/assets/account-Cc968svU.js +2 -0
  20. package/build/client/assets/account-Cc968svU.js.map +1 -0
  21. package/build/client/assets/app-BOqXK9hi.js +2 -0
  22. package/build/client/assets/{app-DJDjmdlu.js.map → app-BOqXK9hi.js.map} +1 -1
  23. package/build/client/assets/{button-39zQyNX6.js → button-BS845Tjo.js} +2 -2
  24. package/build/client/assets/{button-39zQyNX6.js.map → button-BS845Tjo.js.map} +1 -1
  25. package/build/client/assets/{components-DUNtf72c.js → components-DrvY4pal.js} +4 -4
  26. package/build/client/assets/{components-DUNtf72c.js.map → components-DrvY4pal.js.map} +1 -1
  27. package/build/client/assets/diff-D0e_PrB7.js +2 -0
  28. package/build/client/assets/{diff-B3oaU_KB.js.map → diff-D0e_PrB7.js.map} +1 -1
  29. package/build/client/assets/{diff-BNCREJvf.js → diff-DtvfyjPI.js} +2 -2
  30. package/build/client/assets/{diff-BNCREJvf.js.map → diff-DtvfyjPI.js.map} +1 -1
  31. package/build/client/assets/{discord-CEOqKs_c.js → discord-BfP_Rny5.js} +2 -2
  32. package/build/client/assets/{discord-CEOqKs_c.js.map → discord-BfP_Rny5.js.map} +1 -1
  33. package/build/client/assets/discord-DILzAZN8.js +2 -0
  34. package/build/client/assets/discord-DILzAZN8.js.map +1 -0
  35. package/build/client/assets/{entry.client-CrlHhRMR.js → entry.client-CQusg5Iz.js} +2 -2
  36. package/build/client/assets/{entry.client-CrlHhRMR.js.map → entry.client-CQusg5Iz.js.map} +1 -1
  37. package/build/client/assets/epic-video-qHKPWPt1.js +3053 -0
  38. package/build/client/assets/epic-video-qHKPWPt1.js.map +1 -0
  39. package/build/client/assets/error-boundary-Beul7lrT.js +2 -0
  40. package/build/client/assets/{error-boundary-3zItlMUO.js.map → error-boundary-Beul7lrT.js.map} +1 -1
  41. package/build/client/assets/finished-DUKfL220.js +2 -0
  42. package/build/client/assets/{finished-rUzUjnEm.js.map → finished-DUKfL220.js.map} +1 -1
  43. package/build/client/assets/{index-CV3nxGFp.js → index-BHwOR8R1.js} +2 -2
  44. package/build/client/assets/{index-CV3nxGFp.js.map → index-BHwOR8R1.js.map} +1 -1
  45. package/build/client/assets/index-BOQWfIQC.js +36 -0
  46. package/build/client/assets/index-BOQWfIQC.js.map +1 -0
  47. package/build/client/assets/{index-DFqQCjCw.js → index-BPegC-d3.js} +2 -2
  48. package/build/client/assets/{index-DFqQCjCw.js.map → index-BPegC-d3.js.map} +1 -1
  49. package/build/client/assets/{index-LjRZeU7x.js → index-CB8bjE90.js} +2 -2
  50. package/build/client/assets/{index-LjRZeU7x.js.map → index-CB8bjE90.js.map} +1 -1
  51. package/build/client/assets/{index-C_B1-9rF.js → index-CGzylDPY.js} +2 -2
  52. package/build/client/assets/{index-C_B1-9rF.js.map → index-CGzylDPY.js.map} +1 -1
  53. package/build/client/assets/index-DbCT6N5p.js +2 -0
  54. package/build/client/assets/{index-DE-jwnOP.js.map → index-DbCT6N5p.js.map} +1 -1
  55. package/build/client/assets/{index-DDqzbGM2.js → index-cZQeGrqL.js} +2 -2
  56. package/build/client/assets/{index-DDqzbGM2.js.map → index-cZQeGrqL.js.map} +1 -1
  57. package/build/client/assets/{index-CLNXC84j.js → index-egcHQOpF.js} +2 -2
  58. package/build/client/assets/{index-CLNXC84j.js.map → index-egcHQOpF.js.map} +1 -1
  59. package/build/client/assets/index-oED4uZLa.js +2 -0
  60. package/build/client/assets/{index-mivnjq36.js.map → index-oED4uZLa.js.map} +1 -1
  61. package/build/client/assets/{loading-DW_I206H.js → loading-C2wPVvQw.js} +2 -2
  62. package/build/client/assets/{loading-DW_I206H.js.map → loading-C2wPVvQw.js.map} +1 -1
  63. package/build/client/assets/login-DoU7gifi.js +2 -0
  64. package/build/client/assets/{login-CdNej0Z7.js.map → login-DoU7gifi.js.map} +1 -1
  65. package/build/client/assets/manifest-93f34003.js +1 -0
  66. package/build/client/assets/mdx-CsS30JUo.js +2 -0
  67. package/build/client/assets/{mdx-C9dqA6IZ.js.map → mdx-CsS30JUo.js.map} +1 -1
  68. package/build/client/assets/{misc-DIdEn_jt.js → misc-BtjCSy-T.js} +2 -2
  69. package/build/client/assets/{misc-DIdEn_jt.js.map → misc-BtjCSy-T.js.map} +1 -1
  70. package/build/client/assets/{nav-chevrons-B3SvZV8B.js → nav-chevrons-2hLTwAZb.js} +2 -2
  71. package/build/client/assets/{nav-chevrons-B3SvZV8B.js.map → nav-chevrons-2hLTwAZb.js.map} +1 -1
  72. package/build/client/assets/onboarding-Cu6eD7KS.js +2 -0
  73. package/build/client/assets/{onboarding-CC9zz4rl.js.map → onboarding-Cu6eD7KS.js.map} +1 -1
  74. package/build/client/assets/{pe-D5h19vSo.js → pe-DXT2FOp1.js} +2 -2
  75. package/build/client/assets/{pe-D5h19vSo.js.map → pe-DXT2FOp1.js.map} +1 -1
  76. package/build/client/assets/preferences-br0VSK51.js +2 -0
  77. package/build/client/assets/preferences-br0VSK51.js.map +1 -0
  78. package/build/client/assets/{presence-D1DPz__2.js → presence-CrYBA3ta.js} +3 -3
  79. package/build/client/assets/{presence-D1DPz__2.js.map → presence-CrYBA3ta.js.map} +1 -1
  80. package/build/client/assets/preview-C2y4Z0qO.js +2 -0
  81. package/build/client/assets/{preview-BEtmdi0E.js.map → preview-C2y4Z0qO.js.map} +1 -1
  82. package/build/client/assets/{product-CYOFfeJM.js → product-gqq_YQBW.js} +2 -2
  83. package/build/client/assets/{product-CYOFfeJM.js.map → product-gqq_YQBW.js.map} +1 -1
  84. package/build/client/assets/{progress-D6SP0Gec.js → progress-D-HsH4j3.js} +2 -2
  85. package/build/client/assets/{progress-D6SP0Gec.js.map → progress-D-HsH4j3.js.map} +1 -1
  86. package/build/client/assets/{progress-bar-CBDBzRQ2.js → progress-bar-CTPCfvDi.js} +2 -2
  87. package/build/client/assets/{progress-bar-CBDBzRQ2.js.map → progress-bar-CTPCfvDi.js.map} +1 -1
  88. package/build/client/assets/revalidation-ws-DYaJNyw1.js +2 -0
  89. package/build/client/assets/{revalidation-ws-DK5QOPlL.js.map → revalidation-ws-DYaJNyw1.js.map} +1 -1
  90. package/build/client/assets/{root-Bg-hxaOK.js → root-DGY0y7_0.js} +3 -3
  91. package/build/client/assets/{root-Bg-hxaOK.js.map → root-DGY0y7_0.js.map} +1 -1
  92. package/build/client/assets/{set-playground-CMoUFgkO.js → set-playground-DQzAhC0t.js} +2 -2
  93. package/build/client/assets/{set-playground-CMoUFgkO.js.map → set-playground-DQzAhC0t.js.map} +1 -1
  94. package/build/client/assets/{support-CPzYlWkd.js → support-lgEG2piy.js} +2 -2
  95. package/build/client/assets/{support-CPzYlWkd.js.map → support-lgEG2piy.js.map} +1 -1
  96. package/build/client/assets/tailwind-CRGTilRc.css +1 -0
  97. package/build/client/assets/test-CDWRwwO-.js +2 -0
  98. package/build/client/assets/{test-C8wkLh9a.js.map → test-CDWRwwO-.js.map} +1 -1
  99. package/build/client/assets/{tests-CiM4RPOf.js → tests-LWW8wCYZ.js} +3 -3
  100. package/build/client/assets/{tests-CiM4RPOf.js.map → tests-LWW8wCYZ.js.map} +1 -1
  101. package/build/client/assets/{tooltip-BoVikCa-.js → tooltip-Bp9KHnLy.js} +2 -2
  102. package/build/client/assets/{tooltip-BoVikCa-.js.map → tooltip-Bp9KHnLy.js.map} +1 -1
  103. package/build/client/assets/{use-event-source-M87p8Tme.js → use-event-source-AZJtQsFX.js} +2 -2
  104. package/build/client/assets/{use-event-source-M87p8Tme.js.map → use-event-source-AZJtQsFX.js.map} +1 -1
  105. package/build/client/assets/{user-CbbIYEs8.js → user-C0j04V55.js} +2 -2
  106. package/build/client/assets/{user-CbbIYEs8.js.map → user-C0j04V55.js.map} +1 -1
  107. package/build/client/assets/{version-CIF3cX3N.js → version-D61Qvt0X.js} +2 -2
  108. package/build/client/assets/{version-CIF3cX3N.js.map → version-D61Qvt0X.js.map} +1 -1
  109. package/build/client/assets/{workshop-config-C5sYl312.js → workshop-config-oL_FWDKq.js} +2 -2
  110. package/build/client/assets/{workshop-config-C5sYl312.js.map → workshop-config-oL_FWDKq.js.map} +1 -1
  111. package/build/server/index.js +516 -444
  112. package/build/server/index.js.map +1 -1
  113. package/package.json +3 -3
  114. package/build/client/assets/_exerciseNumber-PTdG9GGB.js +0 -2
  115. package/build/client/assets/_exerciseNumber_.finished-DQg4F1NL.js +0 -2
  116. package/build/client/assets/_layout-DHoH74NH.js +0 -2
  117. package/build/client/assets/account-DLDPrc9J.js +0 -2
  118. package/build/client/assets/account-DLDPrc9J.js.map +0 -1
  119. package/build/client/assets/app-DJDjmdlu.js +0 -2
  120. package/build/client/assets/diff-B3oaU_KB.js +0 -2
  121. package/build/client/assets/discord-CpIgvYus.js +0 -2
  122. package/build/client/assets/discord-CpIgvYus.js.map +0 -1
  123. package/build/client/assets/epic-video-D8ex9vao.js +0 -2
  124. package/build/client/assets/epic-video-D8ex9vao.js.map +0 -1
  125. package/build/client/assets/error-boundary-3zItlMUO.js +0 -2
  126. package/build/client/assets/finished-rUzUjnEm.js +0 -2
  127. package/build/client/assets/index-BajUQsFT.js +0 -3053
  128. package/build/client/assets/index-BajUQsFT.js.map +0 -1
  129. package/build/client/assets/index-DE-jwnOP.js +0 -2
  130. package/build/client/assets/index-DH1w3QmP.js +0 -36
  131. package/build/client/assets/index-DH1w3QmP.js.map +0 -1
  132. package/build/client/assets/index-mivnjq36.js +0 -2
  133. package/build/client/assets/login-CdNej0Z7.js +0 -2
  134. package/build/client/assets/manifest-62ea49c4.js +0 -1
  135. package/build/client/assets/mdx-C9dqA6IZ.js +0 -2
  136. package/build/client/assets/onboarding-CC9zz4rl.js +0 -2
  137. package/build/client/assets/preview-BEtmdi0E.js +0 -2
  138. package/build/client/assets/request-info-vBkaf3Rk.js +0 -2
  139. package/build/client/assets/request-info-vBkaf3Rk.js.map +0 -1
  140. package/build/client/assets/revalidation-ws-DK5QOPlL.js +0 -2
  141. package/build/client/assets/tailwind-B5AAMtGC.css +0 -1
  142. package/build/client/assets/test-C8wkLh9a.js +0 -2
  143. /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-DJDjmdlu.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":"qXAmDA,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
+ {"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,2 +1,2 @@
1
- import{j as n}from"./index-C_B1-9rF.js";import{c as r}from"./misc-DIdEn_jt.js";import{L as u}from"./components-DUNtf72c.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-39zQyNX6.js.map
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-39zQyNX6.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
+ {"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,a as Ht,F as zt,G as Bt,H as Jt,i as qe,J as Yt,K as et,E as ne,b as Vt,m as tt,L as Kt,M as Xt,P as Wt,Q as Gt}from"./index-C_B1-9rF.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={};/**
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(Xt,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");
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=Wt();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 Gt(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,Qn as b,la 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-DUNtf72c.js.map
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