codeforlife 2.9.2 → 2.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/Countdown-7-Mzftzr.cjs +2 -0
  2. package/dist/{Countdown-CTNMDtaU.cjs.map → Countdown-7-Mzftzr.cjs.map} +1 -1
  3. package/dist/{Countdown-D4s4yfhB.js → Countdown-ZA68a09m.js} +4 -4
  4. package/dist/{Countdown-D4s4yfhB.js.map → Countdown-ZA68a09m.js.map} +1 -1
  5. package/dist/{Image-D5jC9UoX.js → Image-KHEjEELP.js} +2 -2
  6. package/dist/{Image-D5jC9UoX.js.map → Image-KHEjEELP.js.map} +1 -1
  7. package/dist/{LinkButton-COnDB_KU.js → LinkButton-Do07PnhU.js} +4 -4
  8. package/dist/LinkButton-Do07PnhU.js.map +1 -0
  9. package/dist/LinkButton-cfljqSBx.cjs +2 -0
  10. package/dist/LinkButton-cfljqSBx.cjs.map +1 -0
  11. package/dist/Navigate-Cu8Ge031.cjs +2 -0
  12. package/dist/Navigate-Cu8Ge031.cjs.map +1 -0
  13. package/dist/{Navigate-Baeudg5V.js → Navigate-DC6ag0th.js} +4 -4
  14. package/dist/Navigate-DC6ag0th.js.map +1 -0
  15. package/dist/api/endpoints/index.es.js +2 -2
  16. package/dist/api/index.es.js +3 -3
  17. package/dist/{api-Cbyt3rw0.js → api-CYqNqtN9.js} +2 -2
  18. package/dist/{api-Cbyt3rw0.js.map → api-CYqNqtN9.js.map} +1 -1
  19. package/dist/auth-C_aSIrwD.cjs +2 -0
  20. package/dist/auth-C_aSIrwD.cjs.map +1 -0
  21. package/dist/{auth-C9qgLRQ4.js → auth-CvJ5Mh6y.js} +17 -17
  22. package/dist/auth-CvJ5Mh6y.js.map +1 -0
  23. package/dist/components/form/index.es.js +1 -1
  24. package/dist/components/index.cjs.js +1 -10
  25. package/dist/components/index.cjs.js.map +1 -1
  26. package/dist/components/index.es.js +179 -256
  27. package/dist/components/index.es.js.map +1 -1
  28. package/dist/components/page/index.cjs.js +1 -1
  29. package/dist/components/page/index.es.js +1 -1
  30. package/dist/components/router/Navigate.d.ts +1 -1
  31. package/dist/components/router/index.cjs.js +1 -1
  32. package/dist/components/router/index.es.js +2 -2
  33. package/dist/components/table/index.es.js +1 -1
  34. package/dist/features/index.cjs.js +1 -1
  35. package/dist/features/index.cjs.js.map +1 -1
  36. package/dist/features/index.es.js +7 -7
  37. package/dist/hooks/index.cjs.js +1 -1
  38. package/dist/hooks/index.es.js +1 -1
  39. package/dist/hooks/router.d.ts +1 -1
  40. package/dist/{index-2W--_sNE.js → index-B3cd2A-G.js} +2 -2
  41. package/dist/{index-2W--_sNE.js.map → index-B3cd2A-G.js.map} +1 -1
  42. package/dist/{index-CkM7p7f8.js → index-Brh3Kbv6.js} +2 -2
  43. package/dist/{index-CkM7p7f8.js.map → index-Brh3Kbv6.js.map} +1 -1
  44. package/dist/{index-DALohJdb.js → index-DlQc68Q4.js} +6 -6
  45. package/dist/index-DlQc68Q4.js.map +1 -0
  46. package/dist/index-DsVpb45W.cjs +2 -0
  47. package/dist/index-DsVpb45W.cjs.map +1 -0
  48. package/dist/{index-Dqp7dpn3.js → index-DuVBQMst.js} +5 -5
  49. package/dist/{index-Dqp7dpn3.js.map → index-DuVBQMst.js.map} +1 -1
  50. package/dist/{jsx-runtime-Dpn_P65e.js → jsx-runtime-XvoU0p7t.js} +57 -57
  51. package/dist/{jsx-runtime-Dpn_P65e.js.map → jsx-runtime-XvoU0p7t.js.map} +1 -1
  52. package/dist/{schemas-DlOtf2vf.js → schemas-CDXuSjyI.js} +2 -2
  53. package/dist/{schemas-DlOtf2vf.js.map → schemas-CDXuSjyI.js.map} +1 -1
  54. package/dist/server.cjs.js +3 -3
  55. package/dist/server.cjs.js.map +1 -1
  56. package/dist/server.d.ts +12 -1
  57. package/dist/server.es.js +84 -56
  58. package/dist/server.es.js.map +1 -1
  59. package/dist/theme/components/index.es.js +1 -1
  60. package/dist/theme/index.es.js +2 -2
  61. package/dist/{urls-DtHr1d3H.js → urls-BY-za1bX.js} +2 -2
  62. package/dist/{urls-DtHr1d3H.js.map → urls-BY-za1bX.js.map} +1 -1
  63. package/dist/utils/api.es.js +2 -2
  64. package/dist/utils/router.cjs.js +1 -1
  65. package/dist/utils/router.cjs.js.map +1 -1
  66. package/dist/utils/router.d.ts +1 -1
  67. package/dist/utils/router.es.js +3 -3
  68. package/dist/utils/router.es.js.map +1 -1
  69. package/dist/utils/test.es.js +1 -1
  70. package/dist/utils/theme.es.js +2 -2
  71. package/package.json +8 -5
  72. package/dist/Countdown-CTNMDtaU.cjs +0 -2
  73. package/dist/LinkButton-C9y6XyQV.cjs +0 -2
  74. package/dist/LinkButton-C9y6XyQV.cjs.map +0 -1
  75. package/dist/LinkButton-COnDB_KU.js.map +0 -1
  76. package/dist/Navigate-Baeudg5V.js.map +0 -1
  77. package/dist/Navigate-D8_ubqaT.cjs +0 -2
  78. package/dist/Navigate-D8_ubqaT.cjs.map +0 -1
  79. package/dist/auth-C9qgLRQ4.js.map +0 -1
  80. package/dist/auth-DjC4nR_8.cjs +0 -2
  81. package/dist/auth-DjC4nR_8.cjs.map +0 -1
  82. package/dist/index-CiWln8tI.cjs +0 -2
  83. package/dist/index-CiWln8tI.cjs.map +0 -1
  84. package/dist/index-DALohJdb.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DlQc68Q4.js","sources":["../src/components/page/Section.tsx","../src/components/page/Notification.tsx","../src/components/page/Page.tsx","../src/components/page/Banner.tsx","../src/components/page/TabBar.tsx"],"sourcesContent":["import {\n Box,\n type BoxProps,\n Container,\n type ContainerProps,\n} from \"@mui/material\"\nimport type { FC } from \"react\"\n\nexport interface SectionProps extends ContainerProps {\n boxProps?: Omit<BoxProps, \"children\">\n}\n\nconst Section: FC<SectionProps> = ({ boxProps, ...containerProps }) => {\n return (\n <Box {...boxProps}>\n <Container {...containerProps} />\n </Box>\n )\n}\n\nexport default Section\n","import {\n CloseOutlined as CloseOutlinedIcon,\n ErrorOutline as ErrorOutlineIcon,\n InfoOutlined as InfoOutlinedIcon,\n} from \"@mui/icons-material\"\nimport { type FC, type ReactNode, useEffect, useState } from \"react\"\nimport { IconButton, Stack, Typography } from \"@mui/material\"\n\nimport Section from \"./Section\"\nimport palette from \"../../theme/palette\"\n\nexport interface NotificationProps {\n open?: boolean\n error?: boolean\n onClose?: () => void\n children: ReactNode\n bgcolor?: \"secondary\" | \"tertiary\"\n}\n\nconst Notification: FC<NotificationProps> = ({\n open = true,\n error = false,\n onClose,\n children,\n bgcolor = \"secondary\",\n}) => {\n const [_open, _setOpen] = useState(open)\n\n useEffect(() => {\n _setOpen(open)\n }, [open])\n\n if (!_open) return <></>\n\n // @ts-expect-error guaranteed to be in palette\n const contrastText = palette[bgcolor].contrastText as string\n\n return (\n <Section\n boxProps={{\n bgcolor: {\n secondary: \"#ffd23b\",\n tertiary: \"#08bafc\",\n }[bgcolor],\n }}\n sx={{ paddingY: \"5px\" }}\n >\n <Stack direction=\"row\" alignItems=\"center\" gap={2}>\n {error ? (\n <ErrorOutlineIcon htmlColor={contrastText} />\n ) : (\n <InfoOutlinedIcon htmlColor={contrastText} />\n )}\n <Typography variant=\"body2\" color={contrastText} mb={0}>\n {children}\n </Typography>\n <IconButton\n style={{ marginLeft: \"auto\" }}\n onClick={() => {\n _setOpen(false)\n if (onClose !== undefined) onClose()\n }}\n >\n <CloseOutlinedIcon htmlColor={contrastText} />\n </IconButton>\n </Stack>\n </Section>\n )\n}\n\nexport default Notification\n","import { Children, type JSX, useEffect } from \"react\"\nimport { type Location, useLocation } from \"react-router\"\n\nimport Notification, { type NotificationProps } from \"./Notification\"\nimport {\n type SessionMetadata,\n type UseSessionChildren,\n type UseSessionChildrenFunction,\n type UseSessionOptions,\n useSession,\n} from \"../../hooks/auth\"\n\nexport type PageState = {\n notifications: Array<{\n index?: number\n props: NotificationProps\n }>\n scroll: { x: number; y: number }\n}\n\nexport interface PageProps<\n SessionUserType extends SessionMetadata[\"user_type\"] | undefined,\n> {\n children: UseSessionChildren<SessionUserType>\n session?: UseSessionOptions<SessionUserType>\n}\n\nconst Page = <\n SessionUserType extends SessionMetadata[\"user_type\"] | undefined = undefined,\n>({\n children,\n session,\n}: PageProps<SessionUserType>): JSX.Element => {\n const { state } = useLocation() as Location<null | Partial<PageState>>\n\n let { scroll, notifications } = state || {}\n scroll = scroll || { x: 0, y: 0 }\n notifications = notifications || []\n\n useEffect(() => {\n window.scroll(scroll.x, scroll.y)\n }, [scroll.x, scroll.y])\n\n return (\n <>\n {useSession((metadata?: SessionMetadata) => {\n if (typeof children === \"function\") {\n children = metadata\n ? (children as UseSessionChildrenFunction<true>)(metadata)\n : (children as UseSessionChildrenFunction<false>)(metadata)\n }\n\n if (notifications.length) {\n const childrenArray = Children.toArray(children)\n\n notifications.forEach((notification, index) => {\n void childrenArray.splice(\n notification.index ?? index,\n 0,\n <Notification {...notification.props} />,\n )\n })\n\n return childrenArray\n }\n\n return children\n }, session)}\n </>\n )\n}\n\nexport default Page\n","import { Stack, Typography } from \"@mui/material\"\n\nimport Image, { type ImageProps } from \"../Image\"\nimport { LinkButton, type LinkButtonProps } from \"../router\"\nimport { primary, secondary, tertiary } from \"../../theme/colors\"\nimport Section from \"./Section\"\nimport palette from \"../../theme/palette\"\n\nexport interface BannerProps<\n Button1State extends Record<string, any> = Record<string, any>,\n Button2State extends Record<string, any> = Record<string, any>,\n> {\n header: string\n subheader?: string\n textAlign?: \"start\" | \"center\"\n imageProps?: ImageProps\n button1Props?: LinkButtonProps<\"to\", Button1State>\n button2Props?: LinkButtonProps<\"to\", Button2State>\n bgcolor?: \"primary\" | \"secondary\" | \"tertiary\"\n}\n\nconst Banner = <\n Button1State extends Record<string, any> = Record<string, any>,\n Button2State extends Record<string, any> = Record<string, any>,\n>({\n header,\n subheader,\n textAlign = \"start\",\n imageProps,\n button1Props,\n button2Props,\n bgcolor = \"primary\",\n}: BannerProps<Button1State, Button2State>) => {\n // @ts-expect-error guaranteed to be in palette\n const contrastText = palette[bgcolor].contrastText as string\n\n return (\n <Section\n boxProps={{\n bgcolor: {\n primary: primary[500],\n secondary: secondary[500],\n tertiary: tertiary[500],\n }[bgcolor],\n }}\n sx={{ paddingY: 0 }}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={textAlign}\n gap={2}\n >\n <Stack\n py={{\n xs: \"80px\",\n md: imageProps !== undefined ? 0 : \"100px\",\n }}\n textAlign={textAlign}\n >\n <Typography\n variant=\"h2\"\n color={contrastText}\n mb={subheader !== undefined ? undefined : 0}\n >\n {header}\n </Typography>\n {subheader !== undefined && (\n <Typography\n color={contrastText}\n variant=\"h4\"\n mb={button1Props !== undefined ? undefined : 0}\n >\n {subheader}\n </Typography>\n )}\n <Stack direction=\"row\" gap={2}>\n {button1Props !== undefined && <LinkButton {...button1Props} />}\n {button2Props !== undefined && <LinkButton {...button2Props} />}\n </Stack>\n </Stack>\n {imageProps !== undefined && (\n <Image\n {...imageProps}\n display={{ xs: \"none\", md: \"block\" }}\n maxWidth=\"320px\"\n marginLeft=\"auto\"\n />\n )}\n </Stack>\n </Section>\n )\n}\n\nexport default Banner\n","import {\n ChevronLeft as ChevronLeftIcon,\n ChevronRight as ChevronRightIcon,\n} from \"@mui/icons-material\"\nimport { type FC, type ReactNode, useEffect, useState } from \"react\"\nimport {\n IconButton,\n Tab,\n type TabScrollButtonProps,\n Tabs,\n Typography,\n} from \"@mui/material\"\nimport { object as YupObject, string as YupString } from \"yup\"\nimport { generatePath, useNavigate, useParams } from \"react-router\"\n\nimport Section from \"./Section\"\nimport { primary } from \"../../theme/colors\"\nimport { tryValidateSync } from \"../../utils/schema\"\n\nexport interface TabBarProps {\n header: string\n tabs: Array<{\n label: string\n children: ReactNode\n path: string\n }>\n originalPath: string\n value?: number\n}\n\nconst TabBar: FC<TabBarProps> = ({ header, tabs, originalPath, value = 0 }) => {\n const params = useParams()\n const navigate = useNavigate()\n const [_value, _setValue] = useState(\n value < 0 ? 0 : value >= tabs.length ? tabs.length - 1 : value,\n )\n\n const labels = tabs.map(tab => tab.label)\n const children = tabs.map(tab => tab.children)\n const paths = tabs.map(tab => tab.path)\n\n useEffect(() => {\n _setValue(value)\n }, [value])\n\n useEffect(() => {\n const tab = tryValidateSync(\n params,\n YupObject({\n tab: YupString().oneOf(paths).required(),\n }),\n )?.tab\n\n if (tab !== undefined) {\n _setValue(paths.indexOf(tab))\n }\n }, [params, paths])\n\n return (\n <>\n <Section\n boxProps={{ bgcolor: primary[500] }}\n sx={{ paddingY: \"100px\" }}\n className=\"flex-center\"\n >\n <Typography\n textAlign=\"center\"\n variant=\"h2\"\n style={{ color: \"white\" }}\n mb={0}\n >\n {header}\n </Typography>\n </Section>\n <Section\n boxProps={{ bgcolor: primary[300] }}\n sx={{ paddingY: \"6px\" }}\n className=\"flex-center\"\n >\n <Tabs\n value={_value}\n onChange={(_, value: number) => {\n void navigate(\n generatePath(originalPath, {\n tab: paths[value],\n }),\n )\n }}\n ScrollButtonComponent={({\n disabled,\n onClick,\n direction,\n }: TabScrollButtonProps) => {\n return (\n <>\n {disabled === false && (\n <IconButton\n onClick={onClick}\n style={{\n padding: 0,\n [direction === \"left\" ? \"marginRight\" : \"marginLeft\"]:\n \"15px\",\n color: \"white\",\n }}\n >\n {direction === \"left\" ? (\n <>\n <ChevronLeftIcon />\n </>\n ) : (\n <>\n <ChevronRightIcon />\n </>\n )}\n </IconButton>\n )}\n </>\n )\n }}\n >\n {labels.map(label => (\n <Tab disableRipple key={label} label={label} />\n ))}\n </Tabs>\n </Section>\n {children[_value]}\n </>\n )\n}\n\nexport default TabBar\n"],"names":["Section","boxProps","containerProps","jsx","Box","Container","Notification","open","error","onClose","children","bgcolor","_open","_setOpen","useState","useEffect","Fragment","contrastText","palette","Stack","ErrorOutlineIcon","InfoOutlinedIcon","Typography","IconButton","CloseOutlinedIcon","Page","session","state","useLocation","scroll","notifications","useSession","metadata","childrenArray","Children","notification","index","Banner","header","subheader","textAlign","imageProps","button1Props","button2Props","primary","secondary","tertiary","jsxs","LinkButton","Image","TabBar","tabs","originalPath","value","params","useParams","navigate","useNavigate","_value","_setValue","labels","tab","paths","tryValidateSync","YupObject","YupString","Tabs","_","generatePath","disabled","onClick","direction","ChevronLeftIcon","ChevronRightIcon","label","Tab"],"mappings":";;;;;;;;;;;AAYA,MAAMA,IAA4B,CAAC,EAAE,UAAAC,GAAU,GAAGC,QAE9CC,gBAAAA,MAACC,KAAK,GAAGH,GACP,gCAACI,GAAA,EAAW,GAAGH,GAAgB,EAAA,CACjC,GCGEI,IAAsC,CAAC;AAAA,EAC3C,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC,IAAU;AACZ,MAAM;AACJ,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAASP,CAAI;AAMvC,MAJAQ,EAAU,MAAM;AACd,IAAAF,EAASN,CAAI;AAAA,EACf,GAAG,CAACA,CAAI,CAAC,GAEL,CAACK,EAAO,QAAOT,gBAAAA,MAAAa,EAAAA,UAAA,CAAA,CAAE;AAGrB,QAAMC,IAAeC,EAAQP,CAAO,EAAE;AAEtC,SACER,gBAAAA,EAAAA;AAAAA,IAACH;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,QACR,SAAS;AAAA,UACP,WAAW;AAAA,UACX,UAAU;AAAA,QAAA,EACVW,CAAO;AAAA,MAAA;AAAA,MAEX,IAAI,EAAE,UAAU,MAAA;AAAA,MAEhB,iCAACQ,GAAA,EAAM,WAAU,OAAM,YAAW,UAAS,KAAK,GAC7C,UAAA;AAAA,QAAAX,IACCL,gBAAAA,EAAAA,IAACiB,KAAiB,WAAWH,EAAA,CAAc,IAE3Cd,gBAAAA,EAAAA,IAACkB,GAAA,EAAiB,WAAWJ,EAAA,CAAc;AAAA,QAE7Cd,gBAAAA,MAACmB,KAAW,SAAQ,SAAQ,OAAOL,GAAc,IAAI,GAClD,UAAAP,GACH;AAAA,QACAP,gBAAAA,EAAAA;AAAAA,UAACoB;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,YAAY,OAAA;AAAA,YACrB,SAAS,MAAM;AACb,cAAAV,EAAS,EAAK,GACVJ,MAAY,UAAWA,EAAA;AAAA,YAC7B;AAAA,YAEA,UAAAN,gBAAAA,EAAAA,IAACqB,GAAA,EAAkB,WAAWP,EAAA,CAAc;AAAA,UAAA;AAAA,QAAA;AAAA,MAC9C,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN,GCzCMQ,IAAO,CAEX;AAAA,EACA,UAAAf;AAAA,EACA,SAAAgB;AACF,MAA+C;AAC7C,QAAM,EAAE,OAAAC,EAAA,IAAUC,EAAA;AAElB,MAAI,EAAE,QAAAC,GAAQ,eAAAC,EAAA,IAAkBH,KAAS,CAAA;AACzC,SAAAE,IAASA,KAAU,EAAE,GAAG,GAAG,GAAG,EAAA,GAC9BC,IAAgBA,KAAiB,CAAA,GAEjCf,EAAU,MAAM;AACd,WAAO,OAAOc,EAAO,GAAGA,EAAO,CAAC;AAAA,EAClC,GAAG,CAACA,EAAO,GAAGA,EAAO,CAAC,CAAC,GAGrB1B,gBAAAA,EAAAA,IAAAa,EAAAA,UAAA,EACG,UAAAe,EAAW,CAACC,MAA+B;AAO1C,QANI,OAAOtB,KAAa,eACtBA,IACKA,EAA8CsB,CAAQ,IAIzDF,EAAc,QAAQ;AACxB,YAAMG,IAAgBC,EAAS,QAAQxB,CAAQ;AAE/C,aAAAoB,EAAc,QAAQ,CAACK,GAAcC,MAAU;AAC7C,QAAKH,EAAc;AAAA,UACjBE,EAAa,SAASC;AAAA,UACtB;AAAA,UACAjC,gBAAAA,EAAAA,IAACG,GAAA,EAAc,GAAG6B,EAAa,MAAA,CAAO;AAAA,QAAA;AAAA,MAE1C,CAAC,GAEMF;AAAA,IACT;AAEA,WAAOvB;AAAA,EACT,GAAGgB,CAAO,GACZ;AAEJ,GCjDMW,IAAS,CAGb;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,SAAAhC,IAAU;AACZ,MAA+C;AAE7C,QAAMM,IAAeC,EAAQP,CAAO,EAAE;AAEtC,SACER,gBAAAA,EAAAA;AAAAA,IAACH;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,QACR,SAAS;AAAA,UACP,SAAS4C,EAAQ,GAAG;AAAA,UACpB,WAAWC,EAAU,GAAG;AAAA,UACxB,UAAUC,EAAS,GAAG;AAAA,QAAA,EACtBnC,CAAO;AAAA,MAAA;AAAA,MAEX,IAAI,EAAE,UAAU,EAAA;AAAA,MAEhB,UAAAoC,gBAAAA,EAAAA;AAAAA,QAAC5B;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,YAAW;AAAA,UACX,gBAAgBqB;AAAA,UAChB,KAAK;AAAA,UAEL,UAAA;AAAA,YAAAO,gBAAAA,EAAAA;AAAAA,cAAC5B;AAAA,cAAA;AAAA,gBACC,IAAI;AAAA,kBACF,IAAI;AAAA,kBACJ,IAAIsB,MAAe,SAAY,IAAI;AAAA,gBAAA;AAAA,gBAErC,WAAAD;AAAA,gBAEA,UAAA;AAAA,kBAAArC,gBAAAA,EAAAA;AAAAA,oBAACmB;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,OAAOL;AAAA,sBACP,IAAIsB,MAAc,SAAY,SAAY;AAAA,sBAEzC,UAAAD;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAEFC,MAAc,UACbpC,gBAAAA,EAAAA;AAAAA,oBAACmB;AAAA,oBAAA;AAAA,sBACC,OAAOL;AAAA,sBACP,SAAQ;AAAA,sBACR,IAAIyB,MAAiB,SAAY,SAAY;AAAA,sBAE5C,UAAAH;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAGLQ,gBAAAA,EAAAA,KAAC5B,GAAA,EAAM,WAAU,OAAM,KAAK,GACzB,UAAA;AAAA,oBAAAuB,MAAiB,UAAavC,gBAAAA,EAAAA,IAAC6C,GAAA,EAAY,GAAGN,EAAA,CAAc;AAAA,oBAC5DC,MAAiB,UAAaxC,gBAAAA,EAAAA,IAAC6C,GAAA,EAAY,GAAGL,EAAA,CAAc;AAAA,kBAAA,EAAA,CAC/D;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAEDF,MAAe,UACdtC,gBAAAA,EAAAA;AAAAA,cAAC8C;AAAA,cAAA;AAAA,gBACE,GAAGR;AAAA,gBACJ,SAAS,EAAE,IAAI,QAAQ,IAAI,QAAA;AAAA,gBAC3B,UAAS;AAAA,gBACT,YAAW;AAAA,cAAA;AAAA,YAAA;AAAA,UACb;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN,GC9DMS,IAA0B,CAAC,EAAE,QAAAZ,GAAQ,MAAAa,GAAM,cAAAC,GAAc,OAAAC,IAAQ,QAAQ;AAC7E,QAAMC,IAASC,EAAA,GACTC,IAAWC,EAAA,GACX,CAACC,GAAQC,CAAS,IAAI7C;AAAA,IAC1BuC,IAAQ,IAAI,IAAIA,KAASF,EAAK,SAASA,EAAK,SAAS,IAAIE;AAAA,EAAA,GAGrDO,IAAST,EAAK,IAAI,CAAAU,MAAOA,EAAI,KAAK,GAClCnD,IAAWyC,EAAK,IAAI,CAAAU,MAAOA,EAAI,QAAQ,GACvCC,IAAQX,EAAK,IAAI,CAAAU,MAAOA,EAAI,IAAI;AAEtC,SAAA9C,EAAU,MAAM;AACd,IAAA4C,EAAUN,CAAK;AAAA,EACjB,GAAG,CAACA,CAAK,CAAC,GAEVtC,EAAU,MAAM;AACd,UAAM8C,IAAME;AAAA,MACVT;AAAA,MACAU,EAAU;AAAA,QACR,KAAKC,EAAA,EAAY,MAAMH,CAAK,EAAE,SAAA;AAAA,MAAS,CACxC;AAAA,IAAA,GACA;AAEH,IAAID,MAAQ,UACVF,EAAUG,EAAM,QAAQD,CAAG,CAAC;AAAA,EAEhC,GAAG,CAACP,GAAQQ,CAAK,CAAC,GAGhBf,gBAAAA,EAAAA,KAAA/B,YAAA,EACE,UAAA;AAAA,IAAAb,gBAAAA,EAAAA;AAAAA,MAACH;AAAA,MAAA;AAAA,QACC,UAAU,EAAE,SAAS4C,EAAQ,GAAG,EAAA;AAAA,QAChC,IAAI,EAAE,UAAU,QAAA;AAAA,QAChB,WAAU;AAAA,QAEV,UAAAzC,gBAAAA,EAAAA;AAAAA,UAACmB;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,OAAO,EAAE,OAAO,QAAA;AAAA,YAChB,IAAI;AAAA,YAEH,UAAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,IAEFnC,gBAAAA,EAAAA;AAAAA,MAACH;AAAA,MAAA;AAAA,QACC,UAAU,EAAE,SAAS4C,EAAQ,GAAG,EAAA;AAAA,QAChC,IAAI,EAAE,UAAU,MAAA;AAAA,QAChB,WAAU;AAAA,QAEV,UAAAzC,gBAAAA,EAAAA;AAAAA,UAAC+D;AAAA,UAAA;AAAA,YACC,OAAOR;AAAA,YACP,UAAU,CAACS,GAAGd,MAAkB;AAC9B,cAAKG;AAAA,gBACHY,EAAahB,GAAc;AAAA,kBACzB,KAAKU,EAAMT,CAAK;AAAA,gBAAA,CACjB;AAAA,cAAA;AAAA,YAEL;AAAA,YACA,uBAAuB,CAAC;AAAA,cACtB,UAAAgB;AAAA,cACA,SAAAC;AAAA,cACA,WAAAC;AAAA,YAAA,MAGEpE,gBAAAA,EAAAA,IAAAa,EAAAA,UAAA,EACG,gBAAa,MACZb,gBAAAA,EAAAA;AAAAA,cAACoB;AAAA,cAAA;AAAA,gBACC,SAAA+C;AAAA,gBACA,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,CAACC,MAAc,SAAS,gBAAgB,YAAY,GAClD;AAAA,kBACF,OAAO;AAAA,gBAAA;AAAA,gBAGR,UAAAA,MAAc,SACbpE,gBAAAA,EAAAA,IAAAa,EAAAA,UAAA,EACE,UAAAb,gBAAAA,EAAAA,IAACqE,GAAA,CAAA,CAAgB,GACnB,IAEArE,gBAAAA,EAAAA,IAAAa,YAAA,EACE,UAAAb,gBAAAA,MAACsE,GAAA,CAAA,CAAiB,EAAA,CACpB;AAAA,cAAA;AAAA,YAAA,GAIR;AAAA,YAIH,UAAAb,EAAO,IAAI,CAAAc,MACVvE,gBAAAA,EAAAA,IAACwE,KAAI,eAAa,IAAa,OAAAD,EAAA,GAAPA,CAAqB,CAC9C;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,IAEDhE,EAASgD,CAAM;AAAA,EAAA,GAClB;AAEJ;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("./jsx-runtime-CeSfJrVB.cjs"),i=require("@mui/material"),B=require("./Image-mgT45r_B.cjs"),l=require("react"),E=require("react-router"),m=require("@mui/icons-material"),u=require("./palette-BnIdHKDE.cjs"),C=require("./auth-C_aSIrwD.cjs"),y=require("./LinkButton-cfljqSBx.cjs"),v=require("yup"),_=require("./utils/schema.cjs.js"),j=({boxProps:s,...r})=>t.jsxRuntimeExports.jsx(i.Box,{...s,children:t.jsxRuntimeExports.jsx(i.Container,{...r})}),g=({open:s=!0,error:r=!1,onClose:p,children:e,bgcolor:n="secondary"})=>{const[c,a]=l.useState(s);if(l.useEffect(()=>{a(s)},[s]),!c)return t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{});const x=u.palette[n].contrastText;return t.jsxRuntimeExports.jsx(j,{boxProps:{bgcolor:{secondary:"#ffd23b",tertiary:"#08bafc"}[n]},sx:{paddingY:"5px"},children:t.jsxRuntimeExports.jsxs(i.Stack,{direction:"row",alignItems:"center",gap:2,children:[r?t.jsxRuntimeExports.jsx(m.ErrorOutline,{htmlColor:x}):t.jsxRuntimeExports.jsx(m.InfoOutlined,{htmlColor:x}),t.jsxRuntimeExports.jsx(i.Typography,{variant:"body2",color:x,mb:0,children:e}),t.jsxRuntimeExports.jsx(i.IconButton,{style:{marginLeft:"auto"},onClick:()=>{a(!1),p!==void 0&&p()},children:t.jsxRuntimeExports.jsx(m.CloseOutlined,{htmlColor:x})})]})})},b=({children:s,session:r})=>{const{state:p}=E.useLocation();let{scroll:e,notifications:n}=p||{};return e=e||{x:0,y:0},n=n||[],l.useEffect(()=>{window.scroll(e.x,e.y)},[e.x,e.y]),t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:C.useSession(c=>{if(typeof s=="function"&&(s=s(c)),n.length){const a=l.Children.toArray(s);return n.forEach((x,R)=>{a.splice(x.index??R,0,t.jsxRuntimeExports.jsx(g,{...x.props}))}),a}return s},r)})},S=({header:s,subheader:r,textAlign:p="start",imageProps:e,button1Props:n,button2Props:c,bgcolor:a="primary"})=>{const x=u.palette[a].contrastText;return t.jsxRuntimeExports.jsx(j,{boxProps:{bgcolor:{primary:u.primary[500],secondary:u.secondary[500],tertiary:u.tertiary[500]}[a]},sx:{paddingY:0},children:t.jsxRuntimeExports.jsxs(i.Stack,{direction:"row",alignItems:"center",justifyContent:p,gap:2,children:[t.jsxRuntimeExports.jsxs(i.Stack,{py:{xs:"80px",md:e!==void 0?0:"100px"},textAlign:p,children:[t.jsxRuntimeExports.jsx(i.Typography,{variant:"h2",color:x,mb:r!==void 0?void 0:0,children:s}),r!==void 0&&t.jsxRuntimeExports.jsx(i.Typography,{color:x,variant:"h4",mb:n!==void 0?void 0:0,children:r}),t.jsxRuntimeExports.jsxs(i.Stack,{direction:"row",gap:2,children:[n!==void 0&&t.jsxRuntimeExports.jsx(y.LinkButton,{...n}),c!==void 0&&t.jsxRuntimeExports.jsx(y.LinkButton,{...c})]})]}),e!==void 0&&t.jsxRuntimeExports.jsx(B.Image,{...e,display:{xs:"none",md:"block"},maxWidth:"320px",marginLeft:"auto"})]})})},T=({header:s,tabs:r,originalPath:p,value:e=0})=>{const n=E.useParams(),c=E.useNavigate(),[a,x]=l.useState(e<0?0:e>=r.length?r.length-1:e),R=r.map(o=>o.label),q=r.map(o=>o.children),d=r.map(o=>o.path);return l.useEffect(()=>{x(e)},[e]),l.useEffect(()=>{const o=_.tryValidateSync(n,v.object({tab:v.string().oneOf(d).required()}))?.tab;o!==void 0&&x(d.indexOf(o))},[n,d]),t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsx(j,{boxProps:{bgcolor:u.primary[500]},sx:{paddingY:"100px"},className:"flex-center",children:t.jsxRuntimeExports.jsx(i.Typography,{textAlign:"center",variant:"h2",style:{color:"white"},mb:0,children:s})}),t.jsxRuntimeExports.jsx(j,{boxProps:{bgcolor:u.primary[300]},sx:{paddingY:"6px"},className:"flex-center",children:t.jsxRuntimeExports.jsx(i.Tabs,{value:a,onChange:(o,h)=>{c(E.generatePath(p,{tab:d[h]}))},ScrollButtonComponent:({disabled:o,onClick:h,direction:f})=>t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:o===!1&&t.jsxRuntimeExports.jsx(i.IconButton,{onClick:h,style:{padding:0,[f==="left"?"marginRight":"marginLeft"]:"15px",color:"white"},children:f==="left"?t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:t.jsxRuntimeExports.jsx(m.ChevronLeft,{})}):t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:t.jsxRuntimeExports.jsx(m.ChevronRight,{})})})}),children:R.map(o=>t.jsxRuntimeExports.jsx(i.Tab,{disableRipple:!0,label:o},o))})}),q[a]]})},k=Object.freeze(Object.defineProperty({__proto__:null,Banner:S,Notification:g,Page:b,Section:j,TabBar:T},Symbol.toStringTag,{value:"Module"}));exports.Banner=S;exports.Notification=g;exports.Page=b;exports.Section=j;exports.TabBar=T;exports.index=k;
