@semiont/cli 0.4.13 → 0.4.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +15491 -4983
- package/dist/dashboard/dashboard.css +1 -1
- package/dist/dashboard/dashboard.css.map +2 -2
- package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-CMDe963r.js → ArrowsRightLeftIcon-BzLgl5o9.js} +2 -2
- package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-CMDe963r.js.map → ArrowsRightLeftIcon-BzLgl5o9.js.map} +1 -1
- package/dist/frontend/dist/assets/{ChevronLeftIcon-CMXd_XZQ.js → ChevronLeftIcon-BLyRNZuL.js} +2 -2
- package/dist/frontend/dist/assets/{ChevronLeftIcon-CMXd_XZQ.js.map → ChevronLeftIcon-BLyRNZuL.js.map} +1 -1
- package/dist/frontend/dist/assets/{CommandLineIcon-BBerq9Nd.js → CommandLineIcon-Ba4gpk8e.js} +2 -2
- package/dist/frontend/dist/assets/{CommandLineIcon-BBerq9Nd.js.map → CommandLineIcon-Ba4gpk8e.js.map} +1 -1
- package/dist/frontend/dist/assets/CookiePreferences-CO_BNHwm.js +2 -0
- package/dist/frontend/dist/assets/CookiePreferences-CO_BNHwm.js.map +1 -0
- package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CHDCGQBR-BLaEAPe0.js +2 -0
- package/dist/frontend/dist/assets/{PdfAnnotationCanvas.client-CW6SKH2U-Ct60nVWs.js.map → PdfAnnotationCanvas.client-CHDCGQBR-BLaEAPe0.js.map} +1 -1
- package/dist/frontend/dist/assets/StreamStatusContext-BNiTXRfJ.js +2 -0
- package/dist/frontend/dist/assets/{StreamStatusContext-BuPATpTz.js.map → StreamStatusContext-BNiTXRfJ.js.map} +1 -1
- package/dist/frontend/dist/assets/ToolbarPanels-DRHyLUHl.js +2 -0
- package/dist/frontend/dist/assets/ToolbarPanels-DRHyLUHl.js.map +1 -0
- package/dist/frontend/dist/assets/XMarkIcon-KMKD47CF.js +2 -0
- package/dist/frontend/dist/assets/XMarkIcon-KMKD47CF.js.map +1 -0
- package/dist/frontend/dist/assets/{browser-ponyfill-DkbQZCyF.js → browser-ponyfill-D2ngVqWO.js} +2 -2
- package/dist/frontend/dist/assets/{browser-ponyfill-DkbQZCyF.js.map → browser-ponyfill-D2ngVqWO.js.map} +1 -1
- package/dist/frontend/dist/assets/client-RpFyflU_.js +2 -0
- package/dist/frontend/dist/assets/{client-B-4-Nmfd.js.map → client-RpFyflU_.js.map} +1 -1
- package/dist/frontend/dist/assets/client-bqO7W1Xj.js +2 -0
- package/dist/frontend/dist/assets/{client-CTdkaDl6.js.map → client-bqO7W1Xj.js.map} +1 -1
- package/dist/frontend/dist/assets/client-ekxuarKC.js +2 -0
- package/dist/frontend/dist/assets/{client-rUyzJlA6.js.map → client-ekxuarKC.js.map} +1 -1
- package/dist/frontend/dist/assets/client-xJTgSko3.js +2 -0
- package/dist/frontend/dist/assets/{client-DvSa4CTk.js.map → client-xJTgSko3.js.map} +1 -1
- package/dist/frontend/dist/assets/{i18n-BYxb14hm.js → i18n-BbpF47i1.js} +2 -2
- package/dist/frontend/dist/assets/{i18n-BYxb14hm.js.map → i18n-BbpF47i1.js.map} +1 -1
- package/dist/frontend/dist/assets/{index-CwQxZp6g.css → index-BUe9tsov.css} +1 -1
- package/dist/frontend/dist/assets/index-XWcEpo5a.js +159 -0
- package/dist/frontend/dist/assets/index-XWcEpo5a.js.map +1 -0
- package/dist/frontend/dist/assets/layout-BFanPfv_.js +2 -0
- package/dist/frontend/dist/assets/layout-BFanPfv_.js.map +1 -0
- package/dist/frontend/dist/assets/layout-BN0UEIdX.js +2 -0
- package/dist/frontend/dist/assets/layout-BN0UEIdX.js.map +1 -0
- package/dist/frontend/dist/assets/layout-ChyKFPPP.js +2 -0
- package/dist/frontend/dist/assets/layout-ChyKFPPP.js.map +1 -0
- package/dist/frontend/dist/assets/layout-DmjP6diV.js +2 -0
- package/dist/frontend/dist/assets/layout-DmjP6diV.js.map +1 -0
- package/dist/frontend/dist/assets/{not-found-DE1pkuFl.js → not-found-BboGygIW.js} +2 -2
- package/dist/frontend/dist/assets/{not-found-DE1pkuFl.js.map → not-found-BboGygIW.js.map} +1 -1
- package/dist/frontend/dist/assets/page-8F47gNEm.js +2 -0
- package/dist/frontend/dist/assets/page-8F47gNEm.js.map +1 -0
- package/dist/frontend/dist/assets/page-8x98ZAYe.js +2 -0
- package/dist/frontend/dist/assets/page-8x98ZAYe.js.map +1 -0
- package/dist/frontend/dist/assets/page-BaqIbrus.js +2 -0
- package/dist/frontend/dist/assets/{page-C_L33_wR.js.map → page-BaqIbrus.js.map} +1 -1
- package/dist/frontend/dist/assets/page-BfhPRgzq.js +2 -0
- package/dist/frontend/dist/assets/page-BfhPRgzq.js.map +1 -0
- package/dist/frontend/dist/assets/{page-B-TRTXbV.js → page-Bht4dePL.js} +2 -2
- package/dist/frontend/dist/assets/{page-B-TRTXbV.js.map → page-Bht4dePL.js.map} +1 -1
- package/dist/frontend/dist/assets/page-BtqPeWyh.js +2 -0
- package/dist/frontend/dist/assets/page-BtqPeWyh.js.map +1 -0
- package/dist/frontend/dist/assets/{page-CUbbBytS.js → page-CG7C0ib3.js} +2 -2
- package/dist/frontend/dist/assets/{page-CUbbBytS.js.map → page-CG7C0ib3.js.map} +1 -1
- package/dist/frontend/dist/assets/page-CJnfSnRg.js +2 -0
- package/dist/frontend/dist/assets/page-CJnfSnRg.js.map +1 -0
- package/dist/frontend/dist/assets/page-Cct5hwIU.js +8 -0
- package/dist/frontend/dist/assets/{page-CaVtCo4z.js.map → page-Cct5hwIU.js.map} +1 -1
- package/dist/frontend/dist/assets/page-CnJVZMgv.js +2 -0
- package/dist/frontend/dist/assets/page-CnJVZMgv.js.map +1 -0
- package/dist/frontend/dist/assets/page-CpbZG7nR.js +2 -0
- package/dist/frontend/dist/assets/{page-BfUI7FZJ.js.map → page-CpbZG7nR.js.map} +1 -1
- package/dist/frontend/dist/assets/{page-DXACCazr.js → page-CzvERJKF.js} +2 -2
- package/dist/frontend/dist/assets/{page-DXACCazr.js.map → page-CzvERJKF.js.map} +1 -1
- package/dist/frontend/dist/assets/page-DB8grXzl.js +2 -0
- package/dist/frontend/dist/assets/{page-CGDUl5-d.js.map → page-DB8grXzl.js.map} +1 -1
- package/dist/frontend/dist/assets/page-DI1MUp4X.js +2 -0
- package/dist/frontend/dist/assets/{page-CHq5JMOn.js.map → page-DI1MUp4X.js.map} +1 -1
- package/dist/frontend/dist/assets/page-Dhi8hP-S.js +2 -0
- package/dist/frontend/dist/assets/{page-qhHVLOTR.js.map → page-Dhi8hP-S.js.map} +1 -1
- package/dist/frontend/dist/assets/page-FovvpNWp.js +2 -0
- package/dist/frontend/dist/assets/{page-DiKTriTX.js.map → page-FovvpNWp.js.map} +1 -1
- package/dist/frontend/dist/assets/page-T424mvNp.js +2 -0
- package/dist/frontend/dist/assets/{page-C02dLWb8.js.map → page-T424mvNp.js.map} +1 -1
- package/dist/frontend/dist/assets/{page-D5i-uRGy.js → page-knhbwxzQ.js} +2 -2
- package/dist/frontend/dist/assets/{page-D5i-uRGy.js.map → page-knhbwxzQ.js.map} +1 -1
- package/dist/frontend/dist/assets/privacy-B5TeXaed.js +2 -0
- package/dist/frontend/dist/assets/{privacy-BMKdYFGC.js.map → privacy-B5TeXaed.js.map} +1 -1
- package/dist/frontend/dist/assets/{query-ATBhtd3K.js → query-B6BuIB0M.js} +3 -3
- package/dist/frontend/dist/assets/{query-ATBhtd3K.js.map → query-B6BuIB0M.js.map} +1 -1
- package/dist/frontend/dist/assets/routing-By_4TZHr.js +2 -0
- package/dist/frontend/dist/assets/{routing-BPQO9e8a.js.map → routing-By_4TZHr.js.map} +1 -1
- package/dist/frontend/dist/assets/{routing-BBQqTcTn.js → routing-vcvYfuPO.js} +2 -2
- package/dist/frontend/dist/assets/{routing-BBQqTcTn.js.map → routing-vcvYfuPO.js.map} +1 -1
- package/dist/frontend/dist/assets/{vendor-EnoIVk-c.js → vendor-DJo4KD8w.js} +2 -2
- package/dist/frontend/dist/assets/{vendor-EnoIVk-c.js.map → vendor-DJo4KD8w.js.map} +1 -1
- package/dist/frontend/dist/index.html +5 -5
- package/dist/frontend/dist/messages/ar.json +28 -6
- package/dist/frontend/dist/messages/bn.json +28 -6
- package/dist/frontend/dist/messages/cs.json +28 -6
- package/dist/frontend/dist/messages/da.json +28 -6
- package/dist/frontend/dist/messages/de.json +28 -6
- package/dist/frontend/dist/messages/el.json +28 -6
- package/dist/frontend/dist/messages/en.json +28 -6
- package/dist/frontend/dist/messages/es.json +28 -6
- package/dist/frontend/dist/messages/fa.json +28 -6
- package/dist/frontend/dist/messages/fi.json +28 -6
- package/dist/frontend/dist/messages/fr.json +28 -6
- package/dist/frontend/dist/messages/he.json +28 -6
- package/dist/frontend/dist/messages/hi.json +28 -6
- package/dist/frontend/dist/messages/id.json +28 -6
- package/dist/frontend/dist/messages/it.json +28 -6
- package/dist/frontend/dist/messages/ja.json +28 -6
- package/dist/frontend/dist/messages/ko.json +28 -6
- package/dist/frontend/dist/messages/ms.json +28 -6
- package/dist/frontend/dist/messages/nl.json +28 -6
- package/dist/frontend/dist/messages/no.json +28 -6
- package/dist/frontend/dist/messages/pl.json +28 -6
- package/dist/frontend/dist/messages/pt.json +28 -6
- package/dist/frontend/dist/messages/ro.json +28 -6
- package/dist/frontend/dist/messages/sv.json +28 -6
- package/dist/frontend/dist/messages/th.json +28 -6
- package/dist/frontend/dist/messages/tr.json +28 -6
- package/dist/frontend/dist/messages/uk.json +28 -6
- package/dist/frontend/dist/messages/vi.json +28 -6
- package/dist/frontend/dist/messages/zh.json +28 -6
- package/dist/frontend/package.json +1 -1
- package/package.json +9 -9
- package/dist/frontend/dist/assets/AuthContext-CqopYuY9.js +0 -2
- package/dist/frontend/dist/assets/AuthContext-CqopYuY9.js.map +0 -1
- package/dist/frontend/dist/assets/CookiePreferences-DIUP_g1S.js +0 -2
- package/dist/frontend/dist/assets/CookiePreferences-DIUP_g1S.js.map +0 -1
- package/dist/frontend/dist/assets/KnowledgeBaseContext-CgnF8K-_.js +0 -2
- package/dist/frontend/dist/assets/KnowledgeBaseContext-CgnF8K-_.js.map +0 -1
- package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CW6SKH2U-Ct60nVWs.js +0 -2
- package/dist/frontend/dist/assets/PlusIcon-qGFPUzg0.js +0 -2
- package/dist/frontend/dist/assets/PlusIcon-qGFPUzg0.js.map +0 -1
- package/dist/frontend/dist/assets/StreamStatusContext-BuPATpTz.js +0 -2
- package/dist/frontend/dist/assets/ToolbarPanels-CtBfzYcP.js +0 -2
- package/dist/frontend/dist/assets/ToolbarPanels-CtBfzYcP.js.map +0 -1
- package/dist/frontend/dist/assets/client-B-4-Nmfd.js +0 -2
- package/dist/frontend/dist/assets/client-CTdkaDl6.js +0 -2
- package/dist/frontend/dist/assets/client-DvSa4CTk.js +0 -2
- package/dist/frontend/dist/assets/client-rUyzJlA6.js +0 -2
- package/dist/frontend/dist/assets/en-IUV4ZXKH-b_r0oyRV.js +0 -135
- package/dist/frontend/dist/assets/en-IUV4ZXKH-b_r0oyRV.js.map +0 -1
- package/dist/frontend/dist/assets/index-dFCLrpeL.js +0 -27
- package/dist/frontend/dist/assets/index-dFCLrpeL.js.map +0 -1
- package/dist/frontend/dist/assets/layout-BwurEG3I.js +0 -2
- package/dist/frontend/dist/assets/layout-BwurEG3I.js.map +0 -1
- package/dist/frontend/dist/assets/layout-CCNyNXfP.js +0 -2
- package/dist/frontend/dist/assets/layout-CCNyNXfP.js.map +0 -1
- package/dist/frontend/dist/assets/layout-CHfFscVU.js +0 -2
- package/dist/frontend/dist/assets/layout-CHfFscVU.js.map +0 -1
- package/dist/frontend/dist/assets/layout-CL9MSbhu.js +0 -6
- package/dist/frontend/dist/assets/layout-CL9MSbhu.js.map +0 -1
- package/dist/frontend/dist/assets/page-B3h2_PT5.js +0 -2
- package/dist/frontend/dist/assets/page-B3h2_PT5.js.map +0 -1
- package/dist/frontend/dist/assets/page-BfUI7FZJ.js +0 -2
- package/dist/frontend/dist/assets/page-C-os3U8h.js +0 -2
- package/dist/frontend/dist/assets/page-C-os3U8h.js.map +0 -1
- package/dist/frontend/dist/assets/page-C02dLWb8.js +0 -2
- package/dist/frontend/dist/assets/page-CGDUl5-d.js +0 -2
- package/dist/frontend/dist/assets/page-CHq5JMOn.js +0 -2
- package/dist/frontend/dist/assets/page-C_L33_wR.js +0 -2
- package/dist/frontend/dist/assets/page-CaVtCo4z.js +0 -8
- package/dist/frontend/dist/assets/page-CjTcoHSS.js +0 -2
- package/dist/frontend/dist/assets/page-CjTcoHSS.js.map +0 -1
- package/dist/frontend/dist/assets/page-CtRMzwE_.js +0 -2
- package/dist/frontend/dist/assets/page-CtRMzwE_.js.map +0 -1
- package/dist/frontend/dist/assets/page-Cu2tT5mi.js +0 -2
- package/dist/frontend/dist/assets/page-Cu2tT5mi.js.map +0 -1
- package/dist/frontend/dist/assets/page-DiKTriTX.js +0 -2
- package/dist/frontend/dist/assets/page-eJup0RrB.js +0 -2
- package/dist/frontend/dist/assets/page-eJup0RrB.js.map +0 -1
- package/dist/frontend/dist/assets/page-qhHVLOTR.js +0 -2
- package/dist/frontend/dist/assets/privacy-BMKdYFGC.js +0 -2
- package/dist/frontend/dist/assets/routing-BPQO9e8a.js +0 -2
- package/dist/frontend/dist/assets/useAuth-B9hvtwrc.js +0 -2
- package/dist/frontend/dist/assets/useAuth-B9hvtwrc.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as m}from"./query-B6BuIB0M.js";import{b as f,a as c,R as g,L,c as p}from"./vendor-DJo4KD8w.js";import{G as o,H as h}from"./index-XWcEpo5a.js";import{u}from"./i18n-BbpF47i1.js";const k=g.forwardRef(function({to:a,...n},s){const{i18n:t}=u(),e=c(),l=t.language||e.locale||o,i=typeof a=="string"?`/${l}${a.startsWith("/")?a:`/${a}`}`:a;return m.jsx(L,{ref:s,to:i,...n})});function w(){const r=f(),{i18n:a}=u(),n=c();function s(t,e){return`/${e||a.language||n.locale||o}${t.startsWith("/")?t:`/${t}`}`}return{push(t,e){r(s(t,e==null?void 0:e.locale))},replace(t,e){r(s(t,e==null?void 0:e.locale),{replace:!0})},back(){r(-1)},forward(){r(1)},refresh(){window.location.reload()},prefetch(t){}}}function b(){const{pathname:r}=p(),a=r.match(/^\/[a-z]{2}(\/.*)?$/);return a?a[1]??"/":r}function j(){const r=c(),{i18n:a}=u(),n=r.locale;return n&&h(n)?n:a.language||o}export{k as L,j as a,b,w as u};
|
|
2
|
+
//# sourceMappingURL=routing-By_4TZHr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-
|
|
1
|
+
{"version":3,"file":"routing-By_4TZHr.js","sources":["../../src/i18n/routing.tsx"],"sourcesContent":["/**\n * Routing abstraction layer — React Router implementation\n *\n * All call sites import from @/i18n/routing and do not need to change\n * when the underlying router changes.\n *\n * Key behaviours:\n * - Link: locale-prefixed anchor rendered via react-router-dom\n * - useRouter: locale-aware push/replace/back\n * - usePathname: returns path WITHOUT locale prefix\n * - redirect: programmatic navigation without locale prefix\n */\n\nimport React from 'react';\nimport {\n Link as RouterLink,\n useNavigate,\n useLocation,\n useParams,\n Navigate,\n} from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { SUPPORTED_LOCALES, DEFAULT_LOCALE, isSupportedLocale } from './config';\n\nexport { SUPPORTED_LOCALES, DEFAULT_LOCALE };\n\n// ── Link ─────────────────────────────────────────────────────────────────────\n\ntype LinkProps = React.ComponentProps<typeof RouterLink>;\n\n/**\n * Locale-aware Link. Prepends the current locale to the href.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n function Link({ to, ...props }, ref) {\n const { i18n } = useTranslation();\n const params = useParams<{ locale?: string }>();\n const locale = i18n.language || params.locale || DEFAULT_LOCALE;\n const target = typeof to === 'string' ? `/${locale}${to.startsWith('/') ? to : `/${to}`}` : to;\n return <RouterLink ref={ref} to={target} {...props} />;\n },\n);\n\n// ── useRouter ─────────────────────────────────────────────────────────────────\n\ntype RouterOptions = { locale?: string };\n\nexport function useRouter() {\n const navigate = useNavigate();\n const { i18n } = useTranslation();\n const params = useParams<{ locale?: string }>();\n\n function prefixLocale(path: string, locale?: string): string {\n const lang = locale || i18n.language || params.locale || DEFAULT_LOCALE;\n return `/${lang}${path.startsWith('/') ? path : `/${path}`}`;\n }\n\n return {\n push(path: string, options?: RouterOptions) {\n navigate(prefixLocale(path, options?.locale));\n },\n replace(path: string, options?: RouterOptions) {\n navigate(prefixLocale(path, options?.locale), { replace: true });\n },\n back() {\n navigate(-1);\n },\n forward() {\n navigate(1);\n },\n refresh() {\n window.location.reload();\n },\n prefetch(_path: string) {\n // No-op: Vite/React Router handles prefetching differently\n },\n };\n}\n\n// ── usePathname ───────────────────────────────────────────────────────────────\n\n/**\n * Returns the path WITHOUT the locale prefix.\n * e.g. /en/know/discover → /know/discover\n */\nexport function usePathname(): string {\n const { pathname } = useLocation();\n // Strip leading /{locale}\n const match = pathname.match(/^\\/[a-z]{2}(\\/.*)?$/);\n if (match) {\n return match[1] ?? '/';\n }\n return pathname;\n}\n\n// ── redirect ─────────────────────────────────────────────────────────────────\n\n/**\n * Render a redirect component. Pass { href, locale } to redirect with locale,\n * or just a string href to redirect to an absolute path.\n */\nexport function redirect(target: string | { href: string; locale?: string }): React.ReactElement {\n const { i18n } = useTranslation();\n const locale = typeof target === 'string' ? (i18n.language || DEFAULT_LOCALE) : (target.locale || i18n.language || DEFAULT_LOCALE);\n const href = typeof target === 'string' ? target : target.href;\n const to = `/${locale}${href.startsWith('/') ? href : `/${href}`}`;\n return <Navigate to={to} replace />;\n}\n\n// ── useParams with locale ────────────────────────────────────────────────────\n\nexport function useLocale(): string {\n const params = useParams<{ locale?: string }>();\n const { i18n } = useTranslation();\n const localeFromParams = params.locale;\n if (localeFromParams && isSupportedLocale(localeFromParams)) {\n return localeFromParams;\n }\n return i18n.language || DEFAULT_LOCALE;\n}\n"],"names":["Link","React","to","props","ref","i18n","useTranslation","params","useParams","locale","DEFAULT_LOCALE","target","RouterLink","useRouter","navigate","useNavigate","prefixLocale","path","options","_path","usePathname","pathname","useLocation","match","useLocale","localeFromParams","isSupportedLocale"],"mappings":"yLAiCO,MAAMA,EAAOC,EAAM,WACxB,SAAc,CAAE,GAAAC,EAAI,GAAGC,CAAA,EAASC,EAAK,CACnC,KAAM,CAAE,KAAAC,CAAA,EAASC,EAAA,EACXC,EAASC,EAAA,EACTC,EAASJ,EAAK,UAAYE,EAAO,QAAUG,EAC3CC,EAAS,OAAOT,GAAO,SAAW,IAAIO,CAAM,GAAGP,EAAG,WAAW,GAAG,EAAIA,EAAK,IAAIA,CAAE,EAAE,GAAKA,EAC5F,aAAQU,EAAA,CAAW,IAAAR,EAAU,GAAIO,EAAS,GAAGR,EAAO,CACtD,CACF,EAMO,SAASU,GAAY,CAC1B,MAAMC,EAAWC,EAAA,EACX,CAAE,KAAAV,CAAA,EAASC,EAAA,EACXC,EAASC,EAAA,EAEf,SAASQ,EAAaC,EAAcR,EAAyB,CAE3D,MAAO,IADMA,GAAUJ,EAAK,UAAYE,EAAO,QAAUG,CAC1C,GAAGO,EAAK,WAAW,GAAG,EAAIA,EAAO,IAAIA,CAAI,EAAE,EAC5D,CAEA,MAAO,CACL,KAAKA,EAAcC,EAAyB,CAC1CJ,EAASE,EAAaC,EAAMC,GAAA,YAAAA,EAAS,MAAM,CAAC,CAC9C,EACA,QAAQD,EAAcC,EAAyB,CAC7CJ,EAASE,EAAaC,EAAMC,GAAA,YAAAA,EAAS,MAAM,EAAG,CAAE,QAAS,GAAM,CACjE,EACA,MAAO,CACLJ,EAAS,EAAE,CACb,EACA,SAAU,CACRA,EAAS,CAAC,CACZ,EACA,SAAU,CACR,OAAO,SAAS,OAAA,CAClB,EACA,SAASK,EAAe,CAExB,CAAA,CAEJ,CAQO,SAASC,GAAsB,CACpC,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAEfC,EAAQF,EAAS,MAAM,qBAAqB,EAClD,OAAIE,EACKA,EAAM,CAAC,GAAK,IAEdF,CACT,CAkBO,SAASG,GAAoB,CAClC,MAAMjB,EAASC,EAAA,EACT,CAAE,KAAAH,CAAA,EAASC,EAAA,EACXmB,EAAmBlB,EAAO,OAChC,OAAIkB,GAAoBC,EAAkBD,CAAgB,EACjDA,EAEFpB,EAAK,UAAYK,CAC1B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as s}from"./query-
|
|
2
|
-
//# sourceMappingURL=routing-
|
|
1
|
+
import{j as s}from"./query-B6BuIB0M.js";import{R as a}from"./vendor-DJo4KD8w.js";import{L as n}from"./routing-By_4TZHr.js";const i=a.forwardRef(function({href:e,...o},t){return s.jsx(n,{ref:t,to:e,...o})}),u=i,d={resourceDetail:r=>`/know/resource/${r}`,userProfile:r=>`/users/${r}`,search:r=>`/search?q=${encodeURIComponent(r)}`,home:()=>"/",about:()=>"/about",privacy:()=>"/privacy",terms:()=>"/terms",knowledge:()=>"/know",moderate:()=>"/moderate",admin:()=>"/admin"};export{u as L,d as r};
|
|
2
|
+
//# sourceMappingURL=routing-vcvYfuPO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-
|
|
1
|
+
{"version":3,"file":"routing-vcvYfuPO.js","sources":["../../src/lib/routing.tsx"],"sourcesContent":["/**\n * Routing configuration for Semiont frontend\n *\n * This module provides the concrete implementation of the RoutingContext\n * interface for the React Router-based frontend application.\n */\n\nimport React from 'react';\nimport { Link as NextLink } from '@/i18n/routing';\nimport type { RouteBuilder, LinkComponentProps } from '@semiont/react-ui';\nimport type { ComponentType } from 'react';\n\n/**\n * Adapter: react-ui components pass `href`, but React Router Link expects `to`.\n */\nconst LinkAdapter = React.forwardRef<HTMLAnchorElement, LinkComponentProps>(\n function LinkAdapter({ href, ...props }, ref) {\n return <NextLink ref={ref} to={href} {...props} />;\n }\n);\nexport const Link: ComponentType<LinkComponentProps> = LinkAdapter as any;\n\n/**\n * Route builder for Semiont frontend\n */\nexport const routes: RouteBuilder = {\n resourceDetail: (id: string) => `/know/resource/${id}`,\n userProfile: (id: string) => `/users/${id}`,\n search: (query: string) => `/search?q=${encodeURIComponent(query)}`,\n home: () => '/',\n about: () => '/about',\n privacy: () => '/privacy',\n terms: () => '/terms',\n knowledge: () => '/know',\n moderate: () => '/moderate',\n admin: () => '/admin',\n};\n"],"names":["LinkAdapter","React","href","props","ref","NextLink","Link","routes","id","query"],"mappings":"2HAeA,MAAMA,EAAcC,EAAM,WACxB,SAAqB,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASC,EAAK,CAC5C,aAAQC,EAAA,CAAS,IAAAD,EAAU,GAAIF,EAAO,GAAGC,EAAO,CAClD,CACF,EACaG,EAA0CN,EAK1CO,EAAuB,CAClC,eAAiBC,GAAe,kBAAkBA,CAAE,GACpD,YAAcA,GAAe,UAAUA,CAAE,GACzC,OAASC,GAAkB,aAAa,mBAAmBA,CAAK,CAAC,GACjE,KAAM,IAAM,IACZ,MAAO,IAAM,SACb,QAAS,IAAM,WACf,MAAO,IAAM,SACb,UAAW,IAAM,QACjB,SAAU,IAAM,YAChB,MAAO,IAAM,QACf"}
|
|
@@ -25,5 +25,5 @@ function lt(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&
|
|
|
25
25
|
* @license MIT
|
|
26
26
|
*/var Ae="popstate";function Ne(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function pt(e={}){function t(r,a){var o;let i=(o=a.state)==null?void 0:o.masked,{pathname:s,search:f,hash:l}=i||r.location;return ve("",{pathname:s,search:f,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default",i?{pathname:r.location.pathname,search:r.location.search,hash:r.location.hash}:void 0)}function n(r,a){return typeof a=="string"?a:te(a)}return yt(t,n,null,e)}function O(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function M(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function mt(){return Math.random().toString(36).substring(2,10)}function De(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function ve(e,t,n=null,r,a){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?K(t):t,state:n,key:t&&t.key||r||mt(),unstable_mask:a}}function te({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function K(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function yt(e,t,n,r={}){let{window:a=document.defaultView,v5Compat:i=!1}=r,s=a.history,f="POP",l=null,o=d();o==null&&(o=0,s.replaceState({...s.state,idx:o},""));function d(){return(s.state||{idx:null}).idx}function h(){f="POP";let g=d(),m=g==null?null:g-o;o=g,l&&l({action:f,location:v.location,delta:m})}function y(g,m){f="PUSH";let _=Ne(g)?g:ve(v.location,g,m);o=d()+1;let x=De(_,o),$=v.createHref(_.unstable_mask||_);try{s.pushState(x,"",$)}catch(k){if(k instanceof DOMException&&k.name==="DataCloneError")throw k;a.location.assign($)}i&&l&&l({action:f,location:v.location,delta:1})}function R(g,m){f="REPLACE";let _=Ne(g)?g:ve(v.location,g,m);o=d();let x=De(_,o),$=v.createHref(_.unstable_mask||_);s.replaceState(x,"",$),i&&l&&l({action:f,location:v.location,delta:0})}function C(g){return gt(g)}let v={get action(){return f},get location(){return e(a,s)},listen(g){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(Ae,h),l=g,()=>{a.removeEventListener(Ae,h),l=null}},createHref(g){return t(a,g)},createURL:C,encodeLocation(g){let m=C(g);return{pathname:m.pathname,search:m.search,hash:m.hash}},push:y,replace:R,go(g){return s.go(g)}};return v}function gt(e,t=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),O(n,"No window.location.(origin|href) available to create URL");let r=typeof e=="string"?e:te(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}function Be(e,t,n="/"){return vt(e,t,n,!1)}function vt(e,t,n,r){let a=typeof t=="string"?K(t):t,i=z(a.pathname||"/",n);if(i==null)return null;let s=je(e);Rt(s);let f=null;for(let l=0;f==null&&l<s.length;++l){let o=Ot(i);f=Tt(s[l],o,r)}return f}function je(e,t=[],n=[],r="",a=!1){let i=(s,f,l=a,o)=>{let d={relativePath:o===void 0?s.path||"":o,caseSensitive:s.caseSensitive===!0,childrenIndex:f,route:s};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(r)&&l)return;O(d.relativePath.startsWith(r),`Absolute route path "${d.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(r.length)}let h=B([r,d.relativePath]),y=n.concat(d);s.children&&s.children.length>0&&(O(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${h}".`),je(s.children,t,y,h,l)),!(s.path==null&&!s.index)&&t.push({path:h,score:bt(h,s.index),routesMeta:y})};return e.forEach((s,f)=>{var l;if(s.path===""||!((l=s.path)!=null&&l.includes("?")))i(s,f);else for(let o of We(s.path))i(s,f,!0,o)}),t}function We(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return a?[i,""]:[i];let s=We(r.join("/")),f=[];return f.push(...s.map(l=>l===""?i:[i,l].join("/"))),a&&f.push(...s),f.map(l=>e.startsWith("/")&&l===""?"/":l)}function Rt(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Pt(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var Et=/^:[\w-]+$/,wt=3,Ct=2,St=1,_t=10,xt=-2,Ie=e=>e==="*";function bt(e,t){let n=e.split("/"),r=n.length;return n.some(Ie)&&(r+=xt),t&&(r+=Ct),n.filter(a=>!Ie(a)).reduce((a,i)=>a+(Et.test(i)?wt:i===""?St:_t),r)}function Pt(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function Tt(e,t,n=!1){let{routesMeta:r}=e,a={},i="/",s=[];for(let f=0;f<r.length;++f){let l=r[f],o=f===r.length-1,d=i==="/"?t:t.slice(i.length)||"/",h=le({path:l.relativePath,caseSensitive:l.caseSensitive,end:o},d),y=l.route;if(!h&&o&&n&&!r[r.length-1].route.index&&(h=le({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},d)),!h)return null;Object.assign(a,h.params),s.push({params:a,pathname:B([i,h.pathname]),pathnameBase:Nt(B([i,h.pathnameBase])),route:y}),h.pathnameBase!=="/"&&(i=B([i,h.pathnameBase]))}return s}function le(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=Lt(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let i=a[0],s=i.replace(/(.)\/+$/,"$1"),f=a.slice(1);return{params:r.reduce((o,{paramName:d,isOptional:h},y)=>{if(d==="*"){let C=f[y]||"";s=i.slice(0,i.length-C.length).replace(/(.)\/+$/,"$1")}const R=f[y];return h&&!R?o[d]=void 0:o[d]=(R||"").replace(/%2F/g,"/"),o},{}),pathname:i,pathnameBase:s,pattern:e}}function Lt(e,t=!1,n=!0){M(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,f,l,o,d)=>{if(r.push({paramName:f,isOptional:l!=null}),l){let h=d.charAt(o+s.length);return h&&h!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function Ot(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return M(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function z(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}var kt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function $t(e,t="/"){let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?K(e):e,i;return n?(n=n.replace(/\/\/+/g,"/"),n.startsWith("/")?i=Me(n.substring(1),"/"):i=Me(n,t)):i=t,{pathname:i,search:Dt(r),hash:It(a)}}function Me(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function me(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function At(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function we(e){let t=At(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function se(e,t,n,r=!1){let a;typeof e=="string"?a=K(e):(a={...e},O(!a.pathname||!a.pathname.includes("?"),me("?","pathname","search",a)),O(!a.pathname||!a.pathname.includes("#"),me("#","pathname","hash",a)),O(!a.search||!a.search.includes("#"),me("#","search","hash",a)));let i=e===""||a.pathname==="",s=i?"/":a.pathname,f;if(s==null)f=n;else{let h=t.length-1;if(!r&&s.startsWith("..")){let y=s.split("/");for(;y[0]==="..";)y.shift(),h-=1;a.pathname=y.join("/")}f=h>=0?t[h]:"/"}let l=$t(a,f),o=s&&s!=="/"&&s.endsWith("/"),d=(i||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(o||d)&&(l.pathname+="/"),l}var B=e=>e.join("/").replace(/\/\/+/g,"/"),Nt=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Dt=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,It=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Mt=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Ut(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Ht(e){return e.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Ye=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ze(e,t){let n=e;if(typeof n!="string"||!kt.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,a=!1;if(Ye)try{let i=new URL(window.location.href),s=n.startsWith("//")?new URL(i.protocol+n):new URL(n),f=z(s.pathname,t);s.origin===i.origin&&f!=null?n=f+s.search+s.hash:a=!0}catch{M(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:a,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var qe=["POST","PUT","PATCH","DELETE"];new Set(qe);var Ft=["GET",...qe];new Set(Ft);var V=c.createContext(null);V.displayName="DataRouter";var ce=c.createContext(null);ce.displayName="DataRouterState";var Bt=c.createContext(!1),Ge=c.createContext({isTransitioning:!1});Ge.displayName="ViewTransition";var jt=c.createContext(new Map);jt.displayName="Fetchers";var Wt=c.createContext(null);Wt.displayName="Await";var I=c.createContext(null);I.displayName="Navigation";var re=c.createContext(null);re.displayName="Location";var U=c.createContext({outlet:null,matches:[],isDataRoute:!1});U.displayName="Route";var Ce=c.createContext(null);Ce.displayName="RouteError";var Ke="REACT_ROUTER_ERROR",Yt="REDIRECT",zt="ROUTE_ERROR_RESPONSE";function qt(e){if(e.startsWith(`${Ke}:${Yt}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function Gt(e){if(e.startsWith(`${Ke}:${zt}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Mt(t.status,t.statusText,t.data)}catch{}}function Kt(e,{relative:t}={}){O(J(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:r}=c.useContext(I),{hash:a,pathname:i,search:s}=ne(e,{relative:t}),f=i;return n!=="/"&&(f=i==="/"?n:B([n,i])),r.createHref({pathname:f,search:s,hash:a})}function J(){return c.useContext(re)!=null}function j(){return O(J(),"useLocation() may be used only in the context of a <Router> component."),c.useContext(re).location}var Ve="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Je(e){c.useContext(I).static||c.useLayoutEffect(e)}function Se(){let{isDataRoute:e}=c.useContext(U);return e?sr():Vt()}function Vt(){O(J(),"useNavigate() may be used only in the context of a <Router> component.");let e=c.useContext(V),{basename:t,navigator:n}=c.useContext(I),{matches:r}=c.useContext(U),{pathname:a}=j(),i=JSON.stringify(we(r)),s=c.useRef(!1);return Je(()=>{s.current=!0}),c.useCallback((l,o={})=>{if(M(s.current,Ve),!s.current)return;if(typeof l=="number"){n.go(l);return}let d=se(l,JSON.parse(i),a,o.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:B([t,d.pathname])),(o.replace?n.replace:n.push)(d,o.state,o)},[t,n,i,a,e])}var Jt=c.createContext(null);function Xt(e){let t=c.useContext(U).outlet;return c.useMemo(()=>t&&c.createElement(Jt.Provider,{value:e},t),[t,e])}function Kr(){let{matches:e}=c.useContext(U),t=e[e.length-1];return t?t.params:{}}function ne(e,{relative:t}={}){let{matches:n}=c.useContext(U),{pathname:r}=j(),a=JSON.stringify(we(n));return c.useMemo(()=>se(e,JSON.parse(a),r,t==="path"),[e,a,r,t])}function Qt(e,t){return Xe(e,t)}function Xe(e,t,n){var g;O(J(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:r}=c.useContext(I),{matches:a}=c.useContext(U),i=a[a.length-1],s=i?i.params:{},f=i?i.pathname:"/",l=i?i.pathnameBase:"/",o=i&&i.route;{let m=o&&o.path||"";Ze(f,!o||m.endsWith("*")||m.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${m}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
27
27
|
|
|
28
|
-
Please change the parent <Route path="${m}"> to <Route path="${m==="/"?"*":`${m}/*`}">.`)}let d=j(),h;if(t){let m=typeof t=="string"?K(t):t;O(l==="/"||((g=m.pathname)==null?void 0:g.startsWith(l)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${m.pathname}" was given in the \`location\` prop.`),h=m}else h=d;let y=h.pathname||"/",R=y;if(l!=="/"){let m=l.replace(/^\//,"").split("/");R="/"+y.replace(/^\//,"").split("/").slice(m.length).join("/")}let C=Be(e,{pathname:R});M(o||C!=null,`No routes matched location "${h.pathname}${h.search}${h.hash}" `),M(C==null||C[C.length-1].route.element!==void 0||C[C.length-1].route.Component!==void 0||C[C.length-1].route.lazy!==void 0,`Matched leaf route at location "${h.pathname}${h.search}${h.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=nr(C&&C.map(m=>Object.assign({},m,{params:Object.assign({},s,m.params),pathname:B([l,r.encodeLocation?r.encodeLocation(m.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:m.pathname]),pathnameBase:m.pathnameBase==="/"?l:B([l,r.encodeLocation?r.encodeLocation(m.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:m.pathnameBase])})),a,n);return t&&v?c.createElement(re.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...h},navigationType:"POP"}},v):v}function Zt(){let e=lr(),t=Ut(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:r},i={padding:"2px 4px",backgroundColor:r},s=null;return console.error("Error handled by React Router default ErrorBoundary:",e),s=c.createElement(c.Fragment,null,c.createElement("p",null,"💿 Hey developer 👋"),c.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",c.createElement("code",{style:i},"ErrorBoundary")," or"," ",c.createElement("code",{style:i},"errorElement")," prop on your route.")),c.createElement(c.Fragment,null,c.createElement("h2",null,"Unexpected Application Error!"),c.createElement("h3",{style:{fontStyle:"italic"}},t),n?c.createElement("pre",{style:a},n):null,s)}var er=c.createElement(Zt,null),Qe=class extends c.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=Gt(e.digest);n&&(e=n)}let t=e!==void 0?c.createElement(U.Provider,{value:this.props.routeContext},c.createElement(Ce.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?c.createElement(tr,{error:e},t):t}};Qe.contextType=Bt;var ye=new WeakMap;function tr({children:e,error:t}){let{basename:n}=c.useContext(I);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let r=qt(t.digest);if(r){let a=ye.get(t);if(a)throw a;let i=ze(r.location,n);if(Ye&&!ye.get(t))if(i.isExternal||r.reloadDocument)window.location.href=i.absoluteURL||i.to;else{const s=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:r.replace}));throw ye.set(t,s),s}return c.createElement("meta",{httpEquiv:"refresh",content:`0;url=${i.absoluteURL||i.to}`})}}return e}function rr({routeContext:e,match:t,children:n}){let r=c.useContext(V);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),c.createElement(U.Provider,{value:e},n)}function nr(e,t=[],n){let r=n==null?void 0:n.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let a=e,i=r==null?void 0:r.errors;if(i!=null){let d=a.findIndex(h=>h.route.id&&(i==null?void 0:i[h.route.id])!==void 0);O(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),a=a.slice(0,Math.min(a.length,d+1))}let s=!1,f=-1;if(n&&r){s=r.renderFallback;for(let d=0;d<a.length;d++){let h=a[d];if((h.route.HydrateFallback||h.route.hydrateFallbackElement)&&(f=d),h.route.id){let{loaderData:y,errors:R}=r,C=h.route.loader&&!y.hasOwnProperty(h.route.id)&&(!R||R[h.route.id]===void 0);if(h.route.lazy||C){n.isStatic&&(s=!0),f>=0?a=a.slice(0,f+1):a=[a[0]];break}}}}let l=n==null?void 0:n.onError,o=r&&l?(d,h)=>{var y,R;l(d,{location:r.location,params:((R=(y=r.matches)==null?void 0:y[0])==null?void 0:R.params)??{},unstable_pattern:Ht(r.matches),errorInfo:h})}:void 0;return a.reduceRight((d,h,y)=>{let R,C=!1,v=null,g=null;r&&(R=i&&h.route.id?i[h.route.id]:void 0,v=h.route.errorElement||er,s&&(f<0&&y===0?(Ze("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,g=null):f===y&&(C=!0,g=h.route.hydrateFallbackElement||null)));let m=t.concat(a.slice(0,y+1)),_=()=>{let x;return R?x=v:C?x=g:h.route.Component?x=c.createElement(h.route.Component,null):h.route.element?x=h.route.element:x=d,c.createElement(rr,{match:h,routeContext:{outlet:d,matches:m,isDataRoute:r!=null},children:x})};return r&&(h.route.ErrorBoundary||h.route.errorElement||y===0)?c.createElement(Qe,{location:r.location,revalidation:r.revalidation,component:v,error:R,children:_(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:o}):_()},null)}function _e(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function ar(e){let t=c.useContext(V);return O(t,_e(e)),t}function or(e){let t=c.useContext(ce);return O(t,_e(e)),t}function ir(e){let t=c.useContext(U);return O(t,_e(e)),t}function xe(e){let t=ir(e),n=t.matches[t.matches.length-1];return O(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function ur(){return xe("useRouteId")}function lr(){var r;let e=c.useContext(Ce),t=or("useRouteError"),n=xe("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function sr(){let{router:e}=ar("useNavigate"),t=xe("useNavigate"),n=c.useRef(!1);return Je(()=>{n.current=!0}),c.useCallback(async(a,i={})=>{M(n.current,Ve),n.current&&(typeof a=="number"?await e.navigate(a):await e.navigate(a,{fromRouteId:t,...i}))},[e,t])}var Ue={};function Ze(e,t,n){!t&&!Ue[e]&&(Ue[e]=!0,M(!1,n))}c.memo(cr);function cr({routes:e,future:t,state:n,isStatic:r,onError:a}){return Xe(e,void 0,{state:n,isStatic:r,onError:a})}function Vr({to:e,replace:t,state:n,relative:r}){O(J(),"<Navigate> may be used only in the context of a <Router> component.");let{static:a}=c.useContext(I);M(!a,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:i}=c.useContext(U),{pathname:s}=j(),f=Se(),l=se(e,we(i),s,r==="path"),o=JSON.stringify(l);return c.useEffect(()=>{f(JSON.parse(o),{replace:t,state:n,relative:r})},[f,o,r,t,n]),null}function Jr(e){return Xt(e.context)}function fr(e){O(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function dr({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:a,static:i=!1,unstable_useTransitions:s}){O(!J(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let f=e.replace(/^\/*/,"/"),l=c.useMemo(()=>({basename:f,navigator:a,static:i,unstable_useTransitions:s,future:{}}),[f,a,i,s]);typeof n=="string"&&(n=K(n));let{pathname:o="/",search:d="",hash:h="",state:y=null,key:R="default",unstable_mask:C}=n,v=c.useMemo(()=>{let g=z(o,f);return g==null?null:{location:{pathname:g,search:d,hash:h,state:y,key:R,unstable_mask:C},navigationType:r}},[f,o,d,h,y,R,r,C]);return M(v!=null,`<Router basename="${f}"> is not able to match the URL "${o}${d}${h}" because it does not start with the basename, so the <Router> won't render anything.`),v==null?null:c.createElement(I.Provider,{value:l},c.createElement(re.Provider,{children:t,value:v}))}function Xr({children:e,location:t}){return Qt(Re(e),t)}function Re(e,t=[]){let n=[];return c.Children.forEach(e,(r,a)=>{if(!c.isValidElement(r))return;let i=[...t,a];if(r.type===c.Fragment){n.push.apply(n,Re(r.props.children,i));return}O(r.type===fr,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),O(!r.props.index||!r.props.children,"An index route cannot have child routes.");let s={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=Re(r.props.children,i)),n.push(s)}),n}var ie="get",ue="application/x-www-form-urlencoded";function fe(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function hr(e){return fe(e)&&e.tagName.toLowerCase()==="button"}function pr(e){return fe(e)&&e.tagName.toLowerCase()==="form"}function mr(e){return fe(e)&&e.tagName.toLowerCase()==="input"}function yr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function gr(e,t){return e.button===0&&(!t||t==="_self")&&!yr(e)}function Ee(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(a=>[n,a]):[[n,r]])},[]))}function vr(e,t){let n=Ee(e);return t&&t.forEach((r,a)=>{n.has(a)||t.getAll(a).forEach(i=>{n.append(a,i)})}),n}var oe=null;function Rr(){if(oe===null)try{new FormData(document.createElement("form"),0),oe=!1}catch{oe=!0}return oe}var Er=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ge(e){return e!=null&&!Er.has(e)?(M(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ue}"`),null):e}function wr(e,t){let n,r,a,i,s;if(pr(e)){let f=e.getAttribute("action");r=f?z(f,t):null,n=e.getAttribute("method")||ie,a=ge(e.getAttribute("enctype"))||ue,i=new FormData(e)}else if(hr(e)||mr(e)&&(e.type==="submit"||e.type==="image")){let f=e.form;if(f==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||f.getAttribute("action");if(r=l?z(l,t):null,n=e.getAttribute("formmethod")||f.getAttribute("method")||ie,a=ge(e.getAttribute("formenctype"))||ge(f.getAttribute("enctype"))||ue,i=new FormData(f,e),!Rr()){let{name:o,type:d,value:h}=e;if(d==="image"){let y=o?`${o}.`:"";i.append(`${y}x`,"0"),i.append(`${y}y`,"0")}else o&&i.append(o,h)}}else{if(fe(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=ie,r=null,a=ue,s=e}return i&&a==="text/plain"&&(s=i,i=void 0),{action:r,method:n.toLowerCase(),encType:a,formData:i,body:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function be(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Cr(e,t,n,r){let a=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n?a.pathname.endsWith("/")?a.pathname=`${a.pathname}_.${r}`:a.pathname=`${a.pathname}.${r}`:a.pathname==="/"?a.pathname=`_root.${r}`:t&&z(a.pathname,t)==="/"?a.pathname=`${t.replace(/\/$/,"")}/_root.${r}`:a.pathname=`${a.pathname.replace(/\/$/,"")}.${r}`,a}async function Sr(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function _r(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function xr(e,t,n){let r=await Promise.all(e.map(async a=>{let i=t.routes[a.route.id];if(i){let s=await Sr(i,n);return s.links?s.links():[]}return[]}));return Lr(r.flat(1).filter(_r).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function He(e,t,n,r,a,i){let s=(l,o)=>n[o]?l.route.id!==n[o].route.id:!0,f=(l,o)=>{var d;return n[o].pathname!==l.pathname||((d=n[o].route.path)==null?void 0:d.endsWith("*"))&&n[o].params["*"]!==l.params["*"]};return i==="assets"?t.filter((l,o)=>s(l,o)||f(l,o)):i==="data"?t.filter((l,o)=>{var h;let d=r.routes[l.route.id];if(!d||!d.hasLoader)return!1;if(s(l,o)||f(l,o))return!0;if(l.route.shouldRevalidate){let y=l.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((h=n[0])==null?void 0:h.params)||{},nextUrl:new URL(e,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof y=="boolean")return y}return!0}):[]}function br(e,t,{includeHydrateFallback:n}={}){return Pr(e.map(r=>{let a=t.routes[r.route.id];if(!a)return[];let i=[a.module];return a.clientActionModule&&(i=i.concat(a.clientActionModule)),a.clientLoaderModule&&(i=i.concat(a.clientLoaderModule)),n&&a.hydrateFallbackModule&&(i=i.concat(a.hydrateFallbackModule)),a.imports&&(i=i.concat(a.imports)),i}).flat(1))}function Pr(e){return[...new Set(e)]}function Tr(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Lr(e,t){let n=new Set;return new Set(t),e.reduce((r,a)=>{let i=JSON.stringify(Tr(a));return n.has(i)||(n.add(i),r.push({key:i,link:a})),r},[])}function et(){let e=c.useContext(V);return be(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Or(){let e=c.useContext(ce);return be(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Pe=c.createContext(void 0);Pe.displayName="FrameworkContext";function tt(){let e=c.useContext(Pe);return be(e,"You must render this element inside a <HydratedRouter> element"),e}function kr(e,t){let n=c.useContext(Pe),[r,a]=c.useState(!1),[i,s]=c.useState(!1),{onFocus:f,onBlur:l,onMouseEnter:o,onMouseLeave:d,onTouchStart:h}=t,y=c.useRef(null);c.useEffect(()=>{if(e==="render"&&s(!0),e==="viewport"){let v=m=>{m.forEach(_=>{s(_.isIntersecting)})},g=new IntersectionObserver(v,{threshold:.5});return y.current&&g.observe(y.current),()=>{g.disconnect()}}},[e]),c.useEffect(()=>{if(r){let v=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(v)}}},[r]);let R=()=>{a(!0)},C=()=>{a(!1),s(!1)};return n?e!=="intent"?[i,y,{}]:[i,y,{onFocus:ee(f,R),onBlur:ee(l,C),onMouseEnter:ee(o,R),onMouseLeave:ee(d,C),onTouchStart:ee(h,R)}]:[!1,y,{}]}function ee(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function $r({page:e,...t}){let{router:n}=et(),r=c.useMemo(()=>Be(n.routes,e,n.basename),[n.routes,e,n.basename]);return r?c.createElement(Nr,{page:e,matches:r,...t}):null}function Ar(e){let{manifest:t,routeModules:n}=tt(),[r,a]=c.useState([]);return c.useEffect(()=>{let i=!1;return xr(e,t,n).then(s=>{i||a(s)}),()=>{i=!0}},[e,t,n]),r}function Nr({page:e,matches:t,...n}){let r=j(),{future:a,manifest:i,routeModules:s}=tt(),{basename:f}=et(),{loaderData:l,matches:o}=Or(),d=c.useMemo(()=>He(e,t,o,i,r,"data"),[e,t,o,i,r]),h=c.useMemo(()=>He(e,t,o,i,r,"assets"),[e,t,o,i,r]),y=c.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let v=new Set,g=!1;if(t.forEach(_=>{var $;let x=i.routes[_.route.id];!x||!x.hasLoader||(!d.some(k=>k.route.id===_.route.id)&&_.route.id in l&&(($=s[_.route.id])!=null&&$.shouldRevalidate)||x.hasClientLoader?g=!0:v.add(_.route.id))}),v.size===0)return[];let m=Cr(e,f,a.unstable_trailingSlashAwareDataRequests,"data");return g&&v.size>0&&m.searchParams.set("_routes",t.filter(_=>v.has(_.route.id)).map(_=>_.route.id).join(",")),[m.pathname+m.search]},[f,a.unstable_trailingSlashAwareDataRequests,l,r,i,d,t,e,s]),R=c.useMemo(()=>br(h,i),[h,i]),C=Ar(h);return c.createElement(c.Fragment,null,y.map(v=>c.createElement("link",{key:v,rel:"prefetch",as:"fetch",href:v,...n})),R.map(v=>c.createElement("link",{key:v,rel:"modulepreload",href:v,...n})),C.map(({key:v,link:g})=>c.createElement("link",{key:v,nonce:n.nonce,...g,crossOrigin:g.crossOrigin??n.crossOrigin})))}function Dr(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}var Ir=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Ir&&(window.__reactRouterVersion="7.13.2")}catch{}function Qr({basename:e,children:t,unstable_useTransitions:n,window:r}){let a=c.useRef();a.current==null&&(a.current=pt({window:r,v5Compat:!0}));let i=a.current,[s,f]=c.useState({action:i.action,location:i.location}),l=c.useCallback(o=>{n===!1?f(o):c.startTransition(()=>f(o))},[n]);return c.useLayoutEffect(()=>i.listen(l),[i,l]),c.createElement(dr,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:i,unstable_useTransitions:n})}var rt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,nt=c.forwardRef(function({onClick:t,discover:n="render",prefetch:r="none",relative:a,reloadDocument:i,replace:s,unstable_mask:f,state:l,target:o,to:d,preventScrollReset:h,viewTransition:y,unstable_defaultShouldRevalidate:R,...C},v){let{basename:g,navigator:m,unstable_useTransitions:_}=c.useContext(I),x=typeof d=="string"&&rt.test(d),$=ze(d,g);d=$.to;let k=Kt(d,{relative:a}),N=j(),b=null;if(f){let H=se(f,[],N.unstable_mask?N.unstable_mask.pathname:"/",!0);g!=="/"&&(H.pathname=H.pathname==="/"?g:B([g,H.pathname])),b=m.createHref(H)}let[W,Y,X]=kr(r,C),Q=Fr(d,{replace:s,unstable_mask:f,state:l,target:o,preventScrollReset:h,relative:a,viewTransition:y,unstable_defaultShouldRevalidate:R,unstable_useTransitions:_});function de(H){t&&t(H),H.defaultPrevented||Q(H)}let Z=!($.isExternal||i),q=c.createElement("a",{...C,...X,href:(Z?b:void 0)||$.absoluteURL||k,onClick:Z?de:t,ref:Dr(v,Y),target:o,"data-discover":!x&&n==="render"?"true":void 0});return W&&!x?c.createElement(c.Fragment,null,q,c.createElement($r,{page:k})):q});nt.displayName="Link";var Mr=c.forwardRef(function({"aria-current":t="page",caseSensitive:n=!1,className:r="",end:a=!1,style:i,to:s,viewTransition:f,children:l,...o},d){let h=ne(s,{relative:o.relative}),y=j(),R=c.useContext(ce),{navigator:C,basename:v}=c.useContext(I),g=R!=null&&zr(h)&&f===!0,m=C.encodeLocation?C.encodeLocation(h).pathname:h.pathname,_=y.pathname,x=R&&R.navigation&&R.navigation.location?R.navigation.location.pathname:null;n||(_=_.toLowerCase(),x=x?x.toLowerCase():null,m=m.toLowerCase()),x&&v&&(x=z(x,v)||x);const $=m!=="/"&&m.endsWith("/")?m.length-1:m.length;let k=_===m||!a&&_.startsWith(m)&&_.charAt($)==="/",N=x!=null&&(x===m||!a&&x.startsWith(m)&&x.charAt(m.length)==="/"),b={isActive:k,isPending:N,isTransitioning:g},W=k?t:void 0,Y;typeof r=="function"?Y=r(b):Y=[r,k?"active":null,N?"pending":null,g?"transitioning":null].filter(Boolean).join(" ");let X=typeof i=="function"?i(b):i;return c.createElement(nt,{...o,"aria-current":W,className:Y,ref:d,style:X,to:s,viewTransition:f},typeof l=="function"?l(b):l)});Mr.displayName="NavLink";var Ur=c.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:r,replace:a,state:i,method:s=ie,action:f,onSubmit:l,relative:o,preventScrollReset:d,viewTransition:h,unstable_defaultShouldRevalidate:y,...R},C)=>{let{unstable_useTransitions:v}=c.useContext(I),g=Wr(),m=Yr(f,{relative:o}),_=s.toLowerCase()==="get"?"get":"post",x=typeof f=="string"&&rt.test(f),$=k=>{if(l&&l(k),k.defaultPrevented)return;k.preventDefault();let N=k.nativeEvent.submitter,b=(N==null?void 0:N.getAttribute("formmethod"))||s,W=()=>g(N||k.currentTarget,{fetcherKey:t,method:b,navigate:n,replace:a,state:i,relative:o,preventScrollReset:d,viewTransition:h,unstable_defaultShouldRevalidate:y});v&&n!==!1?c.startTransition(()=>W()):W()};return c.createElement("form",{ref:C,method:_,action:m,onSubmit:r?l:$,...R,"data-discover":!x&&e==="render"?"true":void 0})});Ur.displayName="Form";function Hr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function at(e){let t=c.useContext(V);return O(t,Hr(e)),t}function Fr(e,{target:t,replace:n,unstable_mask:r,state:a,preventScrollReset:i,relative:s,viewTransition:f,unstable_defaultShouldRevalidate:l,unstable_useTransitions:o}={}){let d=Se(),h=j(),y=ne(e,{relative:s});return c.useCallback(R=>{if(gr(R,t)){R.preventDefault();let C=n!==void 0?n:te(h)===te(y),v=()=>d(e,{replace:C,unstable_mask:r,state:a,preventScrollReset:i,relative:s,viewTransition:f,unstable_defaultShouldRevalidate:l});o?c.startTransition(()=>v()):v()}},[h,d,y,n,r,a,t,e,i,s,f,l,o])}function Zr(e){M(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=c.useRef(Ee(e)),n=c.useRef(!1),r=j(),a=c.useMemo(()=>vr(r.search,n.current?null:t.current),[r.search]),i=Se(),s=c.useCallback((f,l)=>{const o=Ee(typeof f=="function"?f(new URLSearchParams(a)):f);n.current=!0,i("?"+o,l)},[i,a]);return[a,s]}var Br=0,jr=()=>`__${String(++Br)}__`;function Wr(){let{router:e}=at("useSubmit"),{basename:t}=c.useContext(I),n=ur(),r=e.fetch,a=e.navigate;return c.useCallback(async(i,s={})=>{let{action:f,method:l,encType:o,formData:d,body:h}=wr(i,t);if(s.navigate===!1){let y=s.fetcherKey||jr();await r(y,n,s.action||f,{unstable_defaultShouldRevalidate:s.unstable_defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:d,body:h,formMethod:s.method||l,formEncType:s.encType||o,flushSync:s.flushSync})}else await a(s.action||f,{unstable_defaultShouldRevalidate:s.unstable_defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:d,body:h,formMethod:s.method||l,formEncType:s.encType||o,replace:s.replace,state:s.state,fromRouteId:n,flushSync:s.flushSync,viewTransition:s.viewTransition})},[r,a,t,n])}function Yr(e,{relative:t}={}){let{basename:n}=c.useContext(I),r=c.useContext(U);O(r,"useFormAction must be used inside a RouteContext");let[a]=r.matches.slice(-1),i={...ne(e||".",{relative:t})},s=j();if(e==null){i.search=s.search;let f=new URLSearchParams(i.search),l=f.getAll("index");if(l.some(d=>d==="")){f.delete("index"),l.filter(h=>h).forEach(h=>f.append("index",h));let d=f.toString();i.search=d?`?${d}`:""}}return(!e||e===".")&&a.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(i.pathname=i.pathname==="/"?n:B([n,i.pathname])),te(i)}function zr(e,{relative:t}={}){let n=c.useContext(Ge);O(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=at("useViewTransitionState"),a=ne(e,{relative:t});if(!n.isTransitioning)return!1;let i=z(n.currentLocation.pathname,r)||n.currentLocation.pathname,s=z(n.nextLocation.pathname,r)||n.nextLocation.pathname;return le(a.pathname,s)!=null||le(a.pathname,i)!=null}var en=ht();export{Qr as B,nt as L,Vr as N,Jr as O,ft as R,Kr as a,Se as b,j as c,qr as d,Fe as e,ht as f,st as g,Xr as h,fr as i,en as j,c as r,Gr as t,Zr as u};
|
|
29
|
-
//# sourceMappingURL=vendor-
|
|
28
|
+
Please change the parent <Route path="${m}"> to <Route path="${m==="/"?"*":`${m}/*`}">.`)}let d=j(),h;if(t){let m=typeof t=="string"?K(t):t;O(l==="/"||((g=m.pathname)==null?void 0:g.startsWith(l)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${m.pathname}" was given in the \`location\` prop.`),h=m}else h=d;let y=h.pathname||"/",R=y;if(l!=="/"){let m=l.replace(/^\//,"").split("/");R="/"+y.replace(/^\//,"").split("/").slice(m.length).join("/")}let C=Be(e,{pathname:R});M(o||C!=null,`No routes matched location "${h.pathname}${h.search}${h.hash}" `),M(C==null||C[C.length-1].route.element!==void 0||C[C.length-1].route.Component!==void 0||C[C.length-1].route.lazy!==void 0,`Matched leaf route at location "${h.pathname}${h.search}${h.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=nr(C&&C.map(m=>Object.assign({},m,{params:Object.assign({},s,m.params),pathname:B([l,r.encodeLocation?r.encodeLocation(m.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:m.pathname]),pathnameBase:m.pathnameBase==="/"?l:B([l,r.encodeLocation?r.encodeLocation(m.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:m.pathnameBase])})),a,n);return t&&v?c.createElement(re.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...h},navigationType:"POP"}},v):v}function Zt(){let e=lr(),t=Ut(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:r},i={padding:"2px 4px",backgroundColor:r},s=null;return console.error("Error handled by React Router default ErrorBoundary:",e),s=c.createElement(c.Fragment,null,c.createElement("p",null,"💿 Hey developer 👋"),c.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",c.createElement("code",{style:i},"ErrorBoundary")," or"," ",c.createElement("code",{style:i},"errorElement")," prop on your route.")),c.createElement(c.Fragment,null,c.createElement("h2",null,"Unexpected Application Error!"),c.createElement("h3",{style:{fontStyle:"italic"}},t),n?c.createElement("pre",{style:a},n):null,s)}var er=c.createElement(Zt,null),Qe=class extends c.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=Gt(e.digest);n&&(e=n)}let t=e!==void 0?c.createElement(U.Provider,{value:this.props.routeContext},c.createElement(Ce.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?c.createElement(tr,{error:e},t):t}};Qe.contextType=Bt;var ye=new WeakMap;function tr({children:e,error:t}){let{basename:n}=c.useContext(I);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let r=qt(t.digest);if(r){let a=ye.get(t);if(a)throw a;let i=ze(r.location,n);if(Ye&&!ye.get(t))if(i.isExternal||r.reloadDocument)window.location.href=i.absoluteURL||i.to;else{const s=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:r.replace}));throw ye.set(t,s),s}return c.createElement("meta",{httpEquiv:"refresh",content:`0;url=${i.absoluteURL||i.to}`})}}return e}function rr({routeContext:e,match:t,children:n}){let r=c.useContext(V);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),c.createElement(U.Provider,{value:e},n)}function nr(e,t=[],n){let r=n==null?void 0:n.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let a=e,i=r==null?void 0:r.errors;if(i!=null){let d=a.findIndex(h=>h.route.id&&(i==null?void 0:i[h.route.id])!==void 0);O(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),a=a.slice(0,Math.min(a.length,d+1))}let s=!1,f=-1;if(n&&r){s=r.renderFallback;for(let d=0;d<a.length;d++){let h=a[d];if((h.route.HydrateFallback||h.route.hydrateFallbackElement)&&(f=d),h.route.id){let{loaderData:y,errors:R}=r,C=h.route.loader&&!y.hasOwnProperty(h.route.id)&&(!R||R[h.route.id]===void 0);if(h.route.lazy||C){n.isStatic&&(s=!0),f>=0?a=a.slice(0,f+1):a=[a[0]];break}}}}let l=n==null?void 0:n.onError,o=r&&l?(d,h)=>{var y,R;l(d,{location:r.location,params:((R=(y=r.matches)==null?void 0:y[0])==null?void 0:R.params)??{},unstable_pattern:Ht(r.matches),errorInfo:h})}:void 0;return a.reduceRight((d,h,y)=>{let R,C=!1,v=null,g=null;r&&(R=i&&h.route.id?i[h.route.id]:void 0,v=h.route.errorElement||er,s&&(f<0&&y===0?(Ze("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,g=null):f===y&&(C=!0,g=h.route.hydrateFallbackElement||null)));let m=t.concat(a.slice(0,y+1)),_=()=>{let x;return R?x=v:C?x=g:h.route.Component?x=c.createElement(h.route.Component,null):h.route.element?x=h.route.element:x=d,c.createElement(rr,{match:h,routeContext:{outlet:d,matches:m,isDataRoute:r!=null},children:x})};return r&&(h.route.ErrorBoundary||h.route.errorElement||y===0)?c.createElement(Qe,{location:r.location,revalidation:r.revalidation,component:v,error:R,children:_(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:o}):_()},null)}function _e(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function ar(e){let t=c.useContext(V);return O(t,_e(e)),t}function or(e){let t=c.useContext(ce);return O(t,_e(e)),t}function ir(e){let t=c.useContext(U);return O(t,_e(e)),t}function xe(e){let t=ir(e),n=t.matches[t.matches.length-1];return O(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function ur(){return xe("useRouteId")}function lr(){var r;let e=c.useContext(Ce),t=or("useRouteError"),n=xe("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function sr(){let{router:e}=ar("useNavigate"),t=xe("useNavigate"),n=c.useRef(!1);return Je(()=>{n.current=!0}),c.useCallback(async(a,i={})=>{M(n.current,Ve),n.current&&(typeof a=="number"?await e.navigate(a):await e.navigate(a,{fromRouteId:t,...i}))},[e,t])}var Ue={};function Ze(e,t,n){!t&&!Ue[e]&&(Ue[e]=!0,M(!1,n))}c.memo(cr);function cr({routes:e,future:t,state:n,isStatic:r,onError:a}){return Xe(e,void 0,{state:n,isStatic:r,onError:a})}function Vr({to:e,replace:t,state:n,relative:r}){O(J(),"<Navigate> may be used only in the context of a <Router> component.");let{static:a}=c.useContext(I);M(!a,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:i}=c.useContext(U),{pathname:s}=j(),f=Se(),l=se(e,we(i),s,r==="path"),o=JSON.stringify(l);return c.useEffect(()=>{f(JSON.parse(o),{replace:t,state:n,relative:r})},[f,o,r,t,n]),null}function Jr(e){return Xt(e.context)}function fr(e){O(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function dr({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:a,static:i=!1,unstable_useTransitions:s}){O(!J(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let f=e.replace(/^\/*/,"/"),l=c.useMemo(()=>({basename:f,navigator:a,static:i,unstable_useTransitions:s,future:{}}),[f,a,i,s]);typeof n=="string"&&(n=K(n));let{pathname:o="/",search:d="",hash:h="",state:y=null,key:R="default",unstable_mask:C}=n,v=c.useMemo(()=>{let g=z(o,f);return g==null?null:{location:{pathname:g,search:d,hash:h,state:y,key:R,unstable_mask:C},navigationType:r}},[f,o,d,h,y,R,r,C]);return M(v!=null,`<Router basename="${f}"> is not able to match the URL "${o}${d}${h}" because it does not start with the basename, so the <Router> won't render anything.`),v==null?null:c.createElement(I.Provider,{value:l},c.createElement(re.Provider,{children:t,value:v}))}function Xr({children:e,location:t}){return Qt(Re(e),t)}function Re(e,t=[]){let n=[];return c.Children.forEach(e,(r,a)=>{if(!c.isValidElement(r))return;let i=[...t,a];if(r.type===c.Fragment){n.push.apply(n,Re(r.props.children,i));return}O(r.type===fr,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),O(!r.props.index||!r.props.children,"An index route cannot have child routes.");let s={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=Re(r.props.children,i)),n.push(s)}),n}var ie="get",ue="application/x-www-form-urlencoded";function fe(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function hr(e){return fe(e)&&e.tagName.toLowerCase()==="button"}function pr(e){return fe(e)&&e.tagName.toLowerCase()==="form"}function mr(e){return fe(e)&&e.tagName.toLowerCase()==="input"}function yr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function gr(e,t){return e.button===0&&(!t||t==="_self")&&!yr(e)}function Ee(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(a=>[n,a]):[[n,r]])},[]))}function vr(e,t){let n=Ee(e);return t&&t.forEach((r,a)=>{n.has(a)||t.getAll(a).forEach(i=>{n.append(a,i)})}),n}var oe=null;function Rr(){if(oe===null)try{new FormData(document.createElement("form"),0),oe=!1}catch{oe=!0}return oe}var Er=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ge(e){return e!=null&&!Er.has(e)?(M(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ue}"`),null):e}function wr(e,t){let n,r,a,i,s;if(pr(e)){let f=e.getAttribute("action");r=f?z(f,t):null,n=e.getAttribute("method")||ie,a=ge(e.getAttribute("enctype"))||ue,i=new FormData(e)}else if(hr(e)||mr(e)&&(e.type==="submit"||e.type==="image")){let f=e.form;if(f==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||f.getAttribute("action");if(r=l?z(l,t):null,n=e.getAttribute("formmethod")||f.getAttribute("method")||ie,a=ge(e.getAttribute("formenctype"))||ge(f.getAttribute("enctype"))||ue,i=new FormData(f,e),!Rr()){let{name:o,type:d,value:h}=e;if(d==="image"){let y=o?`${o}.`:"";i.append(`${y}x`,"0"),i.append(`${y}y`,"0")}else o&&i.append(o,h)}}else{if(fe(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=ie,r=null,a=ue,s=e}return i&&a==="text/plain"&&(s=i,i=void 0),{action:r,method:n.toLowerCase(),encType:a,formData:i,body:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function be(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Cr(e,t,n,r){let a=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n?a.pathname.endsWith("/")?a.pathname=`${a.pathname}_.${r}`:a.pathname=`${a.pathname}.${r}`:a.pathname==="/"?a.pathname=`_root.${r}`:t&&z(a.pathname,t)==="/"?a.pathname=`${t.replace(/\/$/,"")}/_root.${r}`:a.pathname=`${a.pathname.replace(/\/$/,"")}.${r}`,a}async function Sr(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function _r(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function xr(e,t,n){let r=await Promise.all(e.map(async a=>{let i=t.routes[a.route.id];if(i){let s=await Sr(i,n);return s.links?s.links():[]}return[]}));return Lr(r.flat(1).filter(_r).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function He(e,t,n,r,a,i){let s=(l,o)=>n[o]?l.route.id!==n[o].route.id:!0,f=(l,o)=>{var d;return n[o].pathname!==l.pathname||((d=n[o].route.path)==null?void 0:d.endsWith("*"))&&n[o].params["*"]!==l.params["*"]};return i==="assets"?t.filter((l,o)=>s(l,o)||f(l,o)):i==="data"?t.filter((l,o)=>{var h;let d=r.routes[l.route.id];if(!d||!d.hasLoader)return!1;if(s(l,o)||f(l,o))return!0;if(l.route.shouldRevalidate){let y=l.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((h=n[0])==null?void 0:h.params)||{},nextUrl:new URL(e,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof y=="boolean")return y}return!0}):[]}function br(e,t,{includeHydrateFallback:n}={}){return Pr(e.map(r=>{let a=t.routes[r.route.id];if(!a)return[];let i=[a.module];return a.clientActionModule&&(i=i.concat(a.clientActionModule)),a.clientLoaderModule&&(i=i.concat(a.clientLoaderModule)),n&&a.hydrateFallbackModule&&(i=i.concat(a.hydrateFallbackModule)),a.imports&&(i=i.concat(a.imports)),i}).flat(1))}function Pr(e){return[...new Set(e)]}function Tr(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Lr(e,t){let n=new Set;return new Set(t),e.reduce((r,a)=>{let i=JSON.stringify(Tr(a));return n.has(i)||(n.add(i),r.push({key:i,link:a})),r},[])}function et(){let e=c.useContext(V);return be(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Or(){let e=c.useContext(ce);return be(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Pe=c.createContext(void 0);Pe.displayName="FrameworkContext";function tt(){let e=c.useContext(Pe);return be(e,"You must render this element inside a <HydratedRouter> element"),e}function kr(e,t){let n=c.useContext(Pe),[r,a]=c.useState(!1),[i,s]=c.useState(!1),{onFocus:f,onBlur:l,onMouseEnter:o,onMouseLeave:d,onTouchStart:h}=t,y=c.useRef(null);c.useEffect(()=>{if(e==="render"&&s(!0),e==="viewport"){let v=m=>{m.forEach(_=>{s(_.isIntersecting)})},g=new IntersectionObserver(v,{threshold:.5});return y.current&&g.observe(y.current),()=>{g.disconnect()}}},[e]),c.useEffect(()=>{if(r){let v=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(v)}}},[r]);let R=()=>{a(!0)},C=()=>{a(!1),s(!1)};return n?e!=="intent"?[i,y,{}]:[i,y,{onFocus:ee(f,R),onBlur:ee(l,C),onMouseEnter:ee(o,R),onMouseLeave:ee(d,C),onTouchStart:ee(h,R)}]:[!1,y,{}]}function ee(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function $r({page:e,...t}){let{router:n}=et(),r=c.useMemo(()=>Be(n.routes,e,n.basename),[n.routes,e,n.basename]);return r?c.createElement(Nr,{page:e,matches:r,...t}):null}function Ar(e){let{manifest:t,routeModules:n}=tt(),[r,a]=c.useState([]);return c.useEffect(()=>{let i=!1;return xr(e,t,n).then(s=>{i||a(s)}),()=>{i=!0}},[e,t,n]),r}function Nr({page:e,matches:t,...n}){let r=j(),{future:a,manifest:i,routeModules:s}=tt(),{basename:f}=et(),{loaderData:l,matches:o}=Or(),d=c.useMemo(()=>He(e,t,o,i,r,"data"),[e,t,o,i,r]),h=c.useMemo(()=>He(e,t,o,i,r,"assets"),[e,t,o,i,r]),y=c.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let v=new Set,g=!1;if(t.forEach(_=>{var $;let x=i.routes[_.route.id];!x||!x.hasLoader||(!d.some(k=>k.route.id===_.route.id)&&_.route.id in l&&(($=s[_.route.id])!=null&&$.shouldRevalidate)||x.hasClientLoader?g=!0:v.add(_.route.id))}),v.size===0)return[];let m=Cr(e,f,a.unstable_trailingSlashAwareDataRequests,"data");return g&&v.size>0&&m.searchParams.set("_routes",t.filter(_=>v.has(_.route.id)).map(_=>_.route.id).join(",")),[m.pathname+m.search]},[f,a.unstable_trailingSlashAwareDataRequests,l,r,i,d,t,e,s]),R=c.useMemo(()=>br(h,i),[h,i]),C=Ar(h);return c.createElement(c.Fragment,null,y.map(v=>c.createElement("link",{key:v,rel:"prefetch",as:"fetch",href:v,...n})),R.map(v=>c.createElement("link",{key:v,rel:"modulepreload",href:v,...n})),C.map(({key:v,link:g})=>c.createElement("link",{key:v,nonce:n.nonce,...g,crossOrigin:g.crossOrigin??n.crossOrigin})))}function Dr(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}var Ir=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Ir&&(window.__reactRouterVersion="7.13.2")}catch{}function Qr({basename:e,children:t,unstable_useTransitions:n,window:r}){let a=c.useRef();a.current==null&&(a.current=pt({window:r,v5Compat:!0}));let i=a.current,[s,f]=c.useState({action:i.action,location:i.location}),l=c.useCallback(o=>{n===!1?f(o):c.startTransition(()=>f(o))},[n]);return c.useLayoutEffect(()=>i.listen(l),[i,l]),c.createElement(dr,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:i,unstable_useTransitions:n})}var rt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,nt=c.forwardRef(function({onClick:t,discover:n="render",prefetch:r="none",relative:a,reloadDocument:i,replace:s,unstable_mask:f,state:l,target:o,to:d,preventScrollReset:h,viewTransition:y,unstable_defaultShouldRevalidate:R,...C},v){let{basename:g,navigator:m,unstable_useTransitions:_}=c.useContext(I),x=typeof d=="string"&&rt.test(d),$=ze(d,g);d=$.to;let k=Kt(d,{relative:a}),N=j(),b=null;if(f){let H=se(f,[],N.unstable_mask?N.unstable_mask.pathname:"/",!0);g!=="/"&&(H.pathname=H.pathname==="/"?g:B([g,H.pathname])),b=m.createHref(H)}let[W,Y,X]=kr(r,C),Q=Fr(d,{replace:s,unstable_mask:f,state:l,target:o,preventScrollReset:h,relative:a,viewTransition:y,unstable_defaultShouldRevalidate:R,unstable_useTransitions:_});function de(H){t&&t(H),H.defaultPrevented||Q(H)}let Z=!($.isExternal||i),q=c.createElement("a",{...C,...X,href:(Z?b:void 0)||$.absoluteURL||k,onClick:Z?de:t,ref:Dr(v,Y),target:o,"data-discover":!x&&n==="render"?"true":void 0});return W&&!x?c.createElement(c.Fragment,null,q,c.createElement($r,{page:k})):q});nt.displayName="Link";var Mr=c.forwardRef(function({"aria-current":t="page",caseSensitive:n=!1,className:r="",end:a=!1,style:i,to:s,viewTransition:f,children:l,...o},d){let h=ne(s,{relative:o.relative}),y=j(),R=c.useContext(ce),{navigator:C,basename:v}=c.useContext(I),g=R!=null&&zr(h)&&f===!0,m=C.encodeLocation?C.encodeLocation(h).pathname:h.pathname,_=y.pathname,x=R&&R.navigation&&R.navigation.location?R.navigation.location.pathname:null;n||(_=_.toLowerCase(),x=x?x.toLowerCase():null,m=m.toLowerCase()),x&&v&&(x=z(x,v)||x);const $=m!=="/"&&m.endsWith("/")?m.length-1:m.length;let k=_===m||!a&&_.startsWith(m)&&_.charAt($)==="/",N=x!=null&&(x===m||!a&&x.startsWith(m)&&x.charAt(m.length)==="/"),b={isActive:k,isPending:N,isTransitioning:g},W=k?t:void 0,Y;typeof r=="function"?Y=r(b):Y=[r,k?"active":null,N?"pending":null,g?"transitioning":null].filter(Boolean).join(" ");let X=typeof i=="function"?i(b):i;return c.createElement(nt,{...o,"aria-current":W,className:Y,ref:d,style:X,to:s,viewTransition:f},typeof l=="function"?l(b):l)});Mr.displayName="NavLink";var Ur=c.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:r,replace:a,state:i,method:s=ie,action:f,onSubmit:l,relative:o,preventScrollReset:d,viewTransition:h,unstable_defaultShouldRevalidate:y,...R},C)=>{let{unstable_useTransitions:v}=c.useContext(I),g=Wr(),m=Yr(f,{relative:o}),_=s.toLowerCase()==="get"?"get":"post",x=typeof f=="string"&&rt.test(f),$=k=>{if(l&&l(k),k.defaultPrevented)return;k.preventDefault();let N=k.nativeEvent.submitter,b=(N==null?void 0:N.getAttribute("formmethod"))||s,W=()=>g(N||k.currentTarget,{fetcherKey:t,method:b,navigate:n,replace:a,state:i,relative:o,preventScrollReset:d,viewTransition:h,unstable_defaultShouldRevalidate:y});v&&n!==!1?c.startTransition(()=>W()):W()};return c.createElement("form",{ref:C,method:_,action:m,onSubmit:r?l:$,...R,"data-discover":!x&&e==="render"?"true":void 0})});Ur.displayName="Form";function Hr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function at(e){let t=c.useContext(V);return O(t,Hr(e)),t}function Fr(e,{target:t,replace:n,unstable_mask:r,state:a,preventScrollReset:i,relative:s,viewTransition:f,unstable_defaultShouldRevalidate:l,unstable_useTransitions:o}={}){let d=Se(),h=j(),y=ne(e,{relative:s});return c.useCallback(R=>{if(gr(R,t)){R.preventDefault();let C=n!==void 0?n:te(h)===te(y),v=()=>d(e,{replace:C,unstable_mask:r,state:a,preventScrollReset:i,relative:s,viewTransition:f,unstable_defaultShouldRevalidate:l});o?c.startTransition(()=>v()):v()}},[h,d,y,n,r,a,t,e,i,s,f,l,o])}function Zr(e){M(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=c.useRef(Ee(e)),n=c.useRef(!1),r=j(),a=c.useMemo(()=>vr(r.search,n.current?null:t.current),[r.search]),i=Se(),s=c.useCallback((f,l)=>{const o=Ee(typeof f=="function"?f(new URLSearchParams(a)):f);n.current=!0,i("?"+o,l)},[i,a]);return[a,s]}var Br=0,jr=()=>`__${String(++Br)}__`;function Wr(){let{router:e}=at("useSubmit"),{basename:t}=c.useContext(I),n=ur(),r=e.fetch,a=e.navigate;return c.useCallback(async(i,s={})=>{let{action:f,method:l,encType:o,formData:d,body:h}=wr(i,t);if(s.navigate===!1){let y=s.fetcherKey||jr();await r(y,n,s.action||f,{unstable_defaultShouldRevalidate:s.unstable_defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:d,body:h,formMethod:s.method||l,formEncType:s.encType||o,flushSync:s.flushSync})}else await a(s.action||f,{unstable_defaultShouldRevalidate:s.unstable_defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:d,body:h,formMethod:s.method||l,formEncType:s.encType||o,replace:s.replace,state:s.state,fromRouteId:n,flushSync:s.flushSync,viewTransition:s.viewTransition})},[r,a,t,n])}function Yr(e,{relative:t}={}){let{basename:n}=c.useContext(I),r=c.useContext(U);O(r,"useFormAction must be used inside a RouteContext");let[a]=r.matches.slice(-1),i={...ne(e||".",{relative:t})},s=j();if(e==null){i.search=s.search;let f=new URLSearchParams(i.search),l=f.getAll("index");if(l.some(d=>d==="")){f.delete("index"),l.filter(h=>h).forEach(h=>f.append("index",h));let d=f.toString();i.search=d?`?${d}`:""}}return(!e||e===".")&&a.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(i.pathname=i.pathname==="/"?n:B([n,i.pathname])),te(i)}function zr(e,{relative:t}={}){let n=c.useContext(Ge);O(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=at("useViewTransitionState"),a=ne(e,{relative:t});if(!n.isTransitioning)return!1;let i=z(n.currentLocation.pathname,r)||n.currentLocation.pathname,s=z(n.nextLocation.pathname,r)||n.nextLocation.pathname;return le(a.pathname,s)!=null||le(a.pathname,i)!=null}var en=ht();export{Qr as B,nt as L,Vr as N,Jr as O,ft as R,Kr as a,Se as b,j as c,qr as d,Fe as e,ht as f,st as g,en as h,Xr as i,fr as j,c as r,Gr as t,Zr as u};
|
|
29
|
+
//# sourceMappingURL=vendor-DJo4KD8w.js.map
|