keycloak-d4science-spi-parent/keycloak-d4science-theme/src/main/resources/theme/d4science/account/resources/assets/ContentComponent-dIMo1COn.j...

1 line
2.9 KiB
Plaintext

{"version":3,"mappings":"iNAUA,SAASA,EACPC,EACAC,EACoB,CACpB,UAAWC,KAAQF,EAAS,CAExB,YAAUE,GACVA,EAAK,KAAK,SAASD,CAAW,GAC9B,eAAgBC,EAEhB,OAAOA,EAAK,WAEd,GAAI,aAAcA,EACT,OAAAH,EAAcG,EAAK,SAAUD,CAAW,CAEnD,CAEF,CAEO,MAAME,EAAmB,IAAM,CACpC,MAAMC,EAAUC,IAEV,CAACL,EAASM,CAAU,EAAIC,EAAqB,EAC7C,CAAE,YAAAN,GAAgBO,IAEbC,EAACC,GAAWC,EAAiB,CAAE,OAAAD,EAAQ,QAAAN,CAAS,GAAGE,CAAU,EACxE,MAAMM,EAAaC,EACjB,IAAMd,EAAcC,GAAW,GAAIC,CAAY,EAC/C,CAACD,EAASC,CAAW,GAGhB,OAAAW,GAAeE,EAAAC,EAAA,CAAU,WAAAH,CAAwB,EAC1D,EAMMG,EAAY,CAAC,CAAE,WAAAH,KAAiC,CAC9C,MAAE,YAAAI,GAAgBX,IAElBY,EAAUC,EACd,IAAMC,EAAA,WAAOC,EAASJ,EAAY,YAAaJ,CAAU,yCAGzD,OAAAE,EAACO,GAAS,SAAUP,EAACQ,IAAQ,EAC3B,SAAAR,EAACG,GAAQ,EACX,EAEJ","names":["findComponent","content","componentId","item","ContentComponent","context","useEnvironment","setContent","useState","useParams","usePromise","signal","fetchContentJson","modulePath","useMemo","jsx","Component","environment","Element","lazy","__vitePreload","joinPath","Suspense","Spinner"],"sources":["../../src/content/ContentComponent.tsx"],"sourcesContent":["import { Spinner } from \"@patternfly/react-core\";\r\nimport { Suspense, lazy, useMemo, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useEnvironment } from \"../root/KeycloakContext\";\r\nimport { MenuItem } from \"../root/PageNav\";\r\nimport { ContentComponentParams } from \"../routes\";\r\nimport { joinPath } from \"../utils/joinPath\";\r\nimport { usePromise } from \"../utils/usePromise\";\r\nimport fetchContentJson from \"./fetchContent\";\r\n\r\nfunction findComponent(\r\n content: MenuItem[],\r\n componentId: string,\r\n): string | undefined {\r\n for (const item of content) {\r\n if (\r\n \"path\" in item &&\r\n item.path.endsWith(componentId) &&\r\n \"modulePath\" in item\r\n ) {\r\n return item.modulePath;\r\n }\r\n if (\"children\" in item) {\r\n return findComponent(item.children, componentId);\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\nexport const ContentComponent = () => {\r\n const context = useEnvironment();\r\n\r\n const [content, setContent] = useState<MenuItem[]>();\r\n const { componentId } = useParams<ContentComponentParams>();\r\n\r\n usePromise((signal) => fetchContentJson({ signal, context }), setContent);\r\n const modulePath = useMemo(\r\n () => findComponent(content || [], componentId!),\r\n [content, componentId],\r\n );\r\n\r\n return modulePath && <Component modulePath={modulePath} />;\r\n};\r\n\r\ntype ComponentProps = {\r\n modulePath: string;\r\n};\r\n\r\nconst Component = ({ modulePath }: ComponentProps) => {\r\n const { environment } = useEnvironment();\r\n\r\n const Element = lazy(\r\n () => import(joinPath(environment.resourceUrl, modulePath)),\r\n );\r\n return (\r\n <Suspense fallback={<Spinner />}>\r\n <Element />\r\n </Suspense>\r\n );\r\n};\r\n\r\nexport default ContentComponent;\r\n"],"file":"assets/ContentComponent-dIMo1COn.js"}