2
+ //# sourceMappingURL=index-DsVpb45W.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DsVpb45W.cjs","sources":["../src/components/page/Section.tsx","../src/components/page/Notification.tsx","../src/components/page/Page.tsx","../src/components/page/Banner.tsx","../src/components/page/TabBar.tsx"],"sourcesContent":["import {\n Box,\n type BoxProps,\n Container,\n type ContainerProps,\n} from \"@mui/material\"\nimport type { FC } from \"react\"\n\nexport interface SectionProps extends ContainerProps {\n boxProps?: Omit<BoxProps, \"children\">\n}\n\nconst Section: FC<SectionProps> = ({ boxProps, ...containerProps }) => {\n return (\n <Box {...boxProps}>\n <Container {...containerProps} />\n </Box>\n )\n}\n\nexport default Section\n","import {\n CloseOutlined as CloseOutlinedIcon,\n ErrorOutline as ErrorOutlineIcon,\n InfoOutlined as InfoOutlinedIcon,\n} from \"@mui/icons-material\"\nimport { type FC, type ReactNode, useEffect, useState } from \"react\"\nimport { IconButton, Stack, Typography } from \"@mui/material\"\n\nimport Section from \"./Section\"\nimport palette from \"../../theme/palette\"\n\nexport interface NotificationProps {\n open?: boolean\n error?: boolean\n onClose?: () => void\n children: ReactNode\n bgcolor?: \"secondary\" | \"tertiary\"\n}\n\nconst Notification: FC<NotificationProps> = ({\n open = true,\n error = false,\n onClose,\n children,\n bgcolor = \"secondary\",\n}) => {\n const [_open, _setOpen] = useState(open)\n\n useEffect(() => {\n _setOpen(open)\n }, [open])\n\n if (!_open) return <></>\n\n // @ts-expect-error guaranteed to be in palette\n const contrastText = palette[bgcolor].contrastText as string\n\n return (\n <Section\n boxProps={{\n bgcolor: {\n secondary: \"#ffd23b\",\n tertiary: \"#08bafc\",\n }[bgcolor],\n }}\n sx={{ paddingY: \"5px\" }}\n >\n <Stack direction=\"row\" alignItems=\"center\" gap={2}>\n {error ? (\n <ErrorOutlineIcon htmlColor={contrastText} />\n ) : (\n <InfoOutlinedIcon htmlColor={contrastText} />\n )}\n <Typography variant=\"body2\" color={contrastText} mb={0}>\n {children}\n </Typography>\n <IconButton\n style={{ marginLeft: \"auto\" }}\n onClick={() => {\n _setOpen(false)\n if (onClose !== undefined) onClose()\n }}\n >\n <CloseOutlinedIcon htmlColor={contrastText} />\n </IconButton>\n </Stack>\n </Section>\n )\n}\n\nexport default Notification\n","import { Children, type JSX, useEffect } from \"react\"\nimport { type Location, useLocation } from \"react-router\"\n\nimport Notification, { type NotificationProps } from \"./Notification\"\nimport {\n type SessionMetadata,\n type UseSessionChildren,\n type UseSessionChildrenFunction,\n type UseSessionOptions,\n useSession,\n} from \"../../hooks/auth\"\n\nexport type PageState = {\n notifications: Array<{\n index?: number\n props: NotificationProps\n }>\n scroll: { x: number; y: number }\n}\n\nexport interface PageProps<\n SessionUserType extends SessionMetadata[\"user_type\"] | undefined,\n> {\n children: UseSessionChildren<SessionUserType>\n session?: UseSessionOptions<SessionUserType>\n}\n\nconst Page = <\n SessionUserType extends SessionMetadata[\"user_type\"] | undefined = undefined,\n>({\n children,\n session,\n}: PageProps<SessionUserType>): JSX.Element => {\n const { state } = useLocation() as Location<null | Partial<PageState>>\n\n let { scroll, notifications } = state || {}\n scroll = scroll || { x: 0, y: 0 }\n notifications = notifications || []\n\n useEffect(() => {\n window.scroll(scroll.x, scroll.y)\n }, [scroll.x, scroll.y])\n\n return (\n <>\n {useSession((metadata?: SessionMetadata) => {\n if (typeof children === \"function\") {\n children = metadata\n ? (children as UseSessionChildrenFunction<true>)(metadata)\n : (children as UseSessionChildrenFunction<false>)(metadata)\n }\n\n if (notifications.length) {\n const childrenArray = Children.toArray(children)\n\n notifications.forEach((notification, index) => {\n void childrenArray.splice(\n notification.index ?? index,\n 0,\n <Notification {...notification.props} />,\n )\n })\n\n return childrenArray\n }\n\n return children\n }, session)}\n </>\n )\n}\n\nexport default Page\n","import { Stack, Typography } from \"@mui/material\"\n\nimport Image, { type ImageProps } from \"../Image\"\nimport { LinkButton, type LinkButtonProps } from \"../router\"\nimport { primary, secondary, tertiary } from \"../../theme/colors\"\nimport Section from \"./Section\"\nimport palette from \"../../theme/palette\"\n\nexport interface BannerProps<\n Button1State extends Record<string, any> = Record<string, any>,\n Button2State extends Record<string, any> = Record<string, any>,\n> {\n header: string\n subheader?: string\n textAlign?: \"start\" | \"center\"\n imageProps?: ImageProps\n button1Props?: LinkButtonProps<\"to\", Button1State>\n button2Props?: LinkButtonProps<\"to\", Button2State>\n bgcolor?: \"primary\" | \"secondary\" | \"tertiary\"\n}\n\nconst Banner = <\n Button1State extends Record<string, any> = Record<string, any>,\n Button2State extends Record<string, any> = Record<string, any>,\n>({\n header,\n subheader,\n textAlign = \"start\",\n imageProps,\n button1Props,\n button2Props,\n bgcolor = \"primary\",\n}: BannerProps<Button1State, Button2State>) => {\n // @ts-expect-error guaranteed to be in palette\n const contrastText = palette[bgcolor].contrastText as string\n\n return (\n <Section\n boxProps={{\n bgcolor: {\n primary: primary[500],\n secondary: secondary[500],\n tertiary: tertiary[500],\n }[bgcolor],\n }}\n sx={{ paddingY: 0 }}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={textAlign}\n gap={2}\n >\n <Stack\n py={{\n xs: \"80px\",\n md: imageProps !== undefined ? 0 : \"100px\",\n }}\n textAlign={textAlign}\n >\n <Typography\n variant=\"h2\"\n color={contrastText}\n mb={subheader !== undefined ? undefined : 0}\n >\n {header}\n </Typography>\n {subheader !== undefined && (\n <Typography\n color={contrastText}\n variant=\"h4\"\n mb={button1Props !== undefined ? undefined : 0}\n >\n {subheader}\n </Typography>\n )}\n <Stack direction=\"row\" gap={2}>\n {button1Props !== undefined && <LinkButton {...button1Props} />}\n {button2Props !== undefined && <LinkButton {...button2Props} />}\n </Stack>\n </Stack>\n {imageProps !== undefined && (\n <Image\n {...imageProps}\n display={{ xs: \"none\", md: \"block\" }}\n maxWidth=\"320px\"\n marginLeft=\"auto\"\n />\n )}\n </Stack>\n </Section>\n )\n}\n\nexport default Banner\n","import {\n ChevronLeft as ChevronLeftIcon,\n ChevronRight as ChevronRightIcon,\n} from \"@mui/icons-material\"\nimport { type FC, type ReactNode, useEffect, useState } from \"react\"\nimport {\n IconButton,\n Tab,\n type TabScrollButtonProps,\n Tabs,\n Typography,\n} from \"@mui/material\"\nimport { object as YupObject, string as YupString } from \"yup\"\nimport { generatePath, useNavigate, useParams } from \"react-router\"\n\nimport Section from \"./Section\"\nimport { primary } from \"../../theme/colors\"\nimport { tryValidateSync } from \"../../utils/schema\"\n\nexport interface TabBarProps {\n header: string\n tabs: Array<{\n label: string\n children: ReactNode\n path: string\n }>\n originalPath: string\n value?: number\n}\n\nconst TabBar: FC<TabBarProps> = ({ header, tabs, originalPath, value = 0 }) => {\n const params = useParams()\n const navigate = useNavigate()\n const [_value, _setValue] = useState(\n value < 0 ? 0 : value >= tabs.length ? tabs.length - 1 : value,\n )\n\n const labels = tabs.map(tab => tab.label)\n const children = tabs.map(tab => tab.children)\n const paths = tabs.map(tab => tab.path)\n\n useEffect(() => {\n _setValue(value)\n }, [value])\n\n useEffect(() => {\n const tab = tryValidateSync(\n params,\n YupObject({\n tab: YupString().oneOf(paths).required(),\n }),\n )?.tab\n\n if (tab !== undefined) {\n _setValue(paths.indexOf(tab))\n }\n }, [params, paths])\n\n return (\n <>\n <Section\n boxProps={{ bgcolor: primary[500] }}\n sx={{ paddingY: \"100px\" }}\n className=\"flex-center\"\n >\n <Typography\n textAlign=\"center\"\n variant=\"h2\"\n style={{ color: \"white\" }}\n mb={0}\n >\n {header}\n </Typography>\n </Section>\n <Section\n boxProps={{ bgcolor: primary[300] }}\n sx={{ paddingY: \"6px\" }}\n className=\"flex-center\"\n >\n <Tabs\n value={_value}\n onChange={(_, value: number) => {\n void navigate(\n generatePath(originalPath, {\n tab: paths[value],\n }),\n )\n }}\n ScrollButtonComponent={({\n disabled,\n onClick,\n direction,\n }: TabScrollButtonProps) => {\n return (\n <>\n {disabled === false && (\n <IconButton\n onClick={onClick}\n style={{\n padding: 0,\n [direction === \"left\" ? \"marginRight\" : \"marginLeft\"]:\n \"15px\",\n color: \"white\",\n }}\n >\n {direction === \"left\" ? (\n <>\n <ChevronLeftIcon />\n </>\n ) : (\n <>\n <ChevronRightIcon />\n </>\n )}\n </IconButton>\n )}\n </>\n )\n }}\n >\n {labels.map(label => (\n <Tab disableRipple key={label} label={label} />\n ))}\n </Tabs>\n </Section>\n {children[_value]}\n </>\n )\n}\n\nexport default TabBar\n"],"names":["Section","boxProps","containerProps","jsx","Box","Container","Notification","open","error","onClose","children","bgcolor","_open","_setOpen","useState","useEffect","Fragment","contrastText","palette","Stack","ErrorOutlineIcon","InfoOutlinedIcon","Typography","IconButton","CloseOutlinedIcon","Page","session","state","useLocation","scroll","notifications","useSession","metadata","childrenArray","Children","notification","index","Banner","header","subheader","textAlign","imageProps","button1Props","button2Props","primary","secondary","tertiary","jsxs","LinkButton","Image","TabBar","tabs","originalPath","value","params","useParams","navigate","useNavigate","_value","_setValue","labels","tab","paths","tryValidateSync","YupObject","YupString","Tabs","_","generatePath","disabled","onClick","direction","ChevronLeftIcon","ChevronRightIcon","label","Tab"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { j as l } from "./jsx-runtime-Dpn_P65e.js";
1
+ import { j as l } from "./jsx-runtime-XvoU0p7t.js";
2
2
  import { CircularProgress as zt, Button as Dt, Autocomplete as At, TextField as ft, FormControl as Et, FormControlLabel as Bt, Checkbox as _t, FormHelperText as wt, InputAdornment as mt, IconButton as $t } from "@mui/material";
3
3
  import { useState as U, useEffect as I, forwardRef as Ut, Children as It, useRef as Vt } from "react";
4
- import { S as Ht } from "./api-Cbyt3rw0.js";
4
+ import { S as Ht } from "./api-CYqNqtN9.js";
5
5
  import { u as Nt } from "./api-Cs4Y-WeI.js";
6
6
  import { Field as $, Formik as Wt, Form as qt } from "formik";
7
7
  import { string as V, number as Rt, bool as Gt, date as Zt, array as Xt } from "yup";
@@ -14,8 +14,8 @@ import { EmailOutlined as ne, PersonOutlined as ie, Visibility as oe, Visibility
14
14
  import "./settings/index.es.js";
15
15
  import "./session-oI-Ht2C8.js";
16
16
  import "js-cookie";
17
- import { u as ue } from "./schemas-DlOtf2vf.js";
18
- import "./urls-DtHr1d3H.js";
17
+ import { u as ue } from "./schemas-CDXuSjyI.js";
18
+ import "./urls-BY-za1bX.js";
19
19
  function N(n) {
20
20
  return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
21
21
  }
@@ -1108,4 +1108,4 @@ export {
1108
1108
  Ve as c,
1109
1109
  fr as i
1110
1110
  };
1111
- //# sourceMappingURL=index-Dqp7dpn3.js.map
1111
+ //# sourceMappingURL=index-DuVBQMst.js.map