From 396eba7c1b1e0c55689cf44e80eccd6447a3783b Mon Sep 17 00:00:00 2001 From: shafi54 <108669266+shafi-aviz@users.noreply.github.com> Date: Sun, 10 May 2026 16:45:39 +0530 Subject: [PATCH] enh --- ...d71cfee3694a0a726e6d79c51fb1e78afcd.sqlite | Bin 12288 -> 12288 bytes apps/backend/package.json | 1 + apps/backend/src/app.ts | 28 +- .../src/trpc/apis/user-apis/apis/auth.ts | 18 +- .../src/trpc/apis/user-apis/apis/product.ts | 25 - apps/backend/src/trpc/trpc-index.ts | 2 + apps/user-ui/package.json | 1 - apps/web-ui/.cta.json | 19 + apps/web-ui/.output/nitro.json | 17 + .../public/assets/arrow-left-9Wn53Zfu.js | 1 + .../.output/public/assets/cart-DbCdgo5T.js | 1 + .../assets/cart-query-hooks-BCr0eax3.js | 1 + .../assets/central-product-store-DGoerB5U.js | 1 + .../public/assets/checkout-C55r-QU8.js | 1 + .../assets/createLucideIcon-7nArgiy8.js | 1 + .../.output/public/assets/flash-DjIFIcDF.js | 1 + .../public/assets/flash.cart-Uj5DbknX.js | 1 + .../public/assets/flash.checkout-4WSH7Rnu.js | 1 + .../assets/flash.order-success-BtcExp1_.js | 1 + .../assets/flash.product._id-B92HJYgs.js | 1 + .../.output/public/assets/home-D1N8PZL-.js | 1 + .../public/assets/home.cart-CQsu3-8T.js | 1 + .../public/assets/home.checkout-Bl0spbDU.js | 1 + .../assets/home.order-success-DnDz5HMq.js | 1 + .../assets/home.product._id-u1x5UAhj.js | 1 + .../public/assets/home.search-Dx-x6e4a.js | 1 + .../.output/public/assets/index-BXnbw4dQ.js | 12 + .../.output/public/assets/login-6RtWYa3a.js | 1 + .../.output/public/assets/map-pin-DbTySZl1.js | 1 + .../.output/public/assets/me-BCl-FNTs.js | 1 + .../public/assets/me.about-CQEAs02D.js | 1 + .../public/assets/me.addresses-BJHDsZnx.js | 1 + .../public/assets/me.complaints-Z0J1UdPZ.js | 1 + .../public/assets/me.coupons-Cxfwr8iO.js | 1 + .../public/assets/me.edit-profile-Djrkm7XG.js | 1 + .../public/assets/me.orders-Dg14cvEl.js | 1 + .../public/assets/me.orders._id-C7HAI1M3.js | 1 + .../public/assets/me.terms-D4lFagim.js | 1 + .../public/assets/message-square-BE-hnHXL.js | 1 + .../.output/public/assets/package-CgMILU3n.js | 1 + .../public/assets/preload-helper-mv2i1dUS.js | 1 + .../assets/prominent-api-hooks-DipwWw0H.js | 9 + .../.output/public/assets/react-BnURElzN.js | 1 + .../public/assets/register-D51Ue4qE.js | 1 + .../public/assets/shopping-cart-BBNoSjWE.js | 1 + .../.output/public/assets/src-C0xjWfnx.js | 1 + .../.output/public/assets/stores-DmmchhEr.js | 1 + .../public/assets/stores._storeId-Bo_VK1An.js | 1 + ...es._storeId.product._productId-D-WdUvge.js | 1 + .../.output/public/assets/styles-DWsgI6YW.css | 2 + .../.output/public/assets/ticket-DHIzx079.js | 1 + .../.output/public/assets/trash-2-B2Qxo_rV.js | 1 + .../public/assets/trpc-client-QrVjRqP1.js | 1 + .../.output/public/assets/truck-DbJZ8T2i.js | 1 + .../public/assets/useMutation-DvG2_Fq3.js | 1 + .../public/assets/useNavigate-VRicZWJI.js | 1 + .../.output/public/assets/zap-CufcM84a.js | 1 + apps/web-ui/.output/public/favicon.ico | Bin 0 -> 3870 bytes apps/web-ui/.output/public/logo192.png | Bin 0 -> 5347 bytes apps/web-ui/.output/public/logo512.png | Bin 0 -> 9664 bytes apps/web-ui/.output/public/manifest.json | 25 + apps/web-ui/.output/public/robots.txt | 3 + ...anstack-start-plugin-adapters-y_fshQDY.mjs | 5 + .../.output/server/_chunks/ssr-renderer.mjs | 15 + .../_libs/@tanstack/react-router+[...].mjs | 14271 ++++++++++++++++ .../_libs/@tanstack/router-core+[...].mjs | 2798 +++ apps/web-ui/.output/server/_libs/asynckit.mjs | 259 + .../.output/server/_libs/axios+[...].mjs | 13814 +++++++++++++++ apps/web-ui/.output/server/_libs/clsx.mjs | 16 + apps/web-ui/.output/server/_libs/dayjs.mjs | 300 + apps/web-ui/.output/server/_libs/fuse.js.mjs | 1503 ++ .../.output/server/_libs/h3+rou3+srvx.mjs | 1211 ++ apps/web-ui/.output/server/_libs/h3-v2.mjs | 285 + .../.output/server/_libs/lucide-react.mjs | 500 + .../_libs/react+tanstack__react-query.mjs | 663 + .../.output/server/_libs/react-hook-form.mjs | 1773 ++ .../.output/server/_libs/tailwind-merge.mjs | 3300 ++++ .../server/_libs/tanstack__history.mjs | 385 + .../server/_libs/tanstack__query-core.mjs | 2355 +++ .../_libs/tanstack__react-query-devtools.mjs | 7 + .../_libs/trpc__client+trpc__server.mjs | 1384 ++ .../server/_libs/trpc__react-query.mjs | 877 + apps/web-ui/.output/server/_libs/ufo.mjs | 64 + apps/web-ui/.output/server/_libs/zustand.mjs | 48 + apps/web-ui/.output/server/_runtime.mjs | 37 + .../server/_ssr/auth-context-DzjwonUC.mjs | 104 + .../.output/server/_ssr/cart-CHg5Ccyz.mjs | 102 + .../server/_ssr/cart-query-hooks-Bz8ID9jY.mjs | 91 + .../_ssr/central-product-store-TS-vQ8-V.mjs | 20 + .../.output/server/_ssr/checkout-CaijlEpv.mjs | 153 + .../.output/server/_ssr/flash-CkaCI73Q.mjs | 109 + .../server/_ssr/flash.cart-BCcvG5Yb.mjs | 100 + .../server/_ssr/flash.checkout-D2UaQnns.mjs | 148 + .../_ssr/flash.order-success-Bs-Lyb2u.mjs | 12 + .../_ssr/flash.order-success-C9tkVfq7.mjs | 45 + .../_ssr/flash.product._id-SS95dT27.mjs | 84 + .../_ssr/flash.product._id-ZKApXVIZ.mjs | 6 + .../.output/server/_ssr/home-BxXKVXbQ.mjs | 557 + .../server/_ssr/home.cart-Bl_3HSf0.mjs | 102 + .../server/_ssr/home.checkout-o3MfvOFR.mjs | 148 + .../_ssr/home.order-success-COjzwSkc.mjs | 46 + .../_ssr/home.order-success-ng0baB-e.mjs | 12 + .../server/_ssr/home.product._id-B_8DxUhK.mjs | 6 + .../server/_ssr/home.product._id-C2EPG814.mjs | 100 + .../server/_ssr/home.search-C7gKn8CW.mjs | 11 + .../server/_ssr/home.search-pQXmTQuR.mjs | 75 + .../.output/server/_ssr/login-QH2hpwxi.mjs | 259 + .../.output/server/_ssr/me-Dn8Tk_dJ.mjs | 119 + .../.output/server/_ssr/me.about-ig0mha9d.mjs | 66 + .../server/_ssr/me.addresses-DS1Qf9Hh.mjs | 69 + .../server/_ssr/me.complaints-CUIcnKsp.mjs | 100 + .../server/_ssr/me.coupons-CK-hvcuK.mjs | 71 + .../server/_ssr/me.edit-profile-jHHMfrY4.mjs | 83 + .../server/_ssr/me.orders-CSqnUtwy.mjs | 57 + .../server/_ssr/me.orders._id-9KyXzQNP.mjs | 6 + .../server/_ssr/me.orders._id-Cq7m-7ba.mjs | 148 + .../.output/server/_ssr/me.terms-BY5QWW0t.mjs | 62 + .../_ssr/prominent-api-hooks-CNVDntUD.mjs | 96 + .../.output/server/_ssr/register-dcmJe--5.mjs | 95 + .../.output/server/_ssr/router-DCfyUfNl.mjs | 292 + .../.output/server/_ssr/src-u_N1opJl.mjs | 224 + apps/web-ui/.output/server/_ssr/ssr.mjs | 1367 ++ .../.output/server/_ssr/start-DkBWIoco.mjs | 4 + .../.output/server/_ssr/stores-CcccRdgP.mjs | 47 + .../server/_ssr/stores._storeId-CWdFRADX.mjs | 87 + .../server/_ssr/stores._storeId-Dh-du4bI.mjs | 6 + ...s._storeId.product._productId-C9GtcXdb.mjs | 89 + ...s._storeId.product._productId-D-wjnIdD.mjs | 6 + .../server/_ssr/trpc-client-CQOIB5UU.mjs | 21 + .../_tanstack-start-manifest_v-B3vqSR1M.mjs | 254 + apps/web-ui/.output/server/index.mjs | 672 + apps/web-ui/.vscode/settings.json | 11 + apps/web-ui/README.md | 207 + apps/web-ui/package-lock.json | 5065 ++++++ apps/web-ui/package.json | 51 + apps/web-ui/public/favicon.ico | Bin 0 -> 3870 bytes apps/web-ui/public/logo192.png | Bin 0 -> 5347 bytes apps/web-ui/public/logo512.png | Bin 0 -> 9664 bytes apps/web-ui/public/manifest.json | 25 + apps/web-ui/public/robots.txt | 3 + apps/web-ui/src/client.tsx | 7 + .../web-ui/src/components/AddToCartDialog.tsx | 239 + apps/web-ui/src/components/AddressForm.tsx | 257 + .../components/CheckoutAddressSelector.tsx | 150 + apps/web-ui/src/components/Dialog.tsx | 57 + .../components/PaymentAndOrderComponent.tsx | 402 + apps/web-ui/src/components/ProtectedRoute.tsx | 29 + apps/web-ui/src/components/index.ts | 5 + apps/web-ui/src/hooks/cart-query-hooks.ts | 133 + apps/web-ui/src/hooks/checkout-hooks.ts | 83 + apps/web-ui/src/hooks/index.ts | 1 + apps/web-ui/src/hooks/prominent-api-hooks.ts | 138 + apps/web-ui/src/lib/auth-context.tsx | 141 + apps/web-ui/src/lib/query-client.ts | 13 + apps/web-ui/src/lib/stores/address-store.ts | 13 + apps/web-ui/src/lib/stores/app-store.ts | 14 + apps/web-ui/src/lib/stores/cart-store.ts | 18 + .../src/lib/stores/central-product-store.ts | 37 + .../src/lib/stores/central-slot-store.ts | 36 + .../web-ui/src/lib/stores/flash-cart-store.ts | 11 + .../src/lib/stores/flash-navigation-store.ts | 11 + apps/web-ui/src/lib/stores/index.ts | 5 + .../web-ui/src/lib/stores/navigation-store.ts | 15 + .../src/lib/stores/quick-delivery-store.ts | 15 + apps/web-ui/src/lib/stores/slot-store.ts | 15 + .../src/lib/stores/store-header-store.ts | 11 + apps/web-ui/src/lib/trpc-client.ts | 30 + apps/web-ui/src/routeTree.gen.ts | 693 + apps/web-ui/src/router.tsx | 19 + apps/web-ui/src/routes/__root.tsx | 57 + apps/web-ui/src/routes/cart.tsx | 98 + apps/web-ui/src/routes/checkout.tsx | 134 + apps/web-ui/src/routes/flash.cart.tsx | 97 + apps/web-ui/src/routes/flash.checkout.tsx | 132 + .../web-ui/src/routes/flash.order-success.tsx | 39 + apps/web-ui/src/routes/flash.product.$id.tsx | 92 + apps/web-ui/src/routes/flash.tsx | 104 + apps/web-ui/src/routes/home.cart.tsx | 98 + apps/web-ui/src/routes/home.checkout.tsx | 134 + apps/web-ui/src/routes/home.order-success.tsx | 44 + apps/web-ui/src/routes/home.product.$id.tsx | 114 + apps/web-ui/src/routes/home.search.tsx | 71 + apps/web-ui/src/routes/home.tsx | 329 + apps/web-ui/src/routes/index.tsx | 7 + apps/web-ui/src/routes/login.tsx | 251 + apps/web-ui/src/routes/me.about.tsx | 64 + apps/web-ui/src/routes/me.addresses.tsx | 65 + apps/web-ui/src/routes/me.complaints.tsx | 116 + apps/web-ui/src/routes/me.coupons.tsx | 80 + apps/web-ui/src/routes/me.edit-profile.tsx | 93 + apps/web-ui/src/routes/me.orders.$id.tsx | 147 + apps/web-ui/src/routes/me.orders.tsx | 69 + apps/web-ui/src/routes/me.terms.tsx | 57 + apps/web-ui/src/routes/me.tsx | 115 + apps/web-ui/src/routes/register.tsx | 83 + .../stores.$storeId.product.$productId.tsx | 97 + apps/web-ui/src/routes/stores.$storeId.tsx | 95 + apps/web-ui/src/routes/stores.tsx | 53 + apps/web-ui/src/ssr.tsx | 9 + apps/web-ui/src/styles.css | 31 + apps/web-ui/tsconfig.json | 33 + apps/web-ui/vite.config.ts | 20 + bun.lock | 885 +- package-lock.json | 40 +- package.json | 4 + packages/ui/index.ts | 4 +- packages/web-components/components.json | 20 + packages/web-components/globals.css | 59 + packages/web-components/package.json | 28 + packages/web-components/postcss.config.js | 6 + .../src/components/app-container.tsx | 15 + .../src/components/checkbox.tsx | 63 + .../src/components/data-table.tsx | 57 + .../web-components/src/components/dialog.tsx | 126 + .../src/components/dropdown.tsx | 46 + .../src/components/flat-list.tsx | 51 + .../src/components/image-carousel.tsx | 44 + .../components/image-gallery-with-delete.tsx | 35 + .../src/components/image-gallery.tsx | 23 + .../src/components/image-uploader-neo.tsx | 106 + .../src/components/image-uploader.tsx | 68 + .../src/components/image-viewer.tsx | 60 + .../src/components/loading-dialog.tsx | 19 + .../src/components/my-button.tsx | 52 + .../src/components/my-text-input.tsx | 52 + .../web-components/src/components/my-text.tsx | 46 + .../src/components/my-touchable-opacity.tsx | 37 + .../src/components/profile-image.tsx | 34 + .../src/components/quantifier.tsx | 81 + .../src/components/search-bar.tsx | 70 + .../src/hooks/use-focus-callback.ts | 12 + .../src/hooks/use-is-dev-mode.ts | 8 + .../src/hooks/use-pagination.tsx | 33 + packages/web-components/src/index.ts | 37 + packages/web-components/src/lib/constants.ts | 7 + packages/web-components/src/lib/utils.ts | 6 + .../src/services/storage-service-casual.ts | 28 + .../src/services/storage-service.ts | 42 + packages/web-components/tailwind.config.ts | 89 + packages/web-components/tsconfig.json | 22 + 240 files changed, 65761 insertions(+), 50 deletions(-) create mode 100644 apps/web-ui/.cta.json create mode 100644 apps/web-ui/.output/nitro.json create mode 100644 apps/web-ui/.output/public/assets/arrow-left-9Wn53Zfu.js create mode 100644 apps/web-ui/.output/public/assets/cart-DbCdgo5T.js create mode 100644 apps/web-ui/.output/public/assets/cart-query-hooks-BCr0eax3.js create mode 100644 apps/web-ui/.output/public/assets/central-product-store-DGoerB5U.js create mode 100644 apps/web-ui/.output/public/assets/checkout-C55r-QU8.js create mode 100644 apps/web-ui/.output/public/assets/createLucideIcon-7nArgiy8.js create mode 100644 apps/web-ui/.output/public/assets/flash-DjIFIcDF.js create mode 100644 apps/web-ui/.output/public/assets/flash.cart-Uj5DbknX.js create mode 100644 apps/web-ui/.output/public/assets/flash.checkout-4WSH7Rnu.js create mode 100644 apps/web-ui/.output/public/assets/flash.order-success-BtcExp1_.js create mode 100644 apps/web-ui/.output/public/assets/flash.product._id-B92HJYgs.js create mode 100644 apps/web-ui/.output/public/assets/home-D1N8PZL-.js create mode 100644 apps/web-ui/.output/public/assets/home.cart-CQsu3-8T.js create mode 100644 apps/web-ui/.output/public/assets/home.checkout-Bl0spbDU.js create mode 100644 apps/web-ui/.output/public/assets/home.order-success-DnDz5HMq.js create mode 100644 apps/web-ui/.output/public/assets/home.product._id-u1x5UAhj.js create mode 100644 apps/web-ui/.output/public/assets/home.search-Dx-x6e4a.js create mode 100644 apps/web-ui/.output/public/assets/index-BXnbw4dQ.js create mode 100644 apps/web-ui/.output/public/assets/login-6RtWYa3a.js create mode 100644 apps/web-ui/.output/public/assets/map-pin-DbTySZl1.js create mode 100644 apps/web-ui/.output/public/assets/me-BCl-FNTs.js create mode 100644 apps/web-ui/.output/public/assets/me.about-CQEAs02D.js create mode 100644 apps/web-ui/.output/public/assets/me.addresses-BJHDsZnx.js create mode 100644 apps/web-ui/.output/public/assets/me.complaints-Z0J1UdPZ.js create mode 100644 apps/web-ui/.output/public/assets/me.coupons-Cxfwr8iO.js create mode 100644 apps/web-ui/.output/public/assets/me.edit-profile-Djrkm7XG.js create mode 100644 apps/web-ui/.output/public/assets/me.orders-Dg14cvEl.js create mode 100644 apps/web-ui/.output/public/assets/me.orders._id-C7HAI1M3.js create mode 100644 apps/web-ui/.output/public/assets/me.terms-D4lFagim.js create mode 100644 apps/web-ui/.output/public/assets/message-square-BE-hnHXL.js create mode 100644 apps/web-ui/.output/public/assets/package-CgMILU3n.js create mode 100644 apps/web-ui/.output/public/assets/preload-helper-mv2i1dUS.js create mode 100644 apps/web-ui/.output/public/assets/prominent-api-hooks-DipwWw0H.js create mode 100644 apps/web-ui/.output/public/assets/react-BnURElzN.js create mode 100644 apps/web-ui/.output/public/assets/register-D51Ue4qE.js create mode 100644 apps/web-ui/.output/public/assets/shopping-cart-BBNoSjWE.js create mode 100644 apps/web-ui/.output/public/assets/src-C0xjWfnx.js create mode 100644 apps/web-ui/.output/public/assets/stores-DmmchhEr.js create mode 100644 apps/web-ui/.output/public/assets/stores._storeId-Bo_VK1An.js create mode 100644 apps/web-ui/.output/public/assets/stores._storeId.product._productId-D-WdUvge.js create mode 100644 apps/web-ui/.output/public/assets/styles-DWsgI6YW.css create mode 100644 apps/web-ui/.output/public/assets/ticket-DHIzx079.js create mode 100644 apps/web-ui/.output/public/assets/trash-2-B2Qxo_rV.js create mode 100644 apps/web-ui/.output/public/assets/trpc-client-QrVjRqP1.js create mode 100644 apps/web-ui/.output/public/assets/truck-DbJZ8T2i.js create mode 100644 apps/web-ui/.output/public/assets/useMutation-DvG2_Fq3.js create mode 100644 apps/web-ui/.output/public/assets/useNavigate-VRicZWJI.js create mode 100644 apps/web-ui/.output/public/assets/zap-CufcM84a.js create mode 100644 apps/web-ui/.output/public/favicon.ico create mode 100644 apps/web-ui/.output/public/logo192.png create mode 100644 apps/web-ui/.output/public/logo512.png create mode 100644 apps/web-ui/.output/public/manifest.json create mode 100644 apps/web-ui/.output/public/robots.txt create mode 100644 apps/web-ui/.output/server/__23tanstack-start-plugin-adapters-y_fshQDY.mjs create mode 100644 apps/web-ui/.output/server/_chunks/ssr-renderer.mjs create mode 100644 apps/web-ui/.output/server/_libs/@tanstack/react-router+[...].mjs create mode 100644 apps/web-ui/.output/server/_libs/@tanstack/router-core+[...].mjs create mode 100644 apps/web-ui/.output/server/_libs/asynckit.mjs create mode 100644 apps/web-ui/.output/server/_libs/axios+[...].mjs create mode 100644 apps/web-ui/.output/server/_libs/clsx.mjs create mode 100644 apps/web-ui/.output/server/_libs/dayjs.mjs create mode 100644 apps/web-ui/.output/server/_libs/fuse.js.mjs create mode 100644 apps/web-ui/.output/server/_libs/h3+rou3+srvx.mjs create mode 100644 apps/web-ui/.output/server/_libs/h3-v2.mjs create mode 100644 apps/web-ui/.output/server/_libs/lucide-react.mjs create mode 100644 apps/web-ui/.output/server/_libs/react+tanstack__react-query.mjs create mode 100644 apps/web-ui/.output/server/_libs/react-hook-form.mjs create mode 100644 apps/web-ui/.output/server/_libs/tailwind-merge.mjs create mode 100644 apps/web-ui/.output/server/_libs/tanstack__history.mjs create mode 100644 apps/web-ui/.output/server/_libs/tanstack__query-core.mjs create mode 100644 apps/web-ui/.output/server/_libs/tanstack__react-query-devtools.mjs create mode 100644 apps/web-ui/.output/server/_libs/trpc__client+trpc__server.mjs create mode 100644 apps/web-ui/.output/server/_libs/trpc__react-query.mjs create mode 100644 apps/web-ui/.output/server/_libs/ufo.mjs create mode 100644 apps/web-ui/.output/server/_libs/zustand.mjs create mode 100644 apps/web-ui/.output/server/_runtime.mjs create mode 100644 apps/web-ui/.output/server/_ssr/auth-context-DzjwonUC.mjs create mode 100644 apps/web-ui/.output/server/_ssr/cart-CHg5Ccyz.mjs create mode 100644 apps/web-ui/.output/server/_ssr/cart-query-hooks-Bz8ID9jY.mjs create mode 100644 apps/web-ui/.output/server/_ssr/central-product-store-TS-vQ8-V.mjs create mode 100644 apps/web-ui/.output/server/_ssr/checkout-CaijlEpv.mjs create mode 100644 apps/web-ui/.output/server/_ssr/flash-CkaCI73Q.mjs create mode 100644 apps/web-ui/.output/server/_ssr/flash.cart-BCcvG5Yb.mjs create mode 100644 apps/web-ui/.output/server/_ssr/flash.checkout-D2UaQnns.mjs create mode 100644 apps/web-ui/.output/server/_ssr/flash.order-success-Bs-Lyb2u.mjs create mode 100644 apps/web-ui/.output/server/_ssr/flash.order-success-C9tkVfq7.mjs create mode 100644 apps/web-ui/.output/server/_ssr/flash.product._id-SS95dT27.mjs create mode 100644 apps/web-ui/.output/server/_ssr/flash.product._id-ZKApXVIZ.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home-BxXKVXbQ.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home.cart-Bl_3HSf0.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home.checkout-o3MfvOFR.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home.order-success-COjzwSkc.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home.order-success-ng0baB-e.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home.product._id-B_8DxUhK.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home.product._id-C2EPG814.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home.search-C7gKn8CW.mjs create mode 100644 apps/web-ui/.output/server/_ssr/home.search-pQXmTQuR.mjs create mode 100644 apps/web-ui/.output/server/_ssr/login-QH2hpwxi.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me-Dn8Tk_dJ.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.about-ig0mha9d.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.addresses-DS1Qf9Hh.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.complaints-CUIcnKsp.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.coupons-CK-hvcuK.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.edit-profile-jHHMfrY4.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.orders-CSqnUtwy.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.orders._id-9KyXzQNP.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.orders._id-Cq7m-7ba.mjs create mode 100644 apps/web-ui/.output/server/_ssr/me.terms-BY5QWW0t.mjs create mode 100644 apps/web-ui/.output/server/_ssr/prominent-api-hooks-CNVDntUD.mjs create mode 100644 apps/web-ui/.output/server/_ssr/register-dcmJe--5.mjs create mode 100644 apps/web-ui/.output/server/_ssr/router-DCfyUfNl.mjs create mode 100644 apps/web-ui/.output/server/_ssr/src-u_N1opJl.mjs create mode 100644 apps/web-ui/.output/server/_ssr/ssr.mjs create mode 100644 apps/web-ui/.output/server/_ssr/start-DkBWIoco.mjs create mode 100644 apps/web-ui/.output/server/_ssr/stores-CcccRdgP.mjs create mode 100644 apps/web-ui/.output/server/_ssr/stores._storeId-CWdFRADX.mjs create mode 100644 apps/web-ui/.output/server/_ssr/stores._storeId-Dh-du4bI.mjs create mode 100644 apps/web-ui/.output/server/_ssr/stores._storeId.product._productId-C9GtcXdb.mjs create mode 100644 apps/web-ui/.output/server/_ssr/stores._storeId.product._productId-D-wjnIdD.mjs create mode 100644 apps/web-ui/.output/server/_ssr/trpc-client-CQOIB5UU.mjs create mode 100644 apps/web-ui/.output/server/_tanstack-start-manifest_v-B3vqSR1M.mjs create mode 100644 apps/web-ui/.output/server/index.mjs create mode 100644 apps/web-ui/.vscode/settings.json create mode 100644 apps/web-ui/README.md create mode 100644 apps/web-ui/package-lock.json create mode 100644 apps/web-ui/package.json create mode 100644 apps/web-ui/public/favicon.ico create mode 100644 apps/web-ui/public/logo192.png create mode 100644 apps/web-ui/public/logo512.png create mode 100644 apps/web-ui/public/manifest.json create mode 100644 apps/web-ui/public/robots.txt create mode 100644 apps/web-ui/src/client.tsx create mode 100644 apps/web-ui/src/components/AddToCartDialog.tsx create mode 100644 apps/web-ui/src/components/AddressForm.tsx create mode 100644 apps/web-ui/src/components/CheckoutAddressSelector.tsx create mode 100644 apps/web-ui/src/components/Dialog.tsx create mode 100644 apps/web-ui/src/components/PaymentAndOrderComponent.tsx create mode 100644 apps/web-ui/src/components/ProtectedRoute.tsx create mode 100644 apps/web-ui/src/components/index.ts create mode 100644 apps/web-ui/src/hooks/cart-query-hooks.ts create mode 100644 apps/web-ui/src/hooks/checkout-hooks.ts create mode 100644 apps/web-ui/src/hooks/index.ts create mode 100644 apps/web-ui/src/hooks/prominent-api-hooks.ts create mode 100644 apps/web-ui/src/lib/auth-context.tsx create mode 100644 apps/web-ui/src/lib/query-client.ts create mode 100644 apps/web-ui/src/lib/stores/address-store.ts create mode 100644 apps/web-ui/src/lib/stores/app-store.ts create mode 100644 apps/web-ui/src/lib/stores/cart-store.ts create mode 100644 apps/web-ui/src/lib/stores/central-product-store.ts create mode 100644 apps/web-ui/src/lib/stores/central-slot-store.ts create mode 100644 apps/web-ui/src/lib/stores/flash-cart-store.ts create mode 100644 apps/web-ui/src/lib/stores/flash-navigation-store.ts create mode 100644 apps/web-ui/src/lib/stores/index.ts create mode 100644 apps/web-ui/src/lib/stores/navigation-store.ts create mode 100644 apps/web-ui/src/lib/stores/quick-delivery-store.ts create mode 100644 apps/web-ui/src/lib/stores/slot-store.ts create mode 100644 apps/web-ui/src/lib/stores/store-header-store.ts create mode 100644 apps/web-ui/src/lib/trpc-client.ts create mode 100644 apps/web-ui/src/routeTree.gen.ts create mode 100644 apps/web-ui/src/router.tsx create mode 100644 apps/web-ui/src/routes/__root.tsx create mode 100644 apps/web-ui/src/routes/cart.tsx create mode 100644 apps/web-ui/src/routes/checkout.tsx create mode 100644 apps/web-ui/src/routes/flash.cart.tsx create mode 100644 apps/web-ui/src/routes/flash.checkout.tsx create mode 100644 apps/web-ui/src/routes/flash.order-success.tsx create mode 100644 apps/web-ui/src/routes/flash.product.$id.tsx create mode 100644 apps/web-ui/src/routes/flash.tsx create mode 100644 apps/web-ui/src/routes/home.cart.tsx create mode 100644 apps/web-ui/src/routes/home.checkout.tsx create mode 100644 apps/web-ui/src/routes/home.order-success.tsx create mode 100644 apps/web-ui/src/routes/home.product.$id.tsx create mode 100644 apps/web-ui/src/routes/home.search.tsx create mode 100644 apps/web-ui/src/routes/home.tsx create mode 100644 apps/web-ui/src/routes/index.tsx create mode 100644 apps/web-ui/src/routes/login.tsx create mode 100644 apps/web-ui/src/routes/me.about.tsx create mode 100644 apps/web-ui/src/routes/me.addresses.tsx create mode 100644 apps/web-ui/src/routes/me.complaints.tsx create mode 100644 apps/web-ui/src/routes/me.coupons.tsx create mode 100644 apps/web-ui/src/routes/me.edit-profile.tsx create mode 100644 apps/web-ui/src/routes/me.orders.$id.tsx create mode 100644 apps/web-ui/src/routes/me.orders.tsx create mode 100644 apps/web-ui/src/routes/me.terms.tsx create mode 100644 apps/web-ui/src/routes/me.tsx create mode 100644 apps/web-ui/src/routes/register.tsx create mode 100644 apps/web-ui/src/routes/stores.$storeId.product.$productId.tsx create mode 100644 apps/web-ui/src/routes/stores.$storeId.tsx create mode 100644 apps/web-ui/src/routes/stores.tsx create mode 100644 apps/web-ui/src/ssr.tsx create mode 100644 apps/web-ui/src/styles.css create mode 100644 apps/web-ui/tsconfig.json create mode 100644 apps/web-ui/vite.config.ts create mode 100644 packages/web-components/components.json create mode 100644 packages/web-components/globals.css create mode 100644 packages/web-components/package.json create mode 100644 packages/web-components/postcss.config.js create mode 100644 packages/web-components/src/components/app-container.tsx create mode 100644 packages/web-components/src/components/checkbox.tsx create mode 100644 packages/web-components/src/components/data-table.tsx create mode 100644 packages/web-components/src/components/dialog.tsx create mode 100644 packages/web-components/src/components/dropdown.tsx create mode 100644 packages/web-components/src/components/flat-list.tsx create mode 100644 packages/web-components/src/components/image-carousel.tsx create mode 100644 packages/web-components/src/components/image-gallery-with-delete.tsx create mode 100644 packages/web-components/src/components/image-gallery.tsx create mode 100644 packages/web-components/src/components/image-uploader-neo.tsx create mode 100644 packages/web-components/src/components/image-uploader.tsx create mode 100644 packages/web-components/src/components/image-viewer.tsx create mode 100644 packages/web-components/src/components/loading-dialog.tsx create mode 100644 packages/web-components/src/components/my-button.tsx create mode 100644 packages/web-components/src/components/my-text-input.tsx create mode 100644 packages/web-components/src/components/my-text.tsx create mode 100644 packages/web-components/src/components/my-touchable-opacity.tsx create mode 100644 packages/web-components/src/components/profile-image.tsx create mode 100644 packages/web-components/src/components/quantifier.tsx create mode 100644 packages/web-components/src/components/search-bar.tsx create mode 100644 packages/web-components/src/hooks/use-focus-callback.ts create mode 100644 packages/web-components/src/hooks/use-is-dev-mode.ts create mode 100644 packages/web-components/src/hooks/use-pagination.tsx create mode 100644 packages/web-components/src/index.ts create mode 100644 packages/web-components/src/lib/constants.ts create mode 100644 packages/web-components/src/lib/utils.ts create mode 100644 packages/web-components/src/services/storage-service-casual.ts create mode 100644 packages/web-components/src/services/storage-service.ts create mode 100644 packages/web-components/tailwind.config.ts create mode 100644 packages/web-components/tsconfig.json diff --git a/apps/backend/.wrangler/state/v3/do/freshyo-backend-CacheCreator/dfa6f17a813eaf9ad999935788399d71cfee3694a0a726e6d79c51fb1e78afcd.sqlite b/apps/backend/.wrangler/state/v3/do/freshyo-backend-CacheCreator/dfa6f17a813eaf9ad999935788399d71cfee3694a0a726e6d79c51fb1e78afcd.sqlite index e8c9617280b0e9466d08cd0978a978567c55048e..242b3723ee8c13e65e0887ec01ff02af89b92348 100644 GIT binary patch delta 26 icmZojXh_)bQ=XMUOM?I5=6~|P`PtX0F*7nVFaQ9FjtG1J delta 26 icmZojXh_)bQ=YY;j_cQ*&Hv { // CORS middleware app.use(cors({ - origin: ['http://localhost:5174', 'https://ui.freshyo.in'], + origin: ['http://localhost:5174', 'http://localhost:4174', 'https://ui.freshyo.in'], allowMethods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'], - allowHeaders: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'Authorization'], + allowHeaders: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'Authorization', 'Caller-Interface'], credentials: true, })) @@ -26,13 +26,31 @@ export const createApp = () => { // tRPC middleware app.use('/api/trpc/*', trpcServer({ router: appRouter, - createContext: async ({ req }) => { + createContext: async ({ req, c }) => { let user = null let staffUser = null const authHeader = req.headers.get('authorization') + const callerInterface = req.headers.get('caller-interface') + + let token: string | null = null if (authHeader?.startsWith('Bearer ')) { - const token = authHeader.substring(7) + token = authHeader.substring(7) + } else { + // Fallback: try reading token from cookie + const cookieHeader = req.headers.get('cookie') + if (cookieHeader) { + const cookies = Object.fromEntries( + cookieHeader.split(';').map((pair) => { + const [k, ...v] = pair.trim().split('=') + return [k, v.join('=')] + }) + ) + token = cookies['auth_token'] || null + } + } + + if (token) { try { const { payload } = await jwtVerify(token, getEncodedJwtSecret()) const decoded = payload as any @@ -67,7 +85,7 @@ export const createApp = () => { // Invalid token, both user and staffUser remain null } } - return { req, user, staffUser } + return { req, c, user, staffUser, callerInterface } }, onError({ error, path, type, ctx }) { console.error('🚨 tRPC Error :', { diff --git a/apps/backend/src/trpc/apis/user-apis/apis/auth.ts b/apps/backend/src/trpc/apis/user-apis/apis/auth.ts index 5e4f8e4..e4628bb 100644 --- a/apps/backend/src/trpc/apis/user-apis/apis/auth.ts +++ b/apps/backend/src/trpc/apis/user-apis/apis/auth.ts @@ -48,7 +48,14 @@ const generateToken = async (userId: number): Promise => { .sign(getEncodedJwtSecret()); }; - +const setAuthCookie = (ctx: any, token: string) => { + if (ctx.callerInterface === 'web' && ctx.c) { + ctx.c.header( + 'Set-Cookie', + `auth_token=${token}; HttpOnly; Secure; SameSite=Lax; Path=/; Max-Age=604800` + ) + } +} export const authRouter = router({ login: publicProcedure @@ -56,7 +63,7 @@ export const authRouter = router({ identifier: z.string().min(1, 'Email/mobile is required'), password: z.string().min(1, 'Password is required'), })) - .mutation(async ({ input }): Promise => { + .mutation(async ({ input, ctx }): Promise => { const { identifier, password }: LoginRequest = input; if (!identifier || !password) { @@ -99,6 +106,7 @@ export const authRouter = router({ } const token = await generateToken(foundUser.id); + setAuthCookie(ctx, token); const response: UserAuthResponse = { token, @@ -132,7 +140,7 @@ export const authRouter = router({ password: z.string().min(1, 'Password is required'), profileImageUrl: z.string().nullable().optional(), })) - .mutation(async ({ input }): Promise => { + .mutation(async ({ input, ctx }): Promise => { const { name, email, mobile, password, profileImageUrl }: RegisterRequest = input; if (!name || !email || !mobile || !password) { @@ -178,6 +186,7 @@ export const authRouter = router({ }) const token = await generateToken(newUser.id); + setAuthCookie(ctx, token); const profileImageSignedUrl = profileImageUrl ? await generateSignedUrlFromS3Url(profileImageUrl) @@ -215,7 +224,7 @@ export const authRouter = router({ mobile: z.string(), otp: z.string(), })) - .mutation(async ({ input }): Promise => { + .mutation(async ({ input, ctx }): Promise => { const verificationId = getOtpCreds(input.mobile); if (!verificationId) { throw new ApiError("OTP not sent or expired", 400); @@ -236,6 +245,7 @@ export const authRouter = router({ // Generate JWT const token = await generateToken(user.id); + setAuthCookie(ctx, token); return { success: true, diff --git a/apps/backend/src/trpc/apis/user-apis/apis/product.ts b/apps/backend/src/trpc/apis/user-apis/apis/product.ts index 5e1dc00..d65d225 100644 --- a/apps/backend/src/trpc/apis/user-apis/apis/product.ts +++ b/apps/backend/src/trpc/apis/user-apis/apis/product.ts @@ -57,31 +57,6 @@ export const productRouter = router({ // If not in cache, fetch from database (fallback) const productData = await getUserProductDetailByIdInDb(productId) - /* - // Old implementation - direct DB queries: - const productData = await db - .select({ - id: productInfo.id, - name: productInfo.name, - shortDescription: productInfo.shortDescription, - longDescription: productInfo.longDescription, - price: productInfo.price, - marketPrice: productInfo.marketPrice, - images: productInfo.images, - isOutOfStock: productInfo.isOutOfStock, - storeId: productInfo.storeId, - unitShortNotation: units.shortNotation, - incrementStep: productInfo.incrementStep, - productQuantity: productInfo.productQuantity, - isFlashAvailable: productInfo.isFlashAvailable, - flashPrice: productInfo.flashPrice, - }) - .from(productInfo) - .innerJoin(units, eq(productInfo.unitId, units.id)) - .where(eq(productInfo.id, productId)) - .limit(1); - */ - if (!productData) { throw new Error('Product not found') } diff --git a/apps/backend/src/trpc/trpc-index.ts b/apps/backend/src/trpc/trpc-index.ts index 9c30803..db125ac 100644 --- a/apps/backend/src/trpc/trpc-index.ts +++ b/apps/backend/src/trpc/trpc-index.ts @@ -3,11 +3,13 @@ import type { Context as HonoContext } from 'hono'; export interface Context { req: HonoContext['req']; + c: HonoContext; user?: any; staffUser?: { id: number; name: string; } | null; + callerInterface?: string | null; } const t = initTRPC.context().create(); diff --git a/apps/user-ui/package.json b/apps/user-ui/package.json index 6c5da91..b28bfb2 100644 --- a/apps/user-ui/package.json +++ b/apps/user-ui/package.json @@ -23,7 +23,6 @@ "@trpc/client": "^11.6.0", "@trpc/react-query": "^11.6.0", "axios": "^1.11.0", - "buffer": "^6.0.3", "dayjs": "^1.11.18", "expo": "~53.0.22", "expo-blur": "~14.1.5", diff --git a/apps/web-ui/.cta.json b/apps/web-ui/.cta.json new file mode 100644 index 0000000..ccd23b8 --- /dev/null +++ b/apps/web-ui/.cta.json @@ -0,0 +1,19 @@ +{ + "projectName": "web-ui", + "mode": "file-router", + "typescript": true, + "tailwind": true, + "packageManager": "bun", + "git": true, + "install": true, + "intent": true, + "addOnOptions": {}, + "includeExamples": false, + "envVarValues": {}, + "routerOnly": false, + "version": 1, + "framework": "react", + "chosenAddOns": [ + "nitro" + ] +} \ No newline at end of file diff --git a/apps/web-ui/.output/nitro.json b/apps/web-ui/.output/nitro.json new file mode 100644 index 0000000..7d44890 --- /dev/null +++ b/apps/web-ui/.output/nitro.json @@ -0,0 +1,17 @@ +{ + "date": "2026-05-10T09:04:44.879Z", + "preset": "node-server", + "framework": { + "name": "nitro", + "version": "3.0.1-20260508-123613-d2e64906" + }, + "versions": { + "nitro": "3.0.1-20260508-123613-d2e64906" + }, + "serverEntry": "server/index.mjs", + "publicDir": "public", + "commands": { + "preview": "node ./server/index.mjs" + }, + "config": {} +} \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/arrow-left-9Wn53Zfu.js b/apps/web-ui/.output/public/assets/arrow-left-9Wn53Zfu.js new file mode 100644 index 0000000..5f86b5d --- /dev/null +++ b/apps/web-ui/.output/public/assets/arrow-left-9Wn53Zfu.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`ArrowLeft`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/cart-DbCdgo5T.js b/apps/web-ui/.output/public/assets/cart-DbCdgo5T.js new file mode 100644 index 0000000..1233e37 --- /dev/null +++ b/apps/web-ui/.output/public/assets/cart-DbCdgo5T.js @@ -0,0 +1 @@ +import{d as e,l as t,r as n,s as r,t as i,u as a}from"./src-C0xjWfnx.js";import{t as o}from"./useNavigate-VRicZWJI.js";import{t as s}from"./trash-2-B2Qxo_rV.js";import{a as c,i as l,r as u}from"./cart-query-hooks-BCr0eax3.js";import{t as d}from"./prominent-api-hooks-DipwWw0H.js";var f=e();function p(){let e=o(),{data:p}=u(`regular`),{data:m}=d(),h=c(`regular`),g=l(`regular`),_=m?.products||[],v={};_.forEach(e=>{v[e.id]=e});let y=(p?.items||[]).filter(e=>v[e.productId]),b=0;return y.forEach(e=>{let t=v[e.productId];t&&(b+=t.price*e.quantity)}),(0,f.jsxs)(i,{children:[(0,f.jsx)(a,{weight:`bold`,className:`mb-4 text-xl`,children:`Your Cart`}),y.length===0?(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,f.jsx)(a,{className:`text-gray-500`,children:`Your cart is empty`}),(0,f.jsx)(t,{textContent:`Browse Products`,onClick:()=>e({to:`/home`})})]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{className:`flex flex-col gap-3`,children:y.map(e=>{let t=v[e.productId],i=t.price;return(0,f.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl border border-gray-100 bg-white p-3 shadow-sm`,children:[(0,f.jsx)(`img`,{src:t.images?.[0],alt:t.name,className:`h-16 w-16 rounded-lg object-cover`}),(0,f.jsxs)(`div`,{className:`flex-1`,children:[(0,f.jsx)(a,{weight:`semibold`,className:`text-sm`,numberOfLines:1,children:t.name}),(0,f.jsxs)(a,{className:`text-brand-600 text-sm font-bold`,children:[`₹`,i]}),(0,f.jsx)(n,{value:e.quantity,setValue:t=>h.mutate({productId:e.productId,quantity:t})})]}),(0,f.jsx)(r,{onClick:()=>g.mutate(e.productId),children:(0,f.jsx)(s,{className:`h-5 w-5 text-red-500`})})]},e.productId)})}),(0,f.jsxs)(`div`,{className:`fixed bottom-0 left-0 right-0 border-t border-gray-200 bg-white p-4 shadow-lg`,children:[(0,f.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,f.jsx)(a,{weight:`bold`,children:`Total`}),(0,f.jsxs)(a,{weight:`bold`,className:`text-lg text-brand-600`,children:[`₹`,b]})]}),(0,f.jsx)(t,{fullWidth:!0,textContent:`Proceed to Checkout`,onClick:()=>e({to:`/checkout`}),className:`bg-brand-500 text-white`})]})]})]})}export{p as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/cart-query-hooks-BCr0eax3.js b/apps/web-ui/.output/public/assets/cart-query-hooks-BCr0eax3.js new file mode 100644 index 0000000..379e4f5 --- /dev/null +++ b/apps/web-ui/.output/public/assets/cart-query-hooks-BCr0eax3.js @@ -0,0 +1 @@ +import{m as e,n as t,t as n}from"./useMutation-DvG2_Fq3.js";function r(e){return`local-cart-${e}`}function i(e){try{let t=localStorage.getItem(r(e));return t?JSON.parse(t):[]}catch{return[]}}function a(e,t){localStorage.setItem(r(e),JSON.stringify(t))}function o(e=`regular`){return t({queryKey:[r(e)],queryFn:()=>{let t=i(e);return{items:t,totalItems:t.reduce((e,t)=>e+t.quantity,0),totalAmount:0}}})}function s(t=`regular`){let o=e();return n({mutationFn:async({productId:e,quantity:n,storeId:r,slotId:o,deliveryDate:s})=>{let c=i(t),l=c.find(t=>t.productId===e);l?(l.quantity+=n,o&&(l.slotId=o),s&&(l.deliveryDate=s)):c.push({id:Date.now(),productId:e,quantity:n,storeId:r,addedAt:Date.now(),slotId:o??null,deliveryDate:s??null}),a(t,c)},onSuccess:()=>{o.invalidateQueries({queryKey:[r(t)]})}})}function c(t=`regular`){let o=e();return n({mutationFn:async({productId:e,quantity:n,slotId:r,deliveryDate:o})=>{let s=i(t),c=s.find(t=>t.productId===e);c&&(c.quantity=n,r!==void 0&&(c.slotId=r),o!==void 0&&(c.deliveryDate=o)),a(t,s)},onSuccess:()=>{o.invalidateQueries({queryKey:[r(t)]})}})}function l(t=`regular`){let o=e();return n({mutationFn:async e=>{let n=i(t);n=n.filter(t=>t.productId!==e),a(t,n)},onSuccess:()=>{o.invalidateQueries({queryKey:[r(t)]})}})}function u(e=`regular`){localStorage.removeItem(r(e))}export{c as a,l as i,s as n,o as r,u as t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/central-product-store-DGoerB5U.js b/apps/web-ui/.output/public/assets/central-product-store-DGoerB5U.js new file mode 100644 index 0000000..ae01d37 --- /dev/null +++ b/apps/web-ui/.output/public/assets/central-product-store-DGoerB5U.js @@ -0,0 +1 @@ +import{t as e}from"./react-BnURElzN.js";var t=e(e=>({products:[],productsById:{},setProducts:t=>{let n={};t.forEach(e=>{n[e.id]=e}),e({products:t,productsById:n})},refetchProducts:null,setRefetchProducts:t=>e({refetchProducts:t})}));export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/checkout-C55r-QU8.js b/apps/web-ui/.output/public/assets/checkout-C55r-QU8.js new file mode 100644 index 0000000..ceea9c5 --- /dev/null +++ b/apps/web-ui/.output/public/assets/checkout-C55r-QU8.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,o as i,s as a,t as o,u as s}from"./src-C0xjWfnx.js";import{t as c}from"./useNavigate-VRicZWJI.js";import{m as l}from"./useMutation-DvG2_Fq3.js";import{n as u}from"./trpc-client-QrVjRqP1.js";import{l as d}from"./index-BXnbw4dQ.js";import{r as f,t as p}from"./cart-query-hooks-BCr0eax3.js";import{t as m}from"./prominent-api-hooks-DipwWw0H.js";var h=n(t()),g=e();function _(){let e=c(),t=l(),{isAuthenticated:n}=d(),{data:_}=f(`regular`),{data:v}=m(),[y,b]=(0,h.useState)(!1),x=v?.products||[],S={};x.forEach(e=>{S[e.id]=e});let{data:C}=u.user.address.getUserAddresses.useQuery(void 0,{enabled:n}),[w,T]=(0,h.useState)(null),E=(_?.items||[]).filter(e=>S[e.productId]),D=0;E.forEach(e=>{let t=S[e.productId];t&&(D+=t.price*e.quantity)});let O=u.user.order.placeOrder.useMutation({onSuccess:n=>{let r=n.data?.[0];p(`regular`),t.invalidateQueries({queryKey:[`local-cart-regular`]}),e({to:`/home/order-success`,search:{orderId:r?.id,totalAmount:D}})},onSettled:()=>b(!1)});return(0,g.jsxs)(o,{children:[(0,g.jsx)(s,{weight:`bold`,className:`mb-4 text-xl`,children:`Checkout`}),(0,g.jsxs)(`div`,{className:`mb-6`,children:[(0,g.jsx)(s,{weight:`semibold`,className:`mb-2`,children:`Delivery Address`}),C?.data?.map(e=>(0,g.jsxs)(a,{onClick:()=>T(e.id),className:`mb-2 rounded-xl border p-3 ${w===e.id?`border-brand-500 bg-brand-50`:`border-gray-200`}`,children:[(0,g.jsx)(s,{weight:`semibold`,children:e.name}),(0,g.jsxs)(s,{className:`text-sm text-gray-600`,children:[e.addressLine1,`, `,e.city]}),(0,g.jsx)(s,{className:`text-sm text-gray-500`,children:e.phone})]},e.id))]}),(0,g.jsxs)(`div`,{className:`mb-6`,children:[(0,g.jsx)(s,{weight:`semibold`,className:`mb-2`,children:`Order Summary`}),E.map(e=>{let t=S[e.productId];return t?(0,g.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,g.jsxs)(s,{className:`text-sm`,numberOfLines:1,children:[t.name,` x`,e.quantity]}),(0,g.jsxs)(s,{className:`text-sm font-bold`,children:[`₹`,t.price*e.quantity]})]},e.productId):null}),(0,g.jsx)(`div`,{className:`mt-2 border-t border-gray-200 pt-2`,children:(0,g.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,g.jsx)(s,{weight:`bold`,children:`Total`}),(0,g.jsxs)(s,{weight:`bold`,className:`text-brand-600`,children:[`₹`,D]})]})})]}),(0,g.jsx)(r,{fullWidth:!0,textContent:`Place Order (COD)`,onClick:()=>{w&&(b(!0),O.mutate({selectedItems:E.map(e=>({productId:e.productId,quantity:e.quantity,slotId:null})),addressId:w,paymentMethod:`cod`,isFlashDelivery:!1}))},disabled:!w||O.isPending,className:`bg-brand-500 text-white`}),(0,g.jsx)(i,{open:y,message:`Placing your order...`})]})}export{_ as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/createLucideIcon-7nArgiy8.js b/apps/web-ui/.output/public/assets/createLucideIcon-7nArgiy8.js new file mode 100644 index 0000000..48d8140 --- /dev/null +++ b/apps/web-ui/.output/public/assets/createLucideIcon-7nArgiy8.js @@ -0,0 +1 @@ +import{f as e,h as t}from"./src-C0xjWfnx.js";var n=t(e()),r=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),i=(...e)=>e.filter((e,t,n)=>!!e&&n.indexOf(e)===t).join(` `),a={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},o=(0,n.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:s=``,children:c,iconNode:l,...u},d)=>(0,n.createElement)(`svg`,{ref:d,...a,width:t,height:t,stroke:e,strokeWidth:o?Number(r)*24/Number(t):r,className:i(`lucide`,s),...u},[...l.map(([e,t])=>(0,n.createElement)(e,t)),...Array.isArray(c)?c:[c]])),s=(e,t)=>{let a=(0,n.forwardRef)(({className:a,...s},c)=>(0,n.createElement)(o,{ref:c,iconNode:t,className:i(`lucide-${r(e)}`,a),...s}));return a.displayName=`${e}`,a};export{s as t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/flash-DjIFIcDF.js b/apps/web-ui/.output/public/assets/flash-DjIFIcDF.js new file mode 100644 index 0000000..f0827bb --- /dev/null +++ b/apps/web-ui/.output/public/assets/flash-DjIFIcDF.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,r as i,t as a,u as o}from"./src-C0xjWfnx.js";import{t as s}from"./useNavigate-VRicZWJI.js";import{t as c}from"./shopping-cart-BBNoSjWE.js";import{t as l}from"./zap-CufcM84a.js";import{n as u}from"./cart-query-hooks-BCr0eax3.js";import{t as d}from"./react-BnURElzN.js";import{t as f}from"./central-product-store-DGoerB5U.js";var p=n(t()),m=d(e=>({slots:[],productSlotsMap:{},setSlots:t=>e({slots:t}),setProductSlotsMap:t=>e({productSlotsMap:t}),refetchSlots:null,setRefetchSlots:t=>e({refetchSlots:t})})),h=e();function g(){let e=s(),t=f(e=>e.products),n=m(e=>e.productSlotsMap),[d,g]=(0,p.useState)({}),_=u(`flash`),v=t.filter(e=>n[e.id]?.isFlashAvailable&&!n[e.id]?.isOutOfStock),y=t=>{let n=d[t.id]||1;_.mutate({productId:t.id,quantity:n,storeId:t.storeId},{onSuccess:()=>e({to:`/flash/cart`})})};return(0,h.jsxs)(a,{children:[(0,h.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,h.jsx)(l,{className:`h-6 w-6 text-yellow-500`}),(0,h.jsx)(o,{weight:`bold`,className:`text-xl`,children:`1 Hr Delivery`})]}),(0,h.jsx)(`div`,{className:`mb-4 rounded-xl bg-yellow-50 p-3`,children:(0,h.jsx)(o,{className:`text-sm text-yellow-800`,children:`Get these products delivered within 1 hour! Only available for select items.`})}),(0,h.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:v.map(e=>{let t=e.discountedPrice??e.price,n=d[e.id]||1;return(0,h.jsxs)(`div`,{className:`rounded-xl border border-gray-100 bg-white p-3 shadow-sm`,children:[(0,h.jsx)(`div`,{className:`mb-2 aspect-square w-full overflow-hidden rounded-lg bg-gray-100`,children:e.images?.[0]&&(0,h.jsx)(`img`,{src:e.images[0].uri,alt:e.name,className:`h-full w-full object-cover`})}),(0,h.jsx)(o,{weight:`semibold`,className:`text-sm`,numberOfLines:2,children:e.name}),(0,h.jsxs)(o,{weight:`bold`,className:`text-brand-600`,children:[`₹`,t]}),(0,h.jsx)(`div`,{className:`mt-2 flex items-center gap-2`,children:(0,h.jsx)(i,{value:n,setValue:t=>g(n=>({...n,[e.id]:t}))})}),(0,h.jsxs)(r,{fullWidth:!0,onClick:()=>y(e),className:`mt-2 flex items-center justify-center gap-1 bg-brand-500 text-white text-xs`,disabled:_.isPending,children:[(0,h.jsx)(c,{className:`h-3 w-3`}),`Add`]})]},e.id)})}),v.length===0&&(0,h.jsx)(`div`,{className:`py-20 text-center`,children:(0,h.jsx)(o,{className:`text-gray-500`,children:`No flash delivery products available`})})]})}export{g as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/flash.cart-Uj5DbknX.js b/apps/web-ui/.output/public/assets/flash.cart-Uj5DbknX.js new file mode 100644 index 0000000..2696368 --- /dev/null +++ b/apps/web-ui/.output/public/assets/flash.cart-Uj5DbknX.js @@ -0,0 +1 @@ +import{d as e,l as t,r as n,s as r,t as i,u as a}from"./src-C0xjWfnx.js";import{t as o}from"./useNavigate-VRicZWJI.js";import{t as s}from"./trash-2-B2Qxo_rV.js";import{t as c}from"./zap-CufcM84a.js";import{a as l,i as u,r as d}from"./cart-query-hooks-BCr0eax3.js";import{t as f}from"./central-product-store-DGoerB5U.js";var p=e();function m(){let e=o(),{data:m}=d(`flash`),h=l(`flash`),g=u(`flash`),_=f(e=>e.productsById),v=(m?.items||[]).filter(e=>_[e.productId]),y=0;return v.forEach(e=>{let t=_[e.productId];t&&(y+=(t.discountedPrice??t.price)*e.quantity)}),(0,p.jsxs)(i,{children:[(0,p.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,p.jsx)(c,{className:`h-5 w-5 text-yellow-500`}),(0,p.jsx)(a,{weight:`bold`,className:`text-xl`,children:`Flash Cart`})]}),v.length===0?(0,p.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,p.jsx)(a,{className:`text-gray-500`,children:`Your flash cart is empty`}),(0,p.jsx)(t,{textContent:`Browse Flash Products`,onClick:()=>e({to:`/flash`})})]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`div`,{className:`flex flex-col gap-3`,children:v.map(e=>{let t=_[e.productId],i=t.discountedPrice??t.price;return(0,p.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl border border-gray-100 bg-white p-3 shadow-sm`,children:[(0,p.jsx)(`img`,{src:t.images?.[0],alt:t.name,className:`h-16 w-16 rounded-lg object-cover`}),(0,p.jsxs)(`div`,{className:`flex-1`,children:[(0,p.jsx)(a,{weight:`semibold`,className:`text-sm`,numberOfLines:1,children:t.name}),(0,p.jsxs)(a,{className:`text-brand-600 text-sm font-bold`,children:[`₹`,i]}),(0,p.jsx)(n,{value:e.quantity,setValue:t=>h.mutate({productId:e.productId,quantity:t})})]}),(0,p.jsx)(r,{onClick:()=>g.mutate(e.productId),children:(0,p.jsx)(s,{className:`h-5 w-5 text-red-500`})})]},e.productId)})}),(0,p.jsxs)(`div`,{className:`fixed bottom-0 left-0 right-0 border-t border-gray-200 bg-white p-4 shadow-lg`,children:[(0,p.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,p.jsx)(a,{weight:`bold`,children:`Total`}),(0,p.jsxs)(a,{weight:`bold`,className:`text-lg text-brand-600`,children:[`₹`,y]})]}),(0,p.jsx)(t,{fullWidth:!0,textContent:`Proceed to Checkout`,onClick:()=>e({to:`/flash/checkout`}),className:`bg-brand-500 text-white`})]})]})]})}export{m as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/flash.checkout-4WSH7Rnu.js b/apps/web-ui/.output/public/assets/flash.checkout-4WSH7Rnu.js new file mode 100644 index 0000000..9431cb4 --- /dev/null +++ b/apps/web-ui/.output/public/assets/flash.checkout-4WSH7Rnu.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,o as i,t as a,u as o}from"./src-C0xjWfnx.js";import{t as s}from"./useNavigate-VRicZWJI.js";import{m as c}from"./useMutation-DvG2_Fq3.js";import{n as l}from"./trpc-client-QrVjRqP1.js";import{l as u}from"./index-BXnbw4dQ.js";import{r as d,t as f}from"./cart-query-hooks-BCr0eax3.js";import{t as p}from"./central-product-store-DGoerB5U.js";var m=n(t()),h=e();function g(){let e=s(),t=c(),{isAuthenticated:n}=u(),{data:g}=d(`flash`),_=p(e=>e.productsById),[v,y]=(0,m.useState)(!1),{data:b}=l.user.address.getUserAddresses.useQuery(void 0,{enabled:n}),[x,S]=(0,m.useState)(null),C=l.user.order.placeOrder.useMutation({onSuccess:n=>{let r=n.data?.[0];f(`flash`),t.invalidateQueries({queryKey:[`local-cart-flash`]}),e({to:`/flash/order-success`,search:{orderId:r?.id,totalAmount:T}})},onSettled:()=>y(!1)}),w=(g?.items||[]).filter(e=>_[e.productId]),T=0;return w.forEach(e=>{let t=_[e.productId];t&&(T+=(t.discountedPrice??t.price)*e.quantity)}),(0,h.jsxs)(a,{children:[(0,h.jsx)(o,{weight:`bold`,className:`mb-4 text-xl`,children:`Flash Checkout`}),(0,h.jsxs)(`div`,{className:`mb-6`,children:[(0,h.jsx)(o,{weight:`semibold`,className:`mb-2`,children:`Delivery Address`}),b?.data?.map(e=>(0,h.jsxs)(`button`,{onClick:()=>S(e.id),className:`mb-2 w-full rounded-xl border p-3 text-left ${x===e.id?`border-brand-500 bg-brand-50`:`border-gray-200`}`,children:[(0,h.jsx)(o,{weight:`semibold`,children:e.name}),(0,h.jsxs)(o,{className:`text-sm text-gray-600`,children:[e.addressLine1,`, `,e.city]}),(0,h.jsx)(o,{className:`text-sm text-gray-500`,children:e.phone})]},e.id))]}),(0,h.jsxs)(`div`,{className:`mb-6`,children:[(0,h.jsx)(o,{weight:`semibold`,className:`mb-2`,children:`Order Summary`}),w.map(e=>{let t=_[e.productId];return t?(0,h.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,h.jsxs)(o,{className:`text-sm`,numberOfLines:1,children:[t.name,` x`,e.quantity]}),(0,h.jsxs)(o,{className:`text-sm font-bold`,children:[`₹`,(t.discountedPrice??t.price)*e.quantity]})]},e.productId):null}),(0,h.jsx)(`div`,{className:`mt-2 border-t border-gray-200 pt-2`,children:(0,h.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,h.jsx)(o,{weight:`bold`,children:`Total`}),(0,h.jsxs)(o,{weight:`bold`,className:`text-brand-600`,children:[`₹`,T]})]})})]}),(0,h.jsx)(r,{fullWidth:!0,textContent:`Place Flash Order (COD)`,onClick:()=>{x&&(y(!0),C.mutate({selectedItems:w.map(e=>({productId:e.productId,quantity:e.quantity,slotId:null})),addressId:x,paymentMethod:`cod`,isFlashDelivery:!0}))},disabled:!x||C.isPending,className:`bg-brand-500 text-white`}),(0,h.jsx)(i,{open:v,message:`Placing flash order...`})]})}export{g as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/flash.order-success-BtcExp1_.js b/apps/web-ui/.output/public/assets/flash.order-success-BtcExp1_.js new file mode 100644 index 0000000..45be94d --- /dev/null +++ b/apps/web-ui/.output/public/assets/flash.order-success-BtcExp1_.js @@ -0,0 +1 @@ +import{d as e,l as t,u as n}from"./src-C0xjWfnx.js";import{t as r}from"./useNavigate-VRicZWJI.js";import{t as i}from"./zap-CufcM84a.js";import{a}from"./index-BXnbw4dQ.js";var o=e();function s(){let e=r(),{orderId:s,totalAmount:c}=a.useSearch();return(0,o.jsxs)(`div`,{className:`flex min-h-screen flex-col items-center justify-center bg-yellow-50 p-6`,children:[(0,o.jsx)(`div`,{className:`mb-6 flex h-20 w-20 items-center justify-center rounded-full bg-yellow-100`,children:(0,o.jsx)(i,{className:`h-10 w-10 text-yellow-600`})}),(0,o.jsx)(n,{weight:`bold`,className:`mb-2 text-2xl text-gray-900`,children:`1 Hr Order Placed!`}),(0,o.jsxs)(n,{className:`mb-1 text-gray-600`,children:[`Order ID: #`,s]}),(0,o.jsxs)(n,{className:`mb-8 text-gray-600`,children:[`Total: ₹`,c]}),(0,o.jsx)(t,{textContent:`Continue Shopping`,onClick:()=>e({to:`/flash`}),className:`mb-3 bg-brand-500 text-white`}),(0,o.jsx)(t,{textContent:`View My Orders`,onClick:()=>e({to:`/me/orders`}),className:`bg-gray-100 text-gray-700`})]})}export{s as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/flash.product._id-B92HJYgs.js b/apps/web-ui/.output/public/assets/flash.product._id-B92HJYgs.js new file mode 100644 index 0000000..566f7d7 --- /dev/null +++ b/apps/web-ui/.output/public/assets/flash.product._id-B92HJYgs.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,r as i,t as a,u as o}from"./src-C0xjWfnx.js";import{t as s}from"./useNavigate-VRicZWJI.js";import{t as c}from"./shopping-cart-BBNoSjWE.js";import{t as l}from"./zap-CufcM84a.js";import{n as u}from"./index-BXnbw4dQ.js";import{n as d}from"./cart-query-hooks-BCr0eax3.js";import{t as f}from"./central-product-store-DGoerB5U.js";var p=n(t()),m=e();function h(){let{id:e}=u.useParams(),t=Number(e),n=s(),[h,g]=(0,p.useState)(1),_=f(e=>e.productsById)[t],v=d(`flash`),y=()=>{_&&v.mutate({productId:_.id,quantity:h,storeId:_.storeId},{onSuccess:()=>n({to:`/flash/cart`})})};if(!_)return(0,m.jsx)(a,{children:(0,m.jsx)(o,{children:`Product not found`})});let b=_.discountedPrice??_.price,x=_.images?.[0];return(0,m.jsxs)(a,{children:[(0,m.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,m.jsx)(l,{className:`h-5 w-5 text-yellow-500`}),(0,m.jsx)(o,{className:`text-sm font-semibold text-yellow-600`,children:`1 Hr Delivery`})]}),x&&(0,m.jsx)(`div`,{className:`mb-4 aspect-square w-full overflow-hidden rounded-xl bg-gray-100`,children:(0,m.jsx)(`img`,{src:x,alt:_.name,className:`h-full w-full object-cover`})}),(0,m.jsx)(o,{weight:`bold`,className:`mb-1 text-xl`,children:_.name}),(0,m.jsxs)(o,{className:`mb-4 text-sm text-gray-500`,children:[_.unitValue,_.unit]}),(0,m.jsxs)(`div`,{className:`mb-4 flex items-baseline gap-2`,children:[(0,m.jsxs)(o,{weight:`bold`,className:`text-2xl text-brand-600`,children:[`₹`,b]}),_.discountedPrice&&(0,m.jsxs)(o,{className:`text-sm text-gray-400 line-through`,children:[`₹`,_.price]})]}),(0,m.jsx)(`div`,{className:`mb-6`,children:(0,m.jsx)(i,{value:h,setValue:g,max:10})}),(0,m.jsxs)(r,{fullWidth:!0,onClick:y,disabled:v.isPending,className:`flex items-center justify-center gap-2 bg-brand-500 text-white`,children:[(0,m.jsx)(c,{className:`h-4 w-4`}),v.isPending?`Adding...`:`Add to Cart`]})]})}export{h as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/home-D1N8PZL-.js b/apps/web-ui/.output/public/assets/home-D1N8PZL-.js new file mode 100644 index 0000000..15a21c0 --- /dev/null +++ b/apps/web-ui/.output/public/assets/home-D1N8PZL-.js @@ -0,0 +1 @@ +import{a as e,d as t,f as n,h as r,i,p as a,r as o,s,u as c}from"./src-C0xjWfnx.js";import{t as l}from"./useNavigate-VRicZWJI.js";import{t as u}from"./createLucideIcon-7nArgiy8.js";import{t as d}from"./shopping-cart-BBNoSjWE.js";import{t as f}from"./truck-DbJZ8T2i.js";import{t as p}from"./zap-CufcM84a.js";import{a as m,i as h,n as g,r as _}from"./cart-query-hooks-BCr0eax3.js";import{a as v,n as y,r as b,t as x}from"./prominent-api-hooks-DipwWw0H.js";import{t as S}from"./react-BnURElzN.js";var C=u(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),w=a(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)({addedToCartProduct:null,setAddedToCartProduct:t=>e({addedToCartProduct:t}),clearAddedToCartProduct:()=>e({addedToCartProduct:null})})),O=t(),k=e=>{let t=(0,E.default)(e),n=t.add(1,`hour`),r=t.format(`A`),i=n.format(`A`);return r===i?`${t.format(`h`)}-${n.format(`h`)} ${r}`:`${t.format(`h:mm`)} ${r} - ${n.format(`h:mm`)} ${i}`};function A(){let t=l(),{addedToCartProduct:n,clearAddedToCartProduct:r}=D(),[i,a]=(0,T.useState)(1),[u,v]=(0,T.useState)(null),[y,x]=(0,T.useState)(!1),{data:S}=b(),{data:w}=_(),A=g(`regular`),j=m(`regular`),M=h(`regular`),N=!!n,P=n?.product;(0,T.useEffect)(()=>{if(N&&P){let e=w?.items?.find(e=>e.productId===P.id),t=e?.quantity||0;a(t===0?1:t),v(e?.slotId||null)}},[N,w,P]);let{slotMap:F,productSlotIdsMap:I}=(0,T.useMemo)(()=>{let e={},t={};return S?.slots&&S.slots.forEach(n=>{e[n.id]=n,n.products?.forEach(e=>{t[e.id]||(t[e.id]=[]),t[e.id].push(n.id)})}),{slotMap:e,productSlotIdsMap:t}},[S]),L=I[P?.id]||[],R=L.map(e=>F[e]).filter(Boolean).filter(e=>(0,E.default)(e.deliveryTime).isAfter((0,E.default)())),z=w?.items?.find(e=>e.productId===P?.id),B=(z?.quantity||0)>=1,V=S?.productAvailability?.find(e=>e.id===P?.id)?.isFlashAvailable===!0&&!0;return!N||!n?null:(0,O.jsx)(e,{open:N,onClose:r,children:(0,O.jsxs)(`div`,{className:`px-2`,children:[(0,O.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,O.jsx)(`div`,{className:`flex h-10 w-10 items-center justify-center rounded-full bg-blue-50`,children:(0,O.jsx)(f,{className:`h-5 w-5 text-blue-500`})}),(0,O.jsxs)(`div`,{className:`flex-1`,children:[(0,O.jsx)(c,{weight:`bold`,className:`text-lg`,children:`Select Delivery Slot`}),P?.name&&(0,O.jsxs)(c,{className:`text-sm text-gray-500`,children:[P.name,` (`,P.productQuantity,P.unitNotation?` ${P.unitNotation}`:``,`)`]})]}),(0,O.jsx)(`button`,{onClick:r,className:`text-gray-400 hover:text-gray-600`,children:(0,O.jsx)(C,{className:`h-5 w-5`})})]}),(0,O.jsx)(`div`,{className:`max-h-[40vh] space-y-3 overflow-y-auto mb-4`,children:R.map(e=>(0,O.jsxs)(s,{onClick:()=>{v(e.id),x(!1)},className:`flex items-start gap-3 rounded-xl border bg-gray-50 p-4 ${u===e.id?`border-brand-500`:`border-gray-100`}`,children:[(0,O.jsx)(f,{className:`mt-0.5 h-5 w-5 shrink-0 text-blue-500`}),(0,O.jsxs)(c,{weight:`bold`,className:`flex-1 text-sm`,children:[(0,E.default)(e.deliveryTime).format(`ddd, DD MMM • `),k(e.deliveryTime)]}),u===e.id?(0,O.jsx)(`svg`,{className:`h-6 w-6 shrink-0 text-brand-500`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`})}):(0,O.jsx)(`svg`,{className:`h-6 w-6 shrink-0 text-gray-300`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{d:`M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z`})})]},e.id))}),V&&(0,O.jsxs)(s,{onClick:()=>{x(!0),v(null)},className:`flex items-center gap-3 rounded-xl border p-4 mb-4 ${y?`border-pink-500 bg-pink-50`:`border-pink-200 bg-pink-50`}`,children:[(0,O.jsx)(p,{className:`h-5 w-5 shrink-0 text-pink-500`}),(0,O.jsx)(c,{weight:`bold`,className:`flex-1 text-sm`,children:`1 hr Delivery`}),y?(0,O.jsx)(`svg`,{className:`h-6 w-6 shrink-0 text-pink-500`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`})}):(0,O.jsx)(`svg`,{className:`h-6 w-6 shrink-0 text-pink-300`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{d:`M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z`})})]}),(0,O.jsxs)(`div`,{className:`mb-4`,children:[(0,O.jsx)(c,{weight:`bold`,className:`mb-2 text-sm`,children:`Quantity`}),(0,O.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,O.jsx)(o,{value:i,setValue:a,step:1,unit:P?.unitNotation}),B&&(0,O.jsx)(s,{onClick:()=>{z?M.mutate(P.id,{onSuccess:()=>r()}):r()},className:`rounded-lg border border-red-200 bg-red-50 p-2`,children:(0,O.jsx)(`svg`,{className:`h-5 w-5 text-red-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})})})]})]}),(0,O.jsxs)(`div`,{className:`flex gap-3 pb-4`,children:[(0,O.jsxs)(`button`,{onClick:()=>{if(y){t({to:`/flash`}),r();return}if(B&&z)j.mutate({productId:P.id,quantity:i,slotId:u,deliveryDate:u?F[u]?.deliveryTime:null},{onSuccess:()=>r()});else{let e=u??L[0]??0;A.mutate({productId:P.id,quantity:i,storeId:P.storeId||1,slotId:e,deliveryDate:F[e]?.deliveryTime||null},{onSuccess:()=>r()})}},disabled:!u&&!y||A.isPending||j.isPending,className:`flex flex-1 items-center justify-center gap-2 rounded-xl py-3 font-bold text-white transition-colors ${!u&&!y||A.isPending||j.isPending?`bg-brand-500/50`:`bg-brand-500 hover:bg-brand-600`}`,children:[(0,O.jsx)(d,{className:`h-4 w-4`}),A.isPending||j.isPending?B?`Updating...`:`Adding...`:B?`Update Item`:`Add to Cart`]}),(0,O.jsx)(`button`,{onClick:r,className:`flex-1 rounded-xl bg-gray-100 py-3 font-bold text-gray-700 hover:bg-gray-200 transition-colors`,children:`Cancel`})]})]})})}function j(){let e=l(),{data:t}=x(),{data:n}=v(),{data:r}=y(),{setAddedToCartProduct:a}=D(),o=n?.stores||[],s=r?.banners||[],u=t?.products||[],d=e=>{a({productId:e.id,product:e})};return(0,O.jsxs)(`div`,{className:`mx-auto min-h-screen max-w-7xl bg-white`,children:[(0,O.jsx)(`div`,{className:`sticky top-0 z-10 bg-white/95 backdrop-blur-sm px-4 md:px-6 lg:px-8 pt-4 pb-3 border-b border-gray-100`,children:(0,O.jsx)(i,{placeholder:`Search products here...`,onSearch:t=>e({to:`/home/search`,search:{q:t}})})}),(0,O.jsxs)(`div`,{className:`px-4 md:px-6 lg:px-8`,children:[s.length>0&&(0,O.jsx)(`div`,{className:`mt-4 mb-8 overflow-hidden rounded-xl`,children:(0,O.jsx)(M,{banners:s})}),(0,O.jsxs)(`div`,{className:`mb-8`,children:[(0,O.jsx)(`div`,{className:`flex items-center justify-between mb-4`,children:(0,O.jsx)(c,{weight:`bold`,className:`text-lg md:text-xl`,children:`Our Stores`})}),(0,O.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-3 md:gap-4`,children:o.map(t=>(0,O.jsx)(N,{store:t,onClick:()=>e({to:`/stores/$storeId`,params:{storeId:String(t.id)}})},t.id))})]}),(0,O.jsxs)(`div`,{className:`mb-24`,children:[(0,O.jsx)(`div`,{className:`flex items-center justify-between mb-4`,children:(0,O.jsx)(c,{weight:`bold`,className:`text-lg md:text-xl`,children:`All Products`})}),(0,O.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-3 md:gap-4`,children:u.slice(0,30).map(t=>(0,O.jsx)(P,{product:t,onClick:()=>e({to:`/home/product/$id`,params:{id:String(t.id)}}),onAddToCart:()=>d(t)},t.id))})]})]}),(0,O.jsx)(F,{onClick:()=>e({to:`/cart`})}),(0,O.jsx)(A,{})]})}function M({banners:e}){let[t,n]=(0,T.useState)(0),r=e.map(e=>e.imageUrl).filter(Boolean);return(0,T.useEffect)(()=>{if(r.length<=1)return;let e=setInterval(()=>{n(e=>(e+1)%r.length)},4e3);return()=>clearInterval(e)},[r.length]),r.length===0?null:(0,O.jsxs)(`div`,{className:`relative group`,children:[(0,O.jsx)(`img`,{src:r[t],alt:`Banner`,className:`h-36 sm:h-44 md:h-52 lg:h-64 w-full rounded-xl object-cover transition-all duration-500`}),r.length>1&&(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`button`,{onClick:()=>n(e=>(e-1+r.length)%r.length),className:`absolute left-2 top-1/2 -translate-y-1/2 bg-black/30 hover:bg-black/50 text-white rounded-full p-1.5 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,O.jsx)(`svg`,{className:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M15 19l-7-7 7-7`})})}),(0,O.jsx)(`button`,{onClick:()=>n(e=>(e+1)%r.length),className:`absolute right-2 top-1/2 -translate-y-1/2 bg-black/30 hover:bg-black/50 text-white rounded-full p-1.5 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,O.jsx)(`svg`,{className:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M9 5l7 7-7 7`})})}),(0,O.jsx)(`div`,{className:`absolute bottom-3 left-1/2 flex -translate-x-1/2 gap-1.5`,children:r.map((e,r)=>(0,O.jsx)(`button`,{onClick:()=>n(r),className:`h-2 rounded-full transition-all ${r===t?`w-6 bg-white`:`w-2 bg-white/50`}`},r))})]})]})}function N({store:e,onClick:t}){return(0,O.jsxs)(s,{onClick:t,className:`rounded-xl border border-gray-100 bg-white p-3 shadow-sm hover:shadow-md transition-shadow`,children:[(0,O.jsx)(`div`,{className:`mb-2 aspect-square w-full overflow-hidden rounded-lg bg-gray-100`,children:e.signedImageUrl?(0,O.jsx)(`img`,{src:e.signedImageUrl,alt:e.name,className:`h-full w-full object-cover`}):(0,O.jsx)(`div`,{className:`flex h-full items-center justify-center text-gray-400`,children:(0,O.jsx)(`svg`,{className:`w-8 h-8`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4`})})})}),(0,O.jsx)(c,{weight:`semibold`,className:`text-sm truncate`,children:e.name}),(0,O.jsxs)(c,{className:`text-xs text-gray-500`,children:[e.productCount||0,` products`]})]})}function P({product:e,onClick:t,onAddToCart:n}){let r=e.images?.[0],i=e.marketPrice!=null&&e.marketPrice>e.price;return(0,O.jsxs)(`div`,{className:`rounded-xl border border-gray-100 bg-white p-3 shadow-sm hover:shadow-md transition-shadow`,children:[(0,O.jsxs)(s,{onClick:t,children:[(0,O.jsx)(`div`,{className:`mb-2 aspect-square w-full overflow-hidden rounded-lg bg-gray-100`,children:r?(0,O.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,O.jsx)(`div`,{className:`flex h-full items-center justify-center text-gray-300`,children:(0,O.jsx)(`svg`,{className:`w-10 h-10`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z`})})})}),(0,O.jsx)(c,{weight:`semibold`,className:`text-sm leading-tight line-clamp-2 mb-1`,children:e.name}),(0,O.jsxs)(`div`,{className:`flex items-baseline gap-1.5`,children:[(0,O.jsxs)(c,{weight:`bold`,className:`text-brand-600 text-sm md:text-base`,children:[`₹`,e.price]}),i&&(0,O.jsxs)(c,{className:`text-xs text-gray-400 line-through`,children:[`₹`,e.marketPrice]})]}),(0,O.jsxs)(c,{className:`text-[11px] text-gray-400 mb-2`,children:[`/`,e.unit]}),e.nextDeliveryDate&&(0,O.jsxs)(`div`,{className:`mb-3 flex items-center gap-1 self-start rounded-lg bg-brand-50 px-2 py-1 border border-brand-100`,children:[(0,O.jsx)(f,{className:`h-3 w-3 text-brand-600`}),(0,O.jsx)(c,{className:`text-[10px] font-bold text-brand-700`,children:(0,E.default)(e.nextDeliveryDate).format(`ddd, DD MMM • h:mm A`)})]})]}),n&&(0,O.jsxs)(`button`,{onClick:e=>{e.stopPropagation(),n()},className:`flex w-full items-center justify-center gap-2 rounded-lg bg-brand-500 py-2 text-sm font-bold text-white hover:bg-brand-600 transition-colors`,children:[(0,O.jsx)(d,{className:`h-4 w-4`}),`Add to Cart`]})]})}function F({onClick:e}){let{data:t}=_(`regular`),{data:n}=x(),r=n?.products||[],i={};r.forEach(e=>{i[e.id]=e});let a=t?.items||[],o=a.length,s=a.reduce((e,t)=>e+(i[t.productId]?.price??0)*t.quantity,0),l=Math.max(0,149-s);return(0,O.jsx)(`div`,{className:`fixed bottom-0 left-0 right-0 z-20 bg-brand-600 px-4 py-2 md:px-6 md:py-3 shadow-lg`,children:(0,O.jsxs)(`div`,{className:`mx-auto flex max-w-7xl items-center justify-between`,children:[(0,O.jsxs)(`div`,{className:`flex-1`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,O.jsxs)(c,{weight:`bold`,className:`text-sm text-white`,children:[`₹`,s]}),(0,O.jsx)(c,{className:`text-xs text-white/80`,children:o===0?`No items in cart`:`• ${o} ${o===1?`item`:`items`}`})]}),l>0?(0,O.jsxs)(c,{className:`text-[10px] font-bold text-white/70`,children:[`₹`,l,` more for FREE Delivery`]}):o>0?(0,O.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,O.jsx)(`svg`,{className:`h-3 w-3 text-emerald-300`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,O.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`})}),(0,O.jsx)(c,{className:`text-[10px] font-bold text-emerald-300`,children:`Free Delivery Unlocked`})]}):(0,O.jsxs)(c,{className:`text-[10px] text-white/50`,children:[`Shop for ₹`,149,`+ for free shipping`]})]}),(0,O.jsx)(`button`,{onClick:e,className:`rounded-full bg-white px-4 py-2 text-sm font-bold text-brand-600 shadow-md hover:bg-gray-100 transition-colors`,children:`Go to Cart`})]})})}export{j as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/home.cart-CQsu3-8T.js b/apps/web-ui/.output/public/assets/home.cart-CQsu3-8T.js new file mode 100644 index 0000000..2aa0f74 --- /dev/null +++ b/apps/web-ui/.output/public/assets/home.cart-CQsu3-8T.js @@ -0,0 +1 @@ +import{d as e,l as t,r as n,s as r,t as i,u as a}from"./src-C0xjWfnx.js";import{t as o}from"./useNavigate-VRicZWJI.js";import{t as s}from"./trash-2-B2Qxo_rV.js";import{a as c,i as l,r as u}from"./cart-query-hooks-BCr0eax3.js";import{t as d}from"./prominent-api-hooks-DipwWw0H.js";var f=e();function p(){let e=o(),{data:p}=u(`regular`),{data:m}=d(),h=c(`regular`),g=l(`regular`),_=m?.products||[],v={};_.forEach(e=>{v[e.id]=e});let y=(p?.items||[]).filter(e=>v[e.productId]),b=0;return y.forEach(e=>{let t=v[e.productId];t&&(b+=t.price*e.quantity)}),(0,f.jsxs)(i,{children:[(0,f.jsx)(a,{weight:`bold`,className:`mb-4 text-xl`,children:`Your Cart`}),y.length===0?(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,f.jsx)(a,{className:`text-gray-500`,children:`Your cart is empty`}),(0,f.jsx)(t,{textContent:`Browse Products`,onClick:()=>e({to:`/home`})})]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{className:`flex flex-col gap-3`,children:y.map(e=>{let t=v[e.productId],i=t.price;return(0,f.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl border border-gray-100 bg-white p-3 shadow-sm`,children:[(0,f.jsx)(`img`,{src:t.images?.[0],alt:t.name,className:`h-16 w-16 rounded-lg object-cover`}),(0,f.jsxs)(`div`,{className:`flex-1`,children:[(0,f.jsx)(a,{weight:`semibold`,className:`text-sm`,numberOfLines:1,children:t.name}),(0,f.jsxs)(a,{className:`text-brand-600 text-sm font-bold`,children:[`₹`,i]}),(0,f.jsx)(n,{value:e.quantity,setValue:t=>h.mutate({productId:e.productId,quantity:t})})]}),(0,f.jsx)(r,{onClick:()=>g.mutate(e.productId),children:(0,f.jsx)(s,{className:`h-5 w-5 text-red-500`})})]},e.productId)})}),(0,f.jsxs)(`div`,{className:`fixed bottom-0 left-0 right-0 border-t border-gray-200 bg-white p-4 shadow-lg`,children:[(0,f.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,f.jsx)(a,{weight:`bold`,children:`Total`}),(0,f.jsxs)(a,{weight:`bold`,className:`text-lg text-brand-600`,children:[`₹`,b]})]}),(0,f.jsx)(t,{fullWidth:!0,textContent:`Proceed to Checkout`,onClick:()=>e({to:`/home/checkout`}),className:`bg-brand-500 text-white`})]})]})]})}export{p as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/home.checkout-Bl0spbDU.js b/apps/web-ui/.output/public/assets/home.checkout-Bl0spbDU.js new file mode 100644 index 0000000..75bb3fd --- /dev/null +++ b/apps/web-ui/.output/public/assets/home.checkout-Bl0spbDU.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,o as i,s as a,t as o,u as s}from"./src-C0xjWfnx.js";import{t as c}from"./useNavigate-VRicZWJI.js";import{m as l}from"./useMutation-DvG2_Fq3.js";import{n as u}from"./trpc-client-QrVjRqP1.js";import{l as d}from"./index-BXnbw4dQ.js";import{r as f,t as p}from"./cart-query-hooks-BCr0eax3.js";import{t as m}from"./central-product-store-DGoerB5U.js";var h=n(t()),g=e();function _(){let e=c(),t=l(),{isAuthenticated:n}=d(),{data:_}=f(`regular`),v=m(e=>e.productsById),[y,b]=(0,h.useState)(!1),{data:x}=u.user.address.getUserAddresses.useQuery(void 0,{enabled:n}),[S,C]=(0,h.useState)(null),w=u.user.order.placeOrder.useMutation({onSuccess:n=>{let r=n.data?.[0];p(`regular`),t.invalidateQueries({queryKey:[`local-cart-regular`]}),e({to:`/home/order-success`,search:{orderId:r?.id,totalAmount:E}})},onSettled:()=>b(!1)}),T=(_?.items||[]).filter(e=>v[e.productId]),E=0;return T.forEach(e=>{let t=v[e.productId];t&&(E+=(t.discountedPrice??t.price)*e.quantity)}),(0,g.jsxs)(o,{children:[(0,g.jsx)(s,{weight:`bold`,className:`mb-4 text-xl`,children:`Checkout`}),(0,g.jsxs)(`div`,{className:`mb-6`,children:[(0,g.jsx)(s,{weight:`semibold`,className:`mb-2`,children:`Delivery Address`}),x?.data?.map(e=>(0,g.jsxs)(a,{onClick:()=>C(e.id),className:`mb-2 rounded-xl border p-3 ${S===e.id?`border-brand-500 bg-brand-50`:`border-gray-200`}`,children:[(0,g.jsx)(s,{weight:`semibold`,children:e.name}),(0,g.jsxs)(s,{className:`text-sm text-gray-600`,children:[e.addressLine1,`, `,e.city]}),(0,g.jsx)(s,{className:`text-sm text-gray-500`,children:e.phone})]},e.id))]}),(0,g.jsxs)(`div`,{className:`mb-6`,children:[(0,g.jsx)(s,{weight:`semibold`,className:`mb-2`,children:`Order Summary`}),T.map(e=>{let t=v[e.productId];return t?(0,g.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,g.jsxs)(s,{className:`text-sm`,numberOfLines:1,children:[t.name,` x`,e.quantity]}),(0,g.jsxs)(s,{className:`text-sm font-bold`,children:[`₹`,(t.discountedPrice??t.price)*e.quantity]})]},e.productId):null}),(0,g.jsx)(`div`,{className:`mt-2 border-t border-gray-200 pt-2`,children:(0,g.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,g.jsx)(s,{weight:`bold`,children:`Total`}),(0,g.jsxs)(s,{weight:`bold`,className:`text-brand-600`,children:[`₹`,E]})]})})]}),(0,g.jsx)(r,{fullWidth:!0,textContent:`Place Order (COD)`,onClick:()=>{S&&(b(!0),w.mutate({selectedItems:T.map(e=>({productId:e.productId,quantity:e.quantity,slotId:null})),addressId:S,paymentMethod:`cod`,isFlashDelivery:!1}))},disabled:!S||w.isPending,className:`bg-brand-500 text-white`}),(0,g.jsx)(i,{open:y,message:`Placing your order...`})]})}export{_ as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/home.order-success-DnDz5HMq.js b/apps/web-ui/.output/public/assets/home.order-success-DnDz5HMq.js new file mode 100644 index 0000000..24219ca --- /dev/null +++ b/apps/web-ui/.output/public/assets/home.order-success-DnDz5HMq.js @@ -0,0 +1 @@ +import{d as e,l as t,u as n}from"./src-C0xjWfnx.js";import{t as r}from"./useNavigate-VRicZWJI.js";import{t as i}from"./package-CgMILU3n.js";import{o as a}from"./index-BXnbw4dQ.js";var o=e();function s(){let e=r(),{orderId:s,totalAmount:c}=a.useSearch();return(0,o.jsxs)(`div`,{className:`flex min-h-screen flex-col items-center justify-center bg-green-50 p-6`,children:[(0,o.jsx)(`div`,{className:`mb-6 flex h-20 w-20 items-center justify-center rounded-full bg-green-100`,children:(0,o.jsx)(i,{className:`h-10 w-10 text-green-600`})}),(0,o.jsx)(n,{weight:`bold`,className:`mb-2 text-2xl text-gray-900`,children:`Order Placed!`}),(0,o.jsxs)(n,{className:`mb-1 text-gray-600`,children:[`Order ID: #`,s]}),(0,o.jsxs)(n,{className:`mb-8 text-gray-600`,children:[`Total: ₹`,c]}),(0,o.jsx)(t,{textContent:`Continue Shopping`,onClick:()=>e({to:`/home`}),className:`mb-3 bg-brand-500 text-white`}),(0,o.jsx)(t,{textContent:`View My Orders`,onClick:()=>e({to:`/me/orders`}),fillColor:`gray`,className:`bg-gray-100 text-gray-700`})]})}export{s as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/home.product._id-u1x5UAhj.js b/apps/web-ui/.output/public/assets/home.product._id-u1x5UAhj.js new file mode 100644 index 0000000..bcdef47 --- /dev/null +++ b/apps/web-ui/.output/public/assets/home.product._id-u1x5UAhj.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,r as i,t as a,u as o}from"./src-C0xjWfnx.js";import{t as s}from"./useNavigate-VRicZWJI.js";import{n as c}from"./trpc-client-QrVjRqP1.js";import{t as l}from"./createLucideIcon-7nArgiy8.js";import{t as u}from"./shopping-cart-BBNoSjWE.js";import{r as d}from"./index-BXnbw4dQ.js";import{n as f}from"./cart-query-hooks-BCr0eax3.js";import{t as p}from"./central-product-store-DGoerB5U.js";var m=l(`Star`,[[`polygon`,{points:`12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2`,key:`8f66p6`}]]),h=n(t()),g=e();function _(){let{id:e}=d.useParams(),t=Number(e),n=s(),[l,_]=(0,h.useState)(1),v=p(e=>e.productsById)[t],y=f(`regular`),{data:b}=c.user.product.getProductReviews.useQuery({productId:t},{enabled:!!t}),x=()=>{v&&y.mutate({productId:v.id,quantity:l,storeId:v.storeId},{onSuccess:()=>n({to:`/cart`})})};if(!v)return(0,g.jsx)(a,{children:(0,g.jsx)(o,{children:`Product not found`})});let S=v.discountedPrice??v.price,C=v.images?.[0];return(0,g.jsxs)(a,{children:[C&&(0,g.jsx)(`div`,{className:`mb-4 aspect-square w-full overflow-hidden rounded-xl bg-gray-100`,children:(0,g.jsx)(`img`,{src:C,alt:v.name,className:`h-full w-full object-cover`})}),(0,g.jsx)(o,{weight:`bold`,className:`mb-1 text-xl`,children:v.name}),(0,g.jsxs)(o,{className:`mb-2 text-sm text-gray-500`,children:[v.unitValue,v.unit]}),(0,g.jsxs)(`div`,{className:`mb-4 flex items-baseline gap-2`,children:[(0,g.jsxs)(o,{weight:`bold`,className:`text-2xl text-brand-600`,children:[`₹`,S]}),v.discountedPrice&&(0,g.jsxs)(o,{className:`text-sm text-gray-400 line-through`,children:[`₹`,v.price]})]}),v.description&&(0,g.jsx)(o,{className:`mb-4 text-gray-600`,children:v.description}),(0,g.jsx)(`div`,{className:`mb-6`,children:(0,g.jsx)(i,{value:l,setValue:_,max:10})}),(0,g.jsxs)(r,{fullWidth:!0,onClick:x,disabled:y.isPending,className:`flex items-center justify-center gap-2 bg-brand-500 text-white`,children:[(0,g.jsx)(u,{className:`h-4 w-4`}),y.isPending?`Adding...`:`Add to Cart`]}),b?.data&&b.data.length>0&&(0,g.jsxs)(`div`,{className:`mt-8`,children:[(0,g.jsx)(o,{weight:`bold`,className:`mb-3 text-lg`,children:`Reviews`}),b.data.map((e,t)=>(0,g.jsxs)(`div`,{className:`mb-3 rounded-lg border border-gray-100 p-3`,children:[(0,g.jsx)(`div`,{className:`mb-1 flex items-center gap-1`,children:Array.from({length:e.rating||5}).map((e,t)=>(0,g.jsx)(m,{className:`h-3 w-3 fill-yellow-400 text-yellow-400`},t))}),(0,g.jsx)(o,{className:`text-sm text-gray-600`,children:e.comment})]},t))]})]})}export{_ as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/home.search-Dx-x6e4a.js b/apps/web-ui/.output/public/assets/home.search-Dx-x6e4a.js new file mode 100644 index 0000000..0fccb9b --- /dev/null +++ b/apps/web-ui/.output/public/assets/home.search-Dx-x6e4a.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,i as r,s as i,t as a,u as o}from"./src-C0xjWfnx.js";import{t as s}from"./useNavigate-VRicZWJI.js";import{s as c}from"./index-BXnbw4dQ.js";import{t as l}from"./central-product-store-DGoerB5U.js";var u=n(t());function d(e){return Array.isArray?Array.isArray(e):x(e)===`[object Array]`}function f(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function p(e){return e==null?``:f(e)}function m(e){return typeof e==`string`}function h(e){return typeof e==`number`}function g(e){return e===!0||e===!1||v(e)&&x(e)==`[object Boolean]`}function _(e){return typeof e==`object`}function v(e){return _(e)&&e!==null}function y(e){return e!=null}function b(e){return!e.trim().length}function x(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var S=`Incorrect 'index' type`,C=e=>`Invalid value for key ${e}`,ee=e=>`Pattern length exceeds max of ${e}.`,te=e=>`Missing ${e} property in key`,ne=e=>`Property 'weight' in key '${e}' must be a positive integer`,w=Object.prototype.hasOwnProperty,re=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=T(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function T(e){let t=null,n=null,r=null,i=1,a=null;if(m(e)||d(e))r=e,t=ie(e),n=E(e);else{if(!w.call(e,`name`))throw Error(te(`name`));let o=e.name;if(r=o,w.call(e,`weight`)&&(i=e.weight,i<=0))throw Error(ne(o));t=ie(o),n=E(o),a=e.getFn}return{path:t,id:n,weight:i,src:r,getFn:a}}function ie(e){return d(e)?e:e.split(`.`)}function E(e){return d(e)?e.join(`.`):e}function ae(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(y(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!y(s))return;if(a===t.length-1&&(m(s)||h(s)||g(s)||typeof s==`bigint`))n.push(o===void 0?p(s):{v:p(s),i:o});else if(d(s)){r=!0;for(let e=0,n=s.length;ee.score===t.score?e.idx{this._keysMap[e.id]=t})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,m(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();m(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t=0;--t)this.records.splice(e[t],1);for(let e=0,t=this.records.length;e{let i=t.getFn?t.getFn(e):this.getFn(e,t.path);if(y(i)){if(d(i)){let e=[];for(let t=0,n=i.length;tt),records:this.records}}};function k(e,t,{getFn:n=D.getFn,fieldNormWeight:r=D.fieldNormWeight}={}){let i=new O({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(T)),i.setSources(t),i.create(),i}function fe(e,{getFn:t=D.getFn,fieldNormWeight:n=D.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new O({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function pe(e=[],t=D.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}var A=32;function me(e,t,n,{location:r=D.location,distance:i=D.distance,threshold:a=D.threshold,findAllMatches:o=D.findAllMatches,minMatchCharLength:s=D.minMatchCharLength,includeMatches:c=D.includeMatches,ignoreLocation:l=D.ignoreLocation}={}){if(t.length>A)throw Error(ee(A));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e=a;--r){let i=r-1,o=n[e[i]];if(g&&(_[i]=+!!o),c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&S&&(b=h(t,i),b<=p)){if(p=b,m=i,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}let C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=pe(_,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function he(e){let t={};for(let n=0,r=e.length;ne[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;ne.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(ge,e=>M[e]):e=>e,P=class{constructor(e,{location:t=D.location,threshold:n=D.threshold,distance:r=D.distance,includeMatches:i=D.includeMatches,findAllMatches:a=D.findAllMatches,minMatchCharLength:o=D.minMatchCharLength,isCaseSensitive:s=D.isCaseSensitive,ignoreDiacritics:c=D.ignoreDiacritics,ignoreLocation:l=D.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?N(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:he(e),startIndex:t})},d=this.pattern.length;if(d>A){let e=0,t=d%A,n=d-t;for(;e{let{isMatch:m,score:h,indices:g}=me(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=j(u)),p}},F=class{constructor(e){this.pattern=e}static isMultiMatch(e){return I(e,this.multiRegex)}static isSingleMatch(e){return I(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}};function I(e,t){let n=e.match(t);return n?n[1]:null}var _e=class extends F{constructor(e){super(e)}static get type(){return`exact`}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},ve=class extends F{constructor(e){super(e)}static get type(){return`inverse-exact`}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=e.indexOf(this.pattern)===-1;return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},ye=class extends F{constructor(e){super(e)}static get type(){return`prefix-exact`}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},be=class extends F{constructor(e){super(e)}static get type(){return`inverse-prefix-exact`}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},xe=class extends F{constructor(e){super(e)}static get type(){return`suffix-exact`}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},Se=class extends F{constructor(e){super(e)}static get type(){return`inverse-suffix-exact`}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},L=class extends F{constructor(e,{location:t=D.location,threshold:n=D.threshold,distance:r=D.distance,includeMatches:i=D.includeMatches,findAllMatches:a=D.findAllMatches,minMatchCharLength:o=D.minMatchCharLength,isCaseSensitive:s=D.isCaseSensitive,ignoreDiacritics:c=D.ignoreDiacritics,ignoreLocation:l=D.ignoreLocation}={}){super(e),this._bitapSearch=new P(e,{location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l})}static get type(){return`fuzzy`}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}},R=class extends F{constructor(e){super(e)}static get type(){return`include`}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,n,r=[],i=this.pattern.length;for(;(n=e.indexOf(this.pattern,t))>-1;)t=n+i,r.push([n,t-1]);let a=!!r.length;return{isMatch:a,score:+!a,indices:r}}},z=[_e,R,ye,be,Se,xe,ve,L],B=z.length,Ce=`\0`,we=`|`;function Te(e){let t=[],n=e.length,r=0;for(;r=n)break;let i=r;for(;i=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i{let n=Te(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e!!(e[W.AND]||e[W.OR]),ke=e=>!!e[G.PATH],Ae=e=>!d(e)&&_(e)&&!K(e),q=e=>({[W.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function J(e,t,{auto:n=!0}={}){let r=e=>{if(m(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=U(e,t)),r}let i=Object.keys(e),a=ke(e);if(!a&&i.length>1&&!K(e))return r(q(e));if(Ae(e)){let r=a?e[G.PATH]:i[0],o=a?e[G.PATTERN]:e[r];if(!m(o))throw Error(C(r));let s={keyId:E(r),pattern:o};return n&&(s.searcher=U(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];d(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return K(e)||(e=q(e)),r(e)}function Y(e,{ignoreFieldNorm:t=D.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function je(e,{ignoreFieldNorm:t=D.ignoreFieldNorm}){e.forEach(e=>{e.score=Y(e.matches,{ignoreFieldNorm:t})})}var Me=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(it[r].score&&(r=i),at[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function Ne(e,t){let n=e.matches;t.matches=[],y(n)&&n.forEach(e=>{if(!y(e.indices)||!e.indices.length)return;let{indices:n,value:r}=e,i={indices:n,value:r};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function Pe(e,t){t.score=e.score}function Fe(e,t,{includeMatches:n=D.includeMatches,includeScore:r=D.includeScore}={}){let i=[];return n&&i.push(Ne),r&&i.push(Pe),e.map(e=>{let{idx:n}=e,r={item:t[n],refIndex:n};return i.length&&i.forEach(t=>{t(e,r)}),r})}var Ie=/\b\w+\b/g;function X({isCaseSensitive:e=!1,ignoreDiacritics:t=!1}={}){return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=N(n)),n.match(Ie)||[]}}}function Le(e,t,n){let r=new Map,i=new Map,a=0;function o(e,t,o,s){let c=n.tokenize(e);if(!c.length)return;a++;let l=new Map;for(let e of c)l.set(e,(l.get(e)||0)+1);for(let[e,n]of l){let a={docIdx:t,keyIdx:o,subIdx:s,tf:n},c=r.get(e);c||(c=[],r.set(e,c)),c.push(a),i.set(e,(i.get(e)||0)+1)}}for(let n of e){let{i:e,v:r,$:i}=n;if(r!==void 0){o(r,e,-1,-1);continue}if(i)for(let n=0;ne.docIdx!==t),a=r.length-i.length;a>0&&(e.fieldCount-=a,e.df.set(n,(e.df.get(n)||0)-a),i.length===0?(e.terms.delete(n),e.df.delete(n)):e.terms.set(n,i))}}var Q=class{constructor(e,t,n){this.options={...D,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new re(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=U(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof O))throw Error(S);if(this._myIndex=t||k(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=X({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=Le(this._myIndex.records,this._myIndex.keys.length,e)}}add(e){if(y(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){let e=this._myIndex.records[this._myIndex.records.length-1],t=X({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});Re(this._invertedIndex,e,this._myIndex.keys.length,t)}}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r=0;--e)this._docs.splice(n[e],1);this._myIndex.removeAll(n)}return t}removeAt(e){this._invertedIndex&&Z(this._invertedIndex,e);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),t}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(m(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return h(n)&&n>-1&&(e=e.slice(0,n)),e}let c=h(n)&&n>0&&m(e),l;if(c){let t=new Me(n);m(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=m(e)?m(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),je(l,{ignoreFieldNorm:s}),a&&l.sort(o),h(n)&&n>-1&&(l=l.slice(0,n));return Fe(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),{records:i}=this._myIndex,a=t?null:[];return i.forEach(({v:e,i,n:o})=>{if(!y(e))return;let{isMatch:s,score:c,indices:l}=r.searchIn(e);if(s){let r={item:e,idx:i,matches:[{score:c,value:e,norm:o,indices:l}]};t?(r.score=Y(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):a.push(r)}}),a}_searchLogical(e){let t=J(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e{if(y(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),{keys:i,records:a}=this._myIndex,o=t?null:[];return a.forEach(({$:e,i:a})=>{if(!y(e))return;let s=[],c=!1,l=!1;if(i.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(s.push(...i),i[0].hasInverse&&(l=!0)):c=!0}),!(l&&c)&&s.length){let r={idx:a,item:e,matches:s};t?(r.score=Y(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}),o}_findMatches({key:e,value:t,searcher:n}){if(!y(t))return[];let r=[];if(d(t))t.forEach(({v:t,i,n:a})=>{if(!y(t))return;let{isMatch:o,score:s,indices:c,hasInverse:l}=n.searchIn(t);o&&r.push({score:s,key:e,value:t,idx:i,norm:a,indices:c,hasInverse:l})});else{let{v:i,n:a}=t,{isMatch:o,score:s,indices:c,hasInverse:l}=n.searchIn(i);o&&r.push({score:s,key:e,value:i,norm:a,indices:c,hasInverse:l})}return r}},ze=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=X({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new P(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0;for(let a=0;a0?1-n/r:0,o={isMatch:!0,score:Math.max(.001,a)};return this.options.includeMatches&&t.length&&(o.indices=j(t)),o}};Q.version=`7.3.0`,Q.createIndex=k,Q.parseIndex=fe,Q.config=D,Q.match=function(e,t,n){return U(e,{...D,...n}).searchIn(t)},Q.parseQuery=J,H(Oe),H(ze),Q.use=function(...e){e.forEach(e=>H(e))};var $=e();function Be(){let{q:e}=c.useSearch(),t=s(),n=l(e=>e.products),d=(0,u.useMemo)(()=>new Q(n,{keys:[`name`,`category`,`description`],threshold:.3}),[n]),f=(0,u.useMemo)(()=>e?d.search(e).map(e=>e.item):n.slice(0,20),[e,d,n]);return(0,$.jsxs)(a,{children:[(0,$.jsx)(r,{placeholder:`Search products...`,value:e,onChange:e=>t({to:`/home/search`,search:{q:e}}),onSearch:e=>t({to:`/home/search`,search:{q:e}})}),(0,$.jsx)(`div`,{className:`mt-4 grid grid-cols-2 gap-3`,children:f.map(e=>(0,$.jsxs)(i,{onClick:()=>t({to:`/home/product/$id`,params:{id:String(e.id)}}),className:`rounded-xl border border-gray-100 bg-white p-3 shadow-sm`,children:[(0,$.jsx)(`div`,{className:`mb-2 aspect-square w-full overflow-hidden rounded-lg bg-gray-100`,children:e.images?.[0]&&(0,$.jsx)(`img`,{src:e.images[0].uri,alt:e.name,className:`h-full w-full object-cover`})}),(0,$.jsx)(o,{weight:`semibold`,className:`text-sm`,numberOfLines:2,children:e.name}),(0,$.jsxs)(o,{weight:`bold`,className:`mt-1 text-brand-600`,children:[`₹`,e.discountedPrice??e.price]})]},e.id))})]})}export{Be as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/index-BXnbw4dQ.js b/apps/web-ui/.output/public/assets/index-BXnbw4dQ.js new file mode 100644 index 0000000..97d8294 --- /dev/null +++ b/apps/web-ui/.output/public/assets/index-BXnbw4dQ.js @@ -0,0 +1,12 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/stores-DmmchhEr.js","assets/src-C0xjWfnx.js","assets/useNavigate-VRicZWJI.js","assets/prominent-api-hooks-DipwWw0H.js","assets/useMutation-DvG2_Fq3.js","assets/trpc-client-QrVjRqP1.js","assets/createLucideIcon-7nArgiy8.js","assets/register-D51Ue4qE.js","assets/me-BCl-FNTs.js","assets/map-pin-DbTySZl1.js","assets/message-square-BE-hnHXL.js","assets/package-CgMILU3n.js","assets/shopping-cart-BBNoSjWE.js","assets/ticket-DHIzx079.js","assets/login-6RtWYa3a.js","assets/home-D1N8PZL-.js","assets/truck-DbJZ8T2i.js","assets/zap-CufcM84a.js","assets/react-BnURElzN.js","assets/cart-query-hooks-BCr0eax3.js","assets/flash-DjIFIcDF.js","assets/central-product-store-DGoerB5U.js","assets/checkout-C55r-QU8.js","assets/cart-DbCdgo5T.js","assets/trash-2-B2Qxo_rV.js","assets/stores._storeId-Bo_VK1An.js","assets/arrow-left-9Wn53Zfu.js","assets/me.terms-D4lFagim.js","assets/me.orders-Dg14cvEl.js","assets/me.edit-profile-Djrkm7XG.js","assets/me.coupons-Cxfwr8iO.js","assets/me.complaints-Z0J1UdPZ.js","assets/me.addresses-BJHDsZnx.js","assets/me.about-CQEAs02D.js","assets/home.search-Dx-x6e4a.js","assets/home.order-success-DnDz5HMq.js","assets/home.checkout-Bl0spbDU.js","assets/home.cart-CQsu3-8T.js","assets/flash.order-success-BtcExp1_.js","assets/flash.checkout-4WSH7Rnu.js","assets/flash.cart-Uj5DbknX.js","assets/me.orders._id-C7HAI1M3.js","assets/home.product._id-u1x5UAhj.js","assets/flash.product._id-B92HJYgs.js","assets/stores._storeId.product._productId-D-WdUvge.js"])))=>i.map(i=>d[i]); +import{d as e,f as t,h as n,p as r}from"./src-C0xjWfnx.js";import{A as i,B as a,C as o,D as s,E as c,F as l,H as u,I as d,L as f,M as p,N as m,O as h,P as g,R as _,S as v,T as y,U as b,V as x,W as ee,_ as S,a as C,b as te,c as ne,d as re,f as ie,g as ae,h as oe,i as se,j as ce,k as le,l as ue,m as w,n as E,o as de,p as fe,r as D,s as pe,t as O,u as k,v as me,w as he,x as ge,y as _e,z as ve}from"./preload-helper-mv2i1dUS.js";import{c as ye,i as be,n as xe,r as Se,s as Ce,t as we}from"./useNavigate-VRicZWJI.js";import{A as Te,C as Ee,D as De,E as Oe,M as ke,N as Ae,O as je,P as Me,S as Ne,T as Pe,_ as Fe,b as Ie,h as Le,p as Re,w as ze,x as Be}from"./useMutation-DvG2_Fq3.js";import{n as Ve,t as He}from"./trpc-client-QrVjRqP1.js";var Ue=r((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,ee||(ee=!0,ie());else{var t=n(l);t!==null&&se(x,t.startTime-e)}}var ee=!1,S=-1,C=5,te=-1;function ne(){return g?!0:!(e.unstable_now()-tet&&ne());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&se(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ie():ee=!1}}}var ie;if(typeof y==`function`)ie=function(){y(re)};else if(typeof MessageChannel<`u`){var ae=new MessageChannel,oe=ae.port2;ae.port1.onmessage=re,ie=function(){oe.postMessage(null)}}else ie=function(){_(re,0)};function se(t,n){S=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(S),S=-1):h=!0,se(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,ie()))),r},e.unstable_shouldYield=ne,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),We=r(((e,t)=>{t.exports=Ue()})),Ge=r((e=>{var n=We(),r=t(),i=ee();function a(e){var t=`https://react.dev/errors/`+e;if(1D||(e.current=fe[D],fe[D]=null,D--)}function k(e,t){D++,fe[D]=e.current,e.current=t}var me=pe(null),he=pe(null),ge=pe(null),_e=pe(null);function ve(e,t){switch(k(ge,t),k(he,e),k(me,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hd(t),e=Ud(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}O(me),k(me,e)}function ye(){O(me),O(he),O(ge)}function be(e){e.memoizedState!==null&&k(_e,e);var t=me.current,n=Ud(t,e.type);t!==n&&(k(he,e),k(me,n))}function xe(e){he.current===e&&(O(me),O(he)),_e.current===e&&(O(_e),$f._currentValue=de)}var Se,Ce;function we(e){if(Se===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Se=t&&t[1]||``,Ce=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Te=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?we(n):``}function De(e,t){switch(e.tag){case 26:case 27:case 5:return we(e.type);case 16:return we(`Lazy`);case 13:return e.child!==t&&t!==null?we(`Suspense Fallback`):we(`Suspense`);case 19:return we(`SuspenseList`);case 0:case 15:return Ee(e.type,!1);case 11:return Ee(e.type.render,!1);case 1:return Ee(e.type,!0);case 31:return we(`Activity`);default:return``}}function Oe(e){try{var t=``,n=null;do t+=De(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var ke=Object.prototype.hasOwnProperty,Ae=n.unstable_scheduleCallback,je=n.unstable_cancelCallback,Me=n.unstable_shouldYield,Ne=n.unstable_requestPaint,Pe=n.unstable_now,Fe=n.unstable_getCurrentPriorityLevel,Ie=n.unstable_ImmediatePriority,Le=n.unstable_UserBlockingPriority,Re=n.unstable_NormalPriority,ze=n.unstable_LowPriority,Be=n.unstable_IdlePriority,Ve=n.log,He=n.unstable_setDisableYieldValue,Ue=null,Ge=null;function Ke(e){if(typeof Ve==`function`&&He(e),Ge&&typeof Ge.setStrictMode==`function`)try{Ge.setStrictMode(Ue,e)}catch{}}var qe=Math.clz32?Math.clz32:Xe,Je=Math.log,Ye=Math.LN2;function Xe(e){return e>>>=0,e===0?32:31-(Je(e)/Ye|0)|0}var Ze=256,Qe=262144,$e=4194304;function et(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function tt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=et(n))):i=et(o):i=et(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=et(n))):i=et(o)):i=et(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function nt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function rt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function it(){var e=$e;return $e<<=1,!($e&62914560)&&($e=4194304),e}function at(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ot(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function st(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),bn=!1;if(yn)try{var xn={};Object.defineProperty(xn,`passive`,{get:function(){bn=!0}}),window.addEventListener(`test`,xn,xn),window.removeEventListener(`test`,xn,xn)}catch{bn=!1}var Sn=null,Cn=null,wn=null;function Tn(){if(wn)return wn;var e,t=Cn,n=t.length,r,i=`value`in Sn?Sn.value:Sn.textContent,a=i.length;for(e=0;e=tr),ir=` `,ar=!1;function or(e,t){switch(e){case`keyup`:return $n.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function sr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var cr=!1;function lr(e,t){switch(e){case`compositionend`:return sr(t);case`keypress`:return t.which===32?(ar=!0,ir):null;case`textInput`:return e=t.data,e===ir&&ar?null:e;default:return null}}function ur(e,t){if(cr)return e===`compositionend`||!er&&or(e,t)?(e=Tn(),wn=Cn=Sn=null,cr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Mr(n)}}function Pr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Pr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Kt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Kt(e.document)}return t}function Ir(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Lr=yn&&`documentMode`in document&&11>=document.documentMode,Rr=null,zr=null,Br=null,Vr=!1;function Hr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Vr||Rr==null||Rr!==Kt(r)||(r=Rr,`selectionStart`in r&&Ir(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Br&&jr(Br,r)||(Br=r,r=Dd(zr,`onSelect`),0>=o,i-=o,Pi=1<<32-qe(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),N&&Ii(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),N&&Ii(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return N&&Ii(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),N&&Ii(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===_&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case h:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===_){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===re&&Na(l)===r.type){n(e,r.sibling),c=i(r,o.props),Ba(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===_?(c=xi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=bi(o.type,o.key,o.props,null,e.mode,c),Ba(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=wi(o,e.mode,c),c.return=e,e=c}return s(e);case re:return o=Na(o),b(e,r,o,c)}if(ue(o))return v(e,r,o,c);if(se(o)){if(l=se(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,za(o),c);if(o.$$typeof===x)return b(e,r,ca(e,o),c);Va(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=Si(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ra=0;var i=b(e,t,n,r);return La=null,i}catch(t){if(t===Da||t===ka)throw t;var a=gi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ua=Ha(!0),Wa=Ha(!1),Ga=!1;function Ka(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function qa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function I(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ja(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=pi(e),fi(e,null,n),t}return li(e,r,t,n),pi(e)}function Ya(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,lt(e,n)}}function Xa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Za=!1;function Qa(){if(Za){var e=va;if(e!==null)throw e}}function $a(e,t,n,r){Za=!1;var i=e.updateQueue;Ga=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(Y&f)===f:(r&f)===f){f!==0&&f===_a&&(Za=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:Ga=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Kl|=o,e.lanes=o,e.memoizedState=d}}function eo(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function to(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=w.T,s={};w.T=s,Fs(e,!1,t,n);try{var c=i(),l=w.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ps(e,t,xa(c,r),mu(e)):Ps(e,t,r,mu(e))}catch(n){Ps(e,t,{then:function(){},status:`rejected`,reason:n},mu())}finally{E.p=a,o!==null&&s.types!==null&&(o.types=s.types),w.T=o}}function ws(){}function Ts(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=Es(e).queue;Cs(e,i,t,de,n===null?ws:function(){return Ds(e),n(r)})}function Es(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:de,baseState:de,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zo,lastRenderedState:de},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ds(e){var t=Es(e);t.next===null&&(t=e.alternate.memoizedState),Ps(e,t.next.queue,{},mu())}function Os(){return sa($f)}function ks(){return Po().memoizedState}function As(){return Po().memoizedState}function js(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=mu();e=I(n);var r=Ja(t,e,n);r!==null&&(gu(r,t,n),Ya(r,t,n)),t={cache:pa()},e.payload=t;return}t=t.return}}function Ms(e,t,n){var r=mu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Is(e)?Ls(t,n):(n=ui(e,t,n,r),n!==null&&(gu(n,e,r),Rs(n,t,r)))}function Ns(e,t,n){Ps(e,t,n,mu())}function Ps(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Is(e))Ls(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Ar(s,o))return li(e,t,i,0),q===null&&ci(),!1}catch{}if(n=ui(e,t,i,r),n!==null)return gu(n,e,r),Rs(n,t,r),!0}return!1}function Fs(e,t,n,r){if(r={lane:2,revertLane:fd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Is(e)){if(t)throw Error(a(479))}else t=ui(e,n,r,2),t!==null&&gu(t,e,2)}function Is(e){var t=e.alternate;return e===R||t!==null&&t===R}function Ls(e,t){yo=vo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Rs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,lt(e,n)}}var zs={readContext:sa,use:Lo,useCallback:B,useContext:B,useEffect:B,useImperativeHandle:B,useLayoutEffect:B,useInsertionEffect:B,useMemo:B,useReducer:B,useRef:B,useState:B,useDebugValue:B,useDeferredValue:B,useTransition:B,useSyncExternalStore:B,useId:B,useHostTransitionStatus:B,useFormState:B,useActionState:B,useOptimistic:B,useMemoCache:B,useCacheRefresh:B};zs.useEffectEvent=B;var Bs={readContext:sa,use:Lo,useCallback:function(e,t){return No().memoizedState=[e,t===void 0?null:t],e},useContext:sa,useEffect:us,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),cs(4194308,4,gs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cs(4194308,4,e,t)},useInsertionEffect:function(e,t){cs(4,2,e,t)},useMemo:function(e,t){var n=No();t=t===void 0?null:t;var r=e();if(bo){Ke(!0);try{e()}finally{Ke(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=No();if(n!==void 0){var i=n(t);if(bo){Ke(!0);try{n(t)}finally{Ke(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ms.bind(null,R,e),[r.memoizedState,e]},useRef:function(e){var t=No();return e={current:e},t.memoizedState=e},useState:function(e){e=qo(e);var t=e.queue,n=Ns.bind(null,R,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:vs,useDeferredValue:function(e,t){return xs(No(),e,t)},useTransition:function(){var e=qo(!1);return e=Cs.bind(null,R,e.queue,!0,!1),No().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=R,i=No();if(N){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),q===null)throw Error(a(349));Y&127||Ho(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,us(Wo.bind(null,r,o,e),[e]),r.flags|=2048,os(9,{destroy:void 0},Uo.bind(null,r,o,n,t),null),n},useId:function(){var e=No(),t=q.identifierPrefix;if(N){var n=Fi,r=Pi;n=(r&~(1<<32-qe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=xo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[gt]=t,o[_t]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Fd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Pc(t)}}return W(t),Fc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Pc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=ge.current,Ji(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Vi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[gt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Nd(e.nodeValue,n)),e||Gi(t,!0)}else e=Vd(e).createTextNode(r),e[gt]=t,t.stateNode=e}return W(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ji(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[gt]=t}else P(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;W(t),e=!1}else n=Yi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(mo(t),t):(mo(t),null);if(t.flags&128)throw Error(a(558))}return W(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ji(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[gt]=t}else P(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;W(t),i=!1}else i=Yi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(mo(t),t):(mo(t),null)}return mo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Lc(t,t.updateQueue),W(t),null);case 4:return ye(),e===null&&Cd(t.stateNode.containerInfo),W(t),null;case 10:return ta(t.type),W(t),null;case 19:if(O(L),r=t.memoizedState,r===null)return W(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Rc(r,!1);else{if(Gl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ho(e),o!==null){for(t.flags|=128,Rc(r,!1),e=o.updateQueue,t.updateQueue=e,Lc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)yi(n,e),n=n.sibling;return k(L,L.current&1|2),N&&Ii(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Pe()>nu&&(t.flags|=128,i=!0,Rc(r,!1),t.lanes=4194304)}else{if(!i)if(e=ho(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Lc(t,e),Rc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!N)return W(t),null}else 2*Pe()-r.renderingStartTime>nu&&n!==536870912&&(t.flags|=128,i=!0,Rc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(W(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Pe(),e.sibling=null,n=L.current,k(L,i?n&1|2:n&1),N&&Ii(t,r.treeForkCount),e);case 22:case 23:return mo(t),oo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(W(t),t.subtreeFlags&6&&(t.flags|=8192)):W(t),n=t.updateQueue,n!==null&&Lc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&O(Ca),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ta(F),W(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Bc(e,t){switch(zi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ta(F),ye(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return xe(t),null;case 31:if(t.memoizedState!==null){if(mo(t),t.alternate===null)throw Error(a(340));P()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));P()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return O(L),null;case 4:return ye(),null;case 10:return ta(t.type),null;case 22:case 23:return mo(t),oo(),e!==null&&O(Ca),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ta(F),null;case 25:return null;default:return null}}function Vc(e,t){switch(zi(t),t.tag){case 3:ta(F),ye();break;case 26:case 27:case 5:xe(t);break;case 4:ye();break;case 31:t.memoizedState!==null&&mo(t);break;case 13:mo(t);break;case 19:O(L);break;case 10:ta(t.type);break;case 22:case 23:mo(t),oo(),e!==null&&O(Ca);break;case 24:ta(F)}}function Hc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Uc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Wc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{to(t,n)}catch(t){Z(e,e.return,t)}}}function Gc(e,t,n){n.props=qs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Kc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function qc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}function Jc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function Yc(e,t,n){try{var r=e.stateNode;Id(r,e.type,n,t),r[_t]=t}catch(t){Z(e,e.return,t)}}function Xc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Qd(e.type)||e.tag===4}function Zc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Xc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Qd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Qc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=un));else if(r!==4&&(r===27&&Qd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Qc(e,t,n),e=e.sibling;e!==null;)Qc(e,t,n),e=e.sibling}function $c(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Qd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for($c(e,t,n),e=e.sibling;e!==null;)$c(e,t,n),e=e.sibling}function el(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Fd(t,r,n),t[gt]=e,t[_t]=n}catch(t){Z(e,e.return,t)}}var tl=!1,nl=!1,rl=!1,il=typeof WeakSet==`function`?WeakSet:Set,al=null;function ol(e,t){if(e=e.containerInfo,zd=cp,e=Fr(e),Ir(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Bd={focusedElem:e,selectionRange:n},cp=!1,al=t;al!==null;)if(t=al,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,al=e;else for(;al!==null;){switch(t=al,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Fd(o,r,n),o[gt]=e,kt(o),r=o;break a;case`link`:var s=Hf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Nr(s,h),v=Nr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,w.T=null,n=uu,uu=null;var o=ou,s=cu;if(au=0,su=ou=null,cu=0,K&6)throw Error(a(331));var c=K;if(K|=4,Fl(o.current),Dl(o,o.current,s,n),K=c,ad(0,!1),Ge&&typeof Ge.onPostCommitFiberRoot==`function`)try{Ge.onPostCommitFiberRoot(Ue,o)}catch{}return!0}finally{E.p=i,w.T=r,Hu(e,t)}}function Gu(e,t,n){t=Ei(n,t),t=$s(e.stateNode,t,2),e=Ja(e,t,2),e!==null&&(ot(e,2),id(e))}function Z(e,t,n){if(e.tag===3)Gu(e,e,n);else for(;t!==null;){if(t.tag===3){Gu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(iu===null||!iu.has(r))){e=Ei(n,e),n=ec(2),r=Ja(t,n,2),r!==null&&(tc(n,r,t,e),ot(r,2),id(r));break}}t=t.return}}function Ku(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new zl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Ul=!0,i.add(n),e=qu.bind(null,e,t,n),t.then(e,e))}function qu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,q===e&&(Y&n)===n&&(Gl===4||Gl===3&&(Y&62914560)===Y&&300>Pe()-eu?!(K&2)&&Cu(e,0):Jl|=n,Xl===Y&&(Xl=0)),id(e)}function Ju(e,t){t===0&&(t=it()),e=di(e,t),e!==null&&(ot(e,t),id(e))}function Yu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ju(e,n)}function Xu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),Ju(e,n)}function Zu(e,t){return Ae(e,t)}var Qu=null,$u=null,ed=!1,td=!1,nd=!1,rd=0;function id(e){e!==$u&&e.next===null&&($u===null?Qu=$u=e:$u=$u.next=e),td=!0,ed||(ed=!0,dd())}function ad(e,t){if(!nd&&td){nd=!0;do for(var n=!1,r=Qu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-qe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ud(r,a))}else a=Y,a=tt(r,r===q?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||nt(r,a)||(n=!0,ud(r,a));r=r.next}while(n);nd=!1}}function od(){sd()}function sd(){td=ed=!1;var e=0;rd!==0&&Kd()&&(e=rd);for(var t=Pe(),n=null,r=Qu;r!==null;){var i=r.next,a=cd(r,t);a===0?(r.next=null,n===null?Qu=i:n.next=i,i===null&&($u=n)):(n=r,(e!==0||a&3)&&(td=!0)),r=i}au!==0&&au!==5||ad(e,!1),rd!==0&&(rd=0)}function cd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Ld(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function Sf(e,t,n){var r=xf;if(r&&typeof t==`string`&&t){var i=Jt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),gf.has(i)||(gf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Fd(t,`link`,e),kt(t),r.head.appendChild(t)))}}function Cf(e){vf.D(e),Sf(`dns-prefetch`,e,null)}function wf(e,t){vf.C(e,t),Sf(`preconnect`,e,t)}function Tf(e,t,n){vf.L(e,t,n);var r=xf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Jt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Jt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Jt(n.imageSizes)+`"]`)):i+=`[href="`+Jt(e)+`"]`;var a=i;switch(t){case`style`:a=jf(e);break;case`script`:a=Ff(e)}hf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),hf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Mf(a))||t===`script`&&r.querySelector(If(a))||(t=r.createElement(`link`),Fd(t,`link`,e),kt(t),r.head.appendChild(t)))}}function Ef(e,t){vf.m(e,t);var n=xf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Jt(r)+`"][href="`+Jt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Ff(e)}if(!hf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),hf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(If(a)))return}r=n.createElement(`link`),Fd(r,`link`,e),kt(r),n.head.appendChild(r)}}}function Df(e,t,n){vf.S(e,t,n);var r=xf;if(r&&e){var i=Ot(r).hoistableStyles,a=jf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Mf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=hf.get(a))&&zf(e,n);var c=o=r.createElement(`link`);kt(c),Fd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Rf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Of(e,t){vf.X(e,t);var n=xf;if(n&&e){var r=Ot(n).hoistableScripts,i=Ff(e),a=r.get(i);a||(a=n.querySelector(If(i)),a||(e=p({src:e,async:!0},t),(t=hf.get(i))&&Bf(e,t),a=n.createElement(`script`),kt(a),Fd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t){vf.M(e,t);var n=xf;if(n&&e){var r=Ot(n).hoistableScripts,i=Ff(e),a=r.get(i);a||(a=n.querySelector(If(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=hf.get(i))&&Bf(e,t),a=n.createElement(`script`),kt(a),Fd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Af(e,t,n,r){var i=(i=ge.current)?_f(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=jf(n.href),n=Ot(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=jf(n.href);var o=Ot(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Mf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),hf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},hf.set(e,n),o||Pf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Ff(n),n=Ot(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function jf(e){return`href="`+Jt(e)+`"`}function Mf(e){return`link[rel="stylesheet"][`+e+`]`}function Nf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Pf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Fd(t,`link`,n),kt(t),e.head.appendChild(t))}function Ff(e){return`[src="`+Jt(e)+`"]`}function If(e){return`script[async]`+e}function Lf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Jt(n.href)+`"]`);if(r)return t.instance=r,kt(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),kt(r),Fd(r,`style`,i),Rf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=jf(n.href);var o=e.querySelector(Mf(i));if(o)return t.state.loading|=4,t.instance=o,kt(o),o;r=Nf(n),(i=hf.get(i))&&zf(r,i),o=(e.ownerDocument||e).createElement(`link`),kt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Fd(o,`link`,r),t.state.loading|=4,Rf(o,n.precedence,e),t.instance=o;case`script`:return o=Ff(n.src),(i=e.querySelector(If(o)))?(t.instance=i,kt(i),i):(r=n,(i=hf.get(o))&&(r=p({},n),Bf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),kt(i),Fd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Rf(r,n.precedence,e));return t.instance}function Rf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Wf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Gf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Kf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=jf(r.href),a=t.querySelector(Mf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Yf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,kt(a);return}a=t.ownerDocument||t,r=Nf(r),(i=hf.get(i))&&zf(r,i),a=a.createElement(`link`),kt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Fd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Yf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var qf=0;function Jf(e,t){return e.stylesheets&&e.count===0&&Zf(e,e.stylesheets),0qf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Yf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Zf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Xf=null;function Zf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Xf=new Map,t.forEach(Qf,e),Xf=null,Yf.call(e))}function Qf(e,t){if(!(t.state.loading&4)){var n=Xf.get(e);if(n)var r=n.get(null);else{n=new Map,Xf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Ge()})),qe=`__TSS_CONTEXT`,Je=Symbol.for(`TSS_SERVER_FUNCTION`),Ye=`application/x-tss-framed`,Xe={JSON:0,CHUNK:1,END:2,ERROR:3};`${Ye}`;var Ze=/;\s*v=(\d+)/;function Qe(e){let t=e.match(Ze);return t?parseInt(t[1],10):void 0}function $e(e){let t=Qe(e);if(t!==void 0&&t!==1)throw Error(`Incompatible framed protocol version: server=${t}, client=1. Please ensure client and server are using compatible versions.`)}var et=()=>window.__TSS_START_OPTIONS__;function tt(){try{return typeof window<`u`&&typeof window.sessionStorage==`object`?window.sessionStorage:void 0}catch{return}}var nt=`tsr-scroll-restoration-v1_3`;function rt(){let e=tt();if(!e)return null;let t={};try{let n=JSON.parse(e.getItem(`tsr-scroll-restoration-v1_3`)||`{}`);ve(n)&&(t=n)}catch{}return{get state(){return t},set:e=>{t=d(e,t)||t},persist:()=>{try{e.setItem(nt,JSON.stringify(t))}catch{}}}}var it=rt(),at=e=>e.state.__TSR_key||e.href;function ot(e){let t=[],n;for(;n=e.parentNode;)t.push(`${e.tagName}:nth-child(${Array.prototype.indexOf.call(n.children,e)+1})`),e=n;return`${t.reverse().join(` > `)}`.toLowerCase()}var st=!1,ct=`window`,lt=`data-scroll-restoration-id`;function ut(e,t){if(!it)return;let n=it;if((t??e.options.scrollRestoration??!1)&&(e.isScrollRestoring=!0),e.isScrollRestorationSetup||!n)return;e.isScrollRestorationSetup=!0,st=!1;let r=e.options.getScrollRestorationKey||at,i=new Map;window.history.scrollRestoration=`manual`;let a=t=>{if(!(st||!e.isScrollRestoring))if(t.target===document||t.target===window)i.set(ct,{scrollX:window.scrollX||0,scrollY:window.scrollY||0});else{let e=t.target;i.set(e,{scrollX:e.scrollLeft||0,scrollY:e.scrollTop||0})}},o=t=>{if(!e.isScrollRestoring||!t||i.size===0||!n)return;let r=n.state[t]||={};for(let[e,t]of i){let n;if(e===ct)n=ct;else if(e.isConnected){let t=e.getAttribute(lt);n=t?`[${lt}="${t}"]`:ot(e)}n&&(r[n]=t)}};document.addEventListener(`scroll`,a,!0),e.subscribe(`onBeforeLoad`,e=>{o(e.fromLocation?r(e.fromLocation):void 0),i.clear()}),window.addEventListener(`pagehide`,()=>{o(r(e.stores.resolvedLocation.get()??e.stores.location.get())),n.persist()}),e.subscribe(`onRendered`,t=>{let a=r(t.toLocation),o=e.options.scrollRestorationBehavior,s=e.options.scrollToTopSelectors;if(i.clear(),!e.resetNextScroll){e.resetNextScroll=!0;return}if(!(typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))){st=!0;try{let t=e.isScrollRestoring?n.state[a]:void 0,r=!1;if(t)for(let e in t){let n=t[e];if(!ve(n))continue;let{scrollX:i,scrollY:a}=n;if(!(!Number.isFinite(i)||!Number.isFinite(a))){if(e===ct)window.scrollTo({top:a,left:i,behavior:o}),r=!0;else if(e){let t;try{t=document.querySelector(e)}catch{continue}t&&(t.scrollLeft=i,t.scrollTop=a,r=!0)}}}if(!r){let t=e.history.location.hash.slice(1);if(t){let e=window.history.state?.__hashScrollIntoViewOptions??!0;if(e){let n=document.getElementById(t);n&&n.scrollIntoView(e)}}else{let e={top:0,left:0,behavior:o};if(window.scrollTo(e),s)for(let t of s){if(t===ct)continue;let n=typeof t==`function`?t():document.querySelector(t);n&&n.scrollTo(e)}}}}finally{st=!1}e.isScrollRestoring&&n.set(e=>(e[a]||={},e))}})}function dt(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function ft(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function pt(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=ft(r):Array.isArray(t)?t.push(ft(r)):n[e]=[t,ft(r)]}return n}var mt=gt(JSON.parse),ht=_t(JSON.stringify,JSON.parse);function gt(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=pt(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function _t(e,t){let n=typeof t==`function`;function r(r){if(typeof r==`object`&&r)try{return e(r)}catch{}else if(n&&typeof r==`string`)try{return t(r),e(r)}catch{}return r}return e=>{let t=dt(e,r);return t?`?${t}`:``}}function vt(e){return{input:({url:t})=>{for(let n of e)t=bt(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=xt(e[n],t);return t}}}function yt(e){let t=_e(e.basepath),n=`/${t}`,r=`${n}/`,i=e.caseSensitive?n:n.toLowerCase(),a=e.caseSensitive?r:r.toLowerCase();return{input:({url:t})=>{let r=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return r===i?t.pathname=`/`:r.startsWith(a)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=S([`/`,t,e.pathname]),e)}}function bt(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function xt(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function St(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i,init:a}=t,o=new Map,c=new Map,l=new Map,u=n(e.status),d=n(e.loadedAt),f=n(e.isLoading),p=n(e.isTransitioning),m=n(e.location),h=n(e.resolvedLocation),g=n(e.statusCode),_=n(e.redirect),v=n([]),y=n([]),b=n([]),x=r(()=>Ct(o,v.get())),ee=r(()=>Ct(c,y.get())),S=r(()=>Ct(l,b.get())),C=r(()=>v.get()[0]),te=r(()=>v.get().some(e=>o.get(e)?.get().status===`pending`)),ne=r(()=>({locationHref:m.get().href,resolvedLocationHref:h.get()?.href,status:u.get()})),re=r(()=>({status:u.get(),loadedAt:d.get(),isLoading:f.get(),isTransitioning:p.get(),matches:x.get(),location:m.get(),resolvedLocation:h.get(),statusCode:g.get(),redirect:_.get()})),ie=s(64);function ae(e){let t=ie.get(e);return t||(t=r(()=>{let t=v.get();for(let n of t){let t=o.get(n);if(t&&t.routeId===e)return t.get()}}),ie.set(e,t)),t}let oe={status:u,loadedAt:d,isLoading:f,isTransitioning:p,location:m,resolvedLocation:h,statusCode:g,redirect:_,matchesId:v,pendingIds:y,cachedIds:b,matches:x,pendingMatches:ee,cachedMatches:S,firstId:C,hasPending:te,matchRouteDeps:ne,matchStores:o,pendingMatchStores:c,cachedMatchStores:l,__store:re,getRouteMatchStore:ae,setMatches:se,setPending:ce,setCached:le};se(e.matches),a?.(oe);function se(e){wt(e,o,v,n,i)}function ce(e){wt(e,c,y,n,i)}function le(e){wt(e,l,b,n,i)}return oe}function Ct(e,t){let n=[];for(let r of t){let t=e.get(r);t&&n.push(t.get())}return n}function wt(e,t,n,r,a){let o=e.map(e=>e.id),s=new Set(o);a(()=>{for(let e of t.keys())s.has(e)||t.delete(e);for(let n of e){let e=t.get(n.id);if(!e){let e=r(n);e.routeId=n.routeId,t.set(n.id,e);continue}e.routeId=n.routeId,e.get()!==n&&e.set(n)}i(n.get(),o)||n.set(o)})}var Tt=e=>{if(!e.rendered)return e.rendered=!0,e.onReady?.()},Et=e=>e.stores.matchesId.get().some(t=>e.stores.matchStores.get(t)?.get()._forcePending),Dt=(e,t)=>!!(e.preload&&!e.router.stores.matchStores.has(t)),Ot=(e,t,n=!0)=>{let r={...e.router.options.context??{}},i=n?t:t-1;for(let t=0;t<=i;t++){let n=e.matches[t];if(!n)continue;let i=e.router.getMatch(n.id);i&&Object.assign(r,i.__routeContext,i.__beforeLoadContext)}return r},kt=(e,t)=>{if(!e.matches.length)return;let n=t.routeId,r=e.matches.findIndex(t=>t.routeId===e.router.routeTree.id),i=r>=0?r:0,a=n?e.matches.findIndex(e=>e.routeId===n):e.firstBadMatchIndex??e.matches.length-1;a<0&&(a=i);for(let t=a;t>=0;t--){let n=e.matches[t];if(e.router.looseRoutesById[n.routeId].options.notFoundComponent)return t}return n?a:i},At=(e,t,n)=>{if(!(!ue(n)&&!fe(n)))throw ue(n)&&n.redirectHandled&&!n.options.reloadDocument?n:(t&&(t._nonReactive.beforeLoadPromise?.resolve(),t._nonReactive.loaderPromise?.resolve(),t._nonReactive.beforeLoadPromise=void 0,t._nonReactive.loaderPromise=void 0,t._nonReactive.error=n,e.updateMatch(t.id,r=>({...r,status:ue(n)?`redirected`:fe(n)?`notFound`:r.status===`pending`?`success`:r.status,context:Ot(e,t.index),isFetching:!1,error:n})),fe(n)&&!n.routeId&&(n.routeId=t.routeId),t._nonReactive.loadPromise?.resolve()),ue(n)&&(e.rendered=!0,n.options._fromLocation=e.location,n.redirectHandled=!0,n=e.router.resolveRedirect(n)),n)},jt=(e,t)=>{let n=e.router.getMatch(t);return!!(!n||n._nonReactive.dehydrated)},Mt=(e,t,n)=>{let r=Ot(e,n);e.updateMatch(t,e=>({...e,context:r}))},Nt=(e,t,n,r)=>{let{id:i,routeId:a}=e.matches[t],o=e.router.looseRoutesById[a];if(n instanceof Promise)throw n;n.routerCode=r,e.firstBadMatchIndex??=t,At(e,e.router.getMatch(i),n);try{o.options.onError?.(n)}catch(t){n=t,At(e,e.router.getMatch(i),n)}e.updateMatch(i,e=>(e._nonReactive.beforeLoadPromise?.resolve(),e._nonReactive.beforeLoadPromise=void 0,e._nonReactive.loadPromise?.resolve(),{...e,error:n,status:`error`,isFetching:!1,updatedAt:Date.now(),abortController:new AbortController})),!e.preload&&!ue(n)&&!fe(n)&&(e.serialError??=n)},Pt=(e,t,n,r)=>{if(r._nonReactive.pendingTimeout!==void 0)return;let i=n.options.pendingMs??e.router.options.defaultPendingMs;if(e.onReady&&!Dt(e,t)&&(n.options.loader||n.options.beforeLoad||Gt(n))&&typeof i==`number`&&i!==1/0&&(n.options.pendingComponent??e.router.options?.defaultPendingComponent)){let t=setTimeout(()=>{Tt(e)},i);r._nonReactive.pendingTimeout=t}},Ft=(e,t,n)=>{let r=e.router.getMatch(t);if(!r._nonReactive.beforeLoadPromise&&!r._nonReactive.loaderPromise)return;Pt(e,t,n,r);let i=()=>{let n=e.router.getMatch(t);n.preload&&(n.status===`redirected`||n.status===`notFound`)&&At(e,n,n.error)};return r._nonReactive.beforeLoadPromise?r._nonReactive.beforeLoadPromise.then(i):i()},It=(e,t,n,r)=>{let i=e.router.getMatch(t),o=i._nonReactive.loadPromise;i._nonReactive.loadPromise=ce(()=>{o?.resolve(),o=void 0});let{paramsError:s,searchError:c}=i;s&&Nt(e,n,s,`PARSE_PARAMS`),c&&Nt(e,n,c,`VALIDATE_SEARCH`),Pt(e,t,r,i);let l=new AbortController,u=!1,d=()=>{u||(u=!0,e.updateMatch(t,e=>({...e,isFetching:`beforeLoad`,fetchCount:e.fetchCount+1,abortController:l})))},f=()=>{i._nonReactive.beforeLoadPromise?.resolve(),i._nonReactive.beforeLoadPromise=void 0,e.updateMatch(t,e=>({...e,isFetching:!1}))};if(!r.options.beforeLoad){e.router.batch(()=>{d(),f()});return}i._nonReactive.beforeLoadPromise=ce();let p={...Ot(e,n,!1),...i.__routeContext},{search:m,params:h,cause:g}=i,_=Dt(e,t),v={search:m,abortController:l,params:h,preload:_,context:p,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),buildLocation:e.router.buildLocation,cause:_?`preload`:g,matches:e.matches,routeId:r.id,...e.router.options.additionalContext},y=r=>{if(r===void 0){e.router.batch(()=>{d(),f()});return}(ue(r)||fe(r))&&(d(),Nt(e,n,r,`BEFORE_LOAD`)),e.router.batch(()=>{d(),e.updateMatch(t,e=>({...e,__beforeLoadContext:r})),f()})},b;try{if(b=r.options.beforeLoad(v),a(b))return d(),b.catch(t=>{Nt(e,n,t,`BEFORE_LOAD`)}).then(y)}catch(t){d(),Nt(e,n,t,`BEFORE_LOAD`)}y(b)},Lt=(e,t)=>{let{id:n,routeId:r}=e.matches[t],i=e.router.looseRoutesById[r],o=()=>c(),s=()=>It(e,n,t,i),c=()=>{if(jt(e,n))return;let t=Ft(e,n,i);return a(t)?t.then(s):s()};return o()},Rt=(e,t,n)=>{let r=e.router.getMatch(t);if(!r||!n.options.head&&!n.options.scripts&&!n.options.headers)return;let i={ssr:e.router.options.ssr,matches:e.matches,match:r,params:r.params,loaderData:r.loaderData};return Promise.all([n.options.head?.(i),n.options.scripts?.(i),n.options.headers?.(i)]).then(([e,t,n])=>({meta:e?.meta,links:e?.links,headScripts:e?.scripts,headers:n,scripts:t,styles:e?.styles}))},zt=(e,t,n,r,i)=>{let a=t[r-1],{params:o,loaderDeps:s,abortController:c,cause:l}=e.router.getMatch(n),u=Ot(e,r),d=Dt(e,n);return{params:o,deps:s,preload:!!d,parentMatchPromise:a,abortController:c,context:u,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),cause:d?`preload`:l,route:i,...e.router.options.additionalContext}},Bt=async(e,t,n,r,i)=>{try{let o=e.router.getMatch(n);try{Wt(i);let s=i.options.loader,c=typeof s==`function`?s:s?.handler,l=c?.(zt(e,t,n,r,i)),u=!!c&&a(l);if((u||i._lazyPromise||i._componentsPromise||i.options.head||i.options.scripts||i.options.headers||o._nonReactive.minPendingPromise)&&e.updateMatch(n,e=>({...e,isFetching:`loader`})),c){let t=u?await l:l;At(e,e.router.getMatch(n),t),t!==void 0&&e.updateMatch(n,e=>({...e,loaderData:t}))}i._lazyPromise&&await i._lazyPromise;let d=o._nonReactive.minPendingPromise;d&&await d,i._componentsPromise&&await i._componentsPromise,e.updateMatch(n,t=>({...t,error:void 0,context:Ot(e,r),status:`success`,isFetching:!1,updatedAt:Date.now()}))}catch(t){let a=t;if(a?.name===`AbortError`){if(o.abortController.signal.aborted){o._nonReactive.loaderPromise?.resolve(),o._nonReactive.loaderPromise=void 0;return}e.updateMatch(n,t=>({...t,status:t.status===`pending`?`success`:t.status,isFetching:!1,context:Ot(e,r)}));return}let s=o._nonReactive.minPendingPromise;s&&await s,fe(t)&&await i.options.notFoundComponent?.preload?.(),At(e,e.router.getMatch(n),t);try{i.options.onError?.(t)}catch(t){a=t,At(e,e.router.getMatch(n),t)}!ue(a)&&!fe(a)&&await Wt(i,[`errorComponent`]),e.updateMatch(n,t=>({...t,error:a,context:Ot(e,r),status:`error`,isFetching:!1}))}}catch(t){let r=e.router.getMatch(n);r&&(r._nonReactive.loaderPromise=void 0),At(e,r,t)}},Vt=async(e,t,n)=>{async function r(r,a,c,l,d){let f=Date.now()-a.updatedAt,p=r?d.options.preloadStaleTime??e.router.options.defaultPreloadStaleTime??3e4:d.options.staleTime??e.router.options.defaultStaleTime??0,m=d.options.shouldReload,h=typeof m==`function`?m(zt(e,t,i,n,d)):m,{status:g,invalid:_}=l,v=f>=p&&(!!e.forceStaleReload||l.cause===`enter`||c!==void 0&&c!==l.id);o=g===`success`&&(_||(h??v)),r&&d.options.preload===!1||(o&&!e.sync&&u?(s=!0,(async()=>{try{await Bt(e,t,i,n,d);let r=e.router.getMatch(i);r._nonReactive.loaderPromise?.resolve(),r._nonReactive.loadPromise?.resolve(),r._nonReactive.loaderPromise=void 0,r._nonReactive.loadPromise=void 0}catch(t){ue(t)&&await e.router.navigate(t.options)}})()):g!==`success`||o?await Bt(e,t,i,n,d):Mt(e,i,n))}let{id:i,routeId:a}=e.matches[n],o=!1,s=!1,c=e.router.looseRoutesById[a],l=c.options.loader,u=((typeof l==`function`?void 0:l?.staleReloadMode)??e.router.options.defaultStaleReloadMode)!==`blocking`;if(jt(e,i)){if(!e.router.getMatch(i))return e.matches[n];Mt(e,i,n)}else{let t=e.router.getMatch(i),o=e.router.stores.matchesId.get()[n],s=(o&&e.router.stores.matchStores.get(o)||null)?.routeId===a?o:e.router.stores.matches.get().find(e=>e.routeId===a)?.id,l=Dt(e,i);if(t._nonReactive.loaderPromise){if(t.status===`success`&&!e.sync&&!t.preload&&u)return t;await t._nonReactive.loaderPromise;let n=e.router.getMatch(i),a=n._nonReactive.error||n.error;a&&At(e,n,a),n.status===`pending`&&await r(l,t,s,n,c)}else{let n=l&&!e.router.stores.matchStores.has(i),a=e.router.getMatch(i);a._nonReactive.loaderPromise=ce(),n!==a.preload&&e.updateMatch(i,e=>({...e,preload:n})),await r(l,t,s,a,c)}}let d=e.router.getMatch(i);s||(d._nonReactive.loaderPromise?.resolve(),d._nonReactive.loadPromise?.resolve(),d._nonReactive.loadPromise=void 0),clearTimeout(d._nonReactive.pendingTimeout),d._nonReactive.pendingTimeout=void 0,s||(d._nonReactive.loaderPromise=void 0),d._nonReactive.dehydrated=void 0;let f=s?d.isFetching:!1;return f!==d.isFetching||d.invalid!==!1?(e.updateMatch(i,e=>({...e,isFetching:f,invalid:!1})),e.router.getMatch(i)):d};async function Ht(e){let t=e,n=[];Et(t.router)&&Tt(t);let r;for(let e=0;e({...e,...a?{status:`success`,globalNotFound:!0,error:void 0}:{status:`notFound`,error:u},isFetching:!1})),d=e,await Wt(r,[`notFoundComponent`])}else if(!t.preload){let e=t.matches[0];e.globalNotFound||t.router.getMatch(e.id)?.globalNotFound&&t.updateMatch(e.id,e=>({...e,globalNotFound:!1,error:void 0}))}if(t.serialError&&t.firstBadMatchIndex!==void 0){let e=t.router.looseRoutesById[t.matches[t.firstBadMatchIndex].routeId];await Wt(e,[`errorComponent`])}for(let e=0;e<=d;e++){let{id:n,routeId:r}=t.matches[e],i=t.router.looseRoutesById[r];try{let e=Rt(t,n,i);if(e){let r=await e;t.updateMatch(n,e=>({...e,...r}))}}catch(e){console.error(`Error executing head for route ${r}:`,e)}}let f=Tt(t);if(a(f)&&await f,u)throw u;if(t.serialError&&!t.preload&&!t.onReady)throw t.serialError;return t.matches}function Ut(e,t){let n=t.map(t=>e.options[t]?.preload?.()).filter(Boolean);if(n.length!==0)return Promise.all(n)}function Wt(e,t=Kt){!e._lazyLoaded&&e._lazyPromise===void 0&&(e.lazyFn?e._lazyPromise=e.lazyFn().then(t=>{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazyLoaded=!0,e._lazyPromise=void 0}):e._lazyLoaded=!0);let n=()=>e._componentsLoaded?void 0:t===Kt?(()=>{if(e._componentsPromise===void 0){let t=Ut(e,Kt);t?e._componentsPromise=t.then(()=>{e._componentsLoaded=!0,e._componentsPromise=void 0}):e._componentsLoaded=!0}return e._componentsPromise})():Ut(e,t);return e._lazyPromise?e._lazyPromise.then(n):n()}function Gt(e){for(let t of Kt)if(e.options[t]?.preload)return!0;return!1}var Kt=[`component`,`errorComponent`,`pendingComponent`,`notFoundComponent`],qt=`__TSR_index`,Jt=`popstate`,Yt=`beforeunload`;function Xt(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=en(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[qt];i=Zt(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[qt];i=Zt(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[qt]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function Zt(e,t){t||={};let n=tn();return{...t,key:n,__TSR_key:n,[qt]:e}}function Qt(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>en(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=tn();t.history.replaceState({[qt]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_,v=()=>{g&&(S._ignoreSubscribers=!0,(g.isPush?t.history.pushState:t.history.replaceState)(g.state,``,g.href),S._ignoreSubscribers=!1,g=void 0,_=void 0,u=void 0)},y=(e,t,n)=>{let r=s(t);_||(u=l),l=en(t,n),g={href:r,state:n,isPush:g?.isPush||e===`push`},_||=Promise.resolve().then(()=>v())},b=e=>{l=c(),S.notify({type:e})},x=async()=>{if(f){f=!1;return}let e=c(),n=e.state[qt]-l.state[qt],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),S.notify(u);return}}}l=c(),S.notify(u)},ee=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Xt({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>y(`push`,e,t),replaceState:(e,t)=>y(`replace`,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:v,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Yt,ee,{capture:!0}),t.removeEventListener(Jt,x)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(Yt,ee,{capture:!0}),t.addEventListener(Jt,x),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||b(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||b(`REPLACE`),n},S}function $t(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function en(e,t){let n=$t(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=tn();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[qt]:0,key:a,__TSR_key:a}}}function tn(){return(Math.random()+1).toString(36).substring(7)}function nn(e){return e instanceof Error?{name:e.name,message:e.message}:{data:e}}function rn(e,t){let n=t,r=e;return{fromLocation:n,toLocation:r,pathChanged:n?.pathname!==r.pathname,hrefChanged:n?.href!==r.href,hashChanged:n?.hash!==r.hash}}var an=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this.resetNextScroll=!0,this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.isScrollRestoring=!1,this.isScrollRestorationSetup=!1,this.routeBranchCache=new WeakMap,this.startTransition=e=>e(),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=oe(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=Qt()),this.origin=this.options.origin,this.origin||(window?.origin&&window.origin!==`null`?this.origin=window.origin:this.origin=`http://localhost`),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=s(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=St(cn(this.latestLocation),e),ut(this)}let a=!1,o=this.options.basepath??`/`,c=this.options.rewrite;if(r||n!==o||i!==c){this.basepath=o;let e=[],t=_e(o);t&&t!==`/`&&e.push(yt({basepath:o})),c&&e.push(c),this.rewrite=e.length===0?void 0:e.length===1?e[0]:vt(e),this.history&&this.updateLatestLocation(),a=!0}a&&this.stores&&this.stores.location.set(this.latestLocation),typeof window<`u`&&`CSS`in window&&typeof window.CSS?.supports==`function`&&(this.isViewTransitionTypesSupported=window.CSS.supports(`selector(:active-view-transition-type(a)`))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=c(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&y(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{this.subscribers.forEach(t=>{t.eventType===e.type&&t.fn(e)})},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:p(e).path,external:!1,searchStr:o,search:u(t?.search,i),hash:p(r.slice(1)).path,state:b(t?.state,a)}}let o=new URL(i,this.origin),s=bt(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:p(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:u(t?.search,c),hash:p(s.hash.slice(1)).path,state:b(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>me({base:e,to:t.includes(`//`)?w(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>un({pathname:e,routesById:this.routesById,processedTree:this.processedTree}),this.cancelMatch=e=>{let t=this.getMatch(e);t&&(t.abortController.abort(),clearTimeout(t._nonReactive.pendingTimeout),t._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{this.stores.pendingIds.get().forEach(e=>{this.cancelMatch(e)}),this.stores.matchesId.get().forEach(e=>{if(this.stores.pendingMatchStores.has(e))return;let t=this.stores.matchStores.get(e)?.get();t&&(t.status===`pending`||t.isFetching===`loader`)&&this.cancelMatch(e)})},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this.pendingBuiltLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r.fullPath,a=t.to?`${t.to}`:void 0,o=r.search,s=Object.assign(Object.create(null),r.params),c=a?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(i,`.`),l=a?this.resolvePathWithBase(c,a):c,m=t.params===!1||t.params===null?Object.create(null):(t.params??!0)===!0?s:Object.assign(s,d(t.params,s)),h=this.routesByPath[te(l)],_;if(h)_=this.getRouteBranch(h);else if(l.includes(`$`))_=[];else{let e=this.getMatchedRoutes(l);_=e.matchedRoutes,this.options.notFoundRoute&&(!e.foundRoute||e.foundRoute.path!==`/`&&e.routeParams[`**`])&&(_=[..._,this.options.notFoundRoute])}if(_.length&&f(m))for(let e of _){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(m,t(m))}catch{}}let v=e.leaveParams?l:p(ae({path:l,params:m,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,y=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};_.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,ln(t.options.validateSearch,{...e,...y}))}catch{}}),y=e}y=dn({search:y,dest:t,destRoutes:_,_includeValidateSearch:e._includeValidateSearch}),y=u(o,y);let x=this.options.stringifySearch(y),ee=t.hash===!0?n.hash:t.hash?d(t.hash,n.hash):void 0,S=ee?`#${ee}`:``,C=t.state===!0?n.state:t.state?d(t.state,n.state):{};C=b(n.state,C);let ne=`${v}${x}${S}`,re,ie,oe=!1;if(this.rewrite){let e=new URL(ne,this.origin),t=xt(this.rewrite,e);re=e.href.replace(e.origin,``),t.origin===this.origin?ie=t.pathname+t.search+t.hash:(ie=t.href,oe=!0)}else re=g(ne),ie=re;return{publicHref:ie,href:re,pathname:v,search:y,searchStr:x,state:C,hash:ee??``,external:oe,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=v(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=s===!1||s===null?Object.create(null):(s??!0)===!0?n:Object.assign(n,d(s,n));r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=()=>{let e=[`key`,`__TSR_key`,`__TSR_index`,`__hashScrollIntoViewOptions`];e.forEach(e=>{n.state[e]=this.latestLocation.state[e]});let t=m(n.state,this.latestLocation.state);return e.forEach(e=>{delete n.state[e]}),t},i=te(this.latestLocation.href)===te(n.href),a=this.commitLocationPromise;if(this.commitLocationPromise=ce(()=>{a?.resolve(),a=void 0}),i&&r())this.load();else{let{maskedLocation:r,hashScrollIntoView:i,...a}=n;r&&(a={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...a,search:a.searchStr,state:{...a.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(a.unmaskOnReload??this.options.unmaskOnReload??!1)&&(a.state.__tempKey=this.tempLocationKey)),a.state.__hashScrollIntoViewOptions=i??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,this.history[n.replace?`replace`:`push`](a.publicHref,a.state,{ignoreBlocker:t})}return this.resetNextScroll=n.resetScroll??!0,this.history.subscribers.size||this.load(),this.commitLocationPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,href:a,...o}={})=>{if(a){let t=this.history.location.state.__TSR_index,n=en(a,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);o.to=bt(this.rewrite,r).pathname,o.search=this.options.parseSearch(n.search),o.hash=n.hash.slice(1)}let s=this.buildLocation({...o,_includeValidateSearch:!0});this.pendingBuiltLocation=s;let c=this.commitLocation({...s,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return Promise.resolve().then(()=>{this.pendingBuiltLocation===s&&(this.pendingBuiltLocation=void 0)}),c},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(_(t,this.protocolAllowlist))return Promise.resolve();if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return Promise.resolve()}return i.replace?window.location.replace(t):window.location.href=t,Promise.resolve()}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.beforeLoad=()=>{this.cancelMatches(),this.updateLatestLocation();let e=this.matchRoutes(this.latestLocation),t=this.stores.cachedMatches.get().filter(t=>!e.some(e=>e.id===t.id));this.batch(()=>{this.stores.status.set(`pending`),this.stores.statusCode.set(200),this.stores.isLoading.set(!0),this.stores.location.set(this.latestLocation),this.stores.setPending(e),this.stores.setCached(t)})},this.load=async e=>{let t,n,r,i=this.stores.resolvedLocation.get()??this.stores.location.get();for(r=new Promise(a=>{this.startTransition(async()=>{try{this.beforeLoad();let t=this.latestLocation,n=rn(t,this.stores.resolvedLocation.get());this.stores.redirect.get()||this.emit({type:`onBeforeNavigate`,...n}),this.emit({type:`onBeforeLoad`,...n}),await Ht({router:this,sync:e?.sync,forceStaleReload:i.href===t.href,matches:this.stores.pendingMatches.get(),location:t,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let e=null,t=null,n=null,r=null;this.batch(()=>{let i=this.stores.pendingMatches.get(),a=i.length,o=this.stores.matches.get();e=a?o.filter(e=>!this.stores.pendingMatchStores.has(e.id)):null;let s=new Set;for(let e of this.stores.pendingMatchStores.values())e.routeId&&s.add(e.routeId);let c=new Set;for(let e of this.stores.matchStores.values())e.routeId&&c.add(e.routeId);t=a?o.filter(e=>!s.has(e.routeId)):null,n=a?i.filter(e=>!c.has(e.routeId)):null,r=a?i.filter(e=>c.has(e.routeId)):o,this.stores.isLoading.set(!1),this.stores.loadedAt.set(Date.now()),a&&(this.stores.setMatches(i),this.stores.setPending([]),this.stores.setCached([...this.stores.cachedMatches.get(),...e.filter(e=>e.status!==`error`&&e.status!==`notFound`&&e.status!==`redirected`)]),this.clearExpiredCache())});for(let[e,i]of[[t,`onLeave`],[n,`onEnter`],[r,`onStay`]])if(e)for(let t of e)this.looseRoutesById[t.routeId].options[i]?.(t)})})}})}catch(e){ue(e)?(t=e,this.navigate({...t.options,replace:!0,ignoreBlocker:!0})):fe(e)&&(n=e);let r=t?t.status:n?404:this.stores.matches.get().some(e=>e.status===`error`)?500:200;this.batch(()=>{this.stores.statusCode.set(r),this.stores.redirect.set(t)})}this.latestLoadPromise===r&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),a()})}),this.latestLoadPromise=r,await r;this.latestLoadPromise&&r!==this.latestLoadPromise;)await this.latestLoadPromise;let a;this.hasNotFoundMatch()?a=404:this.stores.matches.get().some(e=>e.status===`error`)&&(a=500),a!==void 0&&this.stores.statusCode.set(a)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document<`u`&&`startViewTransition`in document&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&this.isViewTransitionTypesSupported){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(rn(r,i)):t.types;if(a===!1){e();return}n={update:e,types:a}}else n=e;document.startViewTransition(n)}else e()},this.updateMatch=(e,t)=>{this.startTransition(()=>{let n=this.stores.pendingMatchStores.get(e);if(n){n.set(t);return}let r=this.stores.matchStores.get(e);if(r){r.set(t);return}let i=this.stores.cachedMatchStores.get(e);if(i){let n=t(i.get());n.status===`redirected`?this.stores.cachedMatchStores.delete(e)&&this.stores.cachedIds.set(t=>t.filter(t=>t!==e)):i.set(n)}})},this.getMatch=e=>this.stores.cachedMatchStores.get(e)?.get()??this.stores.pendingMatchStores.get(e)?.get()??this.stores.matchStores.get(e)?.get(),this.invalidate=e=>{let t=t=>e?.filter?.(t)??!0?{...t,invalid:!0,...e?.forcePending||t.status===`error`||t.status===`notFound`?{status:`pending`,error:void 0}:void 0}:t;return this.batch(()=>{this.stores.setMatches(this.stores.matches.get().map(t)),this.stores.setCached(this.stores.cachedMatches.get().map(t)),this.stores.setPending(this.stores.pendingMatches.get().map(t))}),this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.getParsedLocationHref=e=>e.publicHref||`/`,this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=e.options._builtLocation??this.buildLocation(e.options),n=this.getParsedLocationHref(t);e.options.href=n,e.headers.set(`Location`,n)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&_(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=e?.filter;t===void 0?this.stores.setCached([]):this.stores.setCached(this.stores.cachedMatches.get().filter(e=>!t(e)))},this.clearExpiredCache=()=>{let e=Date.now();this.clearCache({filter:t=>{let n=this.looseRoutesById[t.routeId];if(!n.options.loader)return!0;let r=(t.preload?n.options.preloadGcTime??this.options.defaultPreloadGcTime:n.options.gcTime??this.options.defaultGcTime)??300*1e3;return t.status===`error`?!0:e-t.updatedAt>=r}})},this.loadRouteChunk=Wt,this.preloadRoute=async e=>{let t=e._builtLocation??this.buildLocation(e),n=this.matchRoutes(t,{throwOnError:!0,preload:!0,dest:e}),r=new Set([...this.stores.matchesId.get(),...this.stores.pendingIds.get()]),i=new Set([...r,...this.stores.cachedIds.get()]),a=n.filter(e=>!i.has(e.id));if(a.length){let e=this.stores.cachedMatches.get();this.stores.setCached([...e,...a])}try{return n=await Ht({router:this,matches:n,location:t,preload:!0,updateMatch:(e,t)=>{r.has(e)?n=n.map(n=>n.id===e?t(n):n):this.updateMatch(e,t)}}),n}catch(e){if(ue(e))return e.options.reloadDocument?void 0:await this.preloadRoute({...e.options,_fromLocation:t});fe(e)||console.error(e);return}},this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n);if(t?.pending&&this.stores.status.get()!==`pending`)return!1;let i=(t?.pending===void 0?!this.stores.isLoading.get():t.pending)?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),a=he(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,i.pathname,this.processedTree);return!a||e.params&&!m(a.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?m(i.search,r.search,{partial:!0})?a.rawParams:!1:a.rawParams},this.hasNotFoundMatch=()=>this.stores.matches.get().some(e=>e.status===`notFound`||e.globalNotFound),this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??ht,parseSearch:e.parseSearch??mt,protocolAllowlist:e.protocolAllowlist??le}),typeof document<`u`&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=ge(e),this.routeBranchCache.set(e,t)),t}get looseRoutesById(){return this.routesById}getParentContext(e){return e?.id?e.context??this.options.context??void 0:this.options.context??void 0}matchRoutesInternal(e,t){let n=this.getMatchedRoutes(e.pathname),{foundRoute:r,routeParams:i}=n,{matchedRoutes:a}=n,o=!1;(r?r.path!==`/`&&i[`**`]:te(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?pn(this.options.notFoundMode,a):void 0,c=Array(a.length),l=new Map;for(let e of this.stores.matchStores.values())e.routeId&&l.set(e.routeId,e.get());for(let n=0;nthis.navigate({...t,_fromLocation:e}),buildLocation:this.buildLocation,cause:n.cause,abortController:n.abortController,preload:!!n.preload,matches:c,routeId:r.id};n.__routeContext=r.options.context(t)??void 0}n.context={...a,...n.__routeContext,...n.__beforeLoadContext}}}return c}matchRoutesLightweight(e){let{matchedRoutes:t,routeParams:n}=this.getMatchedRoutes(e.pathname),r=x(t),i={...e.search};for(let e of t)try{Object.assign(i,ln(e.options.validateSearch,i))}catch{}let a=x(this.stores.matchesId.get()),o=a&&this.stores.matchStores.get(a)?.get(),s=o&&o.routeId===r.id&&o.pathname===e.pathname,c;if(s)c=o.params;else{let e=Object.assign(Object.create(null),n);for(let n of t)try{mn(n,e)}catch{}c=e}return{matchedRoutes:t,fullPath:r.fullPath,search:i,params:c}}},on=class extends Error{},sn=class extends Error{};function cn(e){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:`idle`,resolvedLocation:void 0,location:e,matches:[],statusCode:200}}function ln(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new on(`Async validation not supported`);if(n.issues)throw new on(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function un({pathname:e,routesById:t,processedTree:n}){let r=Object.create(null),i=te(e),a,s=o(i,n,!0);return s&&(a=s.route,Object.assign(r,s.rawParams)),{matchedRoutes:s?.branch||[t.__root__],routeParams:r,foundRoute:a}}function dn({search:e,dest:t,destRoutes:n,_includeValidateSearch:r}){return fn(n)(e,t,r??!1)}function fn(e){let t={dest:null,_includeValidateSearch:!1,middlewares:[]};for(let n of e)`search`in n.options?n.options.search?.middlewares&&t.middlewares.push(...n.options.search.middlewares):(n.options.preSearchFilters||n.options.postSearchFilters)&&t.middlewares.push(({search:e,next:t})=>{let r=e;`preSearchFilters`in n.options&&n.options.preSearchFilters&&(r=n.options.preSearchFilters.reduce((e,t)=>t(e),e));let i=t(r);return`postSearchFilters`in n.options&&n.options.postSearchFilters?n.options.postSearchFilters.reduce((e,t)=>t(e),i):i}),n.options.validateSearch&&t.middlewares.push(({search:e,next:r})=>{let i=r(e);if(!t._includeValidateSearch)return i;try{return{...i,...ln(n.options.validateSearch,i)??void 0}}catch{return i}});t.middlewares.push(({search:e})=>{let n=t.dest;return n.search?n.search===!0?e:d(n.search,e):{}});let n=(e,t,r)=>{if(e>=r.length)return t;let i=r[e];return i({search:t,next:t=>n(e+1,t,r)})};return function(e,r,i){return t.dest=r,t._includeValidateSearch=i,n(0,e,t.middlewares)}}function pn(e,t){if(e!==`root`)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.children)return n.id}return ie}function mn(e,t){let n=e.options.params?.parse??e.options.parseParams;if(n){let e=n(t);if(e===!1)throw Error(`Route params.parse returned false for a matched route`);Object.assign(t,e)}}var hn=Symbol.for(`TSR_DEFERRED_PROMISE`);function gn(e,t){let n=e;return n[hn]?n:(n[hn]={status:`pending`},n.then(e=>{n[hn].status=`success`,n[hn].data=e}).catch(e=>{n[hn].status=`error`,n[hn].error={data:(t?.serializeError??nn)(e),__isServerError:!0}}),n)}function _n(e,t){if(e)return typeof e==`string`?e:e[t]}function vn(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function yn(e){if(e.tag!==`link`)return;let t=e.attrs?.rel,n=e.attrs?.href;if(typeof n==`string`&&(typeof t==`string`?t.split(/\s+/):[]).includes(`stylesheet`))return n}function bn(e,t){let n=yn(t);return!!n&&e?.inlineCss?.styles[n]!==void 0}function xn(e){if(typeof document<`u`&&document.querySelector){let t=e.stores.location.get(),n=t.state.__hashScrollIntoViewOptions??!0;if(n&&t.hash!==``){let e=document.getElementById(t.hash);e&&e.scrollIntoView(n)}}}var Sn=(e=>(e[e.AggregateError=1]=`AggregateError`,e[e.ArrowFunction=2]=`ArrowFunction`,e[e.ErrorPrototypeStack=4]=`ErrorPrototypeStack`,e[e.ObjectAssign=8]=`ObjectAssign`,e[e.BigIntTypedArray=16]=`BigIntTypedArray`,e[e.RegExp=32]=`RegExp`,e))(Sn||{}),Cn=Symbol.asyncIterator,wn=Symbol.hasInstance,Tn=Symbol.isConcatSpreadable,En=Symbol.iterator,Dn=Symbol.match,On=Symbol.matchAll,kn=Symbol.replace,An=Symbol.search,jn=Symbol.species,Mn=Symbol.split,Nn=Symbol.toPrimitive,Pn=Symbol.toStringTag,Fn=Symbol.unscopables,In={[Cn]:0,[wn]:1,[Tn]:2,[En]:3,[Dn]:4,[On]:5,[kn]:6,[An]:7,[jn]:8,[Mn]:9,[Nn]:10,[Pn]:11,[Fn]:12},Ln={0:Cn,1:wn,2:Tn,3:En,4:Dn,5:On,6:kn,7:An,8:jn,9:Mn,10:Nn,11:Pn,12:Fn},A=void 0,Rn={2:!0,3:!1,1:A,0:null,4:-0,5:1/0,6:-1/0,7:NaN},zn={0:`Error`,1:`EvalError`,2:`RangeError`,3:`ReferenceError`,4:`SyntaxError`,5:`TypeError`,6:`URIError`},Bn={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function j(e,t,n,r,i,a,o,s,c,l,u,d){return{t:e,i:t,s:n,c:r,m:i,p:a,e:o,a:s,f:c,b:l,o:u,l:d}}function Vn(e){return j(2,A,e,A,A,A,A,A,A,A,A,A)}var Hn=Vn(2),Un=Vn(3),Wn=Vn(1),Gn=Vn(0),Kn=Vn(4),qn=Vn(5),Jn=Vn(6),Yn=Vn(7);function Xn(e){switch(e){case`"`:return`\\"`;case`\\`:return`\\\\`;case` +`:return`\\n`;case`\r`:return`\\r`;case`\b`:return`\\b`;case` `:return`\\t`;case`\f`:return`\\f`;case`<`:return`\\x3C`;case`\u2028`:return`\\u2028`;case`\u2029`:return`\\u2029`;default:return A}}function Zn(e){let t=``,n=0,r;for(let i=0,a=e.length;iLr(e),zr=class extends Error{constructor(e,t){super(Rr(e,t)),this.cause=t}},Br=class extends zr{constructor(e){super(`parsing`,e)}},Vr=class extends zr{constructor(e){super(`deserialization`,e)}};function Hr(e){return`Seroval Error (specific: ${e})`}var Ur=class extends Error{constructor(e){super(Hr(1)),this.value=e}},Wr=class extends Error{constructor(e){super(Hr(2))}},Gr=class extends Error{constructor(e){super(Hr(3))}},Kr=class extends Error{constructor(e){super(Hr(4))}},qr=class extends Error{constructor(e){super(Hr(5)),this.value=e}},Jr=class extends Error{constructor(e){super(Hr(6))}},Yr=class extends Error{constructor(e){super(Hr(7))}},Xr=class extends Error{constructor(e){super(Hr(8))}},Zr=class extends Error{constructor(e){super(Hr(9))}},Qr=class{constructor(e,t){this.value=e,this.replacement=t}},$r=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((t,n)=>{e.s=t,e.f=n}),e};$r.toString(),((e,t)=>{e.s(t),e.p.s=1,e.p.v=t}).toString(),((e,t)=>{e.f(t),e.p.s=2,e.p.v=t}).toString();var ei=()=>{let e=[],t=[],n=!0,r=!1,i=0,a=(e,n,r)=>{for(r=0;r{for(i=0,a=e.length;i(n&&(r=i++,t[r]=e),o(e),()=>{n&&(t[r]=t[i],t[i--]=void 0)});return{__SEROVAL_STREAM__:!0,on:e=>s(e),next:t=>{n&&(e.push(t),a(t,`next`))},throw:i=>{n&&(e.push(i),a(i,`throw`),n=!1,r=!1,t.length=0)},return:i=>{n&&(e.push(i),a(i,`return`),n=!1,r=!0,t.length=0)}}};ei.toString();var ti=e=>t=>()=>{let n=0,r={[e]:()=>r,next:()=>{if(n>t.d)return{done:!0,value:void 0};let e=n++,r=t.v[e];if(e===t.t)throw r;return{done:e===t.d,value:r}}};return r};ti.toString();var ni=(e,t)=>n=>()=>{let r=0,i=-1,a=!1,o=[],s=[],c=(e=0,t=s.length)=>{for(;e{let t=s.shift();t&&t.s({done:!1,value:e}),o.push(e)},throw:e=>{let t=s.shift();t&&t.f(e),c(),i=o.length,a=!0,o.push(e)},return:e=>{let t=s.shift();t&&t.s({done:!0,value:e}),c(),i=o.length,o.push(e)}});let l={[e]:()=>l,next:()=>{if(i===-1){let e=r++;if(e>=o.length){let e=t();return s.push(e),e.p}return{done:!1,value:o[e]}}if(r>i)return{done:!0,value:void 0};let e=r++,n=o[e];if(e!==i)return{done:!1,value:n};if(a)throw n;return{done:!0,value:n}}};return l};ni.toString();var ri=e=>{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e{}),t}var hi=ni(Cn,$r);function gi(e){return hi(e)}async function _i(e){try{return[1,await e]}catch(e){return[0,e]}}function vi(e,t){return{plugins:t.plugins,mode:e,marked:new Set,features:63^(t.disabledFeatures||0),refs:t.refs||new Map,depthLimit:t.depthLimit||1e3}}function yi(e,t){e.marked.add(t)}function bi(e,t){let n=e.refs.size;return e.refs.set(t,n),n}function xi(e,t){let n=e.refs.get(t);return n==null?{type:0,value:bi(e,t)}:(yi(e,n),{type:1,value:mr(n)})}function Si(e,t){let n=xi(e,t);return n.type===1?n:rr(t)?{type:2,value:vr(n.value,t)}:n}function Ci(e,t){let n=Si(e,t);if(n.type!==0)return n.value;if(t in In)return _r(n.value,t);throw new Ur(t)}function wi(e,t){let n=xi(e,di[t]);return n.type===1?n.value:j(26,n.value,t,A,A,A,A,A,A,A,A,A)}function Ti(e){let t=xi(e,li);return t.type===1?t.value:j(27,t.value,A,A,A,A,A,A,Ci(e,En),A,A,A)}function Ei(e){let t=xi(e,ui);return t.type===1?t.value:j(29,t.value,A,A,A,A,A,[wi(e,1),Ci(e,Cn)],A,A,A,A)}function Di(e,t,n,r){return j(n?11:10,e,A,A,A,r,A,A,A,A,ur(t),A)}function Oi(e,t,n,r){return j(8,t,A,A,A,A,{k:n,v:r},A,wi(e,0),A,A,A)}function ki(e,t,n){let r=new Uint8Array(n),i=``;for(let e=0,t=r.length;e{yi(this.base,t),P(this,e,n).then(e=>{a.push(jr(t,e))},e=>{i(e),o()})},throw:n=>{yi(this.base,t),P(this,e,n).then(e=>{a.push(Mr(t,e)),r(a),o()},e=>{i(e),o()})},return:n=>{yi(this.base,t),P(this,e,n).then(e=>{a.push(Nr(t,e)),r(a),o()},e=>{i(e),o()})}})}async function Gi(e,t,n,r){return Ar(n,wi(e.base,4),await new Promise(Wi.bind(e,t,n,r)))}async function Ki(e,t,n,r){let i=[];for(let n=0,a=r.v.length;n(e[e.Vanilla=1]=`Vanilla`,e[e.Cross=2]=`Cross`,e))(Xi||{});function Zi(e){return e}function Qi(e,t){for(let n=0,r=t.length;n0)for(let a=0,o=n.v,s=i.length;ara)throw new Xr(t);return fa(e,t.i,new RegExp(n,t.m))}throw new Wr(t)}function Ta(e,t,n){let r=fa(e,n.i,new Set);for(let i=0,a=n.a,o=a.length;ita)throw new Xr(t);return fa(e,t.i,ri($n(t.s)))}function Oa(e,t,n){let r=ea(n.c),i=I(e,t,n.f),a=n.b??0;if(a<0||a>i.byteLength)throw new Xr(n);return fa(e,n.i,new r(i,a,n.l))}function ka(e,t,n){let r=I(e,t,n.f),i=n.b??0;if(i<0||i>r.byteLength)throw new Xr(n);return fa(e,n.i,new DataView(r,i,n.l))}function Aa(e,t,n,r){if(n.p){let i=xa(e,t,n.p,{});Object.defineProperties(r,Object.getOwnPropertyDescriptors(i))}return r}function ja(e,t,n){return Aa(e,t,n,fa(e,n.i,AggregateError([],$n(n.m))))}function Ma(e,t,n){let r=F(n,Bn,n.s);return Aa(e,t,n,fa(e,n.i,new r($n(n.m))))}function Na(e,t,n){let r=$r(),i=fa(e,n.i,r.p),a=I(e,t,n.f);return n.s?r.s(a):r.f(a),i}function Pa(e,t,n){return fa(e,n.i,Object(I(e,t,n.f)))}function Fa(e,t,n){let r=e.base.plugins;if(r){let i=$n(n.c);for(let a=0,o=r.length;ae.base.depthLimit)throw new Zr(e.base.depthLimit);switch(t+=1,n.t){case 2:return F(n,Rn,n.s);case 0:return Number(n.s);case 1:return $n(String(n.s));case 3:if(String(n.s).length>na)throw new Xr(n);return BigInt(n.s);case 4:return e.base.refs.get(n.i);case 18:return pa(e,n);case 9:return ma(e,t,n);case 10:case 11:return Sa(e,t,n);case 5:return Ca(e,n);case 6:return wa(e,n);case 7:return Ta(e,t,n);case 8:return Ea(e,t,n);case 19:return Da(e,n);case 16:case 15:return Oa(e,t,n);case 20:return ka(e,t,n);case 14:return ja(e,t,n);case 13:return Ma(e,t,n);case 12:return Na(e,t,n);case 17:return F(n,Ln,n.s);case 21:return Pa(e,t,n);case 25:return Fa(e,t,n);case 22:return Ia(e,n);case 23:return La(e,t,n);case 24:return Ra(e,t,n);case 28:return za(e,t,n);case 30:return Ba(e,t,n);case 31:return Va(e,t,n);case 32:return Ha(e,t,n);case 33:return Ua(e,t,n);case 34:return Wa(e,t,n);case 27:return Ga(e,t,n);case 29:return Ka(e,t,n);case 35:return qa(e,t,n);default:throw new Wr(n)}}function Ja(e,t){try{return I(e,0,t)}catch(e){throw new Vr(e)}}var Ya=(()=>T).toString();/=>/.test(Ya);function Xa(e,t){return Ja(sa({plugins:$i(t.plugins),refs:t.refs,features:t.features,disabledFeatures:t.disabledFeatures,depthLimit:t.depthLimit}),e)}async function Za(e,t={}){let n=Ai(1,{plugins:$i(t.plugins),disabledFeatures:t.disabledFeatures});return{t:await Yi(n,e),f:n.base.features,m:Array.from(n.base.marked)}}function Qa(e){return e}function $a(e){return Zi({tag:`$TSR/t/`+e.key,test:e.test,parse:{sync(t,n,r){return{v:n.parse(e.toSerializable(t))}},async async(t,n,r){return{v:await n.parse(e.toSerializable(t))}},stream(t,n,r){return{v:n.parse(e.toSerializable(t))}}},serialize:void 0,deserialize(t,n,r){return e.fromSerializable(n.deserialize(t.v))}})}var eo=class{constructor(e,t){this.stream=e,this.hint=t?.hint??`binary`}},to=globalThis.Buffer,no=!!to&&typeof to.from==`function`;function ro(e){if(e.length===0)return``;if(no)return to.from(e).toString(`base64`);let t=32768,n=[];for(let r=0;rnew ReadableStream({start(t){e.on({next(e){try{t.enqueue(io(e))}catch{}},throw(e){t.error(e)},return(){try{t.close()}catch{}}})}}),co=new TextEncoder,lo=e=>new ReadableStream({start(t){e.on({next(e){try{typeof e==`string`?t.enqueue(co.encode(e)):t.enqueue(io(e.$b64))}catch{}},throw(e){t.error(e)},return(){try{t.close()}catch{}}})}}),uo=`(s=>new ReadableStream({start(c){s.on({next(b){try{const d=atob(b),a=new Uint8Array(d.length);for(let i=0;i{const e=new TextEncoder();return new ReadableStream({start(c){s.on({next(v){try{if(typeof v==='string'){c.enqueue(e.encode(v))}else{const d=atob(v.$b64),a=new Uint8Array(d.length);for(let i=0;i{try{for(;;){let{done:e,value:r}=await n.read();if(e){t.return(void 0);break}t.next(ro(r))}}catch(e){t.throw(e)}finally{n.releaseLock()}})(),t}function mo(e){let t=pi(),n=e.getReader(),r=new TextDecoder(`utf-8`,{fatal:!0});return(async()=>{try{for(;;){let{done:e,value:i}=await n.read();if(e){try{let e=r.decode();e.length>0&&t.next(e)}catch{}t.return(void 0);break}try{let e=r.decode(i,{stream:!0});e.length>0&&t.next(e)}catch{t.next({$b64:ro(i)})}}}catch(e){t.throw(e)}finally{n.releaseLock()}})(),t}var L=Zi({tag:`tss/RawStream`,extends:[Zi({tag:`tss/RawStreamFactory`,test(e){return e===ao},parse:{sync(e,t,n){return{}},async async(e,t,n){return{}},stream(e,t,n){return{}}},serialize(e,t,n){return uo},deserialize(e,t,n){return ao}}),Zi({tag:`tss/RawStreamFactoryText`,test(e){return e===oo},parse:{sync(e,t,n){return{}},async async(e,t,n){return{}},stream(e,t,n){return{}}},serialize(e,t,n){return fo},deserialize(e,t,n){return oo}})],test(e){return e instanceof eo},parse:{sync(e,t,n){let r=e.hint===`text`?oo:ao;return{hint:t.parse(e.hint),factory:t.parse(r),stream:t.parse(pi())}},async async(e,t,n){let r=e.hint===`text`?oo:ao,i=e.hint===`text`?mo(e.stream):po(e.stream);return{hint:await t.parse(e.hint),factory:await t.parse(r),stream:await t.parse(i)}},stream(e,t,n){let r=e.hint===`text`?oo:ao,i=e.hint===`text`?mo(e.stream):po(e.stream);return{hint:t.parse(e.hint),factory:t.parse(r),stream:t.parse(i)}}},serialize(e,t,n){return`(`+t.serialize(e.factory)+`)(`+t.serialize(e.stream)+`)`},deserialize(e,t,n){let r=t.deserialize(e.stream);return t.deserialize(e.hint)===`text`?lo(r):so(r)}});function ho(e){return Zi({tag:`tss/RawStream`,test:()=>!1,parse:{},serialize(){throw Error(`RawStreamDeserializePlugin.serialize should not be called. Client only deserializes.`)},deserialize(t,n,r){return e(typeof n?.deserialize==`function`?n.deserialize(t.streamId):t.streamId)}})}var go=Zi({tag:`$TSR/Error`,test(e){return e instanceof Error},parse:{sync(e,t){return{message:t.parse(e.message)}},async async(e,t){return{message:await t.parse(e.message)}},stream(e,t){return{message:t.parse(e.message)}}},serialize(e,t){return`new Error(`+t.serialize(e.message)+`)`},deserialize(e,t){return Error(t.deserialize(e.message))}}),R={},z=e=>new ReadableStream({start:t=>{e.on({next:e=>{try{t.enqueue(e)}catch{}},throw:e=>{t.error(e)},return:()=>{try{t.close()}catch{}}})}}),_o=Zi({tag:`seroval-plugins/web/ReadableStreamFactory`,test(e){return e===R},parse:{sync(){return R},async async(){return await Promise.resolve(R)},stream(){return R}},serialize(){return z.toString()},deserialize(){return R}});function vo(e){let t=pi(),n=e.getReader();async function r(){try{let e=await n.read();e.done?t.return(e.value):(t.next(e.value),await r())}catch(e){t.throw(e)}}return r().catch(()=>{}),t}var yo=[go,L,Zi({tag:`seroval/plugins/web/ReadableStream`,extends:[_o],test(e){return typeof ReadableStream>`u`?!1:e instanceof ReadableStream},parse:{sync(e,t){return{factory:t.parse(R),stream:t.parse(pi())}},async async(e,t){return{factory:await t.parse(R),stream:await t.parse(vo(e))}},stream(e,t){return{factory:t.parse(R),stream:t.parse(vo(e))}}},serialize(e,t){return`(`+t.serialize(e.factory)+`)(`+t.serialize(e.stream)+`)`},deserialize(e,t){return z(t.deserialize(e.stream))}})];function bo(){return[...(et()?.serializationAdapters)?.map($a)??[],...yo]}var xo=new TextDecoder,So=new Uint8Array,Co=16*1024*1024,wo=32*1024*1024,B=1024,To=1e5;function Eo(e){let t=new Map,n=new Map,r=new Set,i=!1,a=null,o=0,s,c=new ReadableStream({start(e){s=e},cancel(){i=!0;try{a?.cancel()}catch{}t.forEach(e=>{try{e.error(Error(`Framed response cancelled`))}catch{}}),t.clear(),n.clear(),r.clear()}});function l(e){let i=n.get(e);if(i)return i;if(r.has(e))return new ReadableStream({start(e){e.close()}});if(n.size>=B)throw Error(`Too many raw streams in framed response (max ${B})`);let a=new ReadableStream({start(n){t.set(e,n)},cancel(){r.add(e),t.delete(e),n.delete(e)}});return n.set(e,a),a}function u(e){return l(e),t.get(e)}return(async()=>{let n=e.getReader();a=n;let c=[],l=0;function d(){if(l<9)return null;let e=c[0];if(e.length>=9)return{type:e[0],streamId:(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0,length:(e[5]<<24|e[6]<<16|e[7]<<8|e[8])>>>0};let t=new Uint8Array(9),n=0,r=9;for(let e=0;e0;e++){let i=c[e],a=Math.min(i.length,r);t.set(i.subarray(0,a),n),n+=a,r-=a}return{type:t[0],streamId:(t[1]<<24|t[2]<<16|t[3]<<8|t[4])>>>0,length:(t[5]<<24|t[6]<<16|t[7]<<8|t[8])>>>0}}function f(e){if(e===0)return So;let t=new Uint8Array(e),n=0,r=e;for(;r>0&&c.length>0;){let e=c[0];if(!e)break;let i=Math.min(e.length,r);t.set(e.subarray(0,i),n),n+=i,r-=i,i===e.length?c.shift():c[0]=e.subarray(i)}return l-=e,t}try{for(;;){let{done:e,value:a}=await n.read();if(i||e)break;if(a){if(l+a.length>wo)throw Error(`Framed response buffer exceeded ${wo} bytes`);for(c.push(a),l+=a.length;;){let e=d();if(!e)break;let{type:n,streamId:i,length:a}=e;if(n!==Xe.JSON&&n!==Xe.CHUNK&&n!==Xe.END&&n!==Xe.ERROR)throw Error(`Unknown frame type: ${n}`);if(n===Xe.JSON){if(i!==0)throw Error(`Invalid JSON frame streamId (expected 0)`)}else if(i===0)throw Error(`Invalid raw frame streamId (expected non-zero)`);if(a>Co)throw Error(`Frame payload too large: ${a} bytes (max ${Co})`);let c=9+a;if(lTo)throw Error(`Too many frames in framed response (max ${To})`);f(9);let p=f(a);switch(n){case Xe.JSON:try{s.enqueue(xo.decode(p))}catch{}break;case Xe.CHUNK:{let e=u(i);e&&e.enqueue(p);break}case Xe.END:{let e=u(i);if(r.add(i),e){try{e.close()}catch{}t.delete(i)}break}case Xe.ERROR:{let e=u(i);if(r.add(i),e){let n=xo.decode(p);e.error(Error(n)),t.delete(i)}break}}}}}if(l!==0)throw Error(`Incomplete frame at end of framed response`);try{s.close()}catch{}t.forEach(e=>{try{e.close()}catch{}}),t.clear()}catch(e){try{s.error(e)}catch{}t.forEach(t=>{try{t.error(e)}catch{}}),t.clear()}finally{try{n.releaseLock()}catch{}a=null}})(),{getOrCreateStream:l,jsonChunks:c}}var Do=null;async function Oo(e){e.length>0&&await Promise.allSettled(e)}var ko=Object.prototype.hasOwnProperty;function Ao(e){for(let t in e)if(ko.call(e,t))return!0;return!1}async function jo(e,t,n){Do||=bo();let r=t[0],i=r.fetch??n,a=r.data instanceof FormData?`formData`:`payload`,o=r.headers?new Headers(r.headers):new Headers;if(o.set(`x-tsr-serverFn`,`true`),a===`payload`&&o.set(`accept`,`${Ye}, application/x-ndjson, application/json`),r.method===`GET`){if(a===`formData`)throw Error(`FormData is not supported with GET requests`);let t=await Mo(r);if(t!==void 0){let n=dt({payload:t});e.includes(`?`)?e+=`&${n}`:e+=`?${n}`}}let s;if(r.method===`POST`){let e=await Po(r);e?.contentType&&o.set(`content-type`,e.contentType),s=e?.body}return await Fo(async()=>i(e,{method:r.method,headers:o,signal:r.signal,body:s}))}async function Mo(e){let t=!1,n={};if(e.data!==void 0&&(t=!0,n.data=e.data),e.context&&Ao(e.context)&&(t=!0,n.context=e.context),t)return No(n)}async function No(e){return JSON.stringify(await Promise.resolve(Za(e,{plugins:Do})))}async function Po(e){if(e.data instanceof FormData){let t;return e.context&&Ao(e.context)&&(t=await No(e.context)),t!==void 0&&e.data.set(qe,t),{body:e.data}}let t=await Mo(e);if(t)return{body:t,contentType:`application/json`}}async function Fo(e){let t;try{t=await e()}catch(e){if(e instanceof Response)t=e;else throw console.log(e),e}if(t.headers.get(`x-tss-raw`)===`true`)return t;let n=t.headers.get(`content-type`);if(n||h(),t.headers.get(`x-tss-serialized`)){let e;if(n.includes(`application/x-tss-framed`)){if($e(n),!t.body)throw Error(`No response body for framed response`);let{getOrCreateStream:r,jsonChunks:i}=Eo(t.body),a=[ho(r),...Do||[]],o=new Map;e=await Io({jsonStream:i,onMessage:e=>Xa(e,{refs:o,plugins:a}),onError(e,t){console.error(e,t)}})}else if(n.includes(`application/json`)){let n=await t.json(),r=[];try{e=Xa(n,{plugins:Do})}finally{}await Oo(r)}if(e||h(),e instanceof Error)throw e;return e}if(n.includes(`application/json`)){let e=await t.json(),n=k(e);if(n)throw n;if(fe(e))throw e;return e}if(!t.ok)throw Error(await t.text());return t}async function Io({jsonStream:e,onMessage:t,onError:n}){let r=e.getReader(),{value:i,done:a}=await r.read();if(a||!i)throw Error(`Stream ended before first object`);let o=JSON.parse(i),s=!1,c=(async()=>{try{for(;;){let{value:e,done:i}=await r.read();if(i)break;if(e)try{let n=[];try{t(JSON.parse(e))}finally{}await Oo(n)}catch(t){n?.(`Invalid JSON: ${e}`,t)}}}catch(e){s||n?.(`Stream processing error:`,e)}})(),l,u=[];try{l=t(o)}catch(e){throw s=!0,r.cancel().catch(()=>{}),e}return await Oo(u),Promise.resolve(l).catch(()=>{s=!0,r.cancel().catch(()=>{})}),c.finally(()=>{try{r.releaseLock()}catch{}}),l}function Lo(e){let t=`/_serverFn/`+e;return Object.assign((...e)=>{let n=et()?.serverFns?.fetch;return jo(t,e,n??fetch)},{url:t,serverFnMeta:{id:e},[Je]:!0})}var Ro=Qa({key:`$TSS/serverfn`,test:e=>typeof e!=`function`||!(Je in e)?!1:!!e[Je],toSerializable:({serverFnMeta:e})=>({functionId:e.id}),fromSerializable:({functionId:e})=>Lo(e)});function zo(e){return e.replaceAll(`\0`,`/`).replaceAll(`�`,`/`)}function Bo(e,t){e.id=t.i,e.__beforeLoadContext=t.b,e.loaderData=t.l,e.status=t.s,e.ssr=t.ssr,e.updatedAt=t.u,e.error=t.e,t.g!==void 0&&(e.globalNotFound=t.g)}async function Vo(e){window.$_TSR||h();let t=e.options.serializationAdapters;if(t?.length){let e=new Map;t.forEach(t=>{e.set(t.key,t.fromSerializable)}),window.$_TSR.t=e,window.$_TSR.buffer.forEach(e=>e())}window.$_TSR.initialized=!0,window.$_TSR.router||h();let n=window.$_TSR.router;n.matches.forEach(e=>{e.i=zo(e.i)}),n.lastMatchId&&=zo(n.lastMatchId);let{manifest:r,dehydratedData:i,lastMatchId:a}=n;e.ssr={manifest:r};let o=document.querySelector(`meta[property="csp-nonce"]`)?.content;e.options.ssr={nonce:o};let s=e.matchRoutes(e.stores.location.get()),c=Promise.all(s.map(t=>e.loadRouteChunk(e.looseRoutesById[t.routeId])));function l(t){let n=e.looseRoutesById[t.routeId].options.pendingMinMs??e.options.defaultPendingMinMs;if(n){let r=ce();t._nonReactive.minPendingPromise=r,t._forcePending=!0,setTimeout(()=>{r.resolve(),e.updateMatch(t.id,e=>(e._nonReactive.minPendingPromise=void 0,{...e,_forcePending:void 0}))},n)}}function u(t){let n=e.looseRoutesById[t.routeId];n&&(n.options.ssr=t.ssr)}let d;s.forEach(e=>{let t=n.matches.find(t=>t.i===e.id);if(!t){e._nonReactive.dehydrated=!1,e.ssr=!1,u(e);return}Bo(e,t),u(e),e._nonReactive.dehydrated=e.ssr!==!1,(e.ssr===`data-only`||e.ssr===!1)&&d===void 0&&(d=e.index,l(e))}),e.stores.setMatches(s),await e.options.hydrate?.(i);let f=e.stores.matches.get(),p=e.stores.location.get();await Promise.all(f.map(async t=>{try{let n=e.looseRoutesById[t.routeId],r=f[t.index-1]?.context??e.options.context;if(n.options.context){let i={deps:t.loaderDeps,params:t.params,context:r??{},location:p,navigate:t=>e.navigate({...t,_fromLocation:p}),buildLocation:e.buildLocation,cause:t.cause,abortController:t.abortController,preload:!1,matches:s,routeId:n.id};t.__routeContext=n.options.context(i)??void 0}t.context={...r,...t.__routeContext,...t.__beforeLoadContext};let i={ssr:e.options.ssr,matches:f,match:t,params:t.params,loaderData:t.loaderData},a=await n.options.head?.(i),o=await n.options.scripts?.(i);t.meta=a?.meta,t.links=a?.links,t.headScripts=a?.scripts,t.styles=a?.styles,t.scripts=o}catch(e){if(fe(e))t.error={isNotFound:!0},console.error(`NotFound error during hydration for routeId: ${t.routeId}`,e);else throw t.error=e,console.error(`Error during hydration for route ${t.routeId}:`,e),e}}));let m=s[s.length-1].id!==a;if(!s.some(e=>e.ssr===!1)&&!m)return s.forEach(e=>{e._nonReactive.dehydrated=void 0}),e.stores.resolvedLocation.set(e.stores.location.get()),c;let g=Promise.resolve().then(()=>e.load()).catch(e=>{console.error(`Error during router hydration:`,e)});if(m){let t=s[1];t||h(),l(t),t._displayPending=!0,t._nonReactive.displayPendingPromise=g,g.then(()=>{e.batch(()=>{e.stores.status.get()===`pending`&&(e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())),e.updateMatch(t.id,e=>({...e,_displayPending:void 0,displayPendingPromise:void 0}))})})}return c}var V=n(t(),1),H=e();function Ho({promise:e}){if(be)return be(e);let t=gn(e);if(t[hn].status===`pending`)throw t;if(t[hn].status===`error`)throw t[hn].error;return t[hn].data}function Uo(e){let t=(0,H.jsx)(Wo,{...e});return e.fallback?(0,H.jsx)(V.Suspense,{fallback:e.fallback,children:t}):t}function Wo(e){let t=Ho(e);return e.children(t)}function Go(e){let t=e.errorComponent??qo;return(0,H.jsx)(Ko,{getResetKey:e.getResetKey,onCatch:e.onCatch,children:({error:n,reset:r})=>n?V.createElement(t,{error:n,reset:r}):e.children})}var Ko=class extends V.Component{constructor(...e){super(...e),this.state={error:null}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:null}:{resetKey:n}}static getDerivedStateFromError(e){return{error:e}}reset(){this.setState({error:null})}componentDidCatch(e,t){this.props.onCatch&&this.props.onCatch(e,t)}render(){return this.props.children({error:this.state.error,reset:()=>{this.reset()}})}};function qo({error:e}){let[t,n]=V.useState(!1);return(0,H.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,H.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,H.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,H.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,H.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,H.jsx)(`div`,{children:(0,H.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e.message?(0,H.jsx)(`code`,{children:e.message}):null})}):null]})}var U=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(U||{});function Jo({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function Yo(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var Xo=[],Zo=0,{link:Qo,unlink:$o,propagate:es,checkDirty:ts,shallowPropagate:ns}=Jo({update(e){return e._update()},notify(e){Xo[is++]=e,e.flags&=~U.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=U.Mutable|U.Dirty,cs(e))}}),rs=0,is=0,as,os=0;function ss(e){try{++os,e()}finally{--os||ls()}}function cs(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=$o(n,e)}function ls(){if(!(os>0)){for(;rs{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=as,o=t?.compare??Object.is;if(n)as=i,++Zo,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=U.Mutable|U.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{as=a,n&&(i.flags&=~U.RecursedCheck),cs(i)}}};return n?(i.flags=U.Mutable|U.Dirty,i.get=function(){let e=i.flags;if(e&U.Dirty||e&U.Pending&&ts(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&ns(e)}}else e&U.Pending&&(i.flags=e&~U.Pending);return as!==void 0&&Qo(i,as,Zo),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(es(e),ns(e),ls())}},i}function ds(e){let t=()=>{let t=as;as=n,++Zo,n.depsTail=void 0,n.flags=U.Watching|U.RecursedCheck;try{return e()}finally{as=t,n.flags&=~U.RecursedCheck,cs(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:U.Watching|U.RecursedCheck,notify(){let e=this.flags;e&U.Dirty||e&U.Pending&&ts(this.deps,this)?t():this.flags=U.Watching},stop(){this.flags=U.None,this.depsTail=void 0,cs(this)}};return t(),n}function fs(e){let t=xe(),n=`not-found-${C(t.stores.location,e=>e.pathname)}-${C(t.stores.status,e=>e)}`;return(0,H.jsx)(Go,{getResetKey:()=>n,onCatch:(t,n)=>{if(fe(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(fe(t))return e.fallback?.(t);throw t},children:e.children})}function ps(){return(0,H.jsx)(`p`,{children:`Not Found`})}function ms(e){return(0,H.jsx)(H.Fragment,{children:e.children})}function hs(e,t,n){return t.options.notFoundComponent?(0,H.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,H.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,H.jsx)(ps,{})}var gs=V.memo(function({matchId:e}){let t=xe(),n=t.stores.matchStores.get(e);n||h();let r=C(t.stores.loadedAt,e=>e),i=C(n,e=>e);return(0,H.jsx)(_s,{router:t,matchId:e,resetKey:r,matchState:V.useMemo(()=>{let e=i.routeId,n=t.routesById[e].parentRoute?.id;return{routeId:e,ssr:i.ssr,_displayPending:i._displayPending,parentRouteId:n}},[i._displayPending,i.routeId,i.ssr,t.routesById])})});function _s({router:e,matchId:t,resetKey:n,matchState:r}){let i=e.routesById[r.routeId],a=i.options.pendingComponent??e.options.defaultPendingComponent,o=a?(0,H.jsx)(a,{}):null,s=i.options.errorComponent??e.options.defaultErrorComponent,c=i.options.onCatch??e.options.defaultOnCatch,l=i.isRoot?i.options.notFoundComponent??e.options.notFoundRoute?.options.component:i.options.notFoundComponent,u=r.ssr===!1||r.ssr===`data-only`,d=(!i.isRoot||i.options.wrapInSuspense||u)&&(i.options.wrapInSuspense??a??(i.options.errorComponent?.preload||u))?V.Suspense:ms,f=s?Go:ms,p=l?fs:ms;return(0,H.jsxs)(i.isRoot?i.options.shellComponent??ms:ms,{children:[(0,H.jsx)(de.Provider,{value:t,children:(0,H.jsx)(d,{fallback:o,children:(0,H.jsx)(f,{getResetKey:()=>n,errorComponent:s||qo,onCatch:(e,t)=>{if(fe(e))throw e.routeId??=r.routeId,e;c?.(e,t)},children:(0,H.jsx)(p,{fallback:e=>{if(e.routeId??=r.routeId,!l||e.routeId&&e.routeId!==r.routeId||!e.routeId&&!i.isRoot)throw e;return V.createElement(l,e)},children:u||r._displayPending?(0,H.jsx)(pe,{fallback:o,children:(0,H.jsx)(ys,{matchId:t})}):(0,H.jsx)(ys,{matchId:t})})})})}),r.parentRouteId===`__root__`?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(vs,{resetKey:n}),(e.options.scrollRestoration,null)]}):null]})}function vs({resetKey:e}){let t=xe(),n=V.useRef(void 0);return Ce(()=>{let e=t.latestLocation.href;(n.current===void 0||n.current!==e)&&(t.emit({type:`onRendered`,...rn(t.stores.location.get(),t.stores.resolvedLocation.get())}),n.current=e)},[t.latestLocation.state.__TSR_key,e,t]),null}var ys=V.memo(function({matchId:e}){let t=xe(),n=(e,n)=>t.getMatch(e.id)?._nonReactive[n]??e._nonReactive[n],r=t.stores.matchStores.get(e);r||h();let i=C(r,e=>e),a=i.routeId,o=t.routesById[a],s=V.useMemo(()=>{let e=(t.routesById[a].options.remountDeps??t.options.defaultRemountDeps)?.({routeId:a,loaderDeps:i.loaderDeps,params:i._strictParams,search:i._strictSearch});return e?JSON.stringify(e):void 0},[a,i.loaderDeps,i._strictParams,i._strictSearch,t.options.defaultRemountDeps,t.routesById]),c=V.useMemo(()=>{let e=o.options.component??t.options.defaultComponent;return e?(0,H.jsx)(e,{},s):(0,H.jsx)(bs,{})},[s,o.options.component,t.options.defaultComponent]);if(i._displayPending)throw n(i,`displayPendingPromise`);if(i._forcePending)throw n(i,`minPendingPromise`);if(i.status===`pending`){let e=o.options.pendingMinMs??t.options.defaultPendingMinMs;if(e){let n=t.getMatch(i.id);if(n&&!n._nonReactive.minPendingPromise){let t=ce();n._nonReactive.minPendingPromise=t,setTimeout(()=>{t.resolve(),n._nonReactive.minPendingPromise=void 0},e)}}throw n(i,`loadPromise`)}if(i.status===`notFound`)return fe(i.error)||h(),hs(t,o,i.error);if(i.status===`redirected`)throw ue(i.error)||h(),n(i,`loadPromise`);if(i.status===`error`)throw i.error;return c}),bs=V.memo(function(){let e=xe(),t=V.useContext(de),n,r=!1,i;{let a=t?e.stores.matchStores.get(t):void 0;[n,r]=C(a,e=>[e?.routeId,e?.globalNotFound??!1]),i=C(e.stores.matchesId,e=>e[e.findIndex(e=>e===t)+1])}let a=n?e.routesById[n]:void 0,o=e.options.defaultPendingComponent?(0,H.jsx)(e.options.defaultPendingComponent,{}):null;if(r)return a||h(),hs(e,a,void 0);if(!i)return null;let s=(0,H.jsx)(gs,{matchId:i});return n===`__root__`?(0,H.jsx)(V.Suspense,{fallback:o,children:s}):s});function xs(){let e=xe(),t=V.useRef({router:e,mounted:!1}),[n,r]=V.useState(!1),i=C(e.stores.isLoading,e=>e),a=C(e.stores.hasPending,e=>e),o=ye(i),s=i||n||a,c=ye(s),l=i||a,u=ye(l);return e.startTransition=e=>{r(!0),V.startTransition(()=>{e(),r(!1)})},V.useEffect(()=>{let t=e.history.subscribe(e.load),n=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return te(e.latestLocation.publicHref)!==te(n.publicHref)&&e.commitLocation({...n,replace:!0}),()=>{t()}},[e,e.history]),Ce(()=>{typeof window<`u`&&e.ssr||t.current.router===e&&t.current.mounted||(t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(e){console.error(e)}})())},[e]),Ce(()=>{o&&!i&&e.emit({type:`onLoad`,...rn(e.stores.location.get(),e.stores.resolvedLocation.get())})},[o,e,i]),Ce(()=>{u&&!l&&e.emit({type:`onBeforeRouteMount`,...rn(e.stores.location.get(),e.stores.resolvedLocation.get())})},[l,u,e]),Ce(()=>{if(c&&!s){let t=rn(e.stores.location.get(),e.stores.resolvedLocation.get());e.emit({type:`onResolved`,...t}),ss(()=>{e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())}),t.hrefChanged&&xn(e)}},[s,c,e]),null}function Ss(){let e=xe(),t=e.routesById.__root__.options.pendingComponent??e.options.defaultPendingComponent,n=t?(0,H.jsx)(t,{}):null,r=(0,H.jsxs)(typeof document<`u`&&e.ssr?ms:V.Suspense,{fallback:n,children:[(0,H.jsx)(xs,{}),(0,H.jsx)(Cs,{})]});return e.options.InnerWrap?(0,H.jsx)(e.options.InnerWrap,{children:r}):r}function Cs(){let e=xe(),t=C(e.stores.firstId,e=>e),n=C(e.stores.loadedAt,e=>e),r=t?(0,H.jsx)(gs,{matchId:t}):null;return(0,H.jsx)(de.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:(0,H.jsx)(Go,{getResetKey:()=>n,errorComponent:qo,onCatch:void 0,children:r})})}var ws=e=>({createMutableStore:us,createReadonlyStore:us,batch:ss}),Ts=e=>new Es(e),Es=class extends an{constructor(e){super(e,ws)}};function Ds({router:e,children:t,...n}){f(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,H.jsx)(Se.Provider,{value:e,children:t});return e.options.Wrap?(0,H.jsx)(e.options.Wrap,{children:r}):r}function Os({router:e,...t}){return(0,H.jsx)(Ds,{router:e,...t,children:(0,H.jsx)(Ss,{})})}function ks(e){let{attrs:t,children:n,nonce:r}=e;switch(e.tag){case`title`:return(0,H.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,H.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,H.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,H.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,H.jsx)(As,{attrs:t,children:n});default:return null}}function As({attrs:e,children:t}){xe();let n=ne(),r=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(V.useEffect(()=>{if(!r){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();if(Array.from(document.querySelectorAll(`script[src]`)).find(e=>e.src===t))return;let n=document.createElement(`script`);for(let[t,r]of Object.entries(e))t!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&n.setAttribute(t,typeof r==`boolean`?``:String(r));return document.head.appendChild(n),()=>{n.parentNode&&n.parentNode.removeChild(n)}}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;if(Array.from(document.querySelectorAll(`script:not([src])`)).find(e=>{if(!(e instanceof HTMLScriptElement))return!1;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;return e.textContent===t&&i===n&&a===r}))return;let i=document.createElement(`script`);if(i.textContent=t,e)for(let[t,n]of Object.entries(e))t!==`suppressHydrationWarning`&&n!==void 0&&n!==!1&&i.setAttribute(t,typeof n==`boolean`?``:String(n));return document.head.appendChild(i),()=>{i.parentNode&&i.parentNode.removeChild(i)}}}},[e,t,r]),r&&typeof t==`string`)return(0,H.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!n){if(e?.src)return(0,H.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,H.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}var js=e=>{let t=xe(),n=t.options.ssr?.nonce,r=C(t.stores.matches,e=>e.map(e=>e.meta).filter(Boolean),m),i=V.useMemo(()=>{let e=[],t={},i;for(let a=r.length-1;a>=0;a--){let o=r[a];for(let r=o.length-1;r>=0;r--){let a=o[r];if(a)if(a.title)i||={tag:`title`,children:a.title};else if(`script:ld+json`in a)try{let t=JSON.stringify(a[`script:ld+json`]);e.push({tag:`script`,attrs:{type:`application/ld+json`},children:l(t)})}catch{}else{let r=a.name??a.property;if(r){if(t[r])continue;t[r]=!0}e.push({tag:`meta`,attrs:{...a,nonce:n}})}}}return i&&e.push(i),n&&e.push({tag:`meta`,attrs:{property:`csp-nonce`,content:n}}),e.reverse(),e},[r,n]),a=C(t.stores.matches,r=>{let i=r.map(e=>e.links).filter(Boolean).flat(1).map(e=>({tag:`link`,attrs:{...e,nonce:n}})),a=t.ssr?.manifest,o=r.map(e=>a?.routes[e.routeId]?.assets??[]).filter(Boolean).flat(1).flatMap(t=>t.tag===`link`?bn(a,t)?[]:[{tag:`link`,attrs:{...t.attrs,crossOrigin:_n(e,`stylesheet`)??t.attrs?.crossOrigin,suppressHydrationWarning:!0,nonce:n}}]:t.tag===`style`?[{tag:`style`,attrs:{...t.attrs,nonce:n},children:t.children,...t.inlineCss?{inlineCss:!0}:{}}]:[]);return[...i,...o]},m),o=C(t.stores.matches,r=>{let i=[];return r.map(e=>t.looseRoutesById[e.routeId]).forEach(r=>t.ssr?.manifest?.routes[r.id]?.preloads?.filter(Boolean).forEach(t=>{let r=vn(t);i.push({tag:`link`,attrs:{rel:`modulepreload`,href:r.href,crossOrigin:_n(e,`modulepreload`)??r.crossOrigin,nonce:n}})})),i},m),s=C(t.stores.matches,e=>e.map(e=>e.styles).flat(1).filter(Boolean).map(({children:e,...t})=>({tag:`style`,attrs:{...t,nonce:n},children:e})),m),c=C(t.stores.matches,e=>e.map(e=>e.headScripts).flat(1).filter(Boolean).map(({children:e,...t})=>({tag:`script`,attrs:{...t,nonce:n},children:e})),m);return Ms([...i,...o,...a,...s,...c],e=>JSON.stringify(e))};function Ms(e,t){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}function Ns(e){let t=js(e.assetCrossOrigin),n=xe().options.ssr?.nonce;return(0,H.jsx)(H.Fragment,{children:t.map(e=>(0,V.createElement)(ks,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var Ps=()=>{let e=xe(),t=e.options.ssr?.nonce,n=n=>{let r=[],i=e.ssr?.manifest;return i?(n.map(t=>e.looseRoutesById[t.routeId]).forEach(e=>i.routes[e.id]?.assets?.filter(e=>e.tag===`script`).forEach(e=>{r.push({tag:`script`,attrs:{...e.attrs,nonce:t},children:e.children})})),r):[]},r=e=>e.map(e=>e.scripts).flat(1).filter(Boolean).map(({children:e,...n})=>({tag:`script`,attrs:{...n,suppressHydrationWarning:!0,nonce:t},children:e})),i=C(e.stores.matches,n,m);return Fs(e,C(e.stores.matches,r,m),i)};function Fs(e,t,n){let r;e.serverSsr&&(r=e.serverSsr.takeBufferedScripts());let i=[...t,...n];return r&&i.unshift(r),(0,H.jsx)(H.Fragment,{children:i.map((e,t)=>(0,V.createElement)(ks,{...e,key:`tsr-scripts-${e.tag}-${t}`}))})}var Is=class extends Me{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new Le({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Ls(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Ls(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Ls(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Ls(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Be.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>Pe(t,e))}findAll(e={}){return this.getAll().filter(t=>Pe(e,t))}notify(e){Be.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Be.batch(()=>Promise.all(e.map(e=>e.continue().catch(De))))}};function Ls(e){return e.options.scope?.id}var Rs=class extends Me{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??ze(r,t),a=this.get(i);return a||(a=new Fe({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Be.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>Oe(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>Oe(e,t)):t}notify(e){Be.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Be.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Be.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},zs=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Rs,this.#t=e.mutationCache||new Is,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Ae.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Ie.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Te(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=Ne(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Be.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Be.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Be.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=Be.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(De).catch(De)}invalidateQueries(e,t={}){return Be.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Be.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(De)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(De)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Te(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(De).catch(De)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(De).catch(De)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return Ie.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(Ee(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{je(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(Ee(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{je(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=ze(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===ke&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Bs=Ke(),Vs=function(){return null};function Hs(){return new zs({defaultOptions:{queries:{staleTime:30*1e3,retry:2,refetchOnWindowFocus:!1}}})}var Us=(0,V.createContext)(void 0);function Ws({children:e}){let[t,n]=(0,V.useState)({user:null,userDetails:null,isAuthenticated:!1,isLoading:!0,token:null}),r=we();(0,V.useEffect)(()=>{let e=localStorage.getItem(`auth_token`),t=localStorage.getItem(`user_id`);n(e&&t?t=>({...t,token:e,isAuthenticated:!0}):e=>({...e,isLoading:!1}))},[]);let{data:i}=Ve.user.user.getSelfData.useQuery(void 0,{enabled:!!t.token&&t.isAuthenticated,retry:1});(0,V.useEffect)(()=>{i?.data?n(e=>({...e,user:i.data,userDetails:i.data,isLoading:!1})):i===void 0&&t.token},[i,t.token]);let a=(0,V.useCallback)((e,t)=>{localStorage.setItem(`auth_token`,e),localStorage.setItem(`user_id`,String(t.id)),n({user:t,userDetails:t,isAuthenticated:!0,isLoading:!1,token:e})},[]),o=(0,V.useCallback)((e,t)=>{a(e,t)},[a]),s=(0,V.useCallback)((e,t)=>{a(e,t)},[a]),c=(0,V.useCallback)(()=>{localStorage.removeItem(`auth_token`),localStorage.removeItem(`user_id`),n({user:null,userDetails:null,isAuthenticated:!1,isLoading:!1,token:null}),r({to:`/login`})},[r]),l=(0,V.useCallback)(e=>{n(t=>({...t,user:e}))},[]),u=(0,V.useCallback)(e=>{n(t=>({...t,userDetails:e}))},[]);return(0,H.jsx)(Us.Provider,{value:{...t,login:a,loginWithToken:o,register:s,logout:c,updateUser:l,updateUserDetails:u},children:e})}function Gs(){let e=(0,V.useContext)(Us);if(!e)throw Error(`useAuth must be used within AuthProvider`);return e}var Ks=`/assets/styles-DWsgI6YW.css`,qs=Hs(),Js=He(),Ys=se({head:()=>({meta:[{charSet:`utf-8`},{name:`viewport`,content:`width=device-width, initial-scale=1`},{title:`Freshyo - Fresh Meat Delivery`}],links:[{rel:`stylesheet`,href:Ks}]}),shellComponent:Xs});function Xs({children:e}){return(0,H.jsxs)(`html`,{lang:`en`,children:[(0,H.jsx)(`head`,{children:(0,H.jsx)(Ns,{})}),(0,H.jsxs)(`body`,{children:[(0,H.jsx)(Re,{client:qs,children:(0,H.jsx)(Ve.Provider,{client:Js,queryClient:qs,children:(0,H.jsxs)(Ws,{children:[(0,H.jsx)(`div`,{id:`app`,children:e}),(0,H.jsx)(Vs,{})]})})}),(0,H.jsx)(Ps,{})]})]})}var Zs=D(`/stores`)({component:E(()=>O(()=>import(`./stores-DmmchhEr.js`),__vite__mapDeps([0,1,2,3,4,5,6])),`component`)}),Qs=D(`/register`)({component:E(()=>O(()=>import(`./register-D51Ue4qE.js`),__vite__mapDeps([7,1,5,4,2])),`component`)}),$s=D(`/me`)({component:E(()=>O(()=>import(`./me-BCl-FNTs.js`),__vite__mapDeps([8,1,2,6,9,10,11,12,13])),`component`)}),ec=D(`/login`)({component:E(()=>O(()=>import(`./login-6RtWYa3a.js`),__vite__mapDeps([14,1,5,4,2])),`component`)}),tc=D(`/home`)({component:E(()=>O(()=>import(`./home-D1N8PZL-.js`),__vite__mapDeps([15,1,2,3,4,5,6,12,16,17,18,19])),`component`)}),nc=D(`/flash`)({component:E(()=>O(()=>import(`./flash-DjIFIcDF.js`),__vite__mapDeps([20,1,2,12,6,17,18,19,4,21])),`component`)}),rc=D(`/checkout`)({component:E(()=>O(()=>import(`./checkout-C55r-QU8.js`),__vite__mapDeps([22,1,4,5,2,3,19])),`component`)}),ic=D(`/cart`)({component:E(()=>O(()=>import(`./cart-DbCdgo5T.js`),__vite__mapDeps([23,1,2,3,4,5,24,6,19])),`component`)}),ac=D(`/`)({loader:()=>{throw re({to:`/home`})}}),oc=D(`/stores/$storeId`)({component:E(()=>O(()=>import(`./stores._storeId-Bo_VK1An.js`),__vite__mapDeps([25,1,2,3,4,5,26,6])),`component`)}),sc=D(`/me/terms`)({component:E(()=>O(()=>import(`./me.terms-D4lFagim.js`),__vite__mapDeps([27,1])),`component`)}),cc=D(`/me/orders`)({component:E(()=>O(()=>import(`./me.orders-Dg14cvEl.js`),__vite__mapDeps([28,1,5,4,2,6,11])),`component`)}),lc=D(`/me/edit-profile`)({component:E(()=>O(()=>import(`./me.edit-profile-Djrkm7XG.js`),__vite__mapDeps([29,1,5,4,2])),`component`)}),uc=D(`/me/coupons`)({component:E(()=>O(()=>import(`./me.coupons-Cxfwr8iO.js`),__vite__mapDeps([30,1,5,4,13,6])),`component`)}),dc=D(`/me/complaints`)({component:E(()=>O(()=>import(`./me.complaints-Z0J1UdPZ.js`),__vite__mapDeps([31,1,5,4,6,10])),`component`)}),fc=D(`/me/addresses`)({component:E(()=>O(()=>import(`./me.addresses-BJHDsZnx.js`),__vite__mapDeps([32,1,5,4,9,6])),`component`)}),pc=D(`/me/about`)({component:E(()=>O(()=>import(`./me.about-CQEAs02D.js`),__vite__mapDeps([33,1,6,16])),`component`)}),mc=D(`/home/search`)({component:E(()=>O(()=>import(`./home.search-Dx-x6e4a.js`),__vite__mapDeps([34,1,2,21,18])),`component`),validateSearch:e=>({q:e.q||``})}),hc=D(`/home/order-success`)({component:E(()=>O(()=>import(`./home.order-success-DnDz5HMq.js`),__vite__mapDeps([35,1,2,11,6])),`component`),validateSearch:e=>({orderId:e.orderId||``,totalAmount:e.totalAmount||`0`})}),gc=D(`/home/checkout`)({component:E(()=>O(()=>import(`./home.checkout-Bl0spbDU.js`),__vite__mapDeps([36,1,4,5,2,19,21,18])),`component`)}),_c=D(`/home/cart`)({component:E(()=>O(()=>import(`./home.cart-CQsu3-8T.js`),__vite__mapDeps([37,1,2,3,4,5,24,6,19])),`component`)}),vc=D(`/flash/order-success`)({component:E(()=>O(()=>import(`./flash.order-success-BtcExp1_.js`),__vite__mapDeps([38,1,2,17,6])),`component`),validateSearch:e=>({orderId:e.orderId||``,totalAmount:e.totalAmount||`0`})}),yc=D(`/flash/checkout`)({component:E(()=>O(()=>import(`./flash.checkout-4WSH7Rnu.js`),__vite__mapDeps([39,1,4,5,2,19,21,18])),`component`)}),bc=D(`/flash/cart`)({component:E(()=>O(()=>import(`./flash.cart-Uj5DbknX.js`),__vite__mapDeps([40,1,2,24,6,17,19,4,21,18])),`component`)}),xc=D(`/me/orders/$id`)({component:E(()=>O(()=>import(`./me.orders._id-C7HAI1M3.js`),__vite__mapDeps([41,1,5,4,2,26,6])),`component`)}),Sc=D(`/home/product/$id`)({component:E(()=>O(()=>import(`./home.product._id-u1x5UAhj.js`),__vite__mapDeps([42,1,5,4,2,6,12,19,21,18])),`component`)}),Cc=D(`/flash/product/$id`)({component:E(()=>O(()=>import(`./flash.product._id-B92HJYgs.js`),__vite__mapDeps([43,1,2,12,6,17,19,4,21,18])),`component`)}),wc=D(`/stores/$storeId/product/$productId`)({component:E(()=>O(()=>import(`./stores._storeId.product._productId-D-WdUvge.js`),__vite__mapDeps([44,1,2,26,6,12,19,4,21,18])),`component`)}),Tc=Zs.update({id:`/stores`,path:`/stores`,getParentRoute:()=>Ys}),Ec=Qs.update({id:`/register`,path:`/register`,getParentRoute:()=>Ys}),Dc=$s.update({id:`/me`,path:`/me`,getParentRoute:()=>Ys}),Oc=ec.update({id:`/login`,path:`/login`,getParentRoute:()=>Ys}),kc=tc.update({id:`/home`,path:`/home`,getParentRoute:()=>Ys}),Ac=nc.update({id:`/flash`,path:`/flash`,getParentRoute:()=>Ys}),jc=rc.update({id:`/checkout`,path:`/checkout`,getParentRoute:()=>Ys}),Mc=ic.update({id:`/cart`,path:`/cart`,getParentRoute:()=>Ys}),Nc=ac.update({id:`/`,path:`/`,getParentRoute:()=>Ys}),Pc=oc.update({id:`/$storeId`,path:`/$storeId`,getParentRoute:()=>Tc}),Fc=sc.update({id:`/terms`,path:`/terms`,getParentRoute:()=>Dc}),Ic=cc.update({id:`/orders`,path:`/orders`,getParentRoute:()=>Dc}),Lc=lc.update({id:`/edit-profile`,path:`/edit-profile`,getParentRoute:()=>Dc}),Rc=uc.update({id:`/coupons`,path:`/coupons`,getParentRoute:()=>Dc}),W=dc.update({id:`/complaints`,path:`/complaints`,getParentRoute:()=>Dc}),zc=fc.update({id:`/addresses`,path:`/addresses`,getParentRoute:()=>Dc}),Bc=pc.update({id:`/about`,path:`/about`,getParentRoute:()=>Dc}),Vc=mc.update({id:`/search`,path:`/search`,getParentRoute:()=>kc}),Hc=hc.update({id:`/order-success`,path:`/order-success`,getParentRoute:()=>kc}),Uc=gc.update({id:`/checkout`,path:`/checkout`,getParentRoute:()=>kc}),Wc=_c.update({id:`/cart`,path:`/cart`,getParentRoute:()=>kc}),Gc=vc.update({id:`/order-success`,path:`/order-success`,getParentRoute:()=>Ac}),Kc=yc.update({id:`/checkout`,path:`/checkout`,getParentRoute:()=>Ac}),qc=bc.update({id:`/cart`,path:`/cart`,getParentRoute:()=>Ac}),Jc=xc.update({id:`/$id`,path:`/$id`,getParentRoute:()=>Ic}),Yc=Sc.update({id:`/product/$id`,path:`/product/$id`,getParentRoute:()=>kc}),Xc=Cc.update({id:`/product/$id`,path:`/product/$id`,getParentRoute:()=>Ac}),Zc=wc.update({id:`/product/$productId`,path:`/product/$productId`,getParentRoute:()=>Pc}),Qc={FlashCartRoute:qc,FlashCheckoutRoute:Kc,FlashOrderSuccessRoute:Gc,FlashProductIdRoute:Xc},$c=Ac._addFileChildren(Qc),el={HomeCartRoute:Wc,HomeCheckoutRoute:Uc,HomeOrderSuccessRoute:Hc,HomeSearchRoute:Vc,HomeProductIdRoute:Yc},tl=kc._addFileChildren(el),nl={MeOrdersIdRoute:Jc},rl={MeAboutRoute:Bc,MeAddressesRoute:zc,MeComplaintsRoute:W,MeCouponsRoute:Rc,MeEditProfileRoute:Lc,MeOrdersRoute:Ic._addFileChildren(nl),MeTermsRoute:Fc},il=Dc._addFileChildren(rl),al={StoresStoreIdProductProductIdRoute:Zc},ol={StoresStoreIdRoute:Pc._addFileChildren(al)},sl={IndexRoute:Nc,CartRoute:Mc,CheckoutRoute:jc,FlashRoute:$c,HomeRoute:tl,LoginRoute:Oc,MeRoute:il,RegisterRoute:Ec,StoresRoute:Tc._addFileChildren(ol)},cl=Ys._addFileChildren(sl);function G(){return Ts({routeTree:cl,scrollRestoration:!0,defaultPreload:`intent`,defaultPreloadStaleTime:0})}async function ll(){let e=await G(),t=[];return window.__TSS_START_OPTIONS__={serializationAdapters:t},t.push(Ro),e.options.serializationAdapters&&t.push(...e.options.serializationAdapters),e.update({basepath:``,serializationAdapters:t}),e.stores.matchesId.get().length||await Vo(e),e}async function ul(){let e=await ll();return window.$_TSR?.h(),e}var dl;function fl(){return dl||=ul(),(0,H.jsx)(Uo,{promise:dl,children:e=>(0,H.jsx)(Os,{router:e})})}var pl=G();(0,Bs.hydrateRoot)(document,(0,H.jsx)(fl,{router:pl}));export{vc as a,oc as c,xc as i,Gs as l,Cc as n,hc as o,Sc as r,mc as s,wc as t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/login-6RtWYa3a.js b/apps/web-ui/.output/public/assets/login-6RtWYa3a.js new file mode 100644 index 0000000..c2c02e2 --- /dev/null +++ b/apps/web-ui/.output/public/assets/login-6RtWYa3a.js @@ -0,0 +1 @@ +import{c as e,d as t,f as n,h as r,l as i,s as a,u as o}from"./src-C0xjWfnx.js";import{t as s}from"./useNavigate-VRicZWJI.js";import{n as c}from"./trpc-client-QrVjRqP1.js";import{l}from"./index-BXnbw4dQ.js";var u=r(n(),1),d=e=>e.type===`checkbox`,f=e=>e instanceof Date,p=e=>e==null,m=e=>typeof e==`object`,h=e=>!p(e)&&!Array.isArray(e)&&m(e)&&!f(e),g=e=>h(e)&&e.target?d(e.target)?e.target.checked:e.target.value:e,_=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,v=(e,t)=>e.has(_(t)),y=e=>{let t=e.constructor&&e.constructor.prototype;return h(t)&&t.hasOwnProperty(`isPrototypeOf`)},b=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function x(e){if(e instanceof Date)return new Date(e);let t=typeof FileList<`u`&&e instanceof FileList;if(b&&(e instanceof Blob||t))return e;let n=Array.isArray(e);if(!n&&!(h(e)&&y(e)))return e;let r=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=x(e[t]));return r}var S=e=>/^\w*$/.test(e),C=e=>e===void 0,w=e=>Array.isArray(e)?e.filter(Boolean):[],T=e=>w(e.replace(/["|']|\]/g,``).split(/\.|\[/)),E=(e,t,n)=>{if(!t||!h(e))return n;let r=(S(t)?[t]:T(t)).reduce((e,t)=>p(e)?e:e[t],e);return C(r)||r===e?C(e[t])?n:e[t]:r},D=e=>typeof e==`boolean`,O=e=>typeof e==`function`,k=(e,t,n)=>{let r=-1,i=S(t)?[t]:T(t),a=i.length,o=a-1;for(;++ru.useContext(N),F=(e,t,n,r=!0)=>{let i={defaultValues:t._defaultValues};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==j.all&&(t._proxyFormState[i]=!r||j.all),n&&(n[i]=!0),e[i]}});return i},I=typeof window<`u`?u.useLayoutEffect:u.useEffect;function ee(e){let t=P(),{control:n=t,disabled:r,name:i,exact:a}=e||{},[o,s]=u.useState(n._formState),c=u.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return I(()=>n._subscribe({name:i,formState:c.current,exact:a,callback:e=>{!r&&s({...n._formState,...e})}}),[i,r,a]),u.useEffect(()=>{c.current.isValid&&n._setValid(!0)},[n]),u.useMemo(()=>F(o,n,c.current,!1),[o,n])}var L=e=>typeof e==`string`,te=(e,t,n,r,i)=>L(e)?(r&&t.watch.add(e),E(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),E(n,e))):(r&&(t.watchAll=!0),n),R=e=>p(e)||!m(e);function z(e,t,n=new WeakSet){if(R(e)||R(t))return Object.is(e,t);if(f(e)&&f(t))return Object.is(e.getTime(),t.getTime());let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(let a of r){let r=e[a];if(!i.includes(a))return!1;if(a!==`ref`){let e=t[a];if(f(r)&&f(e)||h(r)&&h(e)||Array.isArray(r)&&Array.isArray(e)?!z(r,e,n):!Object.is(r,e))return!1}}return!0}function ne(e){let t=P(),{control:n=t,name:r,defaultValue:i,disabled:a,exact:o,compute:s}=e||{},c=u.useRef(i),l=u.useRef(s),d=u.useRef(void 0),f=u.useRef(n),p=u.useRef(r);l.current=s;let[m,h]=u.useState(()=>{let e=n._getWatch(r,c.current);return l.current?l.current(e):e}),g=u.useCallback(e=>{let t=te(r,n._names,e||n._formValues,!1,c.current);return l.current?l.current(t):t},[n._formValues,n._names,r]),_=u.useCallback(e=>{if(!a){let t=te(r,n._names,e||n._formValues,!1,c.current);if(l.current){let e=l.current(t);z(e,d.current)||(h(e),d.current=e)}else h(t)}},[n._formValues,n._names,a,r]);I(()=>((f.current!==n||!z(p.current,r))&&(f.current=n,p.current=r,_()),n._subscribe({name:r,formState:{values:!0},exact:o,callback:e=>{_(e.values)}})),[n,o,r,_]),u.useEffect(()=>n._removeUnmounted());let v=f.current!==n,y=p.current,b=u.useMemo(()=>{if(a)return null;let e=!v&&!z(y,r);return v||e?g():null},[a,v,r,y,g]);return b===null?m:b}function B(e){let t=P(),{name:n,disabled:r,control:i=t,shouldUnregister:a,defaultValue:o,exact:s=!0}=e,c=v(i._names.array,n),l=ne({control:i,name:n,defaultValue:u.useMemo(()=>E(i._formValues,n,E(i._defaultValues,n,o)),[i,n,o]),exact:s}),d=ee({control:i,name:n,exact:s}),f=u.useRef(e),p=u.useRef(void 0),m=u.useRef(i.register(n,{...e.rules,value:l,...D(e.disabled)?{disabled:e.disabled}:{}}));f.current=e;let h=u.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!E(d.errors,n)},isDirty:{enumerable:!0,get:()=>!!E(d.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!E(d.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!E(d.validatingFields,n)},error:{enumerable:!0,get:()=>E(d.errors,n)}}),[d,n]),_=u.useCallback(e=>m.current.onChange({target:{value:g(e),name:n},type:A.CHANGE}),[n]),y=u.useCallback(()=>m.current.onBlur({target:{value:E(i._formValues,n),name:n},type:A.BLUR}),[n,i._formValues]),b=u.useCallback(e=>{let t=E(i._fields,n);t&&t._f&&e&&(t._f.ref={focus:()=>O(e.focus)&&e.focus(),select:()=>O(e.select)&&e.select(),setCustomValidity:t=>O(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>O(e.reportValidity)&&e.reportValidity()})},[i._fields,n]),S=u.useMemo(()=>({name:n,value:l,...D(r)||d.disabled?{disabled:d.disabled||r}:{},onChange:_,onBlur:y,ref:b}),[n,r,d.disabled,_,y,b,l]);return u.useEffect(()=>{let e=i._options.shouldUnregister||a,t=p.current;t&&t!==n&&!c&&i.unregister(t),i.register(n,{...f.current.rules,...D(f.current.disabled)?{disabled:f.current.disabled}:{}});let r=(e,t)=>{let n=E(i._fields,e);n&&n._f&&(n._f.mount=t)};if(r(n,!0),e){let e=x(E(i._options.defaultValues,n,f.current.defaultValue));k(i._defaultValues,n,e),C(E(i._formValues,n))&&k(i._formValues,n,e)}return!c&&i.register(n),p.current=n,()=>{(c?e&&!i._state.action:e)?i.unregister(n):r(n,!1)}},[n,i,c,a]),u.useEffect(()=>{i._setDisabledField({disabled:r,name:n})},[r,n,i]),u.useMemo(()=>({field:S,formState:d,fieldState:h}),[S,d,h])}var re=e=>e.render(B(e)),V=u.createContext(null);V.displayName=`HookFormContext`;var ie=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},H=e=>Array.isArray(e)?e:[e],ae=()=>{let e=[];return{get observers(){return e},next:t=>{for(let n of e)n.next&&n.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function oe(e,t){let n={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],a=t[r];if(i&&h(i)&&a){let e=oe(i,a);h(e)&&(n[r]=e)}else e[r]&&(n[r]=a)}return n}var U=e=>h(e)&&!Object.keys(e).length,se=e=>e.type===`file`,ce=e=>{if(!b)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},le=e=>e.type===`select-multiple`,W=e=>e.type===`radio`,ue=e=>W(e)||d(e),de=e=>ce(e)&&e.isConnected;function fe(e,t){let n=t.slice(0,-1).length,r=0;for(;r{for(let t in e)if(O(e[t]))return!0;return!1};function he(e){return Array.isArray(e)||h(e)&&!me(e)}function K(e,t={}){for(let n in e){let r=e[n];he(r)?(t[n]=Array.isArray(r)?[]:{},K(r,t[n])):C(r)||(t[n]=!0)}return t}function q(e,t,n){n||=K(t);for(let r in e){let i=e[r];if(he(i))C(t)||R(n[r])?n[r]=K(i,Array.isArray(i)?[]:{}):q(i,p(t)?{}:t[r],n[r]);else{let e=t[r];n[r]=!z(i,e)}}return n}var ge={value:!1,isValid:!1},_e={value:!0,isValid:!0},J=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!C(e[0].attributes.value)?C(e[0].value)||e[0].value===``?_e:{value:e[0].value,isValid:!0}:_e:ge}return ge},ve=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>C(e)?e:t?e===``?NaN:e&&+e:n&&L(e)?new Date(e):r?r(e):e,ye={isValid:!1,value:null},be=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,ye):ye;function xe(e){let t=e.ref;return se(t)?t.files:W(t)?be(e.refs).value:le(t)?[...t.selectedOptions].map(({value:e})=>e):d(t)?J(e.refs).value:ve(C(t.value)?e.ref.value:t.value,e)}var Se=(e,t,n,r)=>{let i={};for(let n of e){let e=E(t,n);e&&k(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},Y=e=>e instanceof RegExp,X=e=>C(e)?e:Y(e)?e.source:h(e)?Y(e.value)?e.value.source:e.value:e,Ce=e=>({isOnSubmit:!e||e===j.onSubmit,isOnBlur:e===j.onBlur,isOnChange:e===j.onChange,isOnAll:e===j.all,isOnTouch:e===j.onTouched}),we=`AsyncFunction`,Te=e=>!!e&&!!e.validate&&!!(O(e.validate)&&e.validate.constructor.name===we||h(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===we)),Ee=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),De=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length)))),Z=(e,t,n,r)=>{for(let i of n||Object.keys(e)){let n=E(e,i);if(n){let{_f:e,...a}=n;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],i)&&!r||e.ref&&t(e.ref,e.name)&&!r)return!0;if(Z(a,t))break}else if(h(a)&&Z(a,t))break}}};function Oe(e,t,n){let r=E(e,n);if(r||S(n))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=E(t,r),o=E(e,r);if(a&&!Array.isArray(a)&&n!==r)return{name:n};if(o&&o.type)return{name:r,error:o};if(o&&o.root&&o.root.type)return{name:`${r}.root`,error:o.root};i.pop()}return{name:n}}var ke=(e,t,n,r)=>{n(e);let{name:i,...a}=e;return U(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(e=>t[e]===(!r||j.all))},Ae=(e,t,n)=>!e||!t||e===t||H(e).some(e=>e&&(n?e===t:e.startsWith(t)||t.startsWith(e))),je=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,Me=(e,t)=>!w(E(e,t)).length&&G(e,t),Ne=(e,t,n)=>{let r=H(E(e,n));return k(r,`root`,t[n]),k(e,n,r),e};function Pe(e,t,n=`validate`){if(L(e)||Array.isArray(e)&&e.every(L)||D(e)&&!e)return{type:n,message:L(e)?e:``,ref:t}}var Q=e=>h(e)&&!Y(e)?e:{value:e,message:``},Fe=async(e,t,n,r,i,a)=>{let{ref:o,refs:s,required:c,maxLength:l,minLength:u,min:f,max:m,pattern:g,validate:_,name:v,valueAsNumber:y,mount:b}=e._f,x=E(n,v);if(!b||t.has(v))return{};let S=s?s[0]:o,w=e=>{i&&S.reportValidity&&(S.setCustomValidity(D(e)?``:e||``),S.reportValidity())},T={},k=W(o),A=d(o),j=k||A,N=(y||se(o))&&C(o.value)&&C(x)||ce(o)&&o.value===``||x===``||Array.isArray(x)&&!x.length,P=ie.bind(null,v,r,T),F=(e,t,n,r=M.maxLength,i=M.minLength)=>{let a=e?t:n;T[v]={type:e?r:i,message:a,ref:o,...P(e?r:i,a)}};if(a?!Array.isArray(x)||!x.length:c&&(!j&&(N||p(x))||D(x)&&!x||A&&!J(s).isValid||k&&!be(s).isValid)){let{value:e,message:t}=L(c)?{value:!!c,message:c}:Q(c);if(e&&(T[v]={type:M.required,message:t,ref:S,...P(M.required,t)},!r))return w(t),T}if(!N&&(!p(f)||!p(m))){let e,t,n=Q(m),i=Q(f);if(!p(x)&&!isNaN(x)){let r=o.valueAsNumber||x&&+x;p(n.value)||(e=r>n.value),p(i.value)||(t=rnew Date(new Date().toDateString()+` `+e),s=o.type==`time`,c=o.type==`week`;L(n.value)&&x&&(e=s?a(x)>a(n.value):c?x>n.value:r>new Date(n.value)),L(i.value)&&x&&(t=s?a(x)+e.value,i=!p(t.value)&&x.length<+t.value;if((n||i)&&(F(n,e.message,t.message),!r))return w(T[v].message),T}if(g&&!N&&L(x)){let{value:e,message:t}=Q(g);if(Y(e)&&!x.match(e)&&(T[v]={type:M.pattern,message:t,ref:o,...P(M.pattern,t)},!r))return w(t),T}if(_){if(O(_)){let e=Pe(await _(x,n),S);if(e&&(T[v]={...e,...P(M.validate,e.message)},!r))return w(e.message),T}else if(h(_)){let e={};for(let t in _){if(!U(e)&&!r)break;let i=Pe(await _[t](x,n),S,t);i&&(e={...i,...P(t,i.message)},w(i.message),r&&(T[v]=e))}if(!U(e)&&(T[v]={ref:S,...e},!r))return T}}return w(!0),T},Ie={mode:j.onSubmit,reValidateMode:j.onChange,shouldFocusError:!0};function Le(e={}){let t={...Ie,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:O(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=(h(t.defaultValues)||h(t.values))&&x(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:x(i),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},c,l=0,u={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},m={...u},_={...m},y={array:ae(),state:ae()},S=t.criteriaMode===j.all,T=e=>t=>{clearTimeout(l),l=setTimeout(e,t)},M=async e=>{if(!o.keepIsValid&&!t.disabled&&(m.isValid||_.isValid||e)){let e;t.resolver?(e=U((await B()).errors),N()):e=await V(r,!0),e!==n.isValid&&y.state.next({isValid:e})}},N=(e,r)=>{!t.disabled&&(m.isValidating||m.validatingFields||_.isValidating||_.validatingFields)&&((e||Array.from(s.mount)).forEach(e=>{e&&(r?k(n.validatingFields,e,r):G(n.validatingFields,e))}),y.state.next({validatingFields:n.validatingFields,isValidating:!U(n.validatingFields)}))},P=(e,s=[],c,l,u=!0,d=!0)=>{if(l&&c&&!t.disabled){if(o.action=!0,d&&Array.isArray(E(r,e))){let t=c(E(r,e),l.argA,l.argB);u&&k(r,e,t)}if(d&&Array.isArray(E(n.errors,e))){let t=c(E(n.errors,e),l.argA,l.argB);u&&k(n.errors,e,t),Me(n.errors,e)}if((m.touchedFields||_.touchedFields)&&d&&Array.isArray(E(n.touchedFields,e))){let t=c(E(n.touchedFields,e),l.argA,l.argB);u&&k(n.touchedFields,e,t)}(m.dirtyFields||_.dirtyFields)&&(n.dirtyFields=q(i,a)),y.state.next({name:e,isDirty:W(e,s),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else k(a,e,s)},F=(e,t)=>{k(n.errors,e,t),y.state.next({errors:n.errors})},I=e=>{n.errors=e,y.state.next({errors:n.errors,isValid:!1})},ee=(e,t,n,s)=>{let c=E(r,e);if(c){let r=E(a,e,C(n)?E(i,e):n);C(r)||s&&s.defaultChecked||t?k(a,e,t?r:xe(c._f)):me(e,r),o.mount&&!o.action&&M()}},R=(e,r,a,o,s)=>{let c=!1,l=!1,u={name:e};if(!t.disabled){if(!a||o){(m.isDirty||_.isDirty)&&(l=n.isDirty,n.isDirty=u.isDirty=W(),c=l!==u.isDirty);let t=z(E(i,e),r);l=!!E(n.dirtyFields,e),t?G(n.dirtyFields,e):k(n.dirtyFields,e,!0),u.dirtyFields=n.dirtyFields,c||=(m.dirtyFields||_.dirtyFields)&&l!==!t}if(a){let t=E(n.touchedFields,e);t||(k(n.touchedFields,e,a),u.touchedFields=n.touchedFields,c||=(m.touchedFields||_.touchedFields)&&t!==a)}c&&s&&y.state.next(u)}return c?u:{}},ne=(e,r,i,a)=>{let o=E(n.errors,e),s=(m.isValid||_.isValid)&&D(r)&&n.isValid!==r;if(t.delayError&&i?(c=T(()=>F(e,i)),c(t.delayError)):(clearTimeout(l),c=null,i?k(n.errors,e,i):G(n.errors,e)),(i?!z(o,i):o)||!U(a)||s){let t={...a,...s&&D(r)?{isValid:r}:{},errors:n.errors,name:e};n={...n,...t},y.state.next(t)}},B=async e=>(N(e,!0),await t.resolver(a,t.context,Se(e||s.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),re=async e=>{let{errors:t}=await B(e);if(N(e),e)for(let r of e){let e=E(t,r);e?k(n.errors,r,e):G(n.errors,r)}else n.errors=t;return t},V=async(r,i,o={valid:!0})=>{for(let c in r){let l=r[c];if(l){let{_f:r,...c}=l;if(r){let c=s.array.has(r.name),u=l._f&&Te(l._f);u&&m.validatingFields&&N([r.name],!0);let d=await Fe(l,s.disabled,a,S,t.shouldUseNativeValidation&&!i,c);if(u&&m.validatingFields&&N([r.name]),d[r.name]&&(o.valid=!1,i||e.shouldUseNativeValidation))break;!i&&(E(d,r.name)?c?Ne(n.errors,d,r.name):k(n.errors,r.name,d[r.name]):G(n.errors,r.name))}!U(c)&&await V(c,i,o)}}return o.valid},ie=()=>{for(let e of s.unMount){let t=E(r,e);t&&(t._f.refs?t._f.refs.every(e=>!de(e)):!de(t._f.ref))&&Re(e)}s.unMount=new Set},W=(e,n)=>!t.disabled&&(e&&n&&k(a,e,n),!z(ye(),i)),fe=(e,t,n)=>te(e,s,{...o.mount?a:C(t)?i:L(e)?{[e]:t}:t},n,t),pe=e=>w(E(o.mount?a:i,e,t.shouldUnregister?E(i,e,[]):[])),me=(e,t,n={})=>{let i=E(r,e),o=t;if(i){let n=i._f;n&&(!n.disabled&&k(a,e,ve(t,n)),o=ce(n.ref)&&p(t)?``:t,le(n.ref)?[...n.ref.options].forEach(e=>e.selected=o.includes(e.value)):n.refs?d(n.ref)?n.refs.forEach(e=>{(!e.defaultChecked||!e.disabled)&&(Array.isArray(o)?e.checked=!!o.find(t=>t===e.value):e.checked=o===e.value||!!o)}):n.refs.forEach(e=>e.checked=e.value===o):se(n.ref)?n.ref.value=``:(n.ref.value=o,n.ref.type||y.state.next({name:e,values:x(a)})))}(n.shouldDirty||n.shouldTouch)&&R(e,o,n.shouldTouch,n.shouldDirty,!0),n.shouldValidate&&J(e)},he=(e,t,n)=>{for(let i in t){if(!t.hasOwnProperty(i))return;let a=t[i],o=e+`.`+i,c=E(r,o);(s.array.has(e)||h(a)||c&&!c._f)&&!f(a)?he(o,a,n):me(o,a,n)}},K=(e,t,c={})=>{let l=E(r,e),u=s.array.has(e),d=x(t);k(a,e,d),u?(y.array.next({name:e,values:x(a)}),(m.isDirty||m.dirtyFields||_.isDirty||_.dirtyFields)&&c.shouldDirty&&y.state.next({name:e,dirtyFields:q(i,a),isDirty:W(e,d)})):l&&!l._f&&!p(d)?he(e,d,c):me(e,d,c),De(e,s)?y.state.next({...n,name:e,values:x(a)}):y.state.next({name:o.mount?e:void 0,values:x(a)})},ge=async e=>{o.mount=!0;let i=e.target,l=i.name,u=!0,d=E(r,l),p=e=>{u=Number.isNaN(e)||f(e)&&isNaN(e.getTime())||z(e,E(a,l,e))},h=Ce(t.mode),v=Ce(t.reValidateMode);if(d){let o,f,b=i.type?xe(d._f):g(e),C=e.type===A.BLUR||e.type===A.FOCUS_OUT,w=!Ee(d._f)&&!t.resolver&&!E(n.errors,l)&&!d._f.deps||je(C,E(n.touchedFields,l),n.isSubmitted,v,h),T=De(l,s,C);k(a,l,b),C?(!i||!i.readOnly)&&(d._f.onBlur&&d._f.onBlur(e),c&&c(0)):d._f.onChange&&d._f.onChange(e);let D=R(l,b,C),O=!U(D)||T;if(!C&&y.state.next({name:l,type:e.type,values:x(a)}),w)return(m.isValid||_.isValid)&&(t.mode===`onBlur`?C&&M():C||M()),O&&y.state.next({name:l,...T?{}:D});if(!C&&T&&y.state.next({...n}),t.resolver){let{errors:e}=await B([l]);if(N([l]),p(b),u){let t=Oe(n.errors,r,l),i=Oe(e,r,t.name||l);o=i.error,l=i.name,f=U(e)}}else N([l],!0),o=(await Fe(d,s.disabled,a,S,t.shouldUseNativeValidation))[l],N([l]),p(b),u&&(o?f=!1:(m.isValid||_.isValid)&&(f=await V(r,!0)));u&&(d._f.deps&&(!Array.isArray(d._f.deps)||d._f.deps.length>0)&&J(d._f.deps),ne(l,f,o,D))}},_e=(e,t)=>{if(E(n.errors,t)&&e.focus)return e.focus(),1},J=async(e,i={})=>{let a,o,c=H(e);if(t.resolver){let t=await re(C(e)?e:c);a=U(t),o=e?!c.some(e=>E(t,e)):a}else e?(o=(await Promise.all(c.map(async e=>{let t=E(r,e);return await V(t&&t._f?{[e]:t}:t)}))).every(Boolean),!(!o&&!n.isValid)&&M()):o=a=await V(r);return y.state.next({...!L(e)||(m.isValid||_.isValid)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},errors:n.errors}),i.shouldFocus&&!o&&Z(r,_e,e?c:s.mount),o},ye=(e,t)=>{let r={...o.mount?a:i};return t&&(r=oe(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),C(e)?r:L(e)?E(r,e):e.map(e=>E(r,e))},be=(e,t)=>({invalid:!!E((t||n).errors,e),isDirty:!!E((t||n).dirtyFields,e),error:E((t||n).errors,e),isValidating:!!E(n.validatingFields,e),isTouched:!!E((t||n).touchedFields,e)}),Y=e=>{let t=e?H(e):void 0;t?.forEach(e=>G(n.errors,e)),t?t.forEach(e=>{y.state.next({name:e,errors:n.errors})}):y.state.next({errors:{}})},we=(e,t,i)=>{let a=(E(r,e,{_f:{}})._f||{}).ref,{ref:o,message:s,type:c,...l}=E(n.errors,e)||{};k(n.errors,e,{...l,...t,ref:a}),y.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&a&&a.focus&&a.focus()},Pe=(e,t)=>O(e)?y.state.subscribe({next:n=>`values`in n&&e(fe(void 0,t),n)}):fe(e,t,!0),Q=e=>y.state.subscribe({next:t=>{Ae(e.name,t.name,e.exact)&&ke(t,e.formState||m,qe,e.reRenderRoot)&&e.callback({values:{...a},...n,...t,defaultValues:i})}}).unsubscribe,Le=e=>(o.mount=!0,_={..._,...e.formState},Q({...e,formState:{...u,...e.formState}})),Re=(e,o={})=>{for(let c of e?H(e):s.mount)s.mount.delete(c),s.array.delete(c),o.keepValue||(G(r,c),G(a,c)),!o.keepError&&G(n.errors,c),!o.keepDirty&&G(n.dirtyFields,c),!o.keepTouched&&G(n.touchedFields,c),!o.keepIsValidating&&G(n.validatingFields,c),!t.shouldUnregister&&!o.keepDefaultValue&&G(i,c);y.state.next({values:x(a)}),y.state.next({...n,...o.keepDirty?{isDirty:W()}:{}}),!o.keepIsValid&&M()},$=({disabled:e,name:t})=>{if(D(e)&&o.mount||e||s.disabled.has(t)){let n=s.disabled.has(t)!==!!e;e?s.disabled.add(t):s.disabled.delete(t),n&&o.mount&&!o.action&&M()}},ze=(e,n={})=>{let a=E(r,e),c=D(n.disabled)||D(t.disabled);return k(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),s.mount.add(e),a?$({disabled:D(n.disabled)?n.disabled:t.disabled,name:e}):ee(e,!0,n.value),{...c?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!n.required,min:X(n.min),max:X(n.max),minLength:X(n.minLength),maxLength:X(n.maxLength),pattern:X(n.pattern)}:{},name:e,onChange:ge,onBlur:ge,ref:c=>{if(c){ze(e,n),a=E(r,e);let t=C(c.value)&&c.querySelectorAll&&c.querySelectorAll(`input,select,textarea`)[0]||c,o=ue(t),s=a._f.refs||[];if(o?s.find(e=>e===t):t===a._f.ref)return;k(r,e,{_f:{...a._f,...o?{refs:[...s.filter(de),t,...Array.isArray(E(i,e))?[{}]:[]],ref:{type:t.type,name:e}}:{ref:t}}}),ee(e,!1,void 0,t)}else a=E(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(v(s.array,e)&&o.action)&&s.unMount.add(e)}}},Be=()=>t.shouldFocusError&&Z(r,_e,s.mount),Ve=e=>{D(e)&&(y.state.next({disabled:e}),Z(r,(t,n)=>{let i=E(r,n);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0,!1))},He=(e,i)=>async o=>{let c;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let l=x(a);if(y.state.next({isSubmitting:!0}),t.resolver){let{errors:e,values:t}=await B();N(),n.errors=e,l=x(t)}else await V(r);if(s.disabled.size)for(let e of s.disabled)G(l,e);if(G(n.errors,`root`),U(n.errors)){y.state.next({errors:{}});try{await e(l,o)}catch(e){c=e}}else i&&await i({...n.errors},o),Be(),setTimeout(Be);if(y.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:U(n.errors)&&!c,submitCount:n.submitCount+1,errors:n.errors}),c)throw c},Ue=(e,t={})=>{E(r,e)&&(C(t.defaultValue)?K(e,x(E(i,e))):(K(e,t.defaultValue),k(i,e,x(t.defaultValue))),t.keepTouched||G(n.touchedFields,e),t.keepDirty||(G(n.dirtyFields,e),n.isDirty=t.defaultValue?W(e,x(E(i,e))):W()),t.keepError||(G(n.errors,e),m.isValid&&M()),y.state.next({...n}))},We=(e,c={})=>{let l=e?x(e):i,u=x(l),d=U(e),f=d?i:u;if(c.keepDefaultValues||(i=l),!c.keepValues){if(c.keepDirtyValues){let e=new Set([...s.mount,...Object.keys(q(i,a))]);for(let t of Array.from(e)){let e=E(n.dirtyFields,t),r=E(a,t),i=E(f,t);e&&!C(r)?k(f,t,r):!e&&!C(i)&&K(t,i)}}else{if(b&&C(e))for(let e of s.mount){let t=E(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(ce(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(c.keepFieldsRef)for(let e of s.mount)K(e,E(f,e));else r={}}a=t.shouldUnregister?c.keepDefaultValues?x(i):{}:x(f),y.array.next({values:{...f}}),y.state.next({values:{...f}})}s={mount:c.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:``},o.mount=!m.isValid||!!c.keepIsValid||!!c.keepDirtyValues||!t.shouldUnregister&&!U(f),o.watch=!!t.shouldUnregister,o.keepIsValid=!!c.keepIsValid,o.action=!1,c.keepErrors||(n.errors={}),y.state.next({submitCount:c.keepSubmitCount?n.submitCount:0,isDirty:d?!1:c.keepDirty?n.isDirty:!!(c.keepDefaultValues&&!z(e,i)),isSubmitted:c.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:d?{}:c.keepDirtyValues?c.keepDefaultValues&&a?q(i,a):n.dirtyFields:c.keepDefaultValues&&e?q(i,e):c.keepDirty?n.dirtyFields:{},touchedFields:c.keepTouched?n.touchedFields:{},errors:c.keepErrors?n.errors:{},isSubmitSuccessful:c.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},Ge=(e,n)=>We(O(e)?e(a):e,{...t.resetOptions,...n}),Ke=(e,t={})=>{let n=E(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&O(e.select)&&e.select()})}},qe=e=>{n={...n,...e}},Je={control:{register:ze,unregister:Re,getFieldState:be,handleSubmit:He,setError:we,_subscribe:Q,_runSchema:B,_updateIsValidating:N,_focusError:Be,_getWatch:fe,_getDirty:W,_setValid:M,_setFieldArray:P,_setDisabledField:$,_setErrors:I,_getFieldArray:pe,_reset:We,_resetDefaultValues:()=>O(t.defaultValues)&&t.defaultValues().then(e=>{Ge(e,t.resetOptions),y.state.next({isLoading:!1})}),_removeUnmounted:ie,_disableForm:Ve,_subjects:y,_proxyFormState:m,get _fields(){return r},get _formValues(){return a},get _state(){return o},set _state(e){o=e},get _defaultValues(){return i},get _names(){return s},set _names(e){s=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e}}},subscribe:Le,trigger:J,register:ze,handleSubmit:He,watch:Pe,setValue:K,getValues:ye,reset:Ge,resetField:Ue,clearErrors:Y,unregister:Re,setError:we,setFocus:Ke,getFieldState:be};return{...Je,formControl:Je}}function Re(e={}){let t=u.useRef(void 0),n=u.useRef(void 0),[r,i]=u.useState({isDirty:!1,isValidating:!1,isLoading:O(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:O(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!O(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...i}=Le(e);t.current={...i,formState:r}}let a=t.current.control;return a._options=e,I(()=>{let e=a._subscribe({formState:a._proxyFormState,callback:()=>i({...a._formState}),reRenderRoot:!0});return i(e=>({...e,isReady:!0})),a._formState.isReady=!0,e},[a]),u.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),u.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),u.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),u.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),u.useEffect(()=>{if(a._proxyFormState.isDirty){let e=a._getDirty();e!==r.isDirty&&a._subjects.state.next({isDirty:e})}},[a,r.isDirty]),u.useEffect(()=>{e.values&&!z(e.values,n.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),a._options.resetOptions?.keepIsValid||a._setValid(),n.current=e.values,i(e=>({...e}))):a._resetDefaultValues()},[a,e.values]),u.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),t.current.formState=u.useMemo(()=>F(r,a),[a,r]),t.current}var $=t();function ze(){let{loginWithToken:t}=l(),n=s(),[r,d]=(0,u.useState)(`mobile`),[f,p]=(0,u.useState)(``),[m,h]=(0,u.useState)(!1),[g,_]=(0,u.useState)(0),v=(0,u.useRef)(),[y,b]=(0,u.useState)([``,``,``,``]),x=(0,u.useRef)([null,null,null,null]),S=c.user.auth.login.useMutation(),C=c.user.auth.sendOtp.useMutation({onSuccess:e=>{e.success&&(_(120),h(!1),d(`otp`))}}),w=c.user.auth.verifyOtp.useMutation({onSuccess:e=>{e.success&&e.token&&e.user&&(t(e.token,e.user),n({to:`/home`}))}});(0,u.useEffect)(()=>()=>{v.current&&clearInterval(v.current)},[]),(0,u.useEffect)(()=>(v.current&&clearInterval(v.current),g>0&&(v.current=setInterval(()=>{_(e=>e<=1?(h(!0),0):e-1)},1e3)),()=>{v.current&&clearInterval(v.current)}),[g]);let{control:T,handleSubmit:E,setValue:D,clearErrors:O,setError:k}=Re({defaultValues:{mobile:``,otp:``,password:``}}),A=e=>{let t=e.replace(/\D/g,``);return t.length===10&&/^[6-9]/.test(t)},j=(e,t)=>{if(t.length>1){let e=t.replace(/\D/g,``).slice(0,4),n=e.split(``).concat([``,``,``,``]).slice(0,4);b(n),D(`otp`,n.join(``));let r=Math.min(e.length-1,3);x.current[r]?.focus();return}let n=[...y];n[e]=t,b(n),D(`otp`,n.join(``)),t&&e<3?x.current[e+1]?.focus():!t&&e>0&&x.current[e-1]?.focus()};return(0,$.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-gradient-to-b from-brand-400 to-brand-700 p-4`,children:(0,$.jsxs)(`div`,{className:`w-full max-w-md`,children:[(0,$.jsx)(o,{weight:`bold`,className:`mb-2 text-center text-4xl text-white`,children:`Welcome`}),(0,$.jsx)(o,{className:`mb-8 text-center text-lg text-blue-100`,children:`Sign in to continue your journey`}),(0,$.jsxs)(`div`,{className:`rounded-2xl bg-white p-8 shadow-xl`,children:[(0,$.jsxs)(`form`,{onSubmit:E(e=>{if(r===`mobile`){let t=e.mobile.trim();if(!A(t)){k(`mobile`,{message:`Enter a valid 10-digit mobile number`});return}p(t.replace(/\D/g,``)),C.mutate({mobile:t})}else if(r===`otp`){if(!e.otp||e.otp.length<4){k(`otp`,{message:`Enter a valid OTP`});return}w.mutate({mobile:f,otp:e.otp})}else r===`password`&&S.mutate({identifier:f,password:e.password},{onSuccess:e=>{t(e.data.token,e.data.user),n({to:`/home`})}})}),children:[r===`mobile`&&(0,$.jsx)(re,{control:T,name:`mobile`,render:({field:{onChange:t,value:n}})=>(0,$.jsx)(e,{placeholder:`Enter your mobile number`,value:n,onChange:e=>{let n=e.target.value.replace(/\D/g,``);n.length<=10&&t(n)},className:`bg-gray-50`})}),r===`otp`&&(0,$.jsxs)(`div`,{className:`mb-6`,children:[(0,$.jsx)(o,{weight:`semibold`,className:`mb-3 text-center text-base text-gray-800`,children:`Enter 4-digit OTP`}),(0,$.jsx)(`div`,{className:`flex justify-center gap-2`,children:[0,1,2,3].map(e=>(0,$.jsx)(`input`,{ref:t=>{x.current[e]=t},className:`h-14 w-14 rounded-xl border-2 text-center text-2xl font-bold`,style:{borderColor:y[e]?`#E63946`:`#E5E7EB`,backgroundColor:y[e]?`#FFF5F6`:`#F9FAFB`},type:`text`,inputMode:`numeric`,maxLength:1,value:y[e],onChange:t=>j(e,t.target.value)},e))}),(0,$.jsxs)(`div`,{className:`mt-4 flex items-center justify-between border-t border-gray-100 pt-4`,children:[(0,$.jsx)(a,{onClick:()=>{d(`choice`),b([``,``,``,``])},children:(0,$.jsx)(o,{weight:`medium`,className:`text-gray-500`,children:`Back`})}),(0,$.jsx)(a,{onClick:()=>C.mutate({mobile:f}),disabled:!m,children:(0,$.jsx)(o,{weight:`semibold`,className:m?`text-brand-600`:`text-gray-400`,children:m?`Resend OTP`:`Resend in ${g}s`})})]})]}),r===`password`&&(0,$.jsx)(re,{control:T,name:`password`,render:({field:{onChange:t,value:n}})=>(0,$.jsx)(e,{placeholder:`Enter your password`,value:n,onChange:e=>t(e.target.value),type:`password`,className:`bg-gray-50`})}),(0,$.jsx)(`div`,{className:`mt-6`,children:(0,$.jsx)(i,{type:`submit`,fullWidth:!0,className:`h-12 rounded-xl bg-brand-600 text-white shadow-lg`,disabled:C.isPending||w.isPending||S.isPending,textContent:r===`otp`?`Verify & Login`:r===`password`?`Login`:`Continue`})})]}),r===`otp`&&(0,$.jsx)(a,{onClick:()=>{d(`password`),b([``,``,``,``])},className:`mt-4 block text-center`,children:(0,$.jsx)(o,{weight:`semibold`,className:`text-brand-600`,children:`Or login with Password`})})]})]})})}export{ze as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/map-pin-DbTySZl1.js b/apps/web-ui/.output/public/assets/map-pin-DbTySZl1.js new file mode 100644 index 0000000..8f808aa --- /dev/null +++ b/apps/web-ui/.output/public/assets/map-pin-DbTySZl1.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`MapPin`,[[`path`,{d:`M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z`,key:`2oe9fu`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me-BCl-FNTs.js b/apps/web-ui/.output/public/assets/me-BCl-FNTs.js new file mode 100644 index 0000000..6562d05 --- /dev/null +++ b/apps/web-ui/.output/public/assets/me-BCl-FNTs.js @@ -0,0 +1 @@ +import{d as e,l as t,n,s as r,t as i,u as a}from"./src-C0xjWfnx.js";import{t as o}from"./useNavigate-VRicZWJI.js";import{t as s}from"./createLucideIcon-7nArgiy8.js";import{t as c}from"./map-pin-DbTySZl1.js";import{t as l}from"./message-square-BE-hnHXL.js";import{t as u}from"./package-CgMILU3n.js";import{t as d}from"./shopping-cart-BBNoSjWE.js";import{t as f}from"./ticket-DHIzx079.js";import{l as p}from"./index-BXnbw4dQ.js";var m=s(`FileText`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),h=s(`Info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),g=s(`User`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),_=e();function v(){let e=o(),{user:s,logout:v}=p();if(!s)return(0,_.jsx)(i,{children:(0,_.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,_.jsx)(a,{children:`Please sign in`}),(0,_.jsx)(t,{textContent:`Sign In`,onClick:()=>e({to:`/login`})})]})});let y=[{section:`Shopping & Activity`,items:[{icon:u,label:`My Orders`,to:`/me/orders`},{icon:d,label:`My Cart`,to:`/cart`},{icon:f,label:`Coupons`,to:`/me/coupons`}]},{section:`Saved Information`,items:[{icon:c,label:`Addresses`,to:`/me/addresses`},{icon:g,label:`Profile Settings`,to:`/me/edit-profile`}]},{section:`Support`,items:[{icon:l,label:`Help & Complaints`,to:`/me/complaints`},{icon:m,label:`Terms & Conditions`,to:`/me/terms`}]},{section:`About`,items:[{icon:h,label:`About Us`,to:`/me/about`}]}];return(0,_.jsxs)(i,{children:[(0,_.jsxs)(`div`,{className:`mb-6 flex items-center gap-4 rounded-xl bg-brand-50 p-4`,children:[(0,_.jsx)(n,{uri:s.profileImage,size:64}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(a,{weight:`bold`,className:`text-lg`,children:s.name||`User`}),(0,_.jsx)(a,{className:`text-sm text-gray-500`,children:s.mobile})]})]}),y.map(t=>(0,_.jsxs)(`div`,{className:`mb-6`,children:[(0,_.jsx)(a,{weight:`semibold`,className:`mb-2 text-sm text-gray-500 uppercase tracking-wide`,children:t.section}),(0,_.jsx)(`div`,{className:`rounded-xl border border-gray-100 bg-white shadow-sm`,children:t.items.map(t=>(0,_.jsxs)(r,{onClick:()=>e({to:t.to}),className:`flex w-full items-center gap-3 border-b border-gray-50 px-4 py-3.5 last:border-b-0`,children:[(0,_.jsx)(t.icon,{className:`h-5 w-5 text-gray-400`}),(0,_.jsx)(a,{className:`flex-1 text-left text-sm`,children:t.label})]},t.label))})]},t.section)),(0,_.jsx)(t,{fullWidth:!0,onClick:v,variant:`red`,className:`mb-8`,textContent:`Logout`}),(0,_.jsx)(a,{className:`mb-8 text-center text-xs text-gray-400`,children:`Version 1.0.0`})]})}export{v as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me.about-CQEAs02D.js b/apps/web-ui/.output/public/assets/me.about-CQEAs02D.js new file mode 100644 index 0000000..86f581c --- /dev/null +++ b/apps/web-ui/.output/public/assets/me.about-CQEAs02D.js @@ -0,0 +1 @@ +import{d as e,t,u as n}from"./src-C0xjWfnx.js";import{t as r}from"./createLucideIcon-7nArgiy8.js";import{t as i}from"./truck-DbJZ8T2i.js";var a=r(`Heart`,[[`path`,{d:`M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z`,key:`c3ymky`}]]),o=r(`Leaf`,[[`path`,{d:`M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z`,key:`nnexq3`}],[`path`,{d:`M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12`,key:`mt58a7`}]]),s=r(`Shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),c=e();function l(){return(0,c.jsxs)(t,{children:[(0,c.jsx)(n,{weight:`bold`,className:`mb-6 text-2xl`,children:`About Freshyo`}),(0,c.jsx)(`div`,{className:`grid grid-cols-2 gap-4`,children:[{icon:o,title:`Local Roots`,desc:`We source directly from local farmers to bring you the freshest meat.`},{icon:a,title:`Quality First`,desc:`Every cut is inspected for quality and freshness before delivery.`},{icon:i,title:`Fast Delivery`,desc:`Get your order delivered within 1 hour in select areas.`},{icon:s,title:`Farmers First`,desc:`We ensure fair prices and sustainable practices for our farmers.`}].map(e=>(0,c.jsxs)(`div`,{className:`rounded-xl border border-gray-100 bg-white p-4 shadow-sm`,children:[(0,c.jsx)(e.icon,{className:`mb-2 h-8 w-8 text-brand-500`}),(0,c.jsx)(n,{weight:`semibold`,className:`mb-1`,children:e.title}),(0,c.jsx)(n,{className:`text-sm text-gray-600`,children:e.desc})]},e.title))}),(0,c.jsxs)(`div`,{className:`mt-8`,children:[(0,c.jsx)(n,{weight:`bold`,className:`mb-3 text-lg`,children:`Sourcing & Quality`}),(0,c.jsx)(n,{className:`mb-6 text-sm leading-relaxed text-gray-600`,children:`We partner with trusted local farmers who follow ethical and sustainable farming practices. Every product undergoes rigorous quality checks to ensure you receive only the freshest meat.`})]})]})}export{l as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me.addresses-BJHDsZnx.js b/apps/web-ui/.output/public/assets/me.addresses-BJHDsZnx.js new file mode 100644 index 0000000..8fbdccc --- /dev/null +++ b/apps/web-ui/.output/public/assets/me.addresses-BJHDsZnx.js @@ -0,0 +1 @@ +import{d as e,f as t,t as n,u as r}from"./src-C0xjWfnx.js";import{n as i}from"./trpc-client-QrVjRqP1.js";import{t as a}from"./map-pin-DbTySZl1.js";t();var o=e();function s(){let e=i.useUtils(),{data:t}=i.user.address.getUserAddresses.useQuery(),s=i.user.address.deleteAddress.useMutation({onSuccess:()=>e.user.address.getUserAddresses.invalidate()}),c=t?.data||[];return(0,o.jsxs)(n,{children:[(0,o.jsx)(r,{weight:`bold`,className:`mb-4 text-xl`,children:`My Addresses`}),c.length===0?(0,o.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,o.jsx)(a,{className:`h-12 w-12 text-gray-300`}),(0,o.jsx)(r,{className:`text-gray-500`,children:`No addresses saved`})]}):(0,o.jsx)(`div`,{className:`flex flex-col gap-3`,children:c.map(e=>(0,o.jsx)(`div`,{className:`rounded-xl border border-gray-100 bg-white p-4 shadow-sm`,children:(0,o.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,o.jsxs)(`div`,{className:`flex-1`,children:[(0,o.jsx)(r,{weight:`semibold`,children:e.name}),(0,o.jsxs)(r,{className:`text-sm text-gray-600`,children:[e.addressLine1,e.addressLine2?`, ${e.addressLine2}`:``]}),(0,o.jsxs)(r,{className:`text-sm text-gray-600`,children:[e.city,`, `,e.state,` - `,e.pincode]}),(0,o.jsx)(r,{className:`text-sm text-gray-500`,children:e.phone}),e.isDefault&&(0,o.jsx)(`span`,{className:`mt-1 inline-block rounded-full bg-brand-100 px-2 py-0.5 text-xs text-brand-700`,children:`Default`})]}),(0,o.jsx)(`button`,{onClick:()=>s.mutate({id:e.id}),className:`text-sm text-red-500 hover:text-red-700`,children:`Delete`})]})},e.id))})]})}export{s as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me.complaints-Z0J1UdPZ.js b/apps/web-ui/.output/public/assets/me.complaints-Z0J1UdPZ.js new file mode 100644 index 0000000..6078bc5 --- /dev/null +++ b/apps/web-ui/.output/public/assets/me.complaints-Z0J1UdPZ.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,s as i,t as a,u as o}from"./src-C0xjWfnx.js";import{n as s}from"./trpc-client-QrVjRqP1.js";import{t as c}from"./createLucideIcon-7nArgiy8.js";import{t as l}from"./message-square-BE-hnHXL.js";var u=c(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),d=n(t()),f=e();function p(){let{data:e}=s.user.complaint.getAll.useQuery(),t=s.user.complaint.raise.useMutation(),n=s.useUtils(),[c,p]=(0,d.useState)(!1),[m,h]=(0,d.useState)(``),g=e?.data||[];return(0,f.jsxs)(a,{children:[(0,f.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,f.jsx)(o,{weight:`bold`,className:`text-xl`,children:`Help & Complaints`}),(0,f.jsxs)(i,{onClick:()=>p(!c),className:`flex items-center gap-1 text-brand-600`,children:[(0,f.jsx)(u,{className:`h-4 w-4`}),(0,f.jsx)(o,{className:`text-sm`,children:`New`})]})]}),c&&(0,f.jsxs)(`div`,{className:`mb-6 rounded-xl border border-gray-100 bg-white p-4 shadow-sm`,children:[(0,f.jsx)(o,{weight:`semibold`,className:`mb-3`,children:`Raise a Complaint`}),(0,f.jsx)(`textarea`,{className:`mb-3 min-h-24 w-full rounded-lg border border-gray-200 p-3 text-sm`,value:m,onChange:e=>h(e.target.value),placeholder:`Describe your issue...`,rows:4}),(0,f.jsx)(r,{onClick:()=>{m.trim()&&t.mutate({body:m.trim()},{onSuccess:()=>{h(``),p(!1),n.user.complaint.getAll.invalidate()}})},disabled:t.isPending||!m.trim(),textContent:t.isPending?`Submitting...`:`Submit`})]}),g.length===0?(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,f.jsx)(l,{className:`h-12 w-12 text-gray-300`}),(0,f.jsx)(o,{className:`text-gray-500`,children:`No complaints yet`})]}):(0,f.jsx)(`div`,{className:`flex flex-col gap-3`,children:g.map(e=>(0,f.jsxs)(`div`,{className:`rounded-xl border border-gray-100 bg-white p-4 shadow-sm`,children:[(0,f.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,f.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-xs font-medium ${e.status===`resolved`?`bg-green-100 text-green-700`:`bg-yellow-100 text-yellow-700`}`,children:e.status||`pending`}),(0,f.jsx)(o,{className:`text-xs text-gray-400`,children:e.createdAt?new Date(e.createdAt).toLocaleDateString():``})]}),(0,f.jsx)(o,{className:`text-sm text-gray-700`,children:e.body}),e.adminResponse&&(0,f.jsx)(`div`,{className:`mt-2 rounded-lg bg-blue-50 p-2`,children:(0,f.jsxs)(o,{className:`text-xs text-blue-600`,children:[`Response: `,e.adminResponse]})})]},e.id))})]})}export{p as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me.coupons-Cxfwr8iO.js b/apps/web-ui/.output/public/assets/me.coupons-Cxfwr8iO.js new file mode 100644 index 0000000..155be79 --- /dev/null +++ b/apps/web-ui/.output/public/assets/me.coupons-Cxfwr8iO.js @@ -0,0 +1 @@ +import{c as e,d as t,f as n,h as r,l as i,t as a,u as o}from"./src-C0xjWfnx.js";import{n as s}from"./trpc-client-QrVjRqP1.js";import{t as c}from"./ticket-DHIzx079.js";var l=r(n()),u=t();function d(){let[t,n]=(0,l.useState)(``),{data:r}=s.user.coupon.getMyCoupons.useQuery(),d=s.user.coupon.redeemReservedCoupon.useMutation(),f=s.useUtils(),p=r?.data||[];return(0,u.jsxs)(a,{children:[(0,u.jsx)(o,{weight:`bold`,className:`mb-4 text-xl`,children:`My Coupons`}),(0,u.jsxs)(`div`,{className:`mb-6 flex gap-2`,children:[(0,u.jsx)(e,{placeholder:`Enter coupon code`,value:t,onChange:e=>n(e.target.value),className:`flex-1`}),(0,u.jsx)(i,{onClick:()=>{t.trim()&&d.mutate({couponCode:t.trim()},{onSuccess:()=>{n(``),f.user.coupon.getMyCoupons.invalidate()}})},disabled:d.isPending||!t.trim(),textContent:d.isPending?`Redeeming...`:`Redeem`})]}),p.length===0?(0,u.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,u.jsx)(c,{className:`h-12 w-12 text-gray-300`}),(0,u.jsx)(o,{className:`text-gray-500`,children:`No coupons yet`})]}):(0,u.jsx)(`div`,{className:`flex flex-col gap-3`,children:p.map(e=>(0,u.jsxs)(`div`,{className:`rounded-xl border border-dashed border-brand-200 bg-brand-50 p-4`,children:[(0,u.jsx)(o,{weight:`bold`,className:`text-brand-700`,children:e.code}),(0,u.jsx)(o,{className:`text-sm text-gray-600`,children:e.description||`${e.discountPercent||0}% off`}),e.expiresAt&&(0,u.jsxs)(o,{className:`mt-1 text-xs text-gray-400`,children:[`Expires: `,new Date(e.expiresAt).toLocaleDateString()]})]},e.id))})]})}export{d as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me.edit-profile-Djrkm7XG.js b/apps/web-ui/.output/public/assets/me.edit-profile-Djrkm7XG.js new file mode 100644 index 0000000..f02aa09 --- /dev/null +++ b/apps/web-ui/.output/public/assets/me.edit-profile-Djrkm7XG.js @@ -0,0 +1 @@ +import{c as e,d as t,f as n,h as r,l as i,t as a,u as o}from"./src-C0xjWfnx.js";import{t as s}from"./useNavigate-VRicZWJI.js";import{n as c}from"./trpc-client-QrVjRqP1.js";import{l}from"./index-BXnbw4dQ.js";var u=r(n()),d=t();function f(){s();let{user:t,logout:n,loginWithToken:r}=l(),[f,p]=(0,u.useState)(t?.name||``),[m,h]=(0,u.useState)(t?.email||``),g=c.user.auth.updateProfile.useMutation({onSuccess:e=>{e.token&&e.user&&r(e.token,e.user)}}),_=c.user.auth.deleteAccount.useMutation({onSuccess:()=>n()});return(0,d.jsxs)(a,{children:[(0,d.jsx)(o,{weight:`bold`,className:`mb-4 text-xl`,children:`Edit Profile`}),(0,d.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),g.mutate({name:f,email:m})},className:`flex flex-col gap-4`,children:[(0,d.jsx)(e,{placeholder:`Name`,value:f,onChange:e=>p(e.target.value)}),(0,d.jsx)(e,{placeholder:`Email`,type:`email`,value:m,onChange:e=>h(e.target.value)}),(0,d.jsx)(e,{placeholder:`Mobile`,value:t?.mobile||``,disabled:!0,className:`bg-gray-50`}),(0,d.jsx)(i,{type:`submit`,fullWidth:!0,disabled:g.isPending,textContent:g.isPending?`Saving...`:`Save Changes`,className:`bg-brand-500 text-white`})]}),(0,d.jsxs)(`div`,{className:`mt-8 border-t border-gray-200 pt-8`,children:[(0,d.jsx)(i,{fullWidth:!0,variant:`red`,onClick:()=>n(),textContent:`Logout`}),(0,d.jsx)(i,{fullWidth:!0,variant:`red`,onClick:()=>{window.confirm(`Are you sure you want to delete your account?`)&&_.mutate({mobile:t?.mobile||``})},disabled:_.isPending,textContent:_.isPending?`Deleting...`:`Delete My Account`,className:`mt-3 bg-red-600 text-white`})]})]})}export{f as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me.orders-Dg14cvEl.js b/apps/web-ui/.output/public/assets/me.orders-Dg14cvEl.js new file mode 100644 index 0000000..b887a08 --- /dev/null +++ b/apps/web-ui/.output/public/assets/me.orders-Dg14cvEl.js @@ -0,0 +1 @@ +import{d as e,s as t,t as n,u as r}from"./src-C0xjWfnx.js";import{t as i}from"./useNavigate-VRicZWJI.js";import{n as a}from"./trpc-client-QrVjRqP1.js";import{t as o}from"./createLucideIcon-7nArgiy8.js";import{t as s}from"./package-CgMILU3n.js";var c=o(`ChevronRight`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),l=e();function u(){let e=i(),{data:o}=a.user.order.getOrders.useQuery({page:0,limit:20}),u=o?.data||[];return(0,l.jsxs)(n,{children:[(0,l.jsx)(r,{weight:`bold`,className:`mb-4 text-xl`,children:`My Orders`}),u.length===0?(0,l.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20`,children:[(0,l.jsx)(s,{className:`h-12 w-12 text-gray-300`}),(0,l.jsx)(r,{className:`text-gray-500`,children:`No orders yet`})]}):(0,l.jsx)(`div`,{className:`flex flex-col gap-3`,children:u.map(n=>(0,l.jsxs)(t,{onClick:()=>e({to:`/me/orders/$id`,params:{id:String(n.id)}}),className:`rounded-xl border border-gray-100 bg-white p-4 shadow-sm`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsxs)(r,{weight:`semibold`,className:`text-sm`,children:[`Order #`,n.id]}),(0,l.jsx)(r,{className:`text-xs text-gray-500`,children:n.createdAt?new Date(n.createdAt).toLocaleDateString():``})]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-xs font-medium ${n.status===`delivered`?`bg-green-100 text-green-700`:n.status===`cancelled`?`bg-red-100 text-red-700`:`bg-yellow-100 text-yellow-700`}`,children:n.status}),(0,l.jsx)(c,{className:`h-4 w-4 text-gray-400`})]})]}),(0,l.jsxs)(r,{className:`mt-1 text-xs text-gray-400`,children:[`Total: ₹`,n.totalAmount||0]})]},n.id))})]})}export{u as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me.orders._id-C7HAI1M3.js b/apps/web-ui/.output/public/assets/me.orders._id-C7HAI1M3.js new file mode 100644 index 0000000..3483857 --- /dev/null +++ b/apps/web-ui/.output/public/assets/me.orders._id-C7HAI1M3.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,o as i,s as a,t as o,u as s}from"./src-C0xjWfnx.js";import{t as c}from"./useNavigate-VRicZWJI.js";import{n as l}from"./trpc-client-QrVjRqP1.js";import{t as u}from"./arrow-left-9Wn53Zfu.js";import{i as d}from"./index-BXnbw4dQ.js";var f=n(t()),p=e();function m(){let{id:e}=d.useParams(),t=c(),n=Number(e),[m,h]=(0,f.useState)(!1),{data:g}=l.user.order.getOrderById.useQuery({orderId:n}),_=l.user.order.cancelOrder.useMutation(),v=g?.data;return v?(0,p.jsxs)(o,{children:[(0,p.jsxs)(a,{onClick:()=>t({to:`/me/orders`}),className:`mb-4 flex items-center gap-2`,children:[(0,p.jsx)(u,{className:`h-5 w-5`}),(0,p.jsx)(s,{children:`Back to Orders`})]}),(0,p.jsxs)(`div`,{className:`mb-4`,children:[(0,p.jsxs)(s,{weight:`bold`,className:`text-xl`,children:[`Order #`,v.id]}),(0,p.jsx)(`span`,{className:`mt-1 inline-block rounded-full px-3 py-1 text-xs font-medium ${v.status===`delivered`?`bg-green-100 text-green-700`:v.status===`cancelled`?`bg-red-100 text-red-700`:`bg-yellow-100 text-yellow-700`}`,children:v.status})]}),(0,p.jsxs)(`div`,{className:`mb-6`,children:[(0,p.jsx)(s,{weight:`semibold`,className:`mb-2`,children:`Items`}),(v.items||[]).map((e,t)=>(0,p.jsxs)(`div`,{className:`flex items-center justify-between border-b border-gray-100 py-2`,children:[(0,p.jsxs)(s,{className:`text-sm`,children:[e.product?.name||`Product #${e.productId}`,` x`,e.quantity]}),(0,p.jsxs)(s,{className:`text-sm font-bold`,children:[`₹`,e.price||0]})]},t)),(0,p.jsxs)(`div`,{className:`flex items-center justify-between pt-2`,children:[(0,p.jsx)(s,{weight:`bold`,children:`Total`}),(0,p.jsxs)(s,{weight:`bold`,className:`text-brand-600`,children:[`₹`,v.totalAmount||0]})]})]}),v.address&&(0,p.jsxs)(`div`,{className:`mb-6`,children:[(0,p.jsx)(s,{weight:`semibold`,className:`mb-2`,children:`Delivery Address`}),(0,p.jsxs)(`div`,{className:`rounded-xl border border-gray-100 bg-gray-50 p-3`,children:[(0,p.jsx)(s,{weight:`semibold`,children:v.address.name}),(0,p.jsxs)(s,{className:`text-sm text-gray-600`,children:[v.address.addressLine1,`, `,v.address.city]}),(0,p.jsx)(s,{className:`text-sm text-gray-500`,children:v.address.phone})]})]}),v.status!==`cancelled`&&v.status!==`delivered`&&(0,p.jsx)(r,{variant:`red`,fullWidth:!0,textContent:_.isPending?`Cancelling...`:`Cancel Order`,onClick:()=>h(!0),disabled:_.isPending}),m&&(0,p.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,children:(0,p.jsxs)(`div`,{className:`mx-4 w-full max-w-sm rounded-xl bg-white p-6`,children:[(0,p.jsx)(s,{weight:`bold`,className:`mb-2 text-lg`,children:`Cancel Order?`}),(0,p.jsx)(s,{className:`mb-6 text-sm text-gray-600`,children:`Are you sure you want to cancel this order?`}),(0,p.jsxs)(`div`,{className:`flex gap-3`,children:[(0,p.jsx)(r,{textContent:`No, Keep It`,onClick:()=>h(!1),className:`flex-1 bg-gray-100 text-gray-700`}),(0,p.jsx)(r,{variant:`red`,textContent:`Yes, Cancel`,onClick:()=>{_.mutate({orderId:n},{onSuccess:()=>h(!1)})},className:`flex-1`,disabled:_.isPending})]})]})}),(0,p.jsx)(i,{open:_.isPending,message:`Cancelling order...`})]}):(0,p.jsx)(o,{children:(0,p.jsx)(s,{children:`Loading...`})})}export{m as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/me.terms-D4lFagim.js b/apps/web-ui/.output/public/assets/me.terms-D4lFagim.js new file mode 100644 index 0000000..5250b48 --- /dev/null +++ b/apps/web-ui/.output/public/assets/me.terms-D4lFagim.js @@ -0,0 +1 @@ +import{d as e,t,u as n}from"./src-C0xjWfnx.js";var r=e();function i(){return(0,r.jsxs)(t,{children:[(0,r.jsx)(n,{weight:`bold`,className:`mb-6 text-2xl`,children:`Terms & Conditions`}),(0,r.jsxs)(`div`,{className:`prose prose-sm max-w-none text-gray-600`,children:[(0,r.jsx)(n,{weight:`semibold`,className:`mb-2 mt-4 text-gray-900`,children:`1. Acceptance of Terms`}),(0,r.jsx)(n,{className:`mb-4`,children:`By using Freshyo, you agree to these terms. If you do not agree, please do not use our service.`}),(0,r.jsx)(n,{weight:`semibold`,className:`mb-2 mt-4 text-gray-900`,children:`2. Orders and Payments`}),(0,r.jsx)(n,{className:`mb-4`,children:`All orders are subject to availability. We reserve the right to cancel any order. Payments are collected at the time of delivery (COD).`}),(0,r.jsx)(n,{weight:`semibold`,className:`mb-2 mt-4 text-gray-900`,children:`3. Delivery Policy`}),(0,r.jsx)(n,{className:`mb-4`,children:`Delivery times are estimates. We strive to deliver within the promised time window but delays may occur due to unforeseen circumstances.`}),(0,r.jsx)(n,{weight:`semibold`,className:`mb-2 mt-4 text-gray-900`,children:`4. Returns and Refunds`}),(0,r.jsx)(n,{className:`mb-4`,children:`If you are not satisfied with the quality of your order, please contact us within 24 hours of delivery. Refunds will be processed after quality assessment.`}),(0,r.jsx)(n,{weight:`semibold`,className:`mb-2 mt-4 text-gray-900`,children:`5. Privacy`}),(0,r.jsx)(n,{className:`mb-4`,children:`We respect your privacy. Your personal information is used only for order processing and delivery purposes.`})]})]})}export{i as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/message-square-BE-hnHXL.js b/apps/web-ui/.output/public/assets/message-square-BE-hnHXL.js new file mode 100644 index 0000000..3003dea --- /dev/null +++ b/apps/web-ui/.output/public/assets/message-square-BE-hnHXL.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`MessageSquare`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/package-CgMILU3n.js b/apps/web-ui/.output/public/assets/package-CgMILU3n.js new file mode 100644 index 0000000..444df89 --- /dev/null +++ b/apps/web-ui/.output/public/assets/package-CgMILU3n.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`Package`,[[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}],[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/preload-helper-mv2i1dUS.js b/apps/web-ui/.output/public/assets/preload-helper-mv2i1dUS.js new file mode 100644 index 0000000..53cc29b --- /dev/null +++ b/apps/web-ui/.output/public/assets/preload-helper-mv2i1dUS.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,p as r}from"./src-C0xjWfnx.js";import{a as i,i as a,n as o,o as s,t as c}from"./useNavigate-VRicZWJI.js";var l=r((e=>{var n=t();function r(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=l()}));function d(e){return e[e.length-1]}function f(e){return typeof e==`function`}function p(e,t){return f(e)?e(t):e}var m=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;function g(e){for(let t in e)if(m.call(e,t))return!0;return!1}var _=()=>Object.create(null),v=(e,t)=>y(e,t,_);function y(e,t,n=()=>({}),r=0){if(e===t)return e;if(r>500)return t;let i=t,a=C(e)&&C(i);if(!a&&!(x(e)&&x(i)))return i;let o=a?e:b(e);if(!o)return i;let s=a?i:b(i);if(!s)return i;let c=o.length,l=s.length,u=a?Array(l):n(),d=0;for(let t=0;ti||!w(e[o],t[o],n)))return!1;return i===a}return!1}function T(e){let t,n,r=new Promise((e,r)=>{t=e,n=r});return r.status=`pending`,r.resolve=n=>{r.status=`resolved`,r.value=n,t(n),e?.(n)},r.reject=e=>{r.status=`rejected`,n(e)},r}function ee(e){return typeof e?.message==`string`?e.message.startsWith(`Failed to fetch dynamically imported module`)||e.message.startsWith(`error loading dynamically imported module`)||e.message.startsWith(`Importing a module script failed`):!1}function te(e){return!!(e&&typeof e==`object`&&typeof e.then==`function`)}function ne(e){return e.replace(/[\x00-\x1f\x7f]/g,``)}function E(e){let t;try{t=decodeURI(e)}catch{t=e.replaceAll(/%[0-9A-F]{2}/gi,e=>{try{return decodeURI(e)}catch{return e}})}return ne(t)}var re=[`http:`,`https:`,`mailto:`,`tel:`];function ie(e,t){if(!e)return!1;try{let n=new URL(e);return!t.has(n.protocol)}catch{return!1}}var D={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},ae=/[&><\u2028\u2029]/g;function oe(e){return e.replace(ae,e=>D[e])}function se(e){if(!e||!/[%\\\x00-\x1f\x7f]/.test(e)&&!e.startsWith(`//`))return{path:e,handledProtocolRelativeURL:!1};let t=/%25|%5C/gi,n=0,r=``,i;for(;(i=t.exec(e))!==null;)r+=E(e.slice(n,i.index))+i[0],n=t.lastIndex;r+=E(n?e.slice(n):e);let a=!1;return r.startsWith(`//`)&&(a=!0,r=`/`+r.replace(/^\/+/,``)),{path:r,handledProtocolRelativeURL:a}}function ce(e){return/\s|[^\u0000-\u007F]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function le(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n{e.next&&(e.prev?(e.prev.next=e.next,e.next.prev=e.prev,e.next=void 0,r&&(r.next=e,e.prev=r)):(e.next.prev=void 0,n=e.next,e.next=void 0,r&&(e.prev=r,r.next=e)),r=e)};return{get(e){let n=t.get(e);if(n)return i(n),n.value},set(a,o){if(t.size>=e&&n){let e=n;t.delete(e.key),e.next&&(n=e.next,e.next.prev=void 0),e===r&&(r=void 0)}let s=t.get(a);if(s)s.value=o,i(s);else{let e={key:a,value:o,prev:r};r&&(r.next=e),r=e,n||=e,t.set(a,e)}},clear(){t.clear(),n=void 0,r=void 0}}}var k=4,de=5;function fe(e){let t=e.indexOf(`{`);if(t===-1)return null;let n=e.indexOf(`}`,t);return n===-1||t+1>=e.length?null:[t,n]}function pe(e,t,n=new Uint16Array(6)){let r=e.indexOf(`/`,t),i=r===-1?e.length:r,a=e.substring(t,i);if(!a||!a.includes(`$`))return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n;if(a===`$`){let r=e.length;return n[0]=2,n[1]=t,n[2]=t,n[3]=r,n[4]=r,n[5]=r,n}if(a.charCodeAt(0)===36)return n[0]=1,n[1]=t,n[2]=t+1,n[3]=i,n[4]=i,n[5]=i,n;let o=fe(a);if(o){let[r,s]=o,c=a.charCodeAt(r+1);if(c===45){if(r+2!e.parse&&e.caseSensitive===f&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=P(1,n.fullPath??n.from,f,p,m);o=e,e.depth=a,e.parent=i,i.dynamic??=[],i.dynamic.push(e)}break}case 3:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),f=c&&!!(t||s),p=t?f?t:t.toLowerCase():void 0,m=s?f?s:s.toLowerCase():void 0,h=!l&&i.optional?.find(e=>!e.parse&&e.caseSensitive===f&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=P(3,n.fullPath??n.from,f,p,m);o=e,e.parent=i,e.depth=a,i.optional??=[],i.optional.push(e)}break}case 2:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),l=c&&!!(t||s),f=t?l?t:t.toLowerCase():void 0,p=s?l?s:s.toLowerCase():void 0,m=P(2,n.fullPath??n.from,l,f,p);o=m,m.parent=i,m.depth=a,i.wildcard??=[],i.wildcard.push(m)}}i=o}if(l&&n.children&&!n.isRoot&&n.id&&n.id.charCodeAt(n.id.lastIndexOf(`/`)+1)===95){let e=N(n.fullPath??n.from);e.kind=de,e.parent=i,a++,e.depth=a,i.pathless??=[],i.pathless.push(e),i=e}let u=(n.path||!n.children)&&!n.isRoot;if(u&&r.endsWith(`/`)){let e=N(n.fullPath??n.from);e.kind=k,e.parent=i,a++,e.depth=a,i.index=e,i=e}i.parse=l??null,u&&!i.route&&(i.route=n,i.fullPath=n.fullPath??n.from)}if(n.children)for(let r of n.children)A(e,t,r,s,i,a,o)}function j(e,t){if(e.parse&&!t.parse)return-1;if(!e.parse&&t.parse)return 1;if(e.prefix&&t.prefix&&e.prefix!==t.prefix){if(e.prefix.startsWith(t.prefix))return-1;if(t.prefix.startsWith(e.prefix))return 1}if(e.suffix&&t.suffix&&e.suffix!==t.suffix){if(e.suffix.endsWith(t.suffix))return-1;if(t.suffix.endsWith(e.suffix))return 1}return e.prefix&&!t.prefix?-1:!e.prefix&&t.prefix?1:e.suffix&&!t.suffix?-1:!e.suffix&&t.suffix?1:e.caseSensitive&&!t.caseSensitive?-1:!e.caseSensitive&&t.caseSensitive?1:0}function M(e){if(e.pathless)for(let t of e.pathless)M(t);if(e.static)for(let t of e.static.values())M(t);if(e.staticInsensitive)for(let t of e.staticInsensitive.values())M(t);if(e.dynamic?.length){e.dynamic.sort(j);for(let t of e.dynamic)M(t)}if(e.optional?.length){e.optional.sort(j);for(let t of e.optional)M(t)}if(e.wildcard?.length){e.wildcard.sort(j);for(let t of e.wildcard)M(t)}}function N(e){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:e,parent:null,parse:null}}function P(e,t,n,r,i){return{kind:e,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:t,parent:null,parse:null,caseSensitive:n,prefix:r,suffix:i}}function me(e,t){let n=N(`/`),r=new Uint16Array(6);for(let t of e)A(!1,r,t,1,n,0);M(n),t.masksTree=n,t.flatCache=ue(1e3)}function F(e,t){e||=`/`;let n=t.flatCache.get(e);if(n)return n;let r=B(e,t.masksTree);return t.flatCache.set(e,r),r}function I(e,t,n,r,i){e||=`/`,r||=`/`;let a=t?`case\0${e}`:e,o=i.singleCache.get(a);return o||(o=N(`/`),A(t,new Uint16Array(6),{from:e},1,o,0),i.singleCache.set(a,o)),B(r,o,n)}function L(e,t,n=!1){let r=n?e:`nofuzz\0${e}`,i=t.matchCache.get(r);if(i!==void 0)return i;e||=`/`;let a;try{a=B(e,t.segmentTree,n)}catch(e){if(e instanceof URIError)a=null;else throw e}return a&&(a.branch=he(a.route)),t.matchCache.set(r,a),a}function R(e){return e===`/`?e:e.replace(/\/{1,}$/,``)}function z(e,t=!1,n){let r=N(e.fullPath),i=new Uint16Array(6),a={},o={},s=0;return A(t,i,e,1,r,0,e=>{if(n?.(e,s),e.id in a&&O(),a[e.id]=e,s!==0&&e.path){let t=R(e.fullPath);(!o[t]||e.fullPath.endsWith(`/`))&&(o[t]=e)}s++}),M(r),{processedTree:{segmentTree:r,singleCache:ue(1e3),matchCache:ue(1e3),flatCache:null,masksTree:null},routesById:a,routesByPath:o}}function B(e,t,n=!1){let r=e.split(`/`),i=_e(e,r,t,n);if(!i)return null;let[a]=V(e,r,i);return{route:i.node.route,rawParams:a}}function V(e,t,n){let r=ge(n.node),i=null,a=Object.create(null),o=n.extract?.part??0,s=n.extract?.node??0,c=n.extract?.path??0,l=n.extract?.segment??0;for(;s=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!(r&&(v||!(n.caseSensitive?y:b??=y.toLowerCase()).startsWith(r)))){if(a){if(v)continue;let e=t.slice(u).join(`/`).slice(-a.length);if((n.caseSensitive?e:e.toLowerCase())!==a)continue}s.push({node:n,index:o,skipped:d,depth:f+1,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}}if(i.optional){let e=d|1<=0;n--){let r=i.optional[n];s.push({node:r,index:u,skipped:e,depth:t,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}if(!v)for(let e=i.optional.length-1;e>=0;e--){let n=i.optional[e],{prefix:r,suffix:a}=n;if(r||a){let e=n.caseSensitive?y:b??=y.toLowerCase();if(r&&!e.startsWith(r)||a&&!e.endsWith(a))continue}s.push({node:n,index:u+1,skipped:d,depth:t,statics:p,dynamics:m,optionals:h+H(o,u),extract:g,rawParams:_})}}if(!v&&i.dynamic&&y)for(let e=i.dynamic.length-1;e>=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?y:b??=y.toLowerCase();if(n&&!e.startsWith(n)||r&&!e.endsWith(r))continue}s.push({node:t,index:u+1,skipped:d,depth:f+1,statics:p,dynamics:m+H(o,u),optionals:h,extract:g,rawParams:_})}if(!v&&i.staticInsensitive){let e=i.staticInsensitive.get(b??=y.toLowerCase());e&&s.push({node:e,index:u+1,skipped:d,depth:f+1,statics:p+H(o,u),dynamics:m,optionals:h,extract:g,rawParams:_})}if(!v&&i.static){let e=i.static.get(y);e&&s.push({node:e,index:u+1,skipped:d,depth:f+1,statics:p+H(o,u),dynamics:m,optionals:h,extract:g,rawParams:_})}if(i.pathless){let e=f+1;for(let t=i.pathless.length-1;t>=0;t--){let n=i.pathless[t];s.push({node:n,index:u,skipped:d,depth:e,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;ee.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===k)>(e.node.kind===k)||t.node.kind===k==(e.node.kind===k)&&t.depth>e.depth))):!0}function K(e){return q(e.filter(e=>e!==void 0).join(`/`))}function q(e){return e.replace(/\/{2,}/g,`/`)}function J(e){return e===`/`?e:e.replace(/^\/{1,}/,``)}function ve(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/{1,}$/,``):e}function ye(e){return ve(J(e))}function be(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function xe(e,t,n){return be(e,n)===be(t,n)}function Se({base:e,to:t,trailingSlash:n=`never`,cache:r}){let i=t.startsWith(`/`),a=!i&&t===`.`,o;if(r){o=i?t:a?e:e+`\0`+t;let n=r.get(o);if(n)return n}let s;if(a)s=e.split(`/`);else if(i)s=t.split(`/`);else{for(s=e.split(`/`);s.length>1&&d(s)===``;)s.pop();let n=t.split(`/`);for(let e=0,t=n.length;e1&&(d(s)===``?n===`never`&&s.pop():n===`always`&&s.push(``));let c=q(s.join(`/`))||`/`;return o&&r&&r.set(o,c),c}function Ce(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=Array.from(t.keys()).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`),r=new RegExp(n,`g`);return e=>e.replace(r,e=>t.get(e)??e)}function we(e,t,n){let r=t[e];return typeof r==`string`?e===`_splat`?/^[a-zA-Z0-9\-._~!/]*$/.test(r)?r:r.split(`/`).map(e=>Ee(e,n)).join(`/`):Ee(r,n):r}function Te({path:e,params:t,decoder:n,...r}){let i=!1,a=Object.create(null);if(!e||e===`/`)return{interpolatedPath:`/`,usedParams:a,isMissingParams:i};if(!e.includes(`$`))return{interpolatedPath:e,usedParams:a,isMissingParams:i};let o=e.length,s=0,c,l=``;for(;s{this.originalIndex=e.originalIndex;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=Y:this.parentRoute||O();let r=n?Y:t?.path;r&&r!==`/`&&(r=J(r));let i=t?.id||r,a=n?Y:K([this.parentRoute.id===`__root__`?``:this.parentRoute.id,i]);r===`__root__`&&(r=`/`),a!==`__root__`&&(a=K([`/`,a]));let o=a===`__root__`?`/`:K([this.parentRoute.fullPath,r]);this._path=r,this._id=a,this._fullPath=o,this._to=ve(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>Oe({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},Ne=class extends Me{constructor(e){super(e)}},X=n(t(),1),Pe=e();function Fe({children:e,fallback:t=null}){return Ie()?(0,Pe.jsx)(X.Fragment,{children:e}):(0,Pe.jsx)(X.Fragment,{children:t})}function Ie(){return X.useSyncExternalStore(Le,()=>!0,()=>!1)}function Le(){return()=>{}}var Re=X.createContext(void 0),ze=X.createContext(void 0),Be=r((e=>{var n=t();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useState,o=n.useEffect,s=n.useLayoutEffect,c=n.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=n.useSyncExternalStore===void 0?f:n.useSyncExternalStore})),Ve=r(((e,t)=>{t.exports=Be()})),He=r((e=>{var n=t(),r=Ve();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,o=r.useSyncExternalStore,s=n.useRef,c=n.useEffect,l=n.useMemo,u=n.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),Ue=r(((e,t)=>{t.exports=He()}))();function We(e,t){return e===t}function Ge(e,t,n=We){let r=(0,X.useCallback)(t=>{if(!e)return()=>{};let{unsubscribe:n}=e.subscribe(t);return n},[e]),i=(0,X.useCallback)(()=>e?.get(),[e]);return(0,Ue.useSyncExternalStoreWithSelector)(r,i,i,t,n)}var Ke={get:()=>void 0,subscribe:()=>({unsubscribe:()=>{}})};function Z(e){let t=o(),n=X.useContext(e.from?ze:Re),r=e.from??n,i=r?e.from?t.stores.getRouteMatchStore(r):t.stores.matchStores.get(r):void 0,a=X.useRef(void 0);return Ge(i??Ke,n=>{if((e.shouldThrow??!0)&&!n&&O(),n===void 0)return;let r=e.select?e.select(n):n;if(e.structuralSharing??t.options.defaultStructuralSharing){let e=y(a.current,r);return a.current=e,e}return r})}function qe(e){return Z({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Je(e){let{select:t,...n}=e;return Z({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function Ye(e){return Z({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Xe(e){return Z({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function Ze(e){return Z({...e,select:t=>e.select?e.select(t.context):t.context})}var Qe=u();function $e(e,t){let n=o(),r=i(t),{activeProps:a,inactiveProps:c,activeOptions:l,to:u,preload:d,preloadDelay:f,preloadIntentProximity:m,hashScrollIntoView:h,replace:g,startTransition:_,resetScroll:v,viewTransition:y,children:b,target:x,disabled:S,style:C,className:T,onClick:ee,onBlur:te,onFocus:ne,onMouseEnter:E,onMouseLeave:re,onTouchStart:D,ignoreBlocker:ae,params:oe,search:se,hash:ce,state:le,mask:O,reloadDocument:ue,unsafeRelative:k,from:de,_fromLocation:fe,...pe}=e,A=Ie(),j=X.useMemo(()=>e,[n,e.from,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),M=Ge(n.stores.location,e=>e,(e,t)=>e.href===t.href),N=X.useMemo(()=>{let e={_fromLocation:M,...j};return n.buildLocation(e)},[n,M,j]),P=N.maskedLocation?N.maskedLocation.publicHref:N.publicHref,me=N.maskedLocation?N.maskedLocation.external:N.external,F=X.useMemo(()=>ot(P,me,n.history,S),[S,me,P,n.history]),I=X.useMemo(()=>{if(F?.external)return ie(F.href,n.protocolAllowlist)?void 0:F.href;if(!st(u)&&!(typeof u!=`string`||u.indexOf(`:`)===-1))try{return new URL(u),ie(u,n.protocolAllowlist)?void 0:u}catch{}},[u,F,n.protocolAllowlist]),L=X.useMemo(()=>{if(I)return!1;if(l?.exact){if(!xe(M.pathname,N.pathname,n.basepath))return!1}else{let e=be(M.pathname,n.basepath),t=be(N.pathname,n.basepath);if(!(e.startsWith(t)&&(e.length===t.length||e[t.length]===`/`)))return!1}return(l?.includeSearch??!0)&&!w(M.search,N.search,{partial:!l?.exact,ignoreUndefined:!l?.explicitUndefined})?!1:l?.includeHash?A&&M.hash===N.hash:!0},[l?.exact,l?.explicitUndefined,l?.includeHash,l?.includeSearch,M,I,A,N.hash,N.pathname,N.search,n.basepath]),R=L?p(a,{})??tt:et,z=L?et:p(c,{})??et,B=[T,R.className,z.className].filter(Boolean).join(` `),V=(C||R.style||z.style)&&{...C,...R.style,...z.style},[he,ge]=X.useState(!1),_e=X.useRef(!1),H=e.reloadDocument||I?!1:d??n.options.defaultPreload,U=f??n.options.defaultPreloadDelay??0,W=X.useCallback(()=>{n.preloadRoute({...j,_builtLocation:N}).catch(e=>{console.warn(e),console.warn(je)})},[n,j,N]);s(r,X.useCallback(e=>{e?.isIntersecting&&W()},[W]),at,{disabled:!!S||H!==`viewport`}),X.useEffect(()=>{_e.current||!S&&H===`render`&&(W(),_e.current=!0)},[S,W,H]);let G=e=>{let t=e.currentTarget.getAttribute(`target`),r=x===void 0?t:x;if(!S&&!lt(e)&&!e.defaultPrevented&&(!r||r===`_self`)&&e.button===0){e.preventDefault(),(0,Qe.flushSync)(()=>{ge(!0)});let t=n.subscribe(`onResolved`,()=>{t(),ge(!1)});n.navigate({...j,replace:g,resetScroll:v,hashScrollIntoView:h,startTransition:_,viewTransition:y,ignoreBlocker:ae})}};if(I)return{...pe,ref:r,href:I,...b&&{children:b},...x&&{target:x},...S&&{disabled:S},...C&&{style:C},...T&&{className:T},...ee&&{onClick:ee},...te&&{onBlur:te},...ne&&{onFocus:ne},...E&&{onMouseEnter:E},...re&&{onMouseLeave:re},...D&&{onTouchStart:D}};let K=e=>{if(S||H!==`intent`)return;if(!U){W();return}let t=e.currentTarget;if(Q.has(t))return;let n=setTimeout(()=>{Q.delete(t),W()},U);Q.set(t,n)},q=e=>{S||H!==`intent`||W()},J=e=>{if(S||!H||!U)return;let t=e.currentTarget,n=Q.get(t);n&&(clearTimeout(n),Q.delete(t))};return{...pe,...R,...z,href:F?.href,ref:r,onClick:$([ee,G]),onBlur:$([te,J]),onFocus:$([ne,K]),onMouseEnter:$([E,K]),onMouseLeave:$([re,J]),onTouchStart:$([D,q]),disabled:!!S,target:x,...V&&{style:V},...B&&{className:B},...S&&nt,...L&&rt,...A&&he&&it}}var et={},tt={className:`active`},nt={role:`link`,"aria-disabled":!0},rt={"data-status":`active`,"aria-current":`page`},it={"data-transitioning":`transitioning`},Q=new WeakMap,at={rootMargin:`100px`},$=e=>t=>{for(let n of e)if(n){if(t.defaultPrevented)return;n(t)}};function ot(e,t,n,r){if(!r)return t?{href:e,external:!0}:{href:n.createHref(e)||`/`,external:!1}}function st(e){if(typeof e!=`string`)return!1;let t=e.charCodeAt(0);return t===47?e.charCodeAt(1)!==47:t===46}var ct=X.forwardRef((e,t)=>{let{_asChild:n,...r}=e,{type:i,...a}=$e(r,t),o=typeof r.children==`function`?r.children({isActive:a[`data-status`]===`active`}):r.children;if(!n){let{disabled:e,...t}=a;return X.createElement(`a`,t,o)}return X.createElement(n,a,o)});function lt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}var ut=class extends Me{constructor(e){super(e),this.useMatch=e=>Z({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Ze({...e,from:this.id}),this.useSearch=e=>Xe({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>Ye({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>Je({...e,from:this.id}),this.useLoaderData=e=>qe({...e,from:this.id}),this.useNavigate=()=>c({from:this.fullPath}),this.Link=X.forwardRef((e,t)=>(0,Pe.jsx)(ct,{ref:t,from:this.fullPath,...e}))}};function dt(e){return new ut(e)}var ft=class extends Ne{constructor(e){super(e),this.useMatch=e=>Z({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Ze({...e,from:this.id}),this.useSearch=e=>Xe({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>Ye({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>Je({...e,from:this.id}),this.useLoaderData=e=>qe({...e,from:this.id}),this.useNavigate=()=>c({from:this.fullPath}),this.Link=X.forwardRef((e,t)=>(0,Pe.jsx)(ct,{ref:t,from:this.fullPath,...e}))}};function pt(e){return new ft(e)}function mt(e){return new ht(e,{silent:!0}).createRoute}var ht=class{constructor(e,t){this.path=e,this.createRoute=e=>{let t=dt(e);return t.isRoot=!1,t},this.silent=t?.silent}};function gt(e,t){let n,r,i,o,s=()=>(n||=e().then(e=>{n=void 0,r=e[t??`default`]}).catch(e=>{if(i=e,ee(i)&&i instanceof Error&&typeof window<`u`&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;sessionStorage.getItem(e)||(sessionStorage.setItem(e,`1`),o=!0)}}),n),c=function(e){if(o)throw window.location.reload(),new Promise(()=>{});if(i)throw i;if(!r)if(a)a(s());else throw s();return X.createElement(r,e)};return c.preload=s,c}var _t=`modulepreload`,vt=function(e){return`/`+e},yt={},bt=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=vt(t,n),t in yt)return;yt[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:_t,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};export{le as A,te as B,L as C,ue as D,z as E,oe as F,v as H,p as I,g as L,se as M,w as N,O,ce as P,ie as R,F as S,me as T,y as U,d as V,u as W,K as _,Ge as a,ve as b,Ie as c,Oe as d,Y as f,Te as g,Ce as h,pt as i,T as j,re as k,ke as l,q as m,gt as n,Re as o,De as p,mt as r,Fe as s,bt as t,Ae as u,Se as v,I as w,he as x,ye as y,x as z}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/prominent-api-hooks-DipwWw0H.js b/apps/web-ui/.output/public/assets/prominent-api-hooks-DipwWw0H.js new file mode 100644 index 0000000..ffb1dd9 --- /dev/null +++ b/apps/web-ui/.output/public/assets/prominent-api-hooks-DipwWw0H.js @@ -0,0 +1,9 @@ +import{m as e}from"./src-C0xjWfnx.js";import{n as t}from"./useMutation-DvG2_Fq3.js";import{n}from"./trpc-client-QrVjRqP1.js";function r(e,t){return function(){return e.apply(t,arguments)}}var{toString:i}=Object.prototype,{getPrototypeOf:a}=Object,{iterator:o,toStringTag:s}=Symbol,c=(e=>t=>{let n=i.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),l=e=>(e=e.toLowerCase(),t=>c(t)===e),u=e=>t=>typeof t===e,{isArray:d}=Array,f=u(`undefined`);function p(e){return e!==null&&!f(e)&&e.constructor!==null&&!f(e.constructor)&&_(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var m=l(`ArrayBuffer`);function h(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&m(e.buffer),t}var g=u(`string`),_=u(`function`),v=u(`number`),y=e=>typeof e==`object`&&!!e,b=e=>e===!0||e===!1,x=e=>{if(c(e)!==`object`)return!1;let t=a(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(s in e)&&!(o in e)},S=e=>{if(!y(e)||p(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},C=l(`Date`),w=l(`File`),ee=e=>!!(e&&e.uri!==void 0),te=e=>e&&e.getParts!==void 0,T=l(`Blob`),E=l(`FileList`),D=e=>y(e)&&_(e.pipe);function O(){return typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}}var k=O(),ne=k.FormData===void 0?void 0:k.FormData,re=e=>{if(!e)return!1;if(ne&&e instanceof ne)return!0;let t=a(e);if(!t||t===Object.prototype||!_(e.append))return!1;let n=c(e);return n===`formdata`||n===`object`&&_(e.toString)&&e.toString()===`[object FormData]`},ie=l(`URLSearchParams`),[ae,oe,se,ce]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(l),le=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function A(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),d(e))for(r=0,i=e.length;r0;)if(i=n[r],t===i.toLowerCase())return i;return null}var j=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,de=e=>!f(e)&&e!==j;function fe(...e){let{caseless:t,skipUndefined:n}=de(this)&&this||{},r={},i=(e,i)=>{if(i===`__proto__`||i===`constructor`||i===`prototype`)return;let a=t&&ue(r,i)||i,o=M(r,a)?r[a]:void 0;x(o)&&x(e)?r[a]=fe(o,e):x(e)?r[a]=fe({},e):d(e)?r[a]=e.slice():(!n||!f(e))&&(r[a]=e)};for(let t=0,n=e.length;t(A(t,(t,i)=>{n&&_(t)?Object.defineProperty(e,i,{__proto__:null,value:r(t,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,i,{__proto__:null,value:t,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:i}),e),me=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),he=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,`constructor`,{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,`super`,{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},ge=(e,t,n,r)=>{let i,o,s,c={};if(t||={},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],(!r||r(s,e,t))&&!c[s]&&(t[s]=e[s],c[s]=!0);e=n!==!1&&a(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},_e=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},ve=e=>{if(!e)return null;if(d(e))return e;let t=e.length;if(!v(t))return null;let n=Array(t);for(;t-- >0;)n[t]=e[t];return n},ye=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&a(Uint8Array)),be=(e,t)=>{let n=(e&&e[o]).call(e),r;for(;(r=n.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},xe=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Se=l(`HTMLFormElement`),Ce=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),M=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),we=l(`RegExp`),Te=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};A(n,(n,i)=>{let a;(a=t(n,i,e))!==!1&&(r[i]=a||n)}),Object.defineProperties(e,r)},Ee=e=>{Te(e,(t,n)=>{if(_(e)&&[`arguments`,`caller`,`callee`].includes(n))return!1;let r=e[n];if(_(r)){if(t.enumerable=!1,`writable`in t){t.writable=!1;return}t.set||=()=>{throw Error(`Can not rewrite read-only method '`+n+`'`)}}})},De=(e,t)=>{let n={},r=e=>{e.forEach(e=>{n[e]=!0})};return d(e)?r(e):r(String(e).split(t)),n},Oe=()=>{},ke=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Ae(e){return!!(e&&_(e.append)&&e[s]===`FormData`&&e[o])}var je=e=>{let t=Array(10),n=(e,r)=>{if(y(e)){if(t.indexOf(e)>=0)return;if(p(e))return e;if(!(`toJSON`in e)){t[r]=e;let i=d(e)?[]:{};return A(e,(e,t)=>{let a=n(e,r+1);!f(a)&&(i[t]=a)}),t[r]=void 0,i}}return e};return n(e,0)},Me=l(`AsyncFunction`),Ne=e=>e&&(y(e)||_(e))&&_(e.then)&&_(e.catch),Pe=((e,t)=>e?setImmediate:t?((e,t)=>(j.addEventListener(`message`,({source:n,data:r})=>{n===j&&r===e&&t.length&&t.shift()()},!1),n=>{t.push(n),j.postMessage(e,`*`)}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate==`function`,_(j.postMessage)),N={isArray:d,isArrayBuffer:m,isBuffer:p,isFormData:re,isArrayBufferView:h,isString:g,isNumber:v,isBoolean:b,isObject:y,isPlainObject:x,isEmptyObject:S,isReadableStream:ae,isRequest:oe,isResponse:se,isHeaders:ce,isUndefined:f,isDate:C,isFile:w,isReactNativeBlob:ee,isReactNative:te,isBlob:T,isRegExp:we,isFunction:_,isStream:D,isURLSearchParams:ie,isTypedArray:ye,isFileList:E,forEach:A,merge:fe,extend:pe,trim:le,stripBOM:me,inherits:he,toFlatObject:ge,kindOf:c,kindOfTest:l,endsWith:_e,toArray:ve,forEachEntry:be,matchAll:xe,isHTMLForm:Se,hasOwnProperty:M,hasOwnProp:M,reduceDescriptors:Te,freezeMethods:Ee,toObjectSet:De,toCamelCase:Ce,noop:Oe,toFiniteNumber:ke,findKey:ue,global:j,isContextDefined:de,isSpecCompliantForm:Ae,toJSONObject:je,isAsyncFn:Me,isThenable:Ne,setImmediate:Pe,asap:typeof queueMicrotask<`u`?queueMicrotask.bind(j):typeof process<`u`&&process.nextTick||Pe,isIterable:e=>e!=null&&_(e[o])},Fe=N.toObjectSet([`age`,`authorization`,`content-length`,`content-type`,`etag`,`expires`,`from`,`host`,`if-modified-since`,`if-unmodified-since`,`last-modified`,`location`,`max-forwards`,`proxy-authorization`,`referer`,`retry-after`,`user-agent`]),Ie=e=>{let t={},n,r,i;return e&&e.split(` +`).forEach(function(e){i=e.indexOf(`:`),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!(!n||t[n]&&Fe[n])&&(n===`set-cookie`?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+`, `+r:r)}),t},Le=Symbol(`internals`),Re=/[^\x09\x20-\x7E\x80-\xFF]/g;function ze(e){let t=0,n=e.length;for(;tt;){let t=e.charCodeAt(n-1);if(t!==9&&t!==32)break;--n}return t===0&&n===e.length?e:e.slice(t,n)}function P(e){return e&&String(e).trim().toLowerCase()}function Be(e){return ze(e.replace(Re,``))}function F(e){return e===!1||e==null?e:N.isArray(e)?e.map(F):Be(String(e))}function Ve(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}var He=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ue(e,t,n,r,i){if(N.isFunction(r))return r.call(this,t,n);if(i&&(t=n),N.isString(t)){if(N.isString(r))return t.indexOf(r)!==-1;if(N.isRegExp(r))return r.test(t)}}function We(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function Ge(e,t){let n=N.toCamelCase(` `+t);[`get`,`set`,`has`].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}var I=class{constructor(e){e&&this.set(e)}set(e,t,n){let r=this;function i(e,t,n){let i=P(t);if(!i)throw Error(`header name must be a non-empty string`);let a=N.findKey(r,i);(!a||r[a]===void 0||n===!0||n===void 0&&r[a]!==!1)&&(r[a||t]=F(e))}let a=(e,t)=>N.forEach(e,(e,n)=>i(e,n,t));if(N.isPlainObject(e)||e instanceof this.constructor)a(e,t);else if(N.isString(e)&&(e=e.trim())&&!He(e))a(Ie(e),t);else if(N.isObject(e)&&N.isIterable(e)){let n={},r,i;for(let t of e){if(!N.isArray(t))throw TypeError(`Object iterator must return a key-value pair`);n[i=t[0]]=(r=n[i])?N.isArray(r)?[...r,t[1]]:[r,t[1]]:t[1]}a(n,t)}else e!=null&&i(t,e,n);return this}get(e,t){if(e=P(e),e){let n=N.findKey(this,e);if(n){let e=this[n];if(!t)return e;if(t===!0)return Ve(e);if(N.isFunction(t))return t.call(this,e,n);if(N.isRegExp(t))return t.exec(e);throw TypeError(`parser must be boolean|regexp|function`)}}}has(e,t){if(e=P(e),e){let n=N.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||Ue(this,this[n],n,t)))}return!1}delete(e,t){let n=this,r=!1;function i(e){if(e=P(e),e){let i=N.findKey(n,e);i&&(!t||Ue(n,n[i],i,t))&&(delete n[i],r=!0)}}return N.isArray(e)?e.forEach(i):i(e),r}clear(e){let t=Object.keys(this),n=t.length,r=!1;for(;n--;){let i=t[n];(!e||Ue(this,this[i],i,e,!0))&&(delete this[i],r=!0)}return r}normalize(e){let t=this,n={};return N.forEach(this,(r,i)=>{let a=N.findKey(n,i);if(a){t[a]=F(r),delete t[i];return}let o=e?We(i):String(i).trim();o!==i&&delete t[i],t[o]=F(r),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return N.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&N.isArray(n)?n.join(`, `):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+`: `+t).join(` +`)}getSetCookie(){return this.get(`set-cookie`)||[]}get[Symbol.toStringTag](){return`AxiosHeaders`}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){let t=(this[Le]=this[Le]={accessors:{}}).accessors,n=this.prototype;function r(e){let r=P(e);t[r]||(Ge(n,e),t[r]=!0)}return N.isArray(e)?e.forEach(r):r(e),this}};I.accessor([`Content-Type`,`Content-Length`,`Accept`,`Accept-Encoding`,`User-Agent`,`Authorization`]),N.reduceDescriptors(I.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),N.freezeMethods(I);var Ke=`[REDACTED ****]`;function qe(e){if(N.hasOwnProp(e,`toJSON`))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(N.hasOwnProp(t,`toJSON`))return!0;t=Object.getPrototypeOf(t)}return!1}function Je(e,t){let n=new Set(t.map(e=>String(e).toLowerCase())),r=[],i=e=>{if(typeof e!=`object`||!e||N.isBuffer(e))return e;if(r.indexOf(e)!==-1)return;e instanceof I&&(e=e.toJSON()),r.push(e);let t;if(N.isArray(e))t=[],e.forEach((e,n)=>{let r=i(e);N.isUndefined(r)||(t[n]=r)});else{if(!N.isPlainObject(e)&&qe(e))return r.pop(),e;t=Object.create(null);for(let[r,a]of Object.entries(e)){let e=n.has(r.toLowerCase())?Ke:i(a);N.isUndefined(e)||(t[r]=e)}}return r.pop(),t};return i(e)}var L=class e extends Error{static from(t,n,r,i,a,o){let s=new e(t.message,n||t.code,r,i,a);return s.cause=t,s.name=t.name,t.status!=null&&s.status==null&&(s.status=t.status),o&&Object.assign(s,o),s}constructor(e,t,n,r,i){super(e),Object.defineProperty(this,`message`,{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name=`AxiosError`,this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status)}toJSON(){let e=this.config,t=e&&N.hasOwnProp(e,`redact`)?e.redact:void 0,n=N.isArray(t)&&t.length>0?Je(e,t):N.toJSONObject(e);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:n,code:this.code,status:this.status}}};L.ERR_BAD_OPTION_VALUE=`ERR_BAD_OPTION_VALUE`,L.ERR_BAD_OPTION=`ERR_BAD_OPTION`,L.ECONNABORTED=`ECONNABORTED`,L.ETIMEDOUT=`ETIMEDOUT`,L.ECONNREFUSED=`ECONNREFUSED`,L.ERR_NETWORK=`ERR_NETWORK`,L.ERR_FR_TOO_MANY_REDIRECTS=`ERR_FR_TOO_MANY_REDIRECTS`,L.ERR_DEPRECATED=`ERR_DEPRECATED`,L.ERR_BAD_RESPONSE=`ERR_BAD_RESPONSE`,L.ERR_BAD_REQUEST=`ERR_BAD_REQUEST`,L.ERR_CANCELED=`ERR_CANCELED`,L.ERR_NOT_SUPPORT=`ERR_NOT_SUPPORT`,L.ERR_INVALID_URL=`ERR_INVALID_URL`,L.ERR_FORM_DATA_DEPTH_EXCEEDED=`ERR_FORM_DATA_DEPTH_EXCEEDED`;function Ye(e){return N.isPlainObject(e)||N.isArray(e)}function Xe(e){return N.endsWith(e,`[]`)?e.slice(0,-2):e}function Ze(e,t,n){return e?e.concat(t).map(function(e,t){return e=Xe(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function Qe(e){return N.isArray(e)&&!e.some(Ye)}var $e=N.toFlatObject(N,{},null,function(e){return/^is[A-Z]/.test(e)});function R(e,t,n){if(!N.isObject(e))throw TypeError(`target must be an object`);t||=new FormData,n=N.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!N.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||d,a=n.dots,o=n.indexes,s=n.Blob||typeof Blob<`u`&&Blob,c=n.maxDepth===void 0?100:n.maxDepth,l=s&&N.isSpecCompliantForm(t);if(!N.isFunction(i))throw TypeError(`visitor must be a function`);function u(e){if(e===null)return``;if(N.isDate(e))return e.toISOString();if(N.isBoolean(e))return e.toString();if(!l&&N.isBlob(e))throw new L(`Blob is not supported. Use a Buffer instead.`);return N.isArrayBuffer(e)||N.isTypedArray(e)?l&&typeof Blob==`function`?new Blob([e]):Buffer.from(e):e}function d(e,n,i){let s=e;if(N.isReactNative(t)&&N.isReactNativeBlob(e))return t.append(Ze(i,n,a),u(e)),!1;if(e&&!i&&typeof e==`object`){if(N.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(N.isArray(e)&&Qe(e)||(N.isFileList(e)||N.endsWith(n,`[]`))&&(s=N.toArray(e)))return n=Xe(n),s.forEach(function(e,r){!(N.isUndefined(e)||e===null)&&t.append(o===!0?Ze([n],r,a):o===null?n:n+`[]`,u(e))}),!1}return Ye(e)?!0:(t.append(Ze(i,n,a),u(e)),!1)}let f=[],p=Object.assign($e,{defaultVisitor:d,convertValue:u,isVisitable:Ye});function m(e,n,r=0){if(!N.isUndefined(e)){if(r>c)throw new L(`Object is too deeply nested (`+r+` levels). Max depth: `+c,L.ERR_FORM_DATA_DEPTH_EXCEEDED);if(f.indexOf(e)!==-1)throw Error(`Circular reference detected in `+n.join(`.`));f.push(e),N.forEach(e,function(e,a){(!(N.isUndefined(e)||e===null)&&i.call(t,e,N.isString(a)?a.trim():a,n,p))===!0&&m(e,n?n.concat(a):[a],r+1)}),f.pop()}}if(!N.isObject(e))throw TypeError(`data must be an object`);return m(e),t}function et(e){let t={"!":`%21`,"'":`%27`,"(":`%28`,")":`%29`,"~":`%7E`,"%20":`+`};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(e){return t[e]})}function tt(e,t){this._pairs=[],e&&R(e,this,t)}var nt=tt.prototype;nt.append=function(e,t){this._pairs.push([e,t])},nt.toString=function(e){let t=e?function(t){return e.call(this,t,et)}:et;return this._pairs.map(function(e){return t(e[0])+`=`+t(e[1])},``).join(`&`)};function rt(e){return encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%24/g,`$`).replace(/%2C/gi,`,`).replace(/%20/g,`+`)}function it(e,t,n){if(!t)return e;let r=n&&n.encode||rt,i=N.isFunction(n)?{serialize:n}:n,a=i&&i.serialize,o;if(o=a?a(t,i):N.isURLSearchParams(t)?t.toString():new tt(t,i).toString(r),o){let t=e.indexOf(`#`);t!==-1&&(e=e.slice(0,t)),e+=(e.indexOf(`?`)===-1?`?`:`&`)+o}return e}var at=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&=[]}forEach(e){N.forEach(this.handlers,function(t){t!==null&&e(t)})}},ot={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},st={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<`u`?URLSearchParams:tt,FormData:typeof FormData<`u`?FormData:null,Blob:typeof Blob<`u`?Blob:null},protocols:[`http`,`https`,`file`,`blob`,`url`,`data`]},ct=e({hasBrowserEnv:()=>lt,hasStandardBrowserEnv:()=>ut,hasStandardBrowserWebWorkerEnv:()=>dt,navigator:()=>z,origin:()=>ft}),lt=typeof window<`u`&&typeof document<`u`,z=typeof navigator==`object`&&navigator||void 0,ut=lt&&(!z||[`ReactNative`,`NativeScript`,`NS`].indexOf(z.product)<0),dt=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope&&typeof self.importScripts==`function`,ft=lt&&window.location.href||`http://localhost`,B={...ct,...st};function pt(e,t){return R(e,new B.classes.URLSearchParams,{visitor:function(e,t,n,r){return B.isNode&&N.isBuffer(e)?(this.append(t,e.toString(`base64`)),!1):r.defaultVisitor.apply(this,arguments)},...t})}function mt(e){return N.matchAll(/\w+|\[(\w*)]/g,e).map(e=>e[0]===`[]`?``:e[1]||e[0])}function ht(e){let t={},n=Object.keys(e),r,i=n.length,a;for(r=0;r=e.length;return a=!a&&N.isArray(r)?r.length:a,s?(N.hasOwnProp(r,a)?r[a]=N.isArray(r[a])?r[a].concat(n):[r[a],n]:r[a]=n,!o):((!r[a]||!N.isObject(r[a]))&&(r[a]=[]),t(e,n,r[a],i)&&N.isArray(r[a])&&(r[a]=ht(r[a])),!o)}if(N.isFormData(e)&&N.isFunction(e.entries)){let n={};return N.forEachEntry(e,(e,r)=>{t(mt(e),r,n,0)}),n}return null}var V=(e,t)=>e!=null&&N.hasOwnProp(e,t)?e[t]:void 0;function _t(e,t,n){if(N.isString(e))try{return(t||JSON.parse)(e),N.trim(e)}catch(e){if(e.name!==`SyntaxError`)throw e}return(n||JSON.stringify)(e)}var H={transitional:ot,adapter:[`xhr`,`http`,`fetch`],transformRequest:[function(e,t){let n=t.getContentType()||``,r=n.indexOf(`application/json`)>-1,i=N.isObject(e);if(i&&N.isHTMLForm(e)&&(e=new FormData(e)),N.isFormData(e))return r?JSON.stringify(gt(e)):e;if(N.isArrayBuffer(e)||N.isBuffer(e)||N.isStream(e)||N.isFile(e)||N.isBlob(e)||N.isReadableStream(e))return e;if(N.isArrayBufferView(e))return e.buffer;if(N.isURLSearchParams(e))return t.setContentType(`application/x-www-form-urlencoded;charset=utf-8`,!1),e.toString();let a;if(i){let t=V(this,`formSerializer`);if(n.indexOf(`application/x-www-form-urlencoded`)>-1)return pt(e,t).toString();if((a=N.isFileList(e))||n.indexOf(`multipart/form-data`)>-1){let n=V(this,`env`),r=n&&n.FormData;return R(a?{"files[]":e}:e,r&&new r,t)}}return i||r?(t.setContentType(`application/json`,!1),_t(e)):e}],transformResponse:[function(e){let t=V(this,`transitional`)||H.transitional,n=t&&t.forcedJSONParsing,r=V(this,`responseType`),i=r===`json`;if(N.isResponse(e)||N.isReadableStream(e))return e;if(e&&N.isString(e)&&(n&&!r||i)){let n=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(e,V(this,`parseReviver`))}catch(e){if(n)throw e.name===`SyntaxError`?L.from(e,L.ERR_BAD_RESPONSE,this,null,V(this,`response`)):e}}return e}],timeout:0,xsrfCookieName:`XSRF-TOKEN`,xsrfHeaderName:`X-XSRF-TOKEN`,maxContentLength:-1,maxBodyLength:-1,env:{FormData:B.classes.FormData,Blob:B.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:`application/json, text/plain, */*`,"Content-Type":void 0}}};N.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`query`],e=>{H.headers[e]={}});function vt(e,t){let n=this||H,r=t||n,i=I.from(r.headers),a=r.data;return N.forEach(e,function(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function yt(e){return!!(e&&e.__CANCEL__)}var U=class extends L{constructor(e,t,n){super(e??`canceled`,L.ERR_CANCELED,t,n),this.name=`CanceledError`,this.__CANCEL__=!0}};function bt(e,t,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new L(`Request failed with status code `+n.status,n.status>=400&&n.status<500?L.ERR_BAD_REQUEST:L.ERR_BAD_RESPONSE,n.config,n.request,n))}function xt(e){let t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||``}function St(e,t){e||=10;let n=Array(e),r=Array(e),i=0,a=0,o;return t=t===void 0?1e3:t,function(s){let c=Date.now(),l=r[a];o||=c,n[i]=s,r[i]=c;let u=a,d=0;for(;u!==i;)d+=n[u++],u%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o{n=r,i=null,a&&=(clearTimeout(a),null),e(...t)};return[(...e)=>{let t=Date.now(),s=t-n;s>=r?o(e,t):(i=e,a||=setTimeout(()=>{a=null,o(i)},r-s))},()=>i&&o(i)]}var W=(e,t,n=3)=>{let r=0,i=St(50,250);return Ct(n=>{let a=n.loaded,o=n.lengthComputable?n.total:void 0,s=o==null?a:Math.min(a,o),c=Math.max(0,s-r),l=i(c);r=Math.max(r,s),e({loaded:s,total:o,progress:o?s/o:void 0,bytes:c,rate:l||void 0,estimated:l&&o?(o-s)/l:void 0,event:n,lengthComputable:o!=null,[t?`download`:`upload`]:!0})},n)},wt=(e,t)=>{let n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Tt=e=>(...t)=>N.asap(()=>e(...t)),Et=B.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,B.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(B.origin),B.navigator&&/(msie|trident)/i.test(B.navigator.userAgent)):()=>!0,Dt=B.hasStandardBrowserEnv?{write(e,t,n,r,i,a,o){if(typeof document>`u`)return;let s=[`${e}=${encodeURIComponent(t)}`];N.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),N.isString(r)&&s.push(`path=${r}`),N.isString(i)&&s.push(`domain=${i}`),a===!0&&s.push(`secure`),N.isString(o)&&s.push(`SameSite=${o}`),document.cookie=s.join(`; `)},read(e){if(typeof document>`u`)return null;let t=document.cookie.split(`;`);for(let n=0;ne instanceof I?{...e}:e;function G(e,t){t||={};let n=Object.create(null);Object.defineProperty(n,`hasOwnProperty`,{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(e,t,n,r){return N.isPlainObject(e)&&N.isPlainObject(t)?N.merge.call({caseless:r},e,t):N.isPlainObject(t)?N.merge({},t):N.isArray(t)?t.slice():t}function i(e,t,n,i){if(!N.isUndefined(t))return r(e,t,n,i);if(!N.isUndefined(e))return r(void 0,e,n,i)}function a(e,t){if(!N.isUndefined(t))return r(void 0,t)}function o(e,t){if(!N.isUndefined(t))return r(void 0,t);if(!N.isUndefined(e))return r(void 0,e)}function s(n,i,a){if(N.hasOwnProp(t,a))return r(n,i);if(N.hasOwnProp(e,a))return r(void 0,n)}let c={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,allowedSocketPaths:o,responseEncoding:o,validateStatus:s,headers:(e,t,n)=>i(jt(e),jt(t),n,!0)};return N.forEach(Object.keys({...e,...t}),function(r){if(r===`__proto__`||r===`constructor`||r===`prototype`)return;let a=N.hasOwnProp(c,r)?c[r]:i,o=a(N.hasOwnProp(e,r)?e[r]:void 0,N.hasOwnProp(t,r)?t[r]:void 0,r);N.isUndefined(o)&&a!==s||(n[r]=o)}),n}var Mt=[`content-type`,`content-length`];function Nt(e,t,n){if(n!==`content-only`){e.set(t);return}Object.entries(t).forEach(([t,n])=>{Mt.includes(t.toLowerCase())&&e.set(t,n)})}var Pt=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(e,t)=>String.fromCharCode(parseInt(t,16))),Ft=e=>{let t=G({},e),n=e=>N.hasOwnProp(t,e)?t[e]:void 0,r=n(`data`),i=n(`withXSRFToken`),a=n(`xsrfHeaderName`),o=n(`xsrfCookieName`),s=n(`headers`),c=n(`auth`),l=n(`baseURL`),u=n(`allowAbsoluteUrls`),d=n(`url`);if(t.headers=s=I.from(s),t.url=it(At(l,d,u),e.params,e.paramsSerializer),c&&s.set(`Authorization`,`Basic `+btoa((c.username||``)+`:`+(c.password?Pt(c.password):``))),N.isFormData(r)&&(B.hasStandardBrowserEnv||B.hasStandardBrowserWebWorkerEnv?s.setContentType(void 0):N.isFunction(r.getHeaders)&&Nt(s,r.getHeaders(),n(`formDataHeaderPolicy`))),B.hasStandardBrowserEnv&&(N.isFunction(i)&&(i=i(t)),i===!0||i==null&&Et(t.url))){let e=a&&o&&Dt.read(o);e&&s.set(a,e)}return t},It=typeof XMLHttpRequest<`u`&&function(e){return new Promise(function(t,n){let r=Ft(e),i=r.data,a=I.from(r.headers).normalize(),{responseType:o,onUploadProgress:s,onDownloadProgress:c}=r,l,u,d,f,p;function m(){f&&f(),p&&p(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener(`abort`,l)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function g(){if(!h)return;let r=I.from(`getAllResponseHeaders`in h&&h.getAllResponseHeaders());bt(function(e){t(e),m()},function(e){n(e),m()},{data:!o||o===`text`||o===`json`?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:r,config:e,request:h}),h=null}`onloadend`in h?h.onloadend=g:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.startsWith(`file:`))||setTimeout(g)},h.onabort=function(){h&&=(n(new L(`Request aborted`,L.ECONNABORTED,e,h)),m(),null)},h.onerror=function(t){let r=new L(t&&t.message?t.message:`Network Error`,L.ERR_NETWORK,e,h);r.event=t||null,n(r),m(),h=null},h.ontimeout=function(){let t=r.timeout?`timeout of `+r.timeout+`ms exceeded`:`timeout exceeded`,i=r.transitional||ot;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new L(t,i.clarifyTimeoutError?L.ETIMEDOUT:L.ECONNABORTED,e,h)),m(),h=null},i===void 0&&a.setContentType(null),`setRequestHeader`in h&&N.forEach(a.toJSON(),function(e,t){h.setRequestHeader(t,e)}),N.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),o&&o!==`json`&&(h.responseType=r.responseType),c&&([d,p]=W(c,!0),h.addEventListener(`progress`,d)),s&&h.upload&&([u,f]=W(s),h.upload.addEventListener(`progress`,u),h.upload.addEventListener(`loadend`,f)),(r.cancelToken||r.signal)&&(l=t=>{h&&=(n(!t||t.type?new U(null,e,h):t),h.abort(),m(),null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener(`abort`,l)));let _=xt(r.url);if(_&&!B.protocols.includes(_)){n(new L(`Unsupported protocol `+_+`:`,L.ERR_BAD_REQUEST,e));return}h.send(i||null)})},Lt=(e,t)=>{let{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n=new AbortController,r,i=function(e){if(!r){r=!0,o();let t=e instanceof Error?e:this.reason;n.abort(t instanceof L?t:new U(t instanceof Error?t.message:t))}},a=t&&setTimeout(()=>{a=null,i(new L(`timeout of ${t}ms exceeded`,L.ETIMEDOUT))},t),o=()=>{e&&=(a&&clearTimeout(a),a=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(i):e.removeEventListener(`abort`,i)}),null)};e.forEach(e=>e.addEventListener(`abort`,i));let{signal:s}=n;return s.unsubscribe=()=>N.asap(o),s}},Rt=function*(e,t){let n=e.byteLength;if(!t||n{let i=zt(e,t),a=0,o,s=e=>{o||(o=!0,r&&r(e))};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await i.next();if(t){s(),e.close();return}let o=r.byteLength;n&&n(a+=o),e.enqueue(new Uint8Array(r))}catch(e){throw s(e),e}},cancel(e){return s(e),i.return()}},{highWaterMark:2})};function Ht(e){if(!e||typeof e!=`string`||!e.startsWith(`data:`))return 0;let t=e.indexOf(`,`);if(t<0)return 0;let n=e.slice(5,t),r=e.slice(t+1);if(/;base64/i.test(n)){let e=r.length,t=r.length;for(let n=0;n=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102)&&(i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102)&&(e-=2,n+=2)}let n=0,i=t-1,a=e=>e>=2&&r.charCodeAt(e-2)===37&&r.charCodeAt(e-1)===51&&(r.charCodeAt(e)===68||r.charCodeAt(e)===100);i>=0&&(r.charCodeAt(i)===61?(n++,i--):a(i)&&(n++,i-=3)),n===1&&i>=0&&(r.charCodeAt(i)===61||a(i))&&n++;let o=Math.floor(e/4)*3-(n||0);return o>0?o:0}if(typeof Buffer<`u`&&typeof Buffer.byteLength==`function`)return Buffer.byteLength(r,`utf8`);let i=0;for(let e=0,t=r.length;e=55296&&n<=56319&&e+1=56320&&t<=57343?(i+=4,e++):i+=3}else i+=3}return i}var Ut=`1.16.0`,Wt=64*1024,{isFunction:K}=N,Gt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Kt=e=>{let t=N.global??globalThis,{ReadableStream:n,TextEncoder:r}=t;e=N.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);let{fetch:i,Request:a,Response:o}=e,s=i?K(i):typeof fetch==`function`,c=K(a),l=K(o);if(!s)return!1;let u=s&&K(n),d=s&&(typeof r==`function`?(e=>t=>e.encode(t))(new r):async e=>new Uint8Array(await new a(e).arrayBuffer())),f=c&&u&&Gt(()=>{let e=!1,t=new a(B.origin,{body:new n,method:`POST`,get duplex(){return e=!0,`half`}}),r=t.headers.has(`Content-Type`);return t.body!=null&&t.body.cancel(),e&&!r}),p=l&&u&&Gt(()=>N.isReadableStream(new o(``).body)),m={stream:p&&(e=>e.body)};s&&[`text`,`arrayBuffer`,`blob`,`formData`,`stream`].forEach(e=>{!m[e]&&(m[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new L(`Response type '${e}' is not supported`,L.ERR_NOT_SUPPORT,n)})});let h=async e=>{if(e==null)return 0;if(N.isBlob(e))return e.size;if(N.isSpecCompliantForm(e))return(await new a(B.origin,{method:`POST`,body:e}).arrayBuffer()).byteLength;if(N.isArrayBufferView(e)||N.isArrayBuffer(e))return e.byteLength;if(N.isURLSearchParams(e)&&(e+=``),N.isString(e))return(await d(e)).byteLength},g=async(e,t)=>N.toFiniteNumber(e.getContentLength())??h(t);return async e=>{let{url:t,method:n,data:s,signal:l,cancelToken:u,timeout:d,onDownloadProgress:h,onUploadProgress:_,responseType:v,headers:y,withCredentials:b=`same-origin`,fetchOptions:x,maxContentLength:S,maxBodyLength:C}=Ft(e),w=N.isNumber(S)&&S>-1,ee=N.isNumber(C)&&C>-1,te=i||fetch;v=v?(v+``).toLowerCase():`text`;let T=Lt([l,u&&u.toAbortSignal()],d),E=null,D=T&&T.unsubscribe&&(()=>{T.unsubscribe()}),O;try{if(w&&typeof t==`string`&&t.startsWith(`data:`)&&Ht(t)>S)throw new L(`maxContentLength size of `+S+` exceeded`,L.ERR_BAD_RESPONSE,e,E);if(ee&&n!==`get`&&n!==`head`){let t=await g(y,s);if(typeof t==`number`&&isFinite(t)&&t>C)throw new L(`Request body larger than maxBodyLength limit`,L.ERR_BAD_REQUEST,e,E)}if(_&&f&&n!==`get`&&n!==`head`&&(O=await g(y,s))!==0){let e=new a(t,{method:`POST`,body:s,duplex:`half`}),n;if(N.isFormData(s)&&(n=e.headers.get(`content-type`))&&y.setContentType(n),e.body){let[t,n]=wt(O,W(Tt(_)));s=Vt(e.body,Wt,t,n)}}N.isString(b)||(b=b?`include`:`omit`);let i=c&&`credentials`in a.prototype;if(N.isFormData(s)){let e=y.getContentType();e&&/^multipart\/form-data/i.test(e)&&!/boundary=/i.test(e)&&y.delete(`content-type`)}y.set(`User-Agent`,`axios/`+Ut,!1);let l={...x,signal:T,method:n.toUpperCase(),headers:y.normalize().toJSON(),body:s,duplex:`half`,credentials:i?b:void 0};E=c&&new a(t,l);let u=await(c?te(E,x):te(t,l));if(w){let t=N.toFiniteNumber(u.headers.get(`content-length`));if(t!=null&&t>S)throw new L(`maxContentLength size of `+S+` exceeded`,L.ERR_BAD_RESPONSE,e,E)}let d=p&&(v===`stream`||v===`response`);if(p&&u.body&&(h||w||d&&D)){let t={};[`status`,`statusText`,`headers`].forEach(e=>{t[e]=u[e]});let n=N.toFiniteNumber(u.headers.get(`content-length`)),[r,i]=h&&wt(n,W(Tt(h),!0))||[],a=0;u=new o(Vt(u.body,Wt,t=>{if(w&&(a=t,a>S))throw new L(`maxContentLength size of `+S+` exceeded`,L.ERR_BAD_RESPONSE,e,E);r&&r(t)},()=>{i&&i(),D&&D()}),t)}v||=`text`;let k=await m[N.findKey(m,v)||`text`](u,e);if(w&&!p&&!d){let t;if(k!=null&&(typeof k.byteLength==`number`?t=k.byteLength:typeof k.size==`number`?t=k.size:typeof k==`string`&&(t=typeof r==`function`?new r().encode(k).byteLength:k.length)),typeof t==`number`&&t>S)throw new L(`maxContentLength size of `+S+` exceeded`,L.ERR_BAD_RESPONSE,e,E)}return!d&&D&&D(),await new Promise((t,n)=>{bt(t,n,{data:k,headers:I.from(u.headers),status:u.status,statusText:u.statusText,config:e,request:E})})}catch(t){if(D&&D(),T&&T.aborted&&T.reason instanceof L){let n=T.reason;throw n.config=e,E&&(n.request=E),t!==n&&(n.cause=t),n}throw t&&t.name===`TypeError`&&/Load failed|fetch/i.test(t.message)?Object.assign(new L(`Network Error`,L.ERR_NETWORK,e,E,t&&t.response),{cause:t.cause||t}):L.from(t,t&&t.code,e,E,t&&t.response)}}},qt=new Map,Jt=e=>{let t=e&&e.env||{},{fetch:n,Request:r,Response:i}=t,a=[r,i,n],o=a.length,s,c,l=qt;for(;o--;)s=a[o],c=l.get(s),c===void 0&&l.set(s,c=o?new Map:Kt(t)),l=c;return c};Jt();var Yt={http:null,xhr:It,fetch:{get:Jt}};N.forEach(Yt,(e,t)=>{if(e){try{Object.defineProperty(e,`name`,{__proto__:null,value:t})}catch{}Object.defineProperty(e,`adapterName`,{__proto__:null,value:t})}});var Xt=e=>`- ${e}`,Zt=e=>N.isFunction(e)||e===null||e===!1;function Qt(e,t){e=N.isArray(e)?e:[e];let{length:n}=e,r,i,a={};for(let o=0;o`adapter ${e} `+(t===!1?`is not supported by the environment`:`is not available in the build`));throw new L(`There is no suitable adapter to dispatch the request `+(n?e.length>1?`since : +`+e.map(Xt).join(` +`):` `+Xt(e[0]):`as no adapter specified`),`ERR_NOT_SUPPORT`)}return i}var $t={getAdapter:Qt,adapters:Yt};function en(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new U(null,e)}function tn(e){return en(e),e.headers=I.from(e.headers),e.data=vt.call(e,e.transformRequest),[`post`,`put`,`patch`].indexOf(e.method)!==-1&&e.headers.setContentType(`application/x-www-form-urlencoded`,!1),$t.getAdapter(e.adapter||H.adapter,e)(e).then(function(t){en(e),e.response=t;try{t.data=vt.call(e,e.transformResponse,t)}finally{delete e.response}return t.headers=I.from(t.headers),t},function(t){if(!yt(t)&&(en(e),t&&t.response)){e.response=t.response;try{t.response.data=vt.call(e,e.transformResponse,t.response)}finally{delete e.response}t.response.headers=I.from(t.response.headers)}return Promise.reject(t)})}var q={};[`object`,`boolean`,`number`,`function`,`string`,`symbol`].forEach((e,t)=>{q[e]=function(n){return typeof n===e||`a`+(t<1?`n `:` `)+e}});var nn={};q.transitional=function(e,t,n){function r(e,t){return`[Axios v`+Ut+`] Transitional option '`+e+`'`+t+(n?`. `+n:``)}return(n,i,a)=>{if(e===!1)throw new L(r(i,` has been removed`+(t?` in `+t:``)),L.ERR_DEPRECATED);return t&&!nn[i]&&(nn[i]=!0,console.warn(r(i,` has been deprecated since v`+t+` and will be removed in the near future`))),e?e(n,i,a):!0}},q.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function rn(e,t,n){if(typeof e!=`object`)throw new L(`options must be an object`,L.ERR_BAD_OPTION_VALUE);let r=Object.keys(e),i=r.length;for(;i-- >0;){let a=r[i],o=Object.prototype.hasOwnProperty.call(t,a)?t[a]:void 0;if(o){let t=e[a],n=t===void 0||o(t,a,e);if(n!==!0)throw new L(`option `+a+` must be `+n,L.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new L(`Unknown option `+a,L.ERR_BAD_OPTION)}}var J={assertOptions:rn,validators:q},Y=J.validators,X=class{constructor(e){this.defaults=e||{},this.interceptors={request:new at,response:new at}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=Error();let n=(()=>{if(!t.stack)return``;let e=t.stack.indexOf(` +`);return e===-1?``:t.stack.slice(e+1)})();try{if(!e.stack)e.stack=n;else if(n){let t=n.indexOf(` +`),r=t===-1?-1:n.indexOf(` +`,t+1),i=r===-1?``:n.slice(r+1);String(e.stack).endsWith(i)||(e.stack+=` +`+n)}}catch{}}throw e}}_request(e,t){typeof e==`string`?(t||={},t.url=e):t=e||{},t=G(this.defaults,t);let{transitional:n,paramsSerializer:r,headers:i}=t;n!==void 0&&J.assertOptions(n,{silentJSONParsing:Y.transitional(Y.boolean),forcedJSONParsing:Y.transitional(Y.boolean),clarifyTimeoutError:Y.transitional(Y.boolean),legacyInterceptorReqResOrdering:Y.transitional(Y.boolean)},!1),r!=null&&(N.isFunction(r)?t.paramsSerializer={serialize:r}:J.assertOptions(r,{encode:Y.function,serialize:Y.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls===void 0?t.allowAbsoluteUrls=!0:t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls),J.assertOptions(t,{baseUrl:Y.spelling(`baseURL`),withXsrfToken:Y.spelling(`withXSRFToken`)},!0),t.method=(t.method||this.defaults.method||`get`).toLowerCase();let a=i&&N.merge(i.common,i[t.method]);i&&N.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`query`,`common`],e=>{delete i[e]}),t.headers=I.concat(a,i);let o=[],s=!0;this.interceptors.request.forEach(function(e){if(typeof e.runWhen==`function`&&e.runWhen(t)===!1)return;s&&=e.synchronous;let n=t.transitional||ot;n&&n.legacyInterceptorReqResOrdering?o.unshift(e.fulfilled,e.rejected):o.push(e.fulfilled,e.rejected)});let c=[];this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let l,u=0,d;if(!s){let e=[tn.bind(this),void 0];for(e.unshift(...o),e.push(...c),d=e.length,l=Promise.resolve(t);u{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t,r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,i){n.reason||(n.reason=new U(e,r,i),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}};function on(e){return function(t){return e.apply(null,t)}}function sn(e){return N.isObject(e)&&e.isAxiosError===!0}var cn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(cn).forEach(([e,t])=>{cn[t]=e});function ln(e){let t=new X(e),n=r(X.prototype.request,t);return N.extend(n,X.prototype,t,{allOwnKeys:!0}),N.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return ln(G(e,t))},n}var Z=ln(H);Z.Axios=X,Z.CanceledError=U,Z.CancelToken=an,Z.isCancel=yt,Z.VERSION=Ut,Z.toFormData=R,Z.AxiosError=L,Z.Cancel=Z.CanceledError,Z.all=function(e){return Promise.all(e)},Z.spread=on,Z.isAxiosError=sn,Z.mergeConfig=G,Z.AxiosHeaders=I,Z.formToJSON=e=>gt(N.isHTMLForm(e)?new FormData(e):e),Z.getAdapter=$t.getAdapter,Z.HttpStatusCode=cn,Z.default=Z;var Q={products:`products.json`,stores:`stores.json`,slots:`slots.json`,essentialConsts:`essential-consts.json`,banners:`banners.json`},un=()=>{let e=n.common.essentialConsts.useQuery(void 0,{refetchInterval:6e4});return{...e,refetch:e.refetch}};function $(e){let{data:t}=un(),n=t?.assetsDomain,r=t?.apiCacheKey,i=t?.cacheVersion;return!n||!r||i==null?null:`${n}${r}/v-${i}/${e}`}function dn(){let e=$(Q.products);return t({queryKey:[`all-products`,e],queryFn:async()=>{if(!e)throw Error(`Cache URL not available`);return(await Z.get(e)).data},staleTime:6e4,enabled:!!e})}function fn(){let e=$(Q.stores);return t({queryKey:[`stores`,e],queryFn:async()=>{if(!e)throw Error(`Cache URL not available`);return(await Z.get(e)).data},staleTime:6e4,enabled:!!e})}function pn(){let e=$(Q.slots);return t({queryKey:[`slots`,e],queryFn:async()=>{if(!e)throw Error(`Cache URL not available`);return(await Z.get(e+`?v=123`)).data},staleTime:6e4,enabled:!!e})}function mn(){let e=$(Q.banners);return t({queryKey:[`banners`,e],queryFn:async()=>{if(!e)throw Error(`Cache URL not available`);return(await Z.get(e)).data},staleTime:6e4,enabled:!!e})}function hn(e){let{data:n}=un(),r=n?.assetsDomain,i=n?.apiCacheKey,a=n?.cacheVersion,o=r&&i?`${r}${i}/v-${a}/stores/${e}.json`:null;return t({queryKey:[`store-with-products`,e,o],queryFn:async()=>{if(!o)throw Error(`Cache URL not available`);return(await Z.get(o)).data},staleTime:6e4,enabled:!!o})}export{fn as a,hn as i,mn as n,pn as r,dn as t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/react-BnURElzN.js b/apps/web-ui/.output/public/assets/react-BnURElzN.js new file mode 100644 index 0000000..550859e --- /dev/null +++ b/apps/web-ui/.output/public/assets/react-BnURElzN.js @@ -0,0 +1 @@ +import{f as e,h as t}from"./src-C0xjWfnx.js";var n=t(e(),1),r=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},i=(e=>e?r(e):r),a=e=>e;function o(e,t=a){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r}var s=e=>{let t=i(e),n=e=>o(t,e);return Object.assign(n,t),n},c=(e=>e?s(e):s);export{c as t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/register-D51Ue4qE.js b/apps/web-ui/.output/public/assets/register-D51Ue4qE.js new file mode 100644 index 0000000..544d0d2 --- /dev/null +++ b/apps/web-ui/.output/public/assets/register-D51Ue4qE.js @@ -0,0 +1 @@ +import{c as e,d as t,f as n,h as r,l as i,u as a}from"./src-C0xjWfnx.js";import{t as o}from"./useNavigate-VRicZWJI.js";import{n as s}from"./trpc-client-QrVjRqP1.js";import{l as c}from"./index-BXnbw4dQ.js";var l=r(n()),u=t();function d(){let{register:t}=c(),n=o(),[r,d]=(0,l.useState)(``),[f,p]=(0,l.useState)(``),[m,h]=(0,l.useState)(``),[g,_]=(0,l.useState)(``),v=s.user.auth.register.useMutation({onSuccess:e=>{e.token&&e.user&&(t(e.token,e.user),n({to:`/home`}))}});return(0,u.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-gradient-to-b from-brand-400 to-brand-700 p-4`,children:(0,u.jsxs)(`div`,{className:`w-full max-w-md`,children:[(0,u.jsx)(a,{weight:`bold`,className:`mb-2 text-center text-4xl text-white`,children:`Create Account`}),(0,u.jsx)(a,{className:`mb-8 text-center text-lg text-blue-100`,children:`Join Freshyo today`}),(0,u.jsx)(`div`,{className:`rounded-2xl bg-white p-8 shadow-xl`,children:(0,u.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),v.mutate({name:r,email:f,mobile:m,password:g})},className:`flex flex-col gap-4`,children:[(0,u.jsx)(e,{placeholder:`Full Name`,value:r,onChange:e=>d(e.target.value),required:!0}),(0,u.jsx)(e,{placeholder:`Email`,type:`email`,value:f,onChange:e=>p(e.target.value)}),(0,u.jsx)(e,{placeholder:`Mobile Number`,value:m,onChange:e=>{let t=e.target.value.replace(/\D/g,``);t.length<=10&&h(t)},required:!0}),(0,u.jsx)(e,{placeholder:`Password`,type:`password`,value:g,onChange:e=>_(e.target.value),required:!0}),(0,u.jsx)(i,{type:`submit`,fullWidth:!0,className:`mt-2 h-12 rounded-xl bg-brand-600 text-white shadow-lg`,disabled:v.isPending,textContent:v.isPending?`Creating...`:`Register`})]})})]})})}export{d as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/shopping-cart-BBNoSjWE.js b/apps/web-ui/.output/public/assets/shopping-cart-BBNoSjWE.js new file mode 100644 index 0000000..0517d5b --- /dev/null +++ b/apps/web-ui/.output/public/assets/shopping-cart-BBNoSjWE.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`ShoppingCart`,[[`circle`,{cx:`8`,cy:`21`,r:`1`,key:`jimo8o`}],[`circle`,{cx:`19`,cy:`21`,r:`1`,key:`13723u`}],[`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`,key:`9zh506`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/src-C0xjWfnx.js b/apps/web-ui/.output/public/assets/src-C0xjWfnx.js new file mode 100644 index 0000000..4826531 --- /dev/null +++ b/apps/web-ui/.output/public/assets/src-C0xjWfnx.js @@ -0,0 +1 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),u=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u{t.exports=u()})),f=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),p=o(((e,t)=>{t.exports=f()})),m=l(d());function h(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t{let t=S(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{let n=e.split(_);return n[0]===``&&n.length!==1&&n.shift(),y(n,t)||x(e)},getConflictingClassGroupIds:(e,t)=>{let i=n[e]||[];return t&&r[e]?[...i,...r[e]]:i}}},y=(e,t)=>{if(e.length===0)return t.classGroupId;let n=e[0],r=t.nextPart.get(n),i=r?y(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;let a=e.join(_);return t.validators.find(({validator:e})=>e(a))?.classGroupId},b=/^\[(.+)\]$/,x=e=>{if(b.test(e)){let t=b.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},S=e=>{let{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return E(Object.entries(e.classGroups),n).forEach(([e,n])=>{C(n,r,e,t)}),r},C=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:w(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(T(e)){C(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{C(i,w(t,e),n,r)})})},w=(e,t)=>{let n=e;return t.split(_).forEach(e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n},T=e=>e.isThemeGetter,E=(e,t)=>t?e.map(([e,n])=>[e,n.map(e=>typeof e==`string`?t+e:typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[t+e,n])):e)]):e,D=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},O=`!`,k=e=>{let{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],a=t.length,o=e=>{let n=[],o=0,s=0,c;for(let l=0;ls?c-s:void 0}};return n?e=>n({className:e,parseClassName:o}):o},A=e=>{if(e.length<=1)return e;let t=[],n=[];return e.forEach(e=>{e[0]===`[`?(t.push(...n.sort(),e),n=[]):n.push(e)}),t.push(...n.sort()),t},j=e=>({cache:D(e.cacheSize),parseClassName:k(e),...v(e)}),M=/\s+/,N=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(M),s=``;for(let e=o.length-1;e>=0;--e){let t=o[e],{modifiers:c,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(t),f=!!d,p=r(f?u.substring(0,d):u);if(!p){if(!f){s=t+(s.length>0?` `+s:s);continue}if(p=r(u),!p){s=t+(s.length>0?` `+s:s);continue}f=!1}let m=A(c).join(`:`),h=l?m+O:m,g=h+p;if(a.includes(g))continue;a.push(g);let _=i(p,f);for(let e=0;e<_.length;++e){let t=_[e];a.push(h+t)}s=t+(s.length>0?` `+s:s)}return s};function P(){let e=0,t,n,r=``;for(;e{if(typeof e==`string`)return e;let t,n=``;for(let r=0;rt(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=N(e,n);return i(e,a),a}return function(){return a(P.apply(null,arguments))}}var L=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},R=/^\[(?:([a-z-]+):)?(.+)\]$/i,ee=/^\d+\/\d+$/,te=new Set([`px`,`full`,`screen`]),ne=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,re=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ie=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ae=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,oe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,z=e=>V(e)||te.has(e)||ee.test(e),B=e=>q(e,`length`,me),V=e=>!!e&&!Number.isNaN(Number(e)),H=e=>q(e,`number`,V),U=e=>!!e&&Number.isInteger(Number(e)),se=e=>e.endsWith(`%`)&&V(e.slice(0,-1)),W=e=>R.test(e),G=e=>ne.test(e),ce=new Set([`length`,`size`,`percentage`]),le=e=>q(e,ce,J),ue=e=>q(e,`position`,J),de=new Set([`image`,`url`]),fe=e=>q(e,de,ge),pe=e=>q(e,``,he),K=()=>!0,q=(e,t,n)=>{let r=R.exec(e);return r?r[1]?typeof t==`string`?r[1]===t:t.has(r[1]):n(r[2]):!1},me=e=>re.test(e)&&!ie.test(e),J=()=>!1,he=e=>ae.test(e),ge=e=>oe.test(e),_e=I(()=>{let e=L(`colors`),t=L(`spacing`),n=L(`blur`),r=L(`brightness`),i=L(`borderColor`),a=L(`borderRadius`),o=L(`borderSpacing`),s=L(`borderWidth`),c=L(`contrast`),l=L(`grayscale`),u=L(`hueRotate`),d=L(`invert`),f=L(`gap`),p=L(`gradientColorStops`),m=L(`gradientColorStopPositions`),h=L(`inset`),g=L(`margin`),_=L(`opacity`),v=L(`padding`),y=L(`saturate`),b=L(`scale`),x=L(`sepia`),S=L(`skew`),C=L(`space`),w=L(`translate`),T=()=>[`auto`,`contain`,`none`],E=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],D=()=>[`auto`,W,t],O=()=>[W,t],k=()=>[``,z,B],A=()=>[`auto`,V,W],j=()=>[`bottom`,`center`,`left`,`left-bottom`,`left-top`,`right`,`right-bottom`,`right-top`,`top`],M=()=>[`solid`,`dashed`,`dotted`,`double`,`none`],N=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],P=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`],F=()=>[``,`0`,W],I=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],R=()=>[V,W];return{cacheSize:500,separator:`:`,theme:{colors:[K],spacing:[z,B],blur:[`none`,``,G,W],brightness:R(),borderColor:[e],borderRadius:[`none`,``,`full`,G,W],borderSpacing:O(),borderWidth:k(),contrast:R(),grayscale:F(),hueRotate:R(),invert:F(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[se,B],inset:D(),margin:D(),opacity:R(),padding:O(),saturate:R(),scale:R(),sepia:F(),skew:R(),space:O(),translate:O()},classGroups:{aspect:[{aspect:[`auto`,`square`,`video`,W]}],container:[`container`],columns:[{columns:[G]}],"break-after":[{"break-after":I()}],"break-before":[{"break-before":I()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:[...j(),W]}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[`auto`,U,W]}],basis:[{basis:D()}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`wrap`,`wrap-reverse`,`nowrap`]}],flex:[{flex:[`1`,`auto`,`initial`,`none`,W]}],grow:[{grow:F()}],shrink:[{shrink:F()}],order:[{order:[`first`,`last`,`none`,U,W]}],"grid-cols":[{"grid-cols":[K]}],"col-start-end":[{col:[`auto`,{span:[`full`,U,W]},W]}],"col-start":[{"col-start":A()}],"col-end":[{"col-end":A()}],"grid-rows":[{"grid-rows":[K]}],"row-start-end":[{row:[`auto`,{span:[U,W]},W]}],"row-start":[{"row-start":A()}],"row-end":[{"row-end":A()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":[`auto`,`min`,`max`,`fr`,W]}],"auto-rows":[{"auto-rows":[`auto`,`min`,`max`,`fr`,W]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:[`normal`,...P()]}],"justify-items":[{"justify-items":[`start`,`end`,`center`,`stretch`]}],"justify-self":[{"justify-self":[`auto`,`start`,`end`,`center`,`stretch`]}],"align-content":[{content:[`normal`,...P(),`baseline`]}],"align-items":[{items:[`start`,`end`,`center`,`baseline`,`stretch`]}],"align-self":[{self:[`auto`,`start`,`end`,`center`,`stretch`,`baseline`]}],"place-content":[{"place-content":[...P(),`baseline`]}],"place-items":[{"place-items":[`start`,`end`,`center`,`baseline`,`stretch`]}],"place-self":[{"place-self":[`auto`,`start`,`end`,`center`,`stretch`]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[C]}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":[C]}],"space-y-reverse":[`space-y-reverse`],w:[{w:[`auto`,`min`,`max`,`fit`,`svw`,`lvw`,`dvw`,W,t]}],"min-w":[{"min-w":[W,t,`min`,`max`,`fit`]}],"max-w":[{"max-w":[W,t,`none`,`full`,`min`,`max`,`fit`,`prose`,{screen:[G]},G]}],h:[{h:[W,t,`auto`,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"min-h":[{"min-h":[W,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"max-h":[{"max-h":[W,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],size:[{size:[W,t,`auto`,`min`,`max`,`fit`]}],"font-size":[{text:[`base`,G,B]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`,H]}],"font-family":[{font:[K]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`,W]}],"line-clamp":[{"line-clamp":[`none`,V,H]}],leading:[{leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`,z,W]}],"list-image":[{"list-image":[`none`,W]}],"list-style-type":[{list:[`none`,`disc`,`decimal`,W]}],"list-style-position":[{list:[`inside`,`outside`]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...M(),`wavy`]}],"text-decoration-thickness":[{decoration:[`auto`,`from-font`,z,B]}],"underline-offset":[{"underline-offset":[`auto`,z,W]}],"text-decoration-color":[{decoration:[e]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:O()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,W]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,W]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:[...j(),ue]}],"bg-repeat":[{bg:[`no-repeat`,{repeat:[``,`x`,`y`,`round`,`space`]}]}],"bg-size":[{bg:[`auto`,`cover`,`contain`,le]}],"bg-image":[{bg:[`none`,{"gradient-to":[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},fe]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...M(),`hidden`]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":[`divide-y-reverse`],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:M()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:[``,...M()]}],"outline-offset":[{"outline-offset":[z,W]}],"outline-w":[{outline:[z,B]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:k()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[z,B]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:[``,`inner`,`none`,G,pe]}],"shadow-color":[{shadow:[K]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...N(),`plus-lighter`,`plus-darker`]}],"bg-blend":[{"bg-blend":N()}],filter:[{filter:[``,`none`]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":[``,`none`,G,W]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":[``,`none`]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[`none`,`all`,``,`colors`,`opacity`,`shadow`,`transform`,W]}],duration:[{duration:R()}],ease:[{ease:[`linear`,`in`,`out`,`in-out`,W]}],delay:[{delay:R()}],animate:[{animate:[`none`,`spin`,`ping`,`pulse`,`bounce`,W]}],transform:[{transform:[``,`gpu`,`none`]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[U,W]}],"translate-x":[{"translate-x":[w]}],"translate-y":[{"translate-y":[w]}],"skew-x":[{"skew-x":[S]}],"skew-y":[{"skew-y":[S]}],"transform-origin":[{origin:[`center`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`,`top-left`,W]}],accent:[{accent:[`auto`,e]}],appearance:[{appearance:[`none`,`auto`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,W]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":[`none`,`auto`]}],resize:[{resize:[`none`,`y`,`x`,``]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,W]}],fill:[{fill:[e,`none`]}],"stroke-w":[{stroke:[z,B,H]}],stroke:[{stroke:[e,`none`]}],sr:[`sr-only`,`not-sr-only`],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]}}});function Y(...e){return _e(g(e))}var X=p(),ve={normal:`font-normal`,medium:`font-medium`,semibold:`font-semibold`,bold:`font-bold`};function Z({children:e,weight:t=`normal`,numberOfLines:n,className:r,style:i,...a}){return(0,X.jsx)(`span`,{className:Y(ve[t],r),style:{...n?{display:`-webkit-box`,WebkitLineClamp:n,WebkitBoxOrient:`vertical`,overflow:`hidden`}:{},...i},...a,children:e})}var Q={blue:`bg-brand-500 text-white hover:bg-brand-600`,red:`bg-red-500 text-white hover:bg-red-600`,green:`bg-green-500 text-white hover:bg-green-600`};function ye({variant:e=`blue`,fullWidth:t,textContent:n,children:r,className:i,disabled:a,style:o,...s}){return(0,X.jsx)(`button`,{className:Y(`inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,Q[e]||Q.blue,t&&`w-full`,i),disabled:a,style:o,...s,children:n||r})}function be({topLabel:e,fullWidth:t=!0,shrunkPadding:n=!1,error:r,multiline:i,className:a,style:o,...s}){let c=Y(`flex w-full rounded-md border border-input bg-background px-3 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,n?`py-1.5`:`py-2`,r&&`border-destructive`,a);return multilime,(0,X.jsxs)(`div`,{style:{...t?{width:`100%`}:{},...o},children:[e&&(0,X.jsx)(Z,{weight:`medium`,className:`mb-1 text-sm text-gray-500`,children:e}),i?(0,X.jsx)(`textarea`,{className:c,rows:numberOfLines||3,...s}):(0,X.jsx)(`input`,{className:c,...s})]})}function xe({activeOpacity:e=.7,className:t,children:n,style:r,...i}){return(0,X.jsx)(`button`,{className:Y(`inline-flex items-center justify-center transition-opacity hover:opacity-70 active:opacity-50 disabled:pointer-events-none disabled:opacity-50`,t),style:{...r,background:`none`,border:`none`,cursor:`pointer`,padding:0,font:`inherit`,color:`inherit`},...i,children:n})}function Se({open:e,message:t=`Loading...`}){return e?(0,X.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,children:(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-3 rounded-lg bg-white p-6 shadow-lg`,children:[(0,X.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-4 border-brand-500 border-t-transparent`}),(0,X.jsx)(`p`,{className:`text-sm text-gray-600`,children:t})]})}):null}function Ce({open:e,onClose:t,children:n,enableDismiss:r=!0}){let[i,a]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{if(e)a(!0);else{let e=setTimeout(()=>a(!1),200);return()=>clearTimeout(e)}},[e]),!i&&!e?null:(0,X.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end justify-center`,children:[(0,X.jsx)(`div`,{className:`absolute inset-0 bg-black/30 transition-opacity duration-200 ${e?`opacity-100`:`opacity-0`}`,onClick:r?t:void 0}),(0,X.jsxs)(`div`,{className:`relative w-full max-w-lg rounded-t-2xl bg-white p-6 shadow-lg transition-transform duration-200 ${e?`translate-y-0`:`translate-y-full`}`,style:{maxHeight:`85vh`},children:[(0,X.jsx)(`div`,{className:`mx-auto mb-4 h-1.5 w-10 rounded-full bg-gray-300`}),(0,X.jsx)(`div`,{className:`overflow-y-auto`,style:{maxHeight:`calc(85vh - 40px)`},children:n})]})]})}var we=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Te=(...e)=>e.filter((e,t,n)=>!!e&&n.indexOf(e)===t).join(` `),Ee={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},De=(0,m.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,m.createElement)(`svg`,{ref:c,...Ee,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Te(`lucide`,i),...s},[...o.map(([e,t])=>(0,m.createElement)(e,t)),...Array.isArray(a)?a:[a]])),$=(e,t)=>{let n=(0,m.forwardRef)(({className:n,...r},i)=>(0,m.createElement)(De,{ref:i,iconNode:t,className:Te(`lucide-${we(e)}`,n),...r}));return n.displayName=`${e}`,n},Oe=$(`Minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),ke=$(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Ae=$(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),je=$(`User`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),Me=$(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);function Ne({placeholder:e=`Search...`,onSearch:t,debounceMs:n=300,className:r,value:i,onChange:a}){let[o,s]=(0,m.useState)(``),c=(0,m.useRef)(null),l=i===void 0?o:i,u=a||s,d=(0,m.useCallback)(e=>{let r=e.target.value;u(r),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{t?.(r)},n)},[t,n,u]),f=(0,m.useCallback)(()=>{u(``),t?.(``)},[t,u]);return(0,X.jsxs)(`div`,{className:Y(`flex w-full flex-row items-center rounded-xl border border-gray-200 bg-white px-4 py-3 shadow-sm`,r),children:[(0,X.jsx)(`input`,{type:`text`,value:l,onChange:d,placeholder:e,className:`min-w-0 flex-1 bg-transparent text-sm text-gray-800 placeholder:text-gray-400 !outline-none focus:!outline-none focus-visible:!outline-none`}),l&&(0,X.jsx)(`button`,{onClick:f,className:`mr-2 shrink-0 text-gray-400 hover:text-gray-600`,children:(0,X.jsx)(Me,{className:`h-5 w-5`})}),(0,X.jsx)(Ae,{className:`h-5 w-5 shrink-0 text-brand-500`})]})}function Pe({value:e,setValue:t,step:n=1,min:r=0,max:i=99}){return(0,X.jsxs)(`div`,{className:`inline-flex items-center rounded-lg border border-gray-200`,children:[(0,X.jsx)(`button`,{onClick:()=>{e>r&&t(e-n)},disabled:e<=r,className:`flex h-8 w-8 items-center justify-center text-gray-500 hover:text-gray-700 disabled:opacity-30`,children:(0,X.jsx)(Oe,{className:`h-3.5 w-3.5`})}),(0,X.jsx)(Z,{weight:`semibold`,className:`min-w-[32px] text-center text-sm`,children:e}),(0,X.jsx)(`button`,{onClick:()=>{e=i,className:`flex h-8 w-8 items-center justify-center text-gray-500 hover:text-gray-700 disabled:opacity-30`,children:(0,X.jsx)(ke,{className:`h-3.5 w-3.5`})})]})}function Fe({uri:e,size:t=80,className:n}){return e?(0,X.jsx)(`img`,{src:e,alt:`Profile`,className:Y(`rounded-full object-cover`,n),style:{width:t,height:t}}):(0,X.jsx)(`div`,{className:Y(`flex items-center justify-center rounded-full bg-gray-200`,n),style:{width:t,height:t},children:(0,X.jsx)(je,{className:`h-1/2 w-1/2 text-gray-400`})})}function Ie({children:e,className:t}){return(0,X.jsx)(`main`,{className:Y(`mx-auto min-h-screen w-full max-w-4xl bg-white`,t),children:(0,X.jsx)(`div`,{className:`p-4`,children:e})})}export{Ce as a,be as c,p as d,d as f,l as h,Ne as i,ye as l,s as m,Fe as n,Se as o,o as p,Pe as r,xe as s,Ie as t,Z as u}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/stores-DmmchhEr.js b/apps/web-ui/.output/public/assets/stores-DmmchhEr.js new file mode 100644 index 0000000..aa647b0 --- /dev/null +++ b/apps/web-ui/.output/public/assets/stores-DmmchhEr.js @@ -0,0 +1 @@ +import{d as e,s as t,t as n,u as r}from"./src-C0xjWfnx.js";import{t as i}from"./useNavigate-VRicZWJI.js";import{t as a}from"./createLucideIcon-7nArgiy8.js";import{a as o}from"./prominent-api-hooks-DipwWw0H.js";var s=a(`Store`,[[`path`,{d:`m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7`,key:`ztvudi`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`,key:`1b2hhj`}],[`path`,{d:`M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4`,key:`2ebpfo`}],[`path`,{d:`M2 7h20`,key:`1fcdvo`}],[`path`,{d:`M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7`,key:`6c3vgh`}]]),c=e();function l(){let e=i(),{data:a}=o(),l=a?.data||[];return(0,c.jsxs)(n,{children:[(0,c.jsx)(r,{weight:`bold`,className:`mb-4 text-xl`,children:`Our Stores`}),(0,c.jsx)(`div`,{className:`grid grid-cols-2 gap-4`,children:l.map(n=>(0,c.jsxs)(t,{onClick:()=>e({to:`/stores/$storeId`,params:{storeId:String(n.id)}}),className:`rounded-xl border border-gray-100 bg-white p-4 shadow-sm`,children:[(0,c.jsx)(`div`,{className:`mb-3 flex h-32 w-full items-center justify-center overflow-hidden rounded-lg bg-gray-100`,children:n.imageUrl?(0,c.jsx)(`img`,{src:n.imageUrl,alt:n.name,className:`h-full w-full object-cover`}):(0,c.jsx)(s,{className:`h-10 w-10 text-gray-400`})}),(0,c.jsx)(r,{weight:`semibold`,className:`text-sm`,children:n.name}),(0,c.jsxs)(r,{className:`text-xs text-gray-500`,children:[n.productCount||0,` products`]})]},n.id))})]})}export{l as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/stores._storeId-Bo_VK1An.js b/apps/web-ui/.output/public/assets/stores._storeId-Bo_VK1An.js new file mode 100644 index 0000000..47d26f5 --- /dev/null +++ b/apps/web-ui/.output/public/assets/stores._storeId-Bo_VK1An.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,s as r,t as i,u as a}from"./src-C0xjWfnx.js";import{t as o}from"./useNavigate-VRicZWJI.js";import{t as s}from"./arrow-left-9Wn53Zfu.js";import{c}from"./index-BXnbw4dQ.js";import{i as l}from"./prominent-api-hooks-DipwWw0H.js";var u=n(t()),d=e();function f(){let{storeId:e}=c.useParams(),t=o(),{data:n}=l(Number(e)),[f,p]=(0,u.useState)(null),m=n?.store,h=n?.products||[],g=(0,u.useMemo)(()=>{let e=new Set;return h.forEach(t=>{let n=t.category||`All`;e.add(n)}),[`All`,...Array.from(e)]},[h]),_=(0,u.useMemo)(()=>!f||f===`All`?h:h.filter(e=>(e.category||`All`)===f),[h,f]);return(0,d.jsxs)(i,{children:[(0,d.jsxs)(`div`,{className:`mb-4 flex items-center gap-3`,children:[(0,d.jsx)(r,{onClick:()=>t({to:`/stores`}),children:(0,d.jsx)(s,{className:`h-5 w-5`})}),(0,d.jsx)(a,{weight:`bold`,className:`text-xl`,children:m?.name||`Store`})]}),(0,d.jsx)(`div`,{className:`mb-4 flex gap-2 overflow-x-auto pb-2`,children:g.map(e=>(0,d.jsx)(`button`,{onClick:()=>p(e===`All`?null:e),className:`whitespace-nowrap rounded-full px-4 py-1.5 text-sm ${e===`All`&&!f||f===e?`bg-brand-500 text-white`:`bg-gray-100 text-gray-600`}`,children:e},e))}),(0,d.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:_.map(n=>(0,d.jsxs)(r,{onClick:()=>t({to:`/stores/$storeId/product/$productId`,params:{storeId:e,productId:String(n.id)}}),className:`rounded-xl border border-gray-100 bg-white p-3 shadow-sm`,children:[(0,d.jsx)(`div`,{className:`mb-2 aspect-square w-full overflow-hidden rounded-lg bg-gray-100`,children:n.images?.[0]&&(0,d.jsx)(`img`,{src:n.images[0].uri,alt:n.name,className:`h-full w-full object-cover`})}),(0,d.jsx)(a,{weight:`semibold`,className:`text-sm`,numberOfLines:2,children:n.name}),(0,d.jsxs)(a,{weight:`bold`,className:`mt-1 text-brand-600`,children:[`₹`,n.discountedPrice??n.price]})]},n.id))})]})}export{f as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/stores._storeId.product._productId-D-WdUvge.js b/apps/web-ui/.output/public/assets/stores._storeId.product._productId-D-WdUvge.js new file mode 100644 index 0000000..61d251f --- /dev/null +++ b/apps/web-ui/.output/public/assets/stores._storeId.product._productId-D-WdUvge.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n,l as r,r as i,s as a,t as o,u as s}from"./src-C0xjWfnx.js";import{t as c}from"./useNavigate-VRicZWJI.js";import{t as l}from"./arrow-left-9Wn53Zfu.js";import{t as u}from"./shopping-cart-BBNoSjWE.js";import{t as d}from"./index-BXnbw4dQ.js";import{n as f}from"./cart-query-hooks-BCr0eax3.js";import{t as p}from"./central-product-store-DGoerB5U.js";var m=n(t()),h=e();function g(){let{productId:e,storeId:t}=d.useParams(),n=Number(e),g=c(),[_,v]=(0,m.useState)(1),y=p(e=>e.productsById)[n],b=f(`regular`),x=()=>{y&&b.mutate({productId:y.id,quantity:_,storeId:y.storeId},{onSuccess:()=>g({to:`/cart`})})};if(!y)return(0,h.jsx)(o,{children:(0,h.jsx)(s,{children:`Product not found`})});let S=y.discountedPrice??y.price,C=y.images?.[0];return(0,h.jsxs)(o,{children:[(0,h.jsx)(a,{onClick:()=>g({to:`/stores/$storeId`,params:{storeId:t}}),className:`mb-4 flex items-center gap-2`,children:(0,h.jsx)(l,{className:`h-5 w-5`})}),C&&(0,h.jsx)(`div`,{className:`mb-4 aspect-square w-full overflow-hidden rounded-xl bg-gray-100`,children:(0,h.jsx)(`img`,{src:C,alt:y.name,className:`h-full w-full object-cover`})}),(0,h.jsx)(s,{weight:`bold`,className:`mb-1 text-xl`,children:y.name}),(0,h.jsxs)(s,{className:`mb-2 text-sm text-gray-500`,children:[y.unitValue,y.unit]}),(0,h.jsxs)(`div`,{className:`mb-4 flex items-baseline gap-2`,children:[(0,h.jsxs)(s,{weight:`bold`,className:`text-2xl text-brand-600`,children:[`₹`,S]}),y.discountedPrice&&(0,h.jsxs)(s,{className:`text-sm text-gray-400 line-through`,children:[`₹`,y.price]})]}),y.description&&(0,h.jsx)(s,{className:`mb-4 text-gray-600`,children:y.description}),(0,h.jsx)(`div`,{className:`mb-6`,children:(0,h.jsx)(i,{value:_,setValue:v,max:10})}),(0,h.jsxs)(r,{fullWidth:!0,onClick:x,disabled:b.isPending,className:`flex items-center justify-center gap-2 bg-brand-500 text-white`,children:[(0,h.jsx)(u,{className:`h-4 w-4`}),b.isPending?`Adding...`:`Add to Cart`]})]})}export{g as component}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/styles-DWsgI6YW.css b/apps/web-ui/.output/public/assets/styles-DWsgI6YW.css new file mode 100644 index 0000000..229d6eb --- /dev/null +++ b/apps/web-ui/.output/public/assets/styles-DWsgI6YW.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-300:oklch(84.5% .143 164.978);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-500:oklch(65.6% .241 354.308);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-50:#ffe8ea;--color-brand-100:#ffd1d6;--color-brand-200:#ffa3ae;--color-brand-400:#ff475d;--color-brand-500:#e63946;--color-brand-600:#c5303c;--color-brand-700:#9e2630}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-24{margin-bottom:calc(var(--spacing) * 24)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.aspect-square{aspect-ratio:1}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-full{height:100%}.max-h-\[40vh\]{max-height:40vh}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-brand-100{border-color:var(--color-brand-100)}.border-brand-200{border-color:var(--color-brand-200)}.border-brand-500{border-color:var(--color-brand-500)}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-pink-200{border-color:var(--color-pink-200)}.border-pink-500{border-color:var(--color-pink-500)}.border-red-200{border-color:var(--color-red-200)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-brand-50{background-color:var(--color-brand-50)}.bg-brand-100{background-color:var(--color-brand-100)}.bg-brand-500{background-color:var(--color-brand-500)}.bg-brand-500\/50{background-color:#e6394680}@supports (color:color-mix(in lab, red, red)){.bg-brand-500\/50{background-color:color-mix(in oklab, var(--color-brand-500) 50%, transparent)}}.bg-brand-600{background-color:var(--color-brand-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-pink-50{background-color:var(--color-pink-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-600{background-color:var(--color-red-600)}.bg-white{background-color:var(--color-white)}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.bg-white\/50{background-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-brand-400{--tw-gradient-from:var(--color-brand-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-brand-700{--tw-gradient-to:var(--color-brand-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-yellow-400{fill:var(--color-yellow-400)}.object-cover{object-fit:cover}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-blue-100{color:var(--color-blue-100)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-brand-500{color:var(--color-brand-500)}.text-brand-600{color:var(--color-brand-600)}.text-brand-700{color:var(--color-brand-700)}.text-emerald-300{color:var(--color-emerald-300)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-pink-300{color:var(--color-pink-300)}.text-pink-500{color:var(--color-pink-500)}.text-red-500{color:var(--color-red-500)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-black\/50:hover{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/50:hover{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.hover\:bg-brand-600:hover{background-color:var(--color-brand-600)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}@media (width>=40rem){.sm\:h-44{height:calc(var(--spacing) * 44)}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=48rem){.md\:h-52{height:calc(var(--spacing) * 52)}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:py-3{padding-block:calc(var(--spacing) * 3)}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=64rem){.lg\:h-64{height:calc(var(--spacing) * 64)}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (width>=80rem){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false} diff --git a/apps/web-ui/.output/public/assets/ticket-DHIzx079.js b/apps/web-ui/.output/public/assets/ticket-DHIzx079.js new file mode 100644 index 0000000..618d614 --- /dev/null +++ b/apps/web-ui/.output/public/assets/ticket-DHIzx079.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`Ticket`,[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`,key:`qn84l0`}],[`path`,{d:`M13 5v2`,key:`dyzc3o`}],[`path`,{d:`M13 17v2`,key:`1ont0d`}],[`path`,{d:`M13 11v2`,key:`1wjjxi`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/trash-2-B2Qxo_rV.js b/apps/web-ui/.output/public/assets/trash-2-B2Qxo_rV.js new file mode 100644 index 0000000..a055832 --- /dev/null +++ b/apps/web-ui/.output/public/assets/trash-2-B2Qxo_rV.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`Trash2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/trpc-client-QrVjRqP1.js b/apps/web-ui/.output/public/assets/trpc-client-QrVjRqP1.js new file mode 100644 index 0000000..5395bcf --- /dev/null +++ b/apps/web-ui/.output/public/assets/trpc-client-QrVjRqP1.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n}from"./src-C0xjWfnx.js";import{C as r,D as i,M as a,P as o,a as s,c,d as l,f as u,g as d,i as f,j as p,k as m,l as h,m as g,n as _,o as v,r as y,s as b,t as ee,u as te,v as x,x as S,y as C}from"./useMutation-DvG2_Fq3.js";var ne=class extends d{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,c=n.fetchMeta?.fetchMore?.direction,l=o&&c===`forward`,u=i&&c===`forward`,d=o&&c===`backward`,f=i&&c===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:x(t,n.data),hasPreviousPage:C(t,n.data),isFetchNextPageError:l,isFetchingNextPage:u,isFetchPreviousPageError:d,isFetchingPreviousPage:f,isRefetchError:s&&!l&&!d,isRefetching:a&&!u&&!f}}};function re(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}function ie(e,t,n){let r=e.slice(0);return r[t]=n,r}var ae=class extends o{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,S.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!p(e,n)});!o&&!s||(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(re(e,n).forEach(e=>{e.destroy()}),re(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){return t.map((n,r)=>{let i=e[r];return n.defaultedQueryOptions.notifyOnChangeProps?i:n.observer.trackResult(i,e=>{t.forEach(t=>{t.observer.trackProp(e)})})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(!this.#a||this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=m(this.#a,t(e))),this.#a}return e}#f(){return this.#r?.combine!==void 0&&this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new d(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=ie(this.#t,n,t),this.#h())}#h(){if(this.hasListeners()){let e=this.#u(this.#t,this.#l),t=this.#f(),n=this.#a,r=t?n:this.#d(e,this.#r?.combine);(t||n!==r)&&S.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},w=n(t(),1);function oe({queries:e,...t},n){let r=g(n),a=u(),o=l(),f=w.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=a?`isRestoring`:`optimistic`,t}),[e,r,a]);f.forEach(e=>{s(e),c(e,o,r.getQueryCache().get(e.queryHash))}),te(o);let[p]=w.useState(()=>new ae(r,f,t)),[m,_,y]=p.getOptimisticResult(f,t.combine),ee=!a&&t.subscribed!==!1;w.useSyncExternalStore(w.useCallback(e=>ee?p.subscribe(S.batchCalls(e)):i,[p,ee]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),w.useEffect(()=>{p.setQueries(f,t)},[f,t,p]);let x=m.some((e,t)=>b(f[t],e))?m.flatMap((e,t)=>{let n=f[t];return n&&b(n,e)?v(n,new d(r,n),o):[]}):[];if(x.length>0)throw Promise.all(x);let C=m.find((e,t)=>{let n=f[t];return n&&h({result:e,errorResetBoundary:o,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(C?.error)throw C.error;return _(y())}function se(e,t){return y({...e,enabled:!0,suspense:!0,throwOnError:f,placeholderData:void 0},d,t)}function ce(e,t){return y({...e,enabled:!0,suspense:!0,throwOnError:f},ne,t)}function le(e,t){return oe({...e,queries:e.queries.map(e=>({...e,suspense:!0,throwOnError:f,enabled:!0,placeholderData:void 0}))},t)}function ue(e,t){let n=g(t);n.getQueryState(e.queryKey)||n.prefetchQuery(e)}function de(e,t){let n=g(t);n.getQueryState(e.queryKey)||n.prefetchInfiniteQuery(e)}function fe(e){return e}function pe(e){return e}function me(e,t){return y(e,ne,t)}function T(e){return!!e&&!Array.isArray(e)&&typeof e==`object`}function he(){return Object.create(null)}var ge=typeof Symbol==`function`&&!!Symbol.asyncIterator;function _e(e){return ge&&T(e)&&Symbol.asyncIterator in e}var E={PARSE_ERROR:-32700,BAD_REQUEST:-32600,INTERNAL_SERVER_ERROR:-32603,NOT_IMPLEMENTED:-32603,BAD_GATEWAY:-32603,SERVICE_UNAVAILABLE:-32603,GATEWAY_TIMEOUT:-32603,UNAUTHORIZED:-32001,PAYMENT_REQUIRED:-32002,FORBIDDEN:-32003,NOT_FOUND:-32004,METHOD_NOT_SUPPORTED:-32005,TIMEOUT:-32008,CONFLICT:-32009,PRECONDITION_FAILED:-32012,PAYLOAD_TOO_LARGE:-32013,UNSUPPORTED_MEDIA_TYPE:-32015,UNPROCESSABLE_CONTENT:-32022,PRECONDITION_REQUIRED:-32028,TOO_MANY_REQUESTS:-32029,CLIENT_CLOSED_REQUEST:-32099};E.BAD_GATEWAY,E.SERVICE_UNAVAILABLE,E.GATEWAY_TIMEOUT,E.INTERNAL_SERVER_ERROR;var ve=Object.create,ye=Object.defineProperty,be=Object.getOwnPropertyDescriptor,xe=Object.getOwnPropertyNames,Se=Object.getPrototypeOf,Ce=Object.prototype.hasOwnProperty,D=(e,t)=>function(){return t||(0,e[xe(e)[0]])((t={exports:{}}).exports,t),t.exports},we=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=xe(t),a=0,o=i.length,s;at[e]).bind(null,s),enumerable:!(r=be(t,s))||r.enumerable});return e},O=(e,t,n)=>(n=e==null?{}:ve(Se(e)),we(t||!e||!e.__esModule?ye(n,`default`,{value:e,enumerable:!0}):n,e)),Te=()=>{},Ee=e=>{Object.freeze&&Object.freeze(e)};function De(e,t,n){let r=t.join(`.`);return n[r]??(n[r]=new Proxy(Te,{get(r,i){if(!(typeof i!=`string`||i===`then`))return De(e,[...t,i],n)},apply(n,r,i){let a=t[t.length-1];if(a===`valueOf`||a===`toString`||a===`toJSON`)return`tRPC.proxy(${t.slice(0,-1).join(`.`)})`;let o={args:i,path:t};return a===`call`?o={args:i.length>=2?[i[1]]:[],path:t.slice(0,-1)}:a===`apply`&&(o={args:i.length>=2?i[1]:[],path:t.slice(0,-1)}),Ee(o.args),Ee(o.path),e(o)}})),n[r]}var k=e=>De(e,[],he()),A=e=>new Proxy(Te,{get(t,n){if(n!==`then`)return e(n)}}),Oe=D({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(e,t){function n(e){"@babel/helpers - typeof";return t.exports=n=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),ke=D({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(e,t){var n=Oe().default;function r(e,t){if(n(e)!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||`default`);if(n(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}}),Ae=D({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(e,t){var n=Oe().default,r=ke();function i(e){var t=r(e,`string`);return n(t)==`symbol`?t:t+``}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports}}),je=D({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(e,t){var n=Ae();function r(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}}),j=D({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(e,t){var n=je();function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t{let i=!1;function a(){i||(i=!0,o.unsubscribe())}t.signal.addEventListener(`abort`,()=>{r(t.signal.reason)});let o=e.subscribe({next(e){i=!0,n(e),a()},error(e){r(e)},complete(){t.abort(),a()}})})}var Le=Object.create,Re=Object.defineProperty,ze=Object.getOwnPropertyDescriptor,Be=Object.getOwnPropertyNames,Ve=Object.getPrototypeOf,He=Object.prototype.hasOwnProperty,P=(e,t)=>function(){return t||(0,e[Be(e)[0]])((t={exports:{}}).exports,t),t.exports},Ue=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Be(t),a=0,o=i.length,s;at[e]).bind(null,s),enumerable:!(r=ze(t,s))||r.enumerable});return e},F=(e,t,n)=>(n=e==null?{}:Le(Ve(e)),Ue(t||!e||!e.__esModule?Re(n,`default`,{value:e,enumerable:!0}):n,e)),We=P({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js"(e,t){function n(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),Ge=P({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js"(e,t){var n=We();function r(e,t){if(e==null)return{};var r,i,a=n(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;ie.split(`.`));if(!t&&(!n||n===`any`))return r.length?[r]:[];if(n===`infinite`&&T(t)&&(`direction`in t||`cursor`in t)){let{cursor:e,direction:n}=t;return[r,{input:(0,Xe.default)(t,Qe),type:`infinite`}]}return[r,(0,Ze.default)((0,Ze.default)({},t!==void 0&&t!==a&&{input:t}),n&&n!==`any`&&{type:n})]}function R(e){return L(e,void 0,`any`)}var $e=Object.create,et=Object.defineProperty,tt=Object.getOwnPropertyDescriptor,nt=Object.getOwnPropertyNames,rt=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty,z=(e,t)=>function(){return t||(0,e[nt(e)[0]])((t={exports:{}}).exports,t),t.exports},at=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=nt(t),a=0,o=i.length,s;at[e]).bind(null,s),enumerable:!(r=tt(t,s))||r.enumerable});return e},B=(e,t,n)=>(n=e==null?{}:$e(rt(e)),at(t||!e||!e.__esModule?et(n,`default`,{value:e,enumerable:!0}):n,e)),ot=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(e,t){function n(e){"@babel/helpers - typeof";return t.exports=n=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),st=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(e,t){var n=ot().default;function r(e,t){if(n(e)!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||`default`);if(n(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}}),ct=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(e,t){var n=ot().default,r=st();function i(e){var t=r(e,`string`);return n(t)==`symbol`?t:t+``}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports}}),V=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(e,t){var n=ct();function r(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}}),H=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(e,t){var n=V();function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t{let t=0,n=null,r=[];function i(){n||=e.subscribe({next(e){for(let n of r){var t;(t=n.next)==null||t.call(n,e)}},error(e){for(let n of r){var t;(t=n.error)==null||t.call(n,e)}},complete(){for(let t of r){var e;(e=t.complete)==null||e.call(t)}}})}function a(){if(t===0&&n){let e=n;n=null,e.unsubscribe()}}return N(e=>(t++,r.push(e),i(),{unsubscribe(){t--,a();let n=r.findIndex(t=>t===e);n>-1&&r.splice(n,1)}}))}}function ut(e){let t=e,n=[],r=e=>{t!==void 0&&e.next(t),n.push(e)},i=e=>{n.splice(n.indexOf(e),1)},a=N(e=>(r(e),()=>{i(e)}));return a.next=e=>{if(t!==e){t=e;for(let t of n)t.next(e)}},a.get=()=>t,a}function dt(e){return N(t=>{function n(t=0,r=e.op){let i=e.links[t];if(!i)throw Error(`No more links to execute - did you forget to add an ending link?`);return i({op:r,next(e){return n(t+1,e)}})}return n().subscribe(t)})}var U=B(V(),1),W=B(H(),1);function ft(e){return e instanceof G}function pt(e){return T(e)&&T(e.error)&&typeof e.error.code==`number`&&typeof e.error.message==`string`}function mt(e,t){return typeof e==`string`?e:T(e)&&typeof e.message==`string`?e.message:t}var G=class e extends Error{constructor(t,n){var r,i;let a=n?.cause;super(t,{cause:a}),(0,U.default)(this,`cause`,void 0),(0,U.default)(this,`shape`,void 0),(0,U.default)(this,`data`,void 0),(0,U.default)(this,`meta`,void 0),this.meta=n?.meta,this.cause=a,this.shape=n==null||(r=n.result)==null?void 0:r.error,this.data=n==null||(i=n.result)==null?void 0:i.error.data,this.name=`TRPCClientError`,Object.setPrototypeOf(this,e.prototype)}static from(t,n={}){let r=t;return ft(r)?(n.meta&&(r.meta=(0,W.default)((0,W.default)({},r.meta),n.meta)),r):pt(r)?new e(r.error.message,(0,W.default)((0,W.default)({},n),{},{result:r,cause:n.cause})):new e(mt(r,`Unknown error`),(0,W.default)((0,W.default)({},n),{},{cause:r}))}};function ht(e){let t=e;return t?`input`in t?t:{input:t,output:t}:{input:{serialize:e=>e,deserialize:e=>e},output:{serialize:e=>e,deserialize:e=>e}}}var gt=e=>typeof e==`function`;function _t(e){if(e)return e;if(typeof window<`u`&>(window.fetch))return window.fetch;if(typeof globalThis<`u`&>(globalThis.fetch))return globalThis.fetch;throw Error(`No fetch implementation found`)}var K=B(H(),1);function vt(e){return{url:e.url.toString(),fetch:e.fetch,transformer:ht(e.transformer),methodOverride:e.methodOverride}}function yt(e){let t={};for(let n=0;ne.transformer.input.serialize(t)))}var St=e=>{let t=e.url.split(`?`),n=t[0].replace(/\/$/,``)+`/`+e.path,r=[];if(t[1]&&r.push(t[1]),`inputs`in e&&r.push(`batch=1`),e.type===`query`||e.type===`subscription`){let t=xt(e);t!==void 0&&e.methodOverride!==`POST`&&r.push(`input=${encodeURIComponent(JSON.stringify(t))}`)}return r.length&&(n+=`?`+r.join(`&`)),n},Ct=e=>{if(e.type===`query`&&e.methodOverride!==`POST`)return;let t=xt(e);return t===void 0?void 0:JSON.stringify(t)},wt=e=>Ot((0,K.default)((0,K.default)({},e),{},{contentTypeHeader:`application/json`,getUrl:St,getBody:Ct})),Tt=class extends Error{constructor(){let e=`AbortError`;super(e),this.name=e,this.message=e}},Et=e=>{var t;if(e?.aborted)throw(t=e.throwIfAborted)==null||t.call(e),typeof DOMException<`u`?new DOMException(`AbortError`,`AbortError`):new Tt};async function Dt(e){Et(e.signal);let t=e.getUrl(e),n=e.getBody(e),r=e.methodOverride??bt[e.type],i=await(async()=>{let t=await e.headers();return Symbol.iterator in t?Object.fromEntries(t):t})(),a=(0,K.default)((0,K.default)((0,K.default)({},e.contentTypeHeader&&r!==`GET`?{"content-type":e.contentTypeHeader}:{}),e.trpcAcceptHeader?{[e.trpcAcceptHeaderKey??`trpc-accept`]:e.trpcAcceptHeader}:void 0),i);return _t(e.fetch)(t,{method:r,signal:e.signal,body:n,headers:a})}async function Ot(e){let t={},n=await Dt(e);t.response=n;let r=await n.json();return t.responseJSON=r,{json:r,meta:t}}B(H(),1);var kt=()=>{throw Error(`Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new`)};function At(e){let t=null,n=null,r=()=>{clearTimeout(n),n=null,t=null};function i(t){let n=[[]],r=0;for(;;){let o=t[r];if(!o)break;let s=n[n.length-1];if(o.aborted){var i;(i=o.reject)==null||i.call(o,Error(`Aborted`)),r++;continue}if(e.validate(s.concat(o).map(e=>e.key))){s.push(o),r++;continue}if(s.length===0){var a;(a=o.reject)==null||a.call(o,Error(`Input is too big for a single dispatch`)),r++;continue}n.push([])}return n}function a(){let n=i(t);r();for(let t of n){if(!t.length)continue;let n={items:t};for(let e of t)e.batch=n;e.fetch(n.items.map(e=>e.key)).then(async e=>{await Promise.all(e.map(async(e,t)=>{let r=n.items[t];try{var i;let t=await Promise.resolve(e);(i=r.resolve)==null||i.call(r,t)}catch(e){var a;(a=r.reject)==null||a.call(r,e)}r.batch=null,r.reject=null,r.resolve=null}));for(let e of n.items){var t;(t=e.reject)==null||t.call(e,Error(`Missing result`)),e.batch=null}}).catch(e=>{for(let r of n.items){var t;(t=r.reject)==null||t.call(r,e),r.batch=null}})}}function o(e){let r={aborted:!1,key:e,batch:null,resolve:kt,reject:kt},i=new Promise((e,n)=>{r.reject=n,r.resolve=e,t??=[],t.push(r)});return n??=setTimeout(a),i}return{load:o}}function jt(...e){let t=new AbortController,n=e.length,r=0,i=()=>{++r===n&&t.abort()};for(let t of e)t?.aborted?i():t?.addEventListener(`abort`,i,{once:!0});return t.signal}var q=B(H(),1);function Mt(e){let t=vt(e),n=e.maxURLLength??1/0,r=e.maxItems??1/0;return()=>{let i=i=>({validate(e){if(n===1/0&&r===1/0)return!0;if(e.length>r)return!1;let a=e.map(e=>e.path).join(`,`),o=e.map(e=>e.input);return St((0,q.default)((0,q.default)({},t),{},{type:i,path:a,inputs:o,signal:null})).length<=n},async fetch(n){let r=n.map(e=>e.path).join(`,`),a=n.map(e=>e.input),o=jt(...n.map(e=>e.signal)),s=await wt((0,q.default)((0,q.default)({},t),{},{path:r,inputs:a,type:i,headers(){return e.headers?typeof e.headers==`function`?e.headers({opList:n}):e.headers:{}},signal:o}));return(Array.isArray(s.json)?s.json:n.map(()=>s.json)).map(e=>({meta:s.meta,json:e}))}}),a={query:At(i(`query`)),mutation:At(i(`mutation`))};return({op:e})=>N(n=>{if(e.type===`subscription`)throw Error("Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`");let r=a[e.type].load(e),i;return r.then(e=>{i=e;let r=Pe(e.json,t.transformer.output);if(!r.ok){n.error(G.from(r.error,{meta:e.meta}));return}n.next({context:e.meta,result:r.result}),n.complete()}).catch(e=>{n.error(G.from(e,{meta:i?.meta}))}),()=>{}})}}B(H(),1);var Nt=(e,...t)=>typeof e==`function`?e(...t):e;B(V(),1);function Pt(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}async function Ft(e){let t=await Nt(e.url);return e.connectionParams?t+`${t.includes(`?`)?`&`:`?`}connectionParams=1`:t}async function It(e,t){let n={method:`connectionParams`,data:await Nt(e)};return t.encode(n)}B(V(),1);var J=B(V(),1);function Lt(e){let{promise:t,resolve:n,reject:r}=Pt();return e.addEventListener(`open`,()=>{e.removeEventListener(`error`,r),n()}),e.addEventListener(`error`,r),t}function Rt(e,{intervalMs:t,pongTimeoutMs:n}){let r,i;function a(){r=setTimeout(()=>{e.send(`PING`),i=setTimeout(()=>{e.close()},n)},t)}function o(){clearTimeout(r),a()}function s(){clearTimeout(i),o()}e.addEventListener(`open`,a),e.addEventListener(`message`,({data:e})=>{clearTimeout(r),a(),e===`PONG`&&s()}),e.addEventListener(`close`,()=>{clearTimeout(r),clearTimeout(i)})}var zt=class e{constructor(t){if((0,J.default)(this,`id`,++e.connectCount),(0,J.default)(this,`WebSocketPonyfill`,void 0),(0,J.default)(this,`urlOptions`,void 0),(0,J.default)(this,`keepAliveOpts`,void 0),(0,J.default)(this,`encoder`,void 0),(0,J.default)(this,`wsObservable`,ut(null)),(0,J.default)(this,`openPromise`,null),this.WebSocketPonyfill=t.WebSocketPonyfill??WebSocket,!this.WebSocketPonyfill)throw Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");this.urlOptions=t.urlOptions,this.keepAliveOpts=t.keepAlive,this.encoder=t.encoder}get ws(){return this.wsObservable.get()}set ws(e){this.wsObservable.next(e)}isOpen(){return!!this.ws&&this.ws.readyState===this.WebSocketPonyfill.OPEN&&!this.openPromise}isClosed(){return!!this.ws&&(this.ws.readyState===this.WebSocketPonyfill.CLOSING||this.ws.readyState===this.WebSocketPonyfill.CLOSED)}async open(){var t=this;if(t.openPromise)return t.openPromise;t.id=++e.connectCount,t.openPromise=Ft(t.urlOptions).then(e=>new t.WebSocketPonyfill(e)).then(async e=>{t.ws=e,e.binaryType=`arraybuffer`,e.addEventListener(`message`,function({data:e}){e===`PING`&&this.send(`PONG`)}),t.keepAliveOpts.enabled&&Rt(e,t.keepAliveOpts),e.addEventListener(`close`,()=>{t.ws===e&&(t.ws=null)}),await Lt(e),t.urlOptions.connectionParams&&e.send(await It(t.urlOptions.connectionParams,t.encoder))});try{await t.openPromise}finally{t.openPromise=null}}async close(){var e=this;try{await e.openPromise}finally{var t;(t=e.ws)==null||t.close()}}};(0,J.default)(zt,`connectCount`,0),B(V(),1),B(H(),1);var Bt=B(V(),1),Vt=B(H(),1),Y=class{constructor(e){(0,Bt.default)(this,`links`,void 0),(0,Bt.default)(this,`runtime`,void 0),(0,Bt.default)(this,`requestId`,void 0),this.requestId=0,this.runtime={},this.links=e.links.map(e=>e(this.runtime))}$request(e){return dt({links:this.links,op:(0,Vt.default)((0,Vt.default)({},e),{},{context:e.context??{},id:++this.requestId})}).pipe(lt())}async requestAsPromise(e){var t=this;try{return(await Ie(t.$request(e))).result.data}catch(e){throw G.from(e)}}query(e,t,n){return this.requestAsPromise({type:`query`,path:e,input:t,context:n?.context,signal:n?.signal})}mutation(e,t,n){return this.requestAsPromise({type:`mutation`,path:e,input:t,context:n?.context,signal:n?.signal})}subscription(e,t,n){return this.$request({type:`subscription`,path:e,input:t,context:n.context,signal:n.signal}).subscribe({next(e){switch(e.result.type){case`state`:var t;(t=n.onConnectionStateChange)==null||t.call(n,e.result);break;case`started`:var r;(r=n.onStarted)==null||r.call(n,{context:e.context});break;case`stopped`:var i;(i=n.onStopped)==null||i.call(n);break;case`data`:case void 0:var a;(a=n.onData)==null||a.call(n,e.result.data);break}},error(e){var t;(t=n.onError)==null||t.call(n,e)},complete(){var e;(e=n.onComplete)==null||e.call(n)}})}},Ht=Symbol.for(`trpc_untypedClient`),Ut={query:`query`,mutate:`mutation`,subscribe:`subscription`},Wt=e=>Ut[e];function Gt(e){let t=k(({path:t,args:n})=>{let r=[...t],i=Wt(r.pop()),a=r.join(`.`);return e[i](a,...n)});return A(n=>n===Ht?e:t[n])}function Kt(e){return Gt(new Y(e))}function qt(e){return e[Ht]}B(H(),1),B(H(),1),B(z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(e,t){function n(e){var t,n,i,a=2;for(typeof Symbol<`u`&&(n=Symbol.asyncIterator,i=Symbol.iterator);a--;){if(n&&(t=e[n])!=null)return t.call(e);if(i&&(t=e[i])!=null)return new r(t.call(e));n=`@@asyncIterator`,i=`@@iterator`}throw TypeError(`Object is not async iterable`)}function r(e){function t(e){if(Object(e)!==e)return Promise.reject(TypeError(e+` is not an object.`));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return r=function(e){this.s=e,this.n=e.next},r.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return n===void 0?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return n===void 0?Promise.reject(e):t(n.apply(this.s,arguments))}},new r(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}})(),1),B(H(),1);var Jt=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(e,t){function n(){var e=typeof SuppressedError==`function`?SuppressedError:function(e,t){var n=Error();return n.name=`SuppressedError`,n.error=e,n.suppressed=t,n},t={},n=[];function r(e,t){if(t!=null){if(Object(t)!==t)throw TypeError(`using declarations can only be used with objects, functions, null, or undefined.`);if(e)var r=t[Symbol.asyncDispose||Symbol.for(`Symbol.asyncDispose`)];if(r===void 0&&(r=t[Symbol.dispose||Symbol.for(`Symbol.dispose`)],e))var i=r;if(typeof r!=`function`)throw TypeError(`Object is not disposable.`);i&&(r=function(){try{i.call(t)}catch(e){return Promise.reject(e)}}),n.push({v:t,d:r,a:e})}else e&&n.push({d:t,a:e});return t}return{e:t,u:r.bind(null,!1),a:r.bind(null,!0),d:function(){var r,i=this.e,a=0;function o(){for(;r=n.pop();)try{if(!r.a&&a===1)return a=0,n.push(r),Promise.resolve().then(o);if(r.d){var e=r.d.call(r.v);if(r.a)return a|=2,Promise.resolve(e).then(o,s)}else a|=1}catch(e){return s(e)}if(a===1)return i===t?Promise.resolve():Promise.reject(i);if(i!==t)throw i}function s(n){return i=i===t?n:new e(n,i),o()}return o()}}}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),Yt=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(e,t){function n(e,t){this.v=e,this.k=t}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),Xt=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(e,t){var n=Yt();function r(e){return new n(e,0)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}}),Zt=z({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(e,t){var n=Yt();function r(e){return function(){return new i(e.apply(this,arguments))}}function i(e){var t,r;function i(t,r){try{var o=e[t](r),s=o.value,c=s instanceof n;Promise.resolve(c?s.v:s).then(function(n){if(c){var r=t===`return`?`return`:`next`;if(!s.k||n.done)return i(r,n);n=e[r](n).value}a(o.done?`return`:`normal`,n)},function(e){i(`throw`,e)})}catch(e){a(`throw`,e)}}function a(e,n){switch(e){case`return`:t.resolve({value:n,done:!0});break;case`throw`:t.reject(n);break;default:t.resolve({value:n,done:!1})}(t=t.next)?i(t.key,t.arg):r=null}this._invoke=function(e,n){return new Promise(function(a,o){var s={key:e,arg:n,resolve:a,reject:o,next:null};r?r=r.next=s:(t=r=s,i(e,n))})},typeof e.return!=`function`&&(this.return=void 0)}i.prototype[typeof Symbol==`function`&&Symbol.asyncIterator||`@@asyncIterator`]=function(){return this},i.prototype.next=function(e){return this._invoke(`next`,e)},i.prototype.throw=function(e){return this._invoke(`throw`,e)},i.prototype.return=function(e){return this._invoke(`return`,e)},t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}});B(Jt(),1),B(Xt(),1),B(Zt(),1),B(H(),1);var Qt=e();function $t(e){return k(({path:t,args:n})=>{let r=[...t],i=r.pop();if(i===`useMutation`)return e[i](r,...n);if(i===`_def`)return{path:r};let[a,...o]=n,s=o[0]??{};return e[i](r,a,s)})}var en=[`client`,`ssrContext`,`ssrState`,`abortOnUnmount`],tn=w.createContext?.call(w,null),nn=e=>{switch(e){case`queryOptions`:case`fetch`:case`ensureData`:case`prefetch`:case`getData`:case`setData`:case`setQueriesData`:return`query`;case`infiniteQueryOptions`:case`fetchInfinite`:case`prefetchInfinite`:case`getInfiniteData`:case`setInfiniteData`:return`infinite`;case`setMutationDefaults`:case`getMutationDefaults`:case`isMutating`:case`cancel`:case`invalidate`:case`refetch`:case`reset`:return`any`}};function rn(e){return k(t=>{let n=[...t.path],r=n.pop(),i=[...t.args],a=i.shift(),o=L(n,a,nn(r));return{infiniteQueryOptions:()=>e.infiniteQueryOptions(n,o,i[0]),queryOptions:()=>e.queryOptions(n,o,...i),fetch:()=>e.fetchQuery(o,...i),fetchInfinite:()=>e.fetchInfiniteQuery(o,i[0]),prefetch:()=>e.prefetchQuery(o,...i),prefetchInfinite:()=>e.prefetchInfiniteQuery(o,i[0]),ensureData:()=>e.ensureQueryData(o,...i),invalidate:()=>e.invalidateQueries(o,...i),reset:()=>e.resetQueries(o,...i),refetch:()=>e.refetchQueries(o,...i),cancel:()=>e.cancelQuery(o,...i),setData:()=>{e.setQueryData(o,i[0],i[1])},setQueriesData:()=>e.setQueriesData(o,i[0],i[1],i[2]),setInfiniteData:()=>{e.setInfiniteQueryData(o,i[0],i[1])},getData:()=>e.getQueryData(o),getInfiniteData:()=>e.getInfiniteQueryData(o),setMutationDefaults:()=>e.setMutationDefaults(R(n),a),getMutationDefaults:()=>e.getMutationDefaults(R(n)),isMutating:()=>e.isMutating({mutationKey:R(n)})}[r]()})}function an(e){let t=Gt(e.client),n=rn(e);return A(r=>{let i=r;return i===`client`?t:en.includes(i)?e[i]:n[r]})}var on=F(I(),1);function sn(e){let t=e instanceof Y?e:qt(e);return k(e=>{let n=e.path,r=n.join(`.`),[i,a]=e.args;return(0,on.default)({queryKey:L(n,i,`query`),queryFn:()=>t.query(r,i,a?.trpc)},a)})}var cn=F(I(),1);function X(e,t,n){let r=e[0],i=e[1]?.input;return n&&(i=(0,cn.default)((0,cn.default)((0,cn.default)({},i??{}),n.pageParam?{cursor:n.pageParam}:{}),{},{direction:n.direction})),[r.join(`.`),i,t?.trpc]}var ln=F(P({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(e,t){function n(e){var t,n,i,a=2;for(typeof Symbol<`u`&&(n=Symbol.asyncIterator,i=Symbol.iterator);a--;){if(n&&(t=e[n])!=null)return t.call(e);if(i&&(t=e[i])!=null)return new r(t.call(e));n=`@@asyncIterator`,i=`@@iterator`}throw TypeError(`Object is not async iterable`)}function r(e){function t(e){if(Object(e)!==e)return Promise.reject(TypeError(e+` is not an object.`));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return r=function(e){this.s=e,this.n=e.next},r.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return n===void 0?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return n===void 0?Promise.reject(e):t(n.apply(this.s,arguments))}},new r(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}})(),1);function un(e){return{path:e.path.join(`.`)}}function Z(e){let t=un(e);return w.useMemo(()=>t,[t])}async function dn(e,t,n){let r=t.getQueryCache().build(t,{queryKey:n});r.setState({data:[],status:`success`});let i=[];var a=!1,o=!1,s;try{for(var c=(0,ln.default)(e),l;a=!(l=await c.next()).done;a=!1){let e=l.value;i.push(e),r.setState({data:[...i]})}}catch(e){o=!0,s=e}finally{try{a&&c.return!=null&&await c.return()}finally{if(o)throw s}}return i}var Q=F(I(),1);function fn(e){let{client:t,queryClient:n}=e,r=t instanceof Y?t:qt(t);return{infiniteQueryOptions:(e,t,n)=>{let i=t[1]?.input===a;return Object.assign(pe((0,Q.default)((0,Q.default)({},n),{},{initialData:n?.initialData,queryKey:t,queryFn:i?a:async e=>{var i;let a=(0,Q.default)((0,Q.default)({},n),{},{trpc:(0,Q.default)((0,Q.default)({},n?.trpc),!(n==null||(i=n.trpc)==null)&&i.abortOnUnmount?{signal:e.signal}:{signal:null})});return await r.query(...X(t,a,{direction:e.direction,pageParam:e.pageParam}))},initialPageParam:n?.initialCursor??null})),{trpc:un({path:e})})},queryOptions:(e,t,i)=>{let o=t[1]?.input===a;return Object.assign(fe((0,Q.default)((0,Q.default)({},i),{},{initialData:i?.initialData,queryKey:t,queryFn:o?a:async e=>{var a;let o=(0,Q.default)((0,Q.default)({},i),{},{trpc:(0,Q.default)((0,Q.default)({},i?.trpc),!(i==null||(a=i.trpc)==null)&&a.abortOnUnmount?{signal:e.signal}:{signal:null})}),s=await r.query(...X(t,o));return _e(s)?dn(s,n,t):s}})),{trpc:un({path:e})})},fetchQuery:(e,t)=>n.fetchQuery((0,Q.default)((0,Q.default)({},t),{},{queryKey:e,queryFn:()=>r.query(...X(e,t))})),fetchInfiniteQuery:(e,t)=>n.fetchInfiniteQuery((0,Q.default)((0,Q.default)({},t),{},{queryKey:e,queryFn:({pageParam:n,direction:i})=>r.query(...X(e,t,{pageParam:n,direction:i})),initialPageParam:t?.initialCursor??null})),prefetchQuery:(e,t)=>n.prefetchQuery((0,Q.default)((0,Q.default)({},t),{},{queryKey:e,queryFn:()=>r.query(...X(e,t))})),prefetchInfiniteQuery:(e,t)=>n.prefetchInfiniteQuery((0,Q.default)((0,Q.default)({},t),{},{queryKey:e,queryFn:({pageParam:n,direction:i})=>r.query(...X(e,t,{pageParam:n,direction:i})),initialPageParam:t?.initialCursor??null})),ensureQueryData:(e,t)=>n.ensureQueryData((0,Q.default)((0,Q.default)({},t),{},{queryKey:e,queryFn:()=>r.query(...X(e,t))})),invalidateQueries:(e,t,r)=>n.invalidateQueries((0,Q.default)((0,Q.default)({},t),{},{queryKey:e}),r),resetQueries:(e,t,r)=>n.resetQueries((0,Q.default)((0,Q.default)({},t),{},{queryKey:e}),r),refetchQueries:(e,t,r)=>n.refetchQueries((0,Q.default)((0,Q.default)({},t),{},{queryKey:e}),r),cancelQuery:(e,t)=>n.cancelQueries({queryKey:e},t),setQueryData:(e,t,r)=>n.setQueryData(e,t,r),setQueriesData:(e,t,r,i)=>n.setQueriesData((0,Q.default)((0,Q.default)({},t),{},{queryKey:e}),r,i),getQueryData:e=>n.getQueryData(e),setInfiniteQueryData:(e,t,r)=>n.setQueryData(e,t,r),getInfiniteQueryData:e=>n.getQueryData(e),setMutationDefaults:(t,i)=>{let a=t[0];return n.setMutationDefaults(t,typeof i==`function`?i({canonicalMutationFn:t=>r.mutation(...X([a,{input:t}],e))}):i)},getMutationDefaults:e=>n.getMutationDefaults(e),isMutating:e=>n.isMutating((0,Q.default)((0,Q.default)({},e),{},{exact:!0}))}}var $=F(I()),pn=(e,t)=>new Proxy(e,{get(e,n){return t(n),e[n]}});function mn(e){var t;let n=(e==null||(t=e.overrides)==null||(t=t.useMutation)==null?void 0:t.onSuccess)??(e=>e.originalFn()),i=e?.context??tn,o=Kt,s=e=>{let{abortOnUnmount:t=!1,queryClient:n,ssrContext:r}=e,[a,o]=w.useState(e.ssrState??!1),s=e.client instanceof Y?e.client:qt(e.client),c=w.useMemo(()=>fn({client:s,queryClient:n}),[s,n]),l=w.useMemo(()=>(0,$.default)({abortOnUnmount:t,queryClient:n,client:s,ssrContext:r??null,ssrState:a},c),[t,s,c,n,r,a]);return w.useEffect(()=>{o(e=>e?`mounted`:!1)},[]),(0,Qt.jsx)(i.Provider,{value:l,children:e.children})};function c(){let e=w.useContext(i);if(!e)throw Error("Unable to find tRPC Context. Did you forget to wrap your App inside `withTRPC` HoC?");return e}function l(e,t){let{queryClient:n,ssrState:r}=c();return r&&r!==`mounted`&&n.getQueryCache().find({queryKey:e})?.state.status===`error`?(0,$.default)({retryOnMount:!1},t):t}function u(t,n,r){var i,o;let{abortOnUnmount:s,client:u,ssrState:d,queryClient:f,prefetchQuery:p}=c(),m=L(t,n,`query`),h=f.getQueryDefaults(m),g=n===a;typeof window>`u`&&d===`prepass`&&(r==null||(i=r.trpc)==null?void 0:i.ssr)!==!1&&(r?.enabled??h?.enabled)!==!1&&!g&&!f.getQueryCache().find({queryKey:m})&&p(m,r);let v=l(m,(0,$.default)((0,$.default)({},h),r)),y=(r==null||(o=r.trpc)==null?void 0:o.abortOnUnmount)??e?.abortOnUnmount??s,b=_((0,$.default)((0,$.default)({},v),{},{queryKey:m,queryFn:g?n:async e=>{let t=(0,$.default)((0,$.default)({},v),{},{trpc:(0,$.default)((0,$.default)({},v?.trpc),y?{signal:e.signal}:{signal:null})}),n=await u.query(...X(m,t));return _e(n)?dn(n,f,m):n}}),f);return b.trpc=Z({path:t}),b}function d(t,n,r){var i;let o=c(),s=L(t,n,`query`),l=n===a,u=(r==null||(i=r.trpc)==null?void 0:i.abortOnUnmount)??e?.abortOnUnmount??o.abortOnUnmount;ue((0,$.default)((0,$.default)({},r),{},{queryKey:s,queryFn:l?n:e=>{let t={trpc:(0,$.default)((0,$.default)({},r?.trpc),u?{signal:e.signal}:{})};return o.client.query(...X(s,t))}}))}function f(t,n,r){var i;let a=c(),o=L(t,n,`query`),s=(r==null||(i=r.trpc)==null?void 0:i.abortOnUnmount)??e?.abortOnUnmount??a.abortOnUnmount,l=se((0,$.default)((0,$.default)({},r),{},{queryKey:o,queryFn:e=>{let t=(0,$.default)((0,$.default)({},r),{},{trpc:(0,$.default)((0,$.default)({},r?.trpc),s?{signal:e.signal}:{signal:null})});return a.client.query(...X(o,t))}}),a.queryClient);return l.trpc=Z({path:t}),[l.data,l]}function p(e,t){let{client:r,queryClient:i}=c(),a=R(e),o=i.defaultMutationOptions(i.getMutationDefaults(a)),s=ee((0,$.default)((0,$.default)({},t),{},{mutationKey:a,mutationFn:n=>r.mutation(...X([e,{input:n}],t)),onSuccess(...e){return n({originalFn:()=>{var n,r;return(t==null||(n=t.onSuccess)==null?void 0:n.call(t,...e))??(o==null||(r=o.onSuccess)==null?void 0:r.call(o,...e))},queryClient:i,meta:t?.meta??o?.meta??{}})}}),i);return s.trpc=Z({path:e}),s}let m={data:void 0,error:null,status:`idle`},h={data:void 0,error:null,status:`connecting`};function g(e,t,n){let i=n?.enabled??t!==a,o=r(L(e,t,`any`)),{client:s}=c(),l=w.useRef(n);w.useEffect(()=>{l.current=n});let[u]=w.useState(new Set([])),d=w.useCallback(e=>{u.add(e)},[u]),f=w.useRef(null),p=w.useCallback(e=>{let t=_.current,n=_.current=e(t),r=!1;for(let e of u)if(t[e]!==n[e]){r=!0;break}r&&y(pn(n,d))},[d,u]),g=w.useCallback(()=>{var n;if((n=f.current)==null||n.unsubscribe(),!i){p(()=>(0,$.default)((0,$.default)({},m),{},{reset:g}));return}p(()=>(0,$.default)((0,$.default)({},h),{},{reset:g})),f.current=s.subscription(e.join(`.`),t??void 0,{onStarted:()=>{var e,t;(e=(t=l.current).onStarted)==null||e.call(t),p(e=>(0,$.default)((0,$.default)({},e),{},{status:`pending`,error:null}))},onData:e=>{var t,n;(t=(n=l.current).onData)==null||t.call(n,e),p(t=>(0,$.default)((0,$.default)({},t),{},{status:`pending`,data:e,error:null}))},onError:e=>{var t,n;(t=(n=l.current).onError)==null||t.call(n,e),p(t=>(0,$.default)((0,$.default)({},t),{},{status:`error`,error:e}))},onConnectionStateChange:e=>{p(t=>{switch(e.state){case`idle`:return(0,$.default)((0,$.default)({},t),{},{status:e.state,error:null,data:void 0});case`connecting`:return(0,$.default)((0,$.default)({},t),{},{error:e.error,status:e.state});case`pending`:return t}})},onComplete:()=>{var e,t;(e=(t=l.current).onComplete)==null||e.call(t),p(e=>(0,$.default)((0,$.default)({},e),{},{status:`idle`,error:null,data:void 0}))}})},[s,o,i,p]);w.useEffect(()=>(g(),()=>{var e;(e=f.current)==null||e.unsubscribe()}),[g]);let _=w.useRef(i?(0,$.default)((0,$.default)({},h),{},{reset:g}):(0,$.default)((0,$.default)({},m),{},{reset:g})),[v,y]=w.useState(pn(_.current,d));return v}function v(e,t,n){var r,i;let{client:o,ssrState:s,prefetchInfiniteQuery:u,queryClient:d,abortOnUnmount:f}=c(),p=L(e,t,`infinite`),m=d.getQueryDefaults(p),h=t===a;typeof window>`u`&&s===`prepass`&&(n==null||(r=n.trpc)==null?void 0:r.ssr)!==!1&&(n?.enabled??m?.enabled)!==!1&&!h&&!d.getQueryCache().find({queryKey:p})&&u(p,(0,$.default)((0,$.default)({},m),n));let g=l(p,(0,$.default)((0,$.default)({},m),n)),_=(n==null||(i=n.trpc)==null?void 0:i.abortOnUnmount)??f,v=me((0,$.default)((0,$.default)({},g),{},{initialPageParam:n.initialCursor??null,persister:n.persister,queryKey:p,queryFn:h?t:e=>{let t=(0,$.default)((0,$.default)({},g),{},{trpc:(0,$.default)((0,$.default)({},g?.trpc),_?{signal:e.signal}:{signal:null})});return o.query(...X(p,t,{pageParam:e.pageParam??n.initialCursor,direction:e.direction}))}}),d);return v.trpc=Z({path:e}),v}function y(e,t,n){var r;let i=c(),o=L(e,t,`infinite`),s=i.queryClient.getQueryDefaults(o),u=t===a,d=l(o,(0,$.default)((0,$.default)({},s),n)),f=(n==null||(r=n.trpc)==null?void 0:r.abortOnUnmount)??i.abortOnUnmount;de((0,$.default)((0,$.default)({},n),{},{initialPageParam:n.initialCursor??null,queryKey:o,queryFn:u?t:e=>{let t=(0,$.default)((0,$.default)({},d),{},{trpc:(0,$.default)((0,$.default)({},d?.trpc),f?{signal:e.signal}:{})});return i.client.query(...X(o,t,{pageParam:e.pageParam??n.initialCursor,direction:e.direction}))}}))}function b(e,t,n){var r;let i=c(),a=L(e,t,`infinite`),o=i.queryClient.getQueryDefaults(a),s=l(a,(0,$.default)((0,$.default)({},o),n)),u=(n==null||(r=n.trpc)==null?void 0:r.abortOnUnmount)??i.abortOnUnmount,d=ce((0,$.default)((0,$.default)({},n),{},{initialPageParam:n.initialCursor??null,queryKey:a,queryFn:e=>{let t=(0,$.default)((0,$.default)({},s),{},{trpc:(0,$.default)((0,$.default)({},s?.trpc),u?{signal:e.signal}:{})});return i.client.query(...X(a,t,{pageParam:e.pageParam??n.initialCursor,direction:e.direction}))}}),i.queryClient);return d.trpc=Z({path:e}),[d.data,d]}return{Provider:s,createClient:o,useContext:c,useUtils:c,useQuery:u,usePrefetchQuery:d,useSuspenseQuery:f,useQueries:(e,t)=>{let{ssrState:n,queryClient:r,prefetchQuery:i,client:a}=c(),o=e(sn(a));if(typeof window>`u`&&n===`prepass`)for(let e of o){let t=e;t.trpc?.ssr!==!1&&!r.getQueryCache().find({queryKey:t.queryKey})&&i(t.queryKey,t)}return oe({queries:o.map(e=>(0,$.default)((0,$.default)({},e),{},{queryKey:e.queryKey})),combine:t?.combine},r)},useSuspenseQueries:e=>{let{queryClient:t,client:n}=c(),r=le({queries:e(sn(n)).map(e=>(0,$.default)((0,$.default)({},e),{},{queryFn:e.queryFn,queryKey:e.queryKey}))},t);return[r.map(e=>e.data),r]},useMutation:p,useSubscription:g,useInfiniteQuery:v,usePrefetchInfiniteQuery:y,useSuspenseInfiniteQuery:b}}function hn(e){let t=$t(e);return A(n=>n===`useContext`||n===`useUtils`?()=>{let t=e.useUtils();return w.useMemo(()=>an(t),[t])}:e.hasOwnProperty(n)?e[n]:t[n])}function gn(e){return hn(mn(e))}var _n=`http://192.168.100.111:8787`,vn=gn();function yn(){return Kt({links:[Mt({url:`${_n}/api/trpc`,headers:async()=>{try{let e=localStorage.getItem(`auth_token`),t={"caller-interface":`web`};return e&&(t.Authorization=`Bearer ${e}`),t}catch{}return{"caller-interface":`web`}}})]})}export{vn as n,yn as t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/truck-DbJZ8T2i.js b/apps/web-ui/.output/public/assets/truck-DbJZ8T2i.js new file mode 100644 index 0000000..241e913 --- /dev/null +++ b/apps/web-ui/.output/public/assets/truck-DbJZ8T2i.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`Truck`,[[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`,key:`wrbu53`}],[`path`,{d:`M15 18H9`,key:`1lyqi6`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14`,key:`lysw3i`}],[`circle`,{cx:`17`,cy:`18`,r:`2`,key:`332jqn`}],[`circle`,{cx:`7`,cy:`18`,r:`2`,key:`19iecd`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/useMutation-DvG2_Fq3.js b/apps/web-ui/.output/public/assets/useMutation-DvG2_Fq3.js new file mode 100644 index 0000000..a9dd1e9 --- /dev/null +++ b/apps/web-ui/.output/public/assets/useMutation-DvG2_Fq3.js @@ -0,0 +1 @@ +import{d as e,f as t,h as n}from"./src-C0xjWfnx.js";var r=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},i=new class extends r{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},a={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},o=new class{#e=a;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function s(e){setTimeout(e,0)}var c=typeof window>`u`||`Deno`in globalThis;function l(){}function u(e,t){return typeof e==`function`?e(t):e}function d(e){return typeof e==`number`&&e>=0&&e!==1/0}function f(e,t){return Math.max(e+(t||0)-Date.now(),0)}function p(e,t){return typeof e==`function`?e(t):e}function m(e,t){return typeof e==`function`?e(t):e}function h(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==_(o,t.options))return!1}else if(!y(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function g(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(v(t.options.mutationKey)!==v(a))return!1}else if(!y(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function _(e,t){return(t?.queryKeyHashFn||v)(e)}function v(e){return JSON.stringify(e,(e,t)=>C(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function y(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>y(e[n],t[n])):!1}var b=Object.prototype.hasOwnProperty;function x(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=ee(e)&&ee(t);if(!r&&!(C(e)&&C(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{o.setTimeout(t,e)})}function T(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:x(e,t)}function ne(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function re(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var E=Symbol();function D(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===E?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function O(e,t){return typeof e==`function`?e(...t):!!e}function ie(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var k=(()=>{let e=()=>c;return{isServer(){return e()},setIsServer(t){e=t}}})();function A(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var ae=s;function oe(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=ae,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var j=oe(),M=new class extends r{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function se(e){return Math.min(1e3*2**e,3e4)}function N(e){return(e??`online`)===`online`?M.isOnline():!0}var P=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function F(e){let t=!1,n=0,r,a=A(),o=()=>a.status!==`pending`,s=t=>{if(!o()){let n=new P(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>i.isFocused()&&(e.networkMode===`always`||M.isOnline())&&e.canRun(),d=()=>N(e.networkMode)&&e.canRun(),f=e=>{o()||(r?.(),a.resolve(e))},p=e=>{o()||(r?.(),a.reject(e))},m=()=>new Promise(t=>{r=e=>{(o()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,o()||e.onContinue?.()}),h=()=>{if(o())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(o())return;let i=e.retry??(k.isServer()?0:3),a=e.retryDelay??se,s=typeof a==`function`?a(n,r):a,c=i===!0||typeof i==`number`&&nu()?void 0:m()).then(()=>{t?p(r):h()})})};return{promise:a,status:()=>a.status,cancel:s,continue:()=>(r?.(),a),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?h():m().then(h),a)}}var I=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),d(this.gcTime)&&(this.#e=o.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(k.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(o.clearTimeout(this.#e),this.#e=void 0)}};function ce(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{ie(e,()=>t.signal,()=>n=!0)},u=D(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?re:ne;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?R:L,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:L(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function L(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function R(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function le(e,t){return t?L(e,t)!=null:!1}function ue(e,t){return!t||!e.getPreviousPageParam?!1:R(e,t)!=null}var de=class extends I{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=V(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=V(this.options);e.data!==void 0&&(this.setState(B(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=T(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(l).catch(l):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>m(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===E||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>p(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!f(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=D(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?ce(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=F({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof P&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof P){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...z(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...B(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),j.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function z(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:N(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function B(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function V(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var H=class extends r{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=A(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),U(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return W(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return W(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof m(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!S(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&G(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||m(this.options.enabled,this.#t)!==m(t.enabled,this.#t)||p(this.options.staleTime,this.#t)!==p(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||m(this.options.enabled,this.#t)!==m(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return pe(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(l)),t}#g(){this.#b();let e=p(this.options.staleTime,this.#t);if(k.isServer()||this.#r.isStale||!d(e))return;let t=f(this.#r.dataUpdatedAt,e)+1;this.#d=o.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(k.isServer()||m(this.options.enabled,this.#t)===!1||!d(this.#p)||this.#p===0)&&(this.#f=o.setInterval(()=>{(this.options.refetchIntervalInBackground||i.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(o.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(o.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&U(e,t),o=i&&G(e,n,t,r);(a||o)&&(l={...l,...z(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:h}=l;d=l.data;let g=!1;if(t.placeholderData!==void 0&&d===void 0&&h===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,g=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(h=`success`,d=T(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!g)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=T(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),h=`error`);let _=l.fetchStatus===`fetching`,v=h===`pending`,y=h===`error`,b=v&&_,x=d!==void 0,S={status:h,fetchStatus:l.fetchStatus,isPending:v,isSuccess:h===`success`,isError:y,isInitialLoading:b,isLoading:b,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:_,isRefetching:_&&!v,isLoadingError:y&&!x,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:y&&x,isStale:K(e,t),refetch:this.refetch,promise:this.#o,isEnabled:m(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=S.data!==void 0,r=S.status===`error`&&!t,i=e=>{r?e.reject(S.error):t&&e.resolve(S.data)},a=()=>{i(this.#o=S.promise=A())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||S.data!==o.value)&&a();break;case`rejected`:(!r||S.error!==o.reason)&&a();break}}return S}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!S(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){j.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function fe(e,t){return m(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&m(t.retryOnMount,e)===!1)}function U(e,t){return fe(e,t)||e.state.data!==void 0&&W(e,t,t.refetchOnMount)}function W(e,t,n){if(m(t.enabled,e)!==!1&&p(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&K(e,t)}return!1}function G(e,t,n,r){return(e!==t||m(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&K(e,n)}function K(e,t){return m(t.enabled,e)!==!1&&e.isStaleByTime(p(t.staleTime,e))}function pe(e,t){return!S(e.getCurrentResult(),t)}var me=class extends I{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||q(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=F({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),j.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function q(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var he=class extends r{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),S(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&v(t.mutationKey)!==v(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??q();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){j.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},J=n(t(),1),ge=e(),Y=J.createContext(void 0),X=e=>{let t=J.useContext(Y);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},_e=({client:e,children:t})=>(J.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,ge.jsx)(Y.Provider,{value:e,children:t})),ve=J.createContext(!1),Z=()=>J.useContext(ve);ve.Provider;function ye(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var be=J.createContext(ye()),xe=()=>J.useContext(be),Se=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?O(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Ce=e=>{J.useEffect(()=>{e.clearReset()},[e])},we=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||O(n,[e.error,r])),Te=(e,t)=>t.state.data===void 0,Ee=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},De=(e,t)=>e.isLoading&&e.isFetching&&!t,Oe=(e,t)=>e?.suspense&&t.isPending,Q=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function $(e,t,n){let r=Z(),i=xe(),a=X(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash);o._optimisticResults=r?`isRestoring`:`optimistic`,Ee(o),Se(o,i,s),Ce(i);let c=!a.getQueryCache().get(o.queryHash),[u]=J.useState(()=>new t(a,o)),d=u.getOptimisticResult(o),f=!r&&e.subscribed!==!1;if(J.useSyncExternalStore(J.useCallback(e=>{let t=f?u.subscribe(j.batchCalls(e)):l;return u.updateResult(),t},[u,f]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),J.useEffect(()=>{u.setOptions(o)},[o,u]),Oe(o,d))throw Q(o,u,i);if(we({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw d.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!k.isServer()&&De(d,r)&&(c?Q(o,u,i):s?.promise)?.catch(l).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}function ke(e,t){return $(e,H,t)}function Ae(e,t){let n=X(t),[r]=J.useState(()=>new he(n,e));J.useEffect(()=>{r.setOptions(e)},[r,e]);let i=J.useSyncExternalStore(J.useCallback(e=>r.subscribe(j.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=J.useCallback((e,t)=>{r.mutate(e,t).catch(l)},[r]);if(i.error&&O(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}export{p as A,v as C,l as D,h as E,E as M,i as N,y as O,r as P,u as S,g as T,de as _,Ee as a,M as b,Se as c,xe as d,Z as f,H as g,me as h,Te as i,S as j,x as k,we as l,X as m,ke as n,Q as o,_e as p,$ as r,Oe as s,Ae as t,Ce as u,le as v,_ as w,j as x,ue as y}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/useNavigate-VRicZWJI.js b/apps/web-ui/.output/public/assets/useNavigate-VRicZWJI.js new file mode 100644 index 0000000..cf941d7 --- /dev/null +++ b/apps/web-ui/.output/public/assets/useNavigate-VRicZWJI.js @@ -0,0 +1 @@ +import{f as e,h as t}from"./src-C0xjWfnx.js";var n=t(e(),1),r=n.use,i=typeof window<`u`?n.useLayoutEffect:n.useEffect;function a(e){let t=n.useRef({value:e,prev:null}),r=t.current.value;return e!==r&&(t.current={value:e,prev:r}),t.current.prev}function o(e,t,r={},i={}){n.useEffect(()=>{if(!e.current||i.disabled||typeof IntersectionObserver!=`function`)return;let n=new IntersectionObserver(([e])=>{t(e)},r);return n.observe(e.current),()=>{n.disconnect()}},[t,r,i.disabled,e])}function s(e){let t=n.useRef(null);return n.useImperativeHandle(e,()=>t.current,[]),t}var c=n.createContext(null);function l(e){return n.useContext(c)}function u(e){let t=l();return n.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}export{s as a,a as c,r as i,l as n,o,c as r,i as s,u as t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/assets/zap-CufcM84a.js b/apps/web-ui/.output/public/assets/zap-CufcM84a.js new file mode 100644 index 0000000..8525ecc --- /dev/null +++ b/apps/web-ui/.output/public/assets/zap-CufcM84a.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon-7nArgiy8.js";var t=e(`Zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]);export{t}; \ No newline at end of file diff --git a/apps/web-ui/.output/public/favicon.ico b/apps/web-ui/.output/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 zcma);c{J4h9>;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= z!sii`1giyH7EKL_+Wi0ab<)&E_0KD!3Rp2^HNB*K2@PHCs4PWSA32*-^7d{9nH2_E zmC{C*N*)(vEF1_aMamw2A{ZH5aIDqiabnFdJ|y0%aS|64E$`s2ccV~3lR!u<){eS` z#^Mx6o(iP1Ix%4dv`t@!&Za-K@mTm#vadc{0aWDV*_%EiGK7qMC_(`exc>-$Gb9~W!w_^{*pYRm~G zBN{nA;cm^w$VWg1O^^<6vY`1XCD|s_zv*g*5&V#wv&s#h$xlUilPe4U@I&UXZbL z0)%9Uj&@yd03n;!7do+bfixH^FeZ-Ema}s;DQX2gY+7g0s(9;`8GyvPY1*vxiF&|w z>!vA~GA<~JUqH}d;DfBSi^IT*#lrzXl$fNpq0_T1tA+`A$1?(gLb?e#0>UELvljtQ zK+*74m0jn&)5yk8mLBv;=@}c{t0ztT<v;Avck$S6D`Z)^c0(jiwKhQsn|LDRY&w(Fmi91I7H6S;b0XM{e zXp0~(T@k_r-!jkLwd1_Vre^v$G4|kh4}=Gi?$AaJ)3I+^m|Zyj#*?Kp@w(lQdJZf4 z#|IJW5z+S^e9@(6hW6N~{pj8|NO*>1)E=%?nNUAkmv~OY&ZV;m-%?pQ_11)hAr0oAwILrlsGawpxx4D43J&K=n+p3WLnlDsQ$b(9+4 z?mO^hmV^F8MV{4Lx>(Q=aHhQ1){0d*(e&s%G=i5rq3;t{JC zmgbn5Nkl)t@fPH$v;af26lyhH!k+#}_&aBK4baYPbZy$5aFx4}ka&qxl z$=Rh$W;U)>-=S-0=?7FH9dUAd2(q#4TCAHky!$^~;Dz^j|8_wuKc*YzfdAht@Q&ror?91Dm!N03=4=O!a)I*0q~p0g$Fm$pmr$ zb;wD;STDIi$@M%y1>p&_>%?UP($15gou_ue1u0!4(%81;qcIW8NyxFEvXpiJ|H4wz z*mFT(qVx1FKufG11hByuX%lPk4t#WZ{>8ka2efjY`~;AL6vWyQKpJun2nRiZYDij$ zP>4jQXPaP$UC$yIVgGa)jDV;F0l^n(V=HMRB5)20V7&r$jmk{UUIe zVjKroK}JAbD>B`2cwNQ&GDLx8{pg`7hbA~grk|W6LgiZ`8y`{Iq0i>t!3p2}MS6S+ zO_ruKyAElt)rdS>CtF7j{&6rP-#c=7evGMt7B6`7HG|-(WL`bDUAjyn+k$mx$CH;q2Dz4x;cPP$hW=`pFfLO)!jaCL@V2+F)So3}vg|%O*^T1j>C2lx zsURO-zIJC$^$g2byVbRIo^w>UxK}74^TqUiRR#7s_X$e)$6iYG1(PcW7un-va-S&u zHk9-6Zn&>T==A)lM^D~bk{&rFzCi35>UR!ZjQkdSiNX*-;l4z9j*7|q`TBl~Au`5& z+c)*8?#-tgUR$Zd%Q3bs96w6k7q@#tUn`5rj+r@_sAVVLqco|6O{ILX&U-&-cbVa3 zY?ngHR@%l{;`ri%H*0EhBWrGjv!LE4db?HEWb5mu*t@{kv|XwK8?npOshmzf=vZA@ zVSN9sL~!sn?r(AK)Q7Jk2(|M67Uy3I{eRy z_l&Y@A>;vjkWN5I2xvFFTLX0i+`{qz7C_@bo`ZUzDugfq4+>a3?1v%)O+YTd6@Ul7 zAfLfm=nhZ`)P~&v90$&UcF+yXm9sq!qCx3^9gzIcO|Y(js^Fj)Rvq>nQAHI92ap=P z10A4@prk+AGWCb`2)dQYFuR$|H6iDE8p}9a?#nV2}LBCoCf(Xi2@szia7#gY>b|l!-U`c}@ zLdhvQjc!BdLJvYvzzzngnw51yRYCqh4}$oRCy-z|v3Hc*d|?^Wj=l~18*E~*cR_kU z{XsxM1i{V*4GujHQ3DBpl2w4FgFR48Nma@HPgnyKoIEY-MqmMeY=I<%oG~l!f<+FN z1ZY^;10j4M4#HYXP zw5eJpA_y(>uLQ~OucgxDLuf}fVs272FaMxhn4xnDGIyLXnw>Xsd^J8XhcWIwIoQ9} z%FoSJTAGW(SRGwJwb=@pY7r$uQRK3Zd~XbxU)ts!4XsJrCycrWSI?e!IqwqIR8+Jh zlRjZ`UO1I!BtJR_2~7AbkbSm%XQqxEPkz6BTGWx8e}nQ=w7bZ|eVP4?*Tb!$(R)iC z9)&%bS*u(lXqzitAN)Oo=&Ytn>%Hzjc<5liuPi>zC_nw;Z0AE3Y$Jao_Q90R-gl~5 z_xAb2J%eArrC1CN4G$}-zVvCqF1;H;abAu6G*+PDHSYFx@Tdbfox*uEd3}BUyYY-l zTfEsOqsi#f9^FoLO;ChK<554qkri&Av~SIM*{fEYRE?vH7pTAOmu2pz3X?Wn*!ROX ztd54huAk&mFBemMooL33RV-*1f0Q3_(7hl$<#*|WF9P!;r;4_+X~k~uKEqdzZ$5Al zV63XN@)j$FN#cCD;ek1R#l zv%pGrhB~KWgoCj%GT?%{@@o(AJGt*PG#l3i>lhmb_twKH^EYvacVY-6bsCl5*^~L0 zonm@lk2UvvTKr2RS%}T>^~EYqdL1q4nD%0n&Xqr^cK^`J5W;lRRB^R-O8b&HENO||mo0xaD+S=I8RTlIfVgqN@SXDr2&-)we--K7w= zJVU8?Z+7k9dy;s;^gDkQa`0nz6N{T?(A&Iz)2!DEecLyRa&FI!id#5Z7B*O2=PsR0 zEvc|8{NS^)!d)MDX(97Xw}m&kEO@5jqRaDZ!+%`wYOI<23q|&js`&o4xvjP7D_xv@ z5hEwpsp{HezI9!~6O{~)lLR@oF7?J7i>1|5a~UuoN=q&6N}EJPV_GD`&M*v8Y`^2j zKII*d_@Fi$+i*YEW+Hbzn{iQk~yP z>7N{S4)r*!NwQ`(qcN#8SRQsNK6>{)X12nbF`*7#ecO7I)Q$uZsV+xS4E7aUn+U(K baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/apps/web-ui/.output/public/logo192.png b/apps/web-ui/.output/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/apps/web-ui/.output/public/manifest.json b/apps/web-ui/.output/public/manifest.json new file mode 100644 index 0000000..078ef50 --- /dev/null +++ b/apps/web-ui/.output/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "TanStack App", + "name": "Create TanStack App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/apps/web-ui/.output/public/robots.txt b/apps/web-ui/.output/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/apps/web-ui/.output/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/apps/web-ui/.output/server/__23tanstack-start-plugin-adapters-y_fshQDY.mjs b/apps/web-ui/.output/server/__23tanstack-start-plugin-adapters-y_fshQDY.mjs new file mode 100644 index 0000000..c053a05 --- /dev/null +++ b/apps/web-ui/.output/server/__23tanstack-start-plugin-adapters-y_fshQDY.mjs @@ -0,0 +1,5 @@ +//#region node_modules/.nitro/vite/services/ssr/assets/__23tanstack-start-plugin-adapters-y_fshQDY.js +var pluginSerializationAdapters = []; +var hasPluginAdapters = false; +//#endregion +export { hasPluginAdapters, pluginSerializationAdapters }; diff --git a/apps/web-ui/.output/server/_chunks/ssr-renderer.mjs b/apps/web-ui/.output/server/_chunks/ssr-renderer.mjs new file mode 100644 index 0000000..2aae755 --- /dev/null +++ b/apps/web-ui/.output/server/_chunks/ssr-renderer.mjs @@ -0,0 +1,15 @@ +import { n as HTTPError, o as toRequest } from "../_libs/h3+rou3+srvx.mjs"; +//#region node_modules/nitro/dist/runtime/vite.mjs +function fetchViteEnv(viteEnvName, input, init) { + const viteEnv = (globalThis.__nitro_vite_envs__ || {})[viteEnvName]; + if (!viteEnv) throw HTTPError.status(404); + return Promise.resolve(viteEnv.fetch(toRequest(input, init))); +} +//#endregion +//#region node_modules/nitro/dist/runtime/internal/vite/ssr-renderer.mjs +/** @param {{ req: Request }} HTTPEvent */ +function ssrRenderer({ req }) { + return fetchViteEnv("ssr", req); +} +//#endregion +export { ssrRenderer as default }; diff --git a/apps/web-ui/.output/server/_libs/@tanstack/react-router+[...].mjs b/apps/web-ui/.output/server/_libs/@tanstack/react-router+[...].mjs new file mode 100644 index 0000000..13c814a --- /dev/null +++ b/apps/web-ui/.output/server/_libs/@tanstack/react-router+[...].mjs @@ -0,0 +1,14271 @@ +import { i as __require, o as __toESM, t as __commonJSMin } from "../../_runtime.mjs"; +import { h as require_react, m as require_jsx_runtime } from "../react+tanstack__react-query.mjs"; +import { r as parseHref } from "../tanstack__history.mjs"; +import { PassThrough, Readable } from "node:stream"; +import { ReadableStream as ReadableStream$1 } from "node:stream/web"; +//#region node_modules/@tanstack/react-router/dist/esm/utils.js +var import_react = /* @__PURE__ */ __toESM(require_react(), 1); +/** +* React.use if available (React 19+), undefined otherwise. +* Use dynamic lookup to avoid Webpack compilation errors with React 18. +*/ +var reactUse = import_react.use; +typeof window !== "undefined" ? import_react.useLayoutEffect : import_react.useEffect; +/** +* React hook to wrap `IntersectionObserver`. +* +* This hook will create an `IntersectionObserver` and observe the ref passed to it. +* +* When the intersection changes, the callback will be called with the `IntersectionObserverEntry`. +* +* @param ref - The ref to observe +* @param intersectionObserverOptions - The options to pass to the IntersectionObserver +* @param options - The options to pass to the hook +* @param callback - The callback to call when the intersection changes +* @returns The IntersectionObserver instance +* @example +* ```tsx +* const MyComponent = () => { +* const ref = React.useRef(null) +* useIntersectionObserver( +* ref, +* (entry) => { doSomething(entry) }, +* { rootMargin: '10px' }, +* { disabled: false } +* ) +* return
+* ``` +*/ +function useIntersectionObserver(ref, callback, intersectionObserverOptions = {}, options = {}) { + import_react.useEffect(() => { + if (!ref.current || options.disabled || typeof IntersectionObserver !== "function") return; + const observer = new IntersectionObserver(([entry]) => { + callback(entry); + }, intersectionObserverOptions); + observer.observe(ref.current); + return () => { + observer.disconnect(); + }; + }, [ + callback, + intersectionObserverOptions, + options.disabled, + ref + ]); +} +/** +* React hook to take a `React.ForwardedRef` and returns a `ref` that can be used on a DOM element. +* +* @param ref - The forwarded ref +* @returns The inner ref returned by `useRef` +* @example +* ```tsx +* const MyComponent = React.forwardRef((props, ref) => { +* const innerRef = useForwardedRef(ref) +* return
+* }) +* ``` +*/ +function useForwardedRef(ref) { + const innerRef = import_react.useRef(null); + import_react.useImperativeHandle(ref, () => innerRef.current, []); + return innerRef; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/utils.js +/** +* Return the last element of an array. +* Intended for non-empty arrays used within router internals. +*/ +function last(arr) { + return arr[arr.length - 1]; +} +function isFunction(d) { + return typeof d === "function"; +} +/** +* Apply a value-or-updater to a previous value. +* Accepts either a literal value or a function of the previous value. +*/ +function functionalUpdate(updater, previous) { + if (isFunction(updater)) return updater(previous); + return updater; +} +var hasOwn = Object.prototype.hasOwnProperty; +function hasKeys(obj) { + for (const key in obj) if (hasOwn.call(obj, key)) return true; + return false; +} +var createNull = () => Object.create(null); +var nullReplaceEqualDeep = (prev, next) => replaceEqualDeep(prev, next, createNull); +/** +* This function returns `prev` if `_next` is deeply equal. +* If not, it will replace any deeply equal children of `b` with those of `a`. +* This can be used for structural sharing between immutable JSON values for example. +* Do not use this with signals +*/ +function replaceEqualDeep(prev, _next, _makeObj = () => ({}), _depth = 0) { + return _next; +} +function isPlainObject(o) { + if (!hasObjectPrototype(o)) return false; + const ctor = o.constructor; + if (typeof ctor === "undefined") return true; + const prot = ctor.prototype; + if (!hasObjectPrototype(prot)) return false; + if (!prot.hasOwnProperty("isPrototypeOf")) return false; + return true; +} +function hasObjectPrototype(o) { + return Object.prototype.toString.call(o) === "[object Object]"; +} +/** +* Perform a deep equality check with options for partial comparison and +* ignoring `undefined` values. Optimized for router state comparisons. +*/ +function deepEqual(a, b, opts) { + if (a === b) return true; + if (typeof a !== typeof b) return false; + if (Array.isArray(a) && Array.isArray(b)) { + if (a.length !== b.length) return false; + for (let i = 0, l = a.length; i < l; i++) if (!deepEqual(a[i], b[i], opts)) return false; + return true; + } + if (isPlainObject(a) && isPlainObject(b)) { + const ignoreUndefined = opts?.ignoreUndefined ?? true; + if (opts?.partial) { + for (const k in b) if (!ignoreUndefined || b[k] !== void 0) { + if (!deepEqual(a[k], b[k], opts)) return false; + } + return true; + } + let aCount = 0; + if (!ignoreUndefined) aCount = Object.keys(a).length; + else for (const k in a) if (a[k] !== void 0) aCount++; + let bCount = 0; + for (const k in b) if (!ignoreUndefined || b[k] !== void 0) { + bCount++; + if (bCount > aCount || !deepEqual(a[k], b[k], opts)) return false; + } + return aCount === bCount; + } + return false; +} +/** +* Create a promise with exposed resolve/reject and status fields. +* Useful for coordinating async router lifecycle operations. +*/ +function createControlledPromise(onResolve) { + let resolveLoadPromise; + let rejectLoadPromise; + const controlledPromise = new Promise((resolve, reject) => { + resolveLoadPromise = resolve; + rejectLoadPromise = reject; + }); + controlledPromise.status = "pending"; + controlledPromise.resolve = (value) => { + controlledPromise.status = "resolved"; + controlledPromise.value = value; + resolveLoadPromise(value); + onResolve?.(value); + }; + controlledPromise.reject = (e) => { + controlledPromise.status = "rejected"; + rejectLoadPromise(e); + }; + return controlledPromise; +} +/** +* Heuristically detect dynamic import "module not found" errors +* across major browsers for lazy route component handling. +*/ +function isModuleNotFoundError(error) { + if (typeof error?.message !== "string") return false; + return error.message.startsWith("Failed to fetch dynamically imported module") || error.message.startsWith("error loading dynamically imported module") || error.message.startsWith("Importing a module script failed"); +} +function isPromise(value) { + return Boolean(value && typeof value === "object" && typeof value.then === "function"); +} +/** +* Remove control characters that can cause open redirect vulnerabilities. +* Characters like \r (CR) and \n (LF) can trick URL parsers into interpreting +* paths like "/\r/evil.com" as "http://evil.com". +*/ +function sanitizePathSegment(segment) { + return segment.replace(/[\x00-\x1f\x7f]/g, ""); +} +function decodeSegment(segment) { + let decoded; + try { + decoded = decodeURI(segment); + } catch { + decoded = segment.replaceAll(/%[0-9A-F]{2}/gi, (match) => { + try { + return decodeURI(match); + } catch { + return match; + } + }); + } + return sanitizePathSegment(decoded); +} +/** +* Default list of URL protocols to allow in links, redirects, and navigation. +* Any absolute URL protocol not in this list is treated as dangerous by default. +*/ +var DEFAULT_PROTOCOL_ALLOWLIST = [ + "http:", + "https:", + "mailto:", + "tel:" +]; +/** +* Check if a URL string uses a protocol that is not in the allowlist. +* Returns true for blocked protocols like javascript:, blob:, data:, etc. +* +* The URL constructor correctly normalizes: +* - Mixed case (JavaScript: → javascript:) +* - Whitespace/control characters (java\nscript: → javascript:) +* - Leading whitespace +* +* For relative URLs (no protocol), returns false (safe). +* +* @param url - The URL string to check +* @param allowlist - Set of protocols to allow +* @returns true if the URL uses a protocol that is not allowed +*/ +function isDangerousProtocol(url, allowlist) { + if (!url) return false; + try { + const parsed = new URL(url); + return !allowlist.has(parsed.protocol); + } catch { + return false; + } +} +var HTML_ESCAPE_LOOKUP = { + "&": "\\u0026", + ">": "\\u003e", + "<": "\\u003c", + "\u2028": "\\u2028", + "\u2029": "\\u2029" +}; +var HTML_ESCAPE_REGEX = /[&><\u2028\u2029]/g; +/** +* Escape HTML special characters in a string to prevent XSS attacks +* when embedding strings in script tags during SSR. +* +* This is essential for preventing XSS vulnerabilities when user-controlled +* content is embedded in inline scripts. +*/ +function escapeHtml(str) { + return str.replace(HTML_ESCAPE_REGEX, (match) => HTML_ESCAPE_LOOKUP[match]); +} +function decodePath(path) { + if (!path) return { + path, + handledProtocolRelativeURL: false + }; + if (!/[%\\\x00-\x1f\x7f]/.test(path) && !path.startsWith("//")) return { + path, + handledProtocolRelativeURL: false + }; + const re = /%25|%5C/gi; + let cursor = 0; + let result = ""; + let match; + while (null !== (match = re.exec(path))) { + result += decodeSegment(path.slice(cursor, match.index)) + match[0]; + cursor = re.lastIndex; + } + result = result + decodeSegment(cursor ? path.slice(cursor) : path); + let handledProtocolRelativeURL = false; + if (result.startsWith("//")) { + handledProtocolRelativeURL = true; + result = "/" + result.replace(/^\/+/, ""); + } + return { + path: result, + handledProtocolRelativeURL + }; +} +/** +* Encodes a path the same way `new URL()` would, but without the overhead of full URL parsing. +* +* This function encodes: +* - Whitespace characters (spaces → %20, tabs → %09, etc.) +* - Non-ASCII/Unicode characters (emojis, accented characters, etc.) +* +* It preserves: +* - Already percent-encoded sequences (won't double-encode %2F, %25, etc.) +* - ASCII special characters valid in URL paths (@, $, &, +, etc.) +* - Forward slashes as path separators +* +* Used to generate proper href values for SSR without constructing URL objects. +* +* @example +* encodePathLikeUrl('/path/file name.pdf') // '/path/file%20name.pdf' +* encodePathLikeUrl('/path/日本語') // '/path/%E6%97%A5%E6%9C%AC%E8%AA%9E' +* encodePathLikeUrl('/path/already%20encoded') // '/path/already%20encoded' (preserved) +*/ +function encodePathLikeUrl(path) { + if (!/\s|[^\u0000-\u007F]/.test(path)) return path; + return path.replace(/\s|[^\u0000-\u007F]/gu, encodeURIComponent); +} +function arraysEqual(a, b) { + if (a === b) return true; + if (a.length !== b.length) return false; + for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false; + return true; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/invariant.js +function invariant() { + throw new Error("Invariant failed"); +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/lru-cache.js +function createLRUCache(max) { + const cache = /* @__PURE__ */ new Map(); + let oldest; + let newest; + const touch = (entry) => { + if (!entry.next) return; + if (!entry.prev) { + entry.next.prev = void 0; + oldest = entry.next; + entry.next = void 0; + if (newest) { + entry.prev = newest; + newest.next = entry; + } + } else { + entry.prev.next = entry.next; + entry.next.prev = entry.prev; + entry.next = void 0; + if (newest) { + newest.next = entry; + entry.prev = newest; + } + } + newest = entry; + }; + return { + get(key) { + const entry = cache.get(key); + if (!entry) return void 0; + touch(entry); + return entry.value; + }, + set(key, value) { + if (cache.size >= max && oldest) { + const toDelete = oldest; + cache.delete(toDelete.key); + if (toDelete.next) { + oldest = toDelete.next; + toDelete.next.prev = void 0; + } + if (toDelete === newest) newest = void 0; + } + const existing = cache.get(key); + if (existing) { + existing.value = value; + touch(existing); + } else { + const entry = { + key, + value, + prev: newest + }; + if (newest) newest.next = entry; + newest = entry; + if (!oldest) oldest = entry; + cache.set(key, entry); + } + }, + clear() { + cache.clear(); + oldest = void 0; + newest = void 0; + } + }; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/new-process-route-tree.js +var SEGMENT_TYPE_INDEX = 4; +var SEGMENT_TYPE_PATHLESS = 5; +function getOpenAndCloseBraces(part) { + const openBrace = part.indexOf("{"); + if (openBrace === -1) return null; + const closeBrace = part.indexOf("}", openBrace); + if (closeBrace === -1) return null; + if (openBrace + 1 >= part.length) return null; + return [openBrace, closeBrace]; +} +/** +* Populates the `output` array with the parsed representation of the given `segment` string. +* +* Usage: +* ```ts +* let output +* let cursor = 0 +* while (cursor < path.length) { +* output = parseSegment(path, cursor, output) +* const end = output[5] +* cursor = end + 1 +* ``` +* +* `output` is stored outside to avoid allocations during repeated calls. It doesn't need to be typed +* or initialized, it will be done automatically. +*/ +function parseSegment(path, start, output = new Uint16Array(6)) { + const next = path.indexOf("/", start); + const end = next === -1 ? path.length : next; + const part = path.substring(start, end); + if (!part || !part.includes("$")) { + output[0] = 0; + output[1] = start; + output[2] = start; + output[3] = end; + output[4] = end; + output[5] = end; + return output; + } + if (part === "$") { + const total = path.length; + output[0] = 2; + output[1] = start; + output[2] = start; + output[3] = total; + output[4] = total; + output[5] = total; + return output; + } + if (part.charCodeAt(0) === 36) { + output[0] = 1; + output[1] = start; + output[2] = start + 1; + output[3] = end; + output[4] = end; + output[5] = end; + return output; + } + const braces = getOpenAndCloseBraces(part); + if (braces) { + const [openBrace, closeBrace] = braces; + const firstChar = part.charCodeAt(openBrace + 1); + if (firstChar === 45) { + if (openBrace + 2 < part.length && part.charCodeAt(openBrace + 2) === 36) { + const paramStart = openBrace + 3; + const paramEnd = closeBrace; + if (paramStart < paramEnd) { + output[0] = 3; + output[1] = start + openBrace; + output[2] = start + paramStart; + output[3] = start + paramEnd; + output[4] = start + closeBrace + 1; + output[5] = end; + return output; + } + } + } else if (firstChar === 36) { + const dollarPos = openBrace + 1; + const afterDollar = openBrace + 2; + if (afterDollar === closeBrace) { + output[0] = 2; + output[1] = start + openBrace; + output[2] = start + dollarPos; + output[3] = start + afterDollar; + output[4] = start + closeBrace + 1; + output[5] = path.length; + return output; + } + output[0] = 1; + output[1] = start + openBrace; + output[2] = start + afterDollar; + output[3] = start + closeBrace; + output[4] = start + closeBrace + 1; + output[5] = end; + return output; + } + } + output[0] = 0; + output[1] = start; + output[2] = start; + output[3] = end; + output[4] = end; + output[5] = end; + return output; +} +/** +* Recursively parses the segments of the given route tree and populates a segment trie. +* +* @param data A reusable Uint16Array for parsing segments. (non important, we're just avoiding allocations) +* @param route The current route to parse. +* @param start The starting index for parsing within the route's full path. +* @param node The current segment node in the trie to populate. +* @param onRoute Callback invoked for each route processed. +*/ +function parseSegments(defaultCaseSensitive, data, route, start, node, depth, onRoute) { + onRoute?.(route); + let cursor = start; + { + const path = route.fullPath ?? route.from; + const length = path.length; + const caseSensitive = route.options?.caseSensitive ?? defaultCaseSensitive; + const parseParams = route.options?.params?.parse ?? route.options?.parseParams; + while (cursor < length) { + const segment = parseSegment(path, cursor, data); + let nextNode; + const start = cursor; + const end = segment[5]; + cursor = end + 1; + depth++; + switch (segment[0]) { + case 0: { + const value = path.substring(segment[2], segment[3]); + if (caseSensitive) { + const existingNode = node.static?.get(value); + if (existingNode) nextNode = existingNode; + else { + node.static ??= /* @__PURE__ */ new Map(); + const next = createStaticNode(route.fullPath ?? route.from); + next.parent = node; + next.depth = depth; + nextNode = next; + node.static.set(value, next); + } + } else { + const name = value.toLowerCase(); + const existingNode = node.staticInsensitive?.get(name); + if (existingNode) nextNode = existingNode; + else { + node.staticInsensitive ??= /* @__PURE__ */ new Map(); + const next = createStaticNode(route.fullPath ?? route.from); + next.parent = node; + next.depth = depth; + nextNode = next; + node.staticInsensitive.set(name, next); + } + } + break; + } + case 1: { + const prefix_raw = path.substring(start, segment[1]); + const suffix_raw = path.substring(segment[4], end); + const actuallyCaseSensitive = caseSensitive && !!(prefix_raw || suffix_raw); + const prefix = !prefix_raw ? void 0 : actuallyCaseSensitive ? prefix_raw : prefix_raw.toLowerCase(); + const suffix = !suffix_raw ? void 0 : actuallyCaseSensitive ? suffix_raw : suffix_raw.toLowerCase(); + const existingNode = !parseParams && node.dynamic?.find((s) => !s.parse && s.caseSensitive === actuallyCaseSensitive && s.prefix === prefix && s.suffix === suffix); + if (existingNode) nextNode = existingNode; + else { + const next = createDynamicNode(1, route.fullPath ?? route.from, actuallyCaseSensitive, prefix, suffix); + nextNode = next; + next.depth = depth; + next.parent = node; + node.dynamic ??= []; + node.dynamic.push(next); + } + break; + } + case 3: { + const prefix_raw = path.substring(start, segment[1]); + const suffix_raw = path.substring(segment[4], end); + const actuallyCaseSensitive = caseSensitive && !!(prefix_raw || suffix_raw); + const prefix = !prefix_raw ? void 0 : actuallyCaseSensitive ? prefix_raw : prefix_raw.toLowerCase(); + const suffix = !suffix_raw ? void 0 : actuallyCaseSensitive ? suffix_raw : suffix_raw.toLowerCase(); + const existingNode = !parseParams && node.optional?.find((s) => !s.parse && s.caseSensitive === actuallyCaseSensitive && s.prefix === prefix && s.suffix === suffix); + if (existingNode) nextNode = existingNode; + else { + const next = createDynamicNode(3, route.fullPath ?? route.from, actuallyCaseSensitive, prefix, suffix); + nextNode = next; + next.parent = node; + next.depth = depth; + node.optional ??= []; + node.optional.push(next); + } + break; + } + case 2: { + const prefix_raw = path.substring(start, segment[1]); + const suffix_raw = path.substring(segment[4], end); + const actuallyCaseSensitive = caseSensitive && !!(prefix_raw || suffix_raw); + const prefix = !prefix_raw ? void 0 : actuallyCaseSensitive ? prefix_raw : prefix_raw.toLowerCase(); + const suffix = !suffix_raw ? void 0 : actuallyCaseSensitive ? suffix_raw : suffix_raw.toLowerCase(); + const next = createDynamicNode(2, route.fullPath ?? route.from, actuallyCaseSensitive, prefix, suffix); + nextNode = next; + next.parent = node; + next.depth = depth; + node.wildcard ??= []; + node.wildcard.push(next); + } + } + node = nextNode; + } + if (parseParams && route.children && !route.isRoot && route.id && route.id.charCodeAt(route.id.lastIndexOf("/") + 1) === 95) { + const pathlessNode = createStaticNode(route.fullPath ?? route.from); + pathlessNode.kind = SEGMENT_TYPE_PATHLESS; + pathlessNode.parent = node; + depth++; + pathlessNode.depth = depth; + node.pathless ??= []; + node.pathless.push(pathlessNode); + node = pathlessNode; + } + const isLeaf = (route.path || !route.children) && !route.isRoot; + if (isLeaf && path.endsWith("/")) { + const indexNode = createStaticNode(route.fullPath ?? route.from); + indexNode.kind = SEGMENT_TYPE_INDEX; + indexNode.parent = node; + depth++; + indexNode.depth = depth; + node.index = indexNode; + node = indexNode; + } + node.parse = parseParams ?? null; + if (isLeaf && !node.route) { + node.route = route; + node.fullPath = route.fullPath ?? route.from; + } + } + if (route.children) for (const child of route.children) parseSegments(defaultCaseSensitive, data, child, cursor, node, depth, onRoute); +} +function sortDynamic(a, b) { + if (a.parse && !b.parse) return -1; + if (!a.parse && b.parse) return 1; + if (a.prefix && b.prefix && a.prefix !== b.prefix) { + if (a.prefix.startsWith(b.prefix)) return -1; + if (b.prefix.startsWith(a.prefix)) return 1; + } + if (a.suffix && b.suffix && a.suffix !== b.suffix) { + if (a.suffix.endsWith(b.suffix)) return -1; + if (b.suffix.endsWith(a.suffix)) return 1; + } + if (a.prefix && !b.prefix) return -1; + if (!a.prefix && b.prefix) return 1; + if (a.suffix && !b.suffix) return -1; + if (!a.suffix && b.suffix) return 1; + if (a.caseSensitive && !b.caseSensitive) return -1; + if (!a.caseSensitive && b.caseSensitive) return 1; + return 0; +} +function sortTreeNodes(node) { + if (node.pathless) for (const child of node.pathless) sortTreeNodes(child); + if (node.static) for (const child of node.static.values()) sortTreeNodes(child); + if (node.staticInsensitive) for (const child of node.staticInsensitive.values()) sortTreeNodes(child); + if (node.dynamic?.length) { + node.dynamic.sort(sortDynamic); + for (const child of node.dynamic) sortTreeNodes(child); + } + if (node.optional?.length) { + node.optional.sort(sortDynamic); + for (const child of node.optional) sortTreeNodes(child); + } + if (node.wildcard?.length) { + node.wildcard.sort(sortDynamic); + for (const child of node.wildcard) sortTreeNodes(child); + } +} +function createStaticNode(fullPath) { + return { + kind: 0, + depth: 0, + pathless: null, + index: null, + static: null, + staticInsensitive: null, + dynamic: null, + optional: null, + wildcard: null, + route: null, + fullPath, + parent: null, + parse: null + }; +} +/** +* Keys must be declared in the same order as in `SegmentNode` type, +* to ensure they are represented as the same object class in the engine. +*/ +function createDynamicNode(kind, fullPath, caseSensitive, prefix, suffix) { + return { + kind, + depth: 0, + pathless: null, + index: null, + static: null, + staticInsensitive: null, + dynamic: null, + optional: null, + wildcard: null, + route: null, + fullPath, + parent: null, + parse: null, + caseSensitive, + prefix, + suffix + }; +} +function processRouteMasks(routeList, processedTree) { + const segmentTree = createStaticNode("/"); + const data = new Uint16Array(6); + for (const route of routeList) parseSegments(false, data, route, 1, segmentTree, 0); + sortTreeNodes(segmentTree); + processedTree.masksTree = segmentTree; + processedTree.flatCache = createLRUCache(1e3); +} +/** +* Take an arbitrary list of routes, create a tree from them (if it hasn't been created already), and match a path against it. +*/ +function findFlatMatch(path, processedTree) { + path ||= "/"; + const cached = processedTree.flatCache.get(path); + if (cached) return cached; + const result = findMatch(path, processedTree.masksTree); + processedTree.flatCache.set(path, result); + return result; +} +/** +* @deprecated keep until v2 so that `router.matchRoute` can keep not caring about the actual route tree +*/ +function findSingleMatch(from, caseSensitive, fuzzy, path, processedTree) { + from ||= "/"; + path ||= "/"; + const key = caseSensitive ? `case\0${from}` : from; + let tree = processedTree.singleCache.get(key); + if (!tree) { + tree = createStaticNode("/"); + parseSegments(caseSensitive, new Uint16Array(6), { from }, 1, tree, 0); + processedTree.singleCache.set(key, tree); + } + return findMatch(path, tree, fuzzy); +} +function findRouteMatch(path, processedTree, fuzzy = false) { + const key = fuzzy ? path : `nofuzz\0${path}`; + const cached = processedTree.matchCache.get(key); + if (cached !== void 0) return cached; + path ||= "/"; + let result; + try { + result = findMatch(path, processedTree.segmentTree, fuzzy); + } catch (err) { + if (err instanceof URIError) result = null; + else throw err; + } + if (result) result.branch = buildRouteBranch(result.route); + processedTree.matchCache.set(key, result); + return result; +} +/** Trim trailing slashes (except preserving root '/'). */ +function trimPathRight$1(path) { + return path === "/" ? path : path.replace(/\/{1,}$/, ""); +} +/** +* Processes a route tree into a segment trie for efficient path matching. +* Also builds lookup maps for routes by ID and by trimmed full path. +*/ +function processRouteTree(routeTree, caseSensitive = false, initRoute) { + const segmentTree = createStaticNode(routeTree.fullPath); + const data = new Uint16Array(6); + const routesById = {}; + const routesByPath = {}; + let index = 0; + parseSegments(caseSensitive, data, routeTree, 1, segmentTree, 0, (route) => { + initRoute?.(route, index); + if (route.id in routesById) invariant(); + routesById[route.id] = route; + if (index !== 0 && route.path) { + const trimmedFullPath = trimPathRight$1(route.fullPath); + if (!routesByPath[trimmedFullPath] || route.fullPath.endsWith("/")) routesByPath[trimmedFullPath] = route; + } + index++; + }); + sortTreeNodes(segmentTree); + return { + processedTree: { + segmentTree, + singleCache: createLRUCache(1e3), + matchCache: createLRUCache(1e3), + flatCache: null, + masksTree: null + }, + routesById, + routesByPath + }; +} +function findMatch(path, segmentTree, fuzzy = false) { + const parts = path.split("/"); + const leaf = getNodeMatch(path, parts, segmentTree, fuzzy); + if (!leaf) return null; + const [rawParams] = extractParams(path, parts, leaf); + return { + route: leaf.node.route, + rawParams + }; +} +/** +* This function is "resumable": +* - the `leaf` input can contain `extract` and `rawParams` properties from a previous `extractParams` call +* - the returned `state` can be passed back as `extract` in a future call to continue extracting params from where we left off +* +* Inputs are *not* mutated. +*/ +function extractParams(path, parts, leaf) { + const list = buildBranch(leaf.node); + let nodeParts = null; + const rawParams = Object.create(null); + /** which segment of the path we're currently processing */ + let partIndex = leaf.extract?.part ?? 0; + /** which node of the route tree branch we're currently processing */ + let nodeIndex = leaf.extract?.node ?? 0; + /** index of the 1st character of the segment we're processing in the path string */ + let pathIndex = leaf.extract?.path ?? 0; + /** which fullPath segment we're currently processing */ + let segmentCount = leaf.extract?.segment ?? 0; + for (; nodeIndex < list.length; partIndex++, nodeIndex++, pathIndex++, segmentCount++) { + const node = list[nodeIndex]; + if (node.kind === SEGMENT_TYPE_INDEX) break; + if (node.kind === SEGMENT_TYPE_PATHLESS) { + segmentCount--; + partIndex--; + pathIndex--; + continue; + } + const part = parts[partIndex]; + const currentPathIndex = pathIndex; + if (part) pathIndex += part.length; + if (node.kind === 1) { + nodeParts ??= leaf.node.fullPath.split("/"); + const nodePart = nodeParts[segmentCount]; + const preLength = node.prefix?.length ?? 0; + if (nodePart.charCodeAt(preLength) === 123) { + const sufLength = node.suffix?.length ?? 0; + const name = nodePart.substring(preLength + 2, nodePart.length - sufLength - 1); + const value = part.substring(preLength, part.length - sufLength); + rawParams[name] = decodeURIComponent(value); + } else { + const name = nodePart.substring(1); + rawParams[name] = decodeURIComponent(part); + } + } else if (node.kind === 3) { + if (leaf.skipped & 1 << nodeIndex) { + partIndex--; + pathIndex = currentPathIndex - 1; + continue; + } + nodeParts ??= leaf.node.fullPath.split("/"); + const nodePart = nodeParts[segmentCount]; + const preLength = node.prefix?.length ?? 0; + const sufLength = node.suffix?.length ?? 0; + const name = nodePart.substring(preLength + 3, nodePart.length - sufLength - 1); + const value = node.suffix || node.prefix ? part.substring(preLength, part.length - sufLength) : part; + if (value) rawParams[name] = decodeURIComponent(value); + } else if (node.kind === 2) { + const n = node; + const value = path.substring(currentPathIndex + (n.prefix?.length ?? 0), path.length - (n.suffix?.length ?? 0)); + const splat = decodeURIComponent(value); + rawParams["*"] = splat; + rawParams._splat = splat; + break; + } + } + if (leaf.rawParams) Object.assign(rawParams, leaf.rawParams); + return [rawParams, { + part: partIndex, + node: nodeIndex, + path: pathIndex, + segment: segmentCount + }]; +} +function buildRouteBranch(route) { + const list = [route]; + while (route.parentRoute) { + route = route.parentRoute; + list.push(route); + } + list.reverse(); + return list; +} +function buildBranch(node) { + const list = Array(node.depth + 1); + do { + list[node.depth] = node; + node = node.parent; + } while (node); + return list; +} +function getNodeMatch(path, parts, segmentTree, fuzzy) { + if (path === "/" && segmentTree.index) return { + node: segmentTree.index, + skipped: 0 + }; + const trailingSlash = !last(parts); + const pathIsIndex = trailingSlash && path !== "/"; + const partsLength = parts.length - (trailingSlash ? 1 : 0); + const stack = [{ + node: segmentTree, + index: 1, + skipped: 0, + depth: 1, + statics: 0, + dynamics: 0, + optionals: 0 + }]; + let bestFuzzy = null; + let bestMatch = null; + while (stack.length) { + const frame = stack.pop(); + const { node, index, skipped, depth, statics, dynamics, optionals } = frame; + let { extract, rawParams } = frame; + if (node.kind === 2 && node.route && !isFrameMoreSpecific(bestMatch, frame)) continue; + if (node.parse) { + if (!validateParseParams(path, parts, frame)) continue; + rawParams = frame.rawParams; + extract = frame.extract; + } + if (fuzzy && node.route && node.kind !== SEGMENT_TYPE_INDEX && isFrameMoreSpecific(bestFuzzy, frame)) bestFuzzy = frame; + const isBeyondPath = index === partsLength; + if (isBeyondPath) { + if (node.route && (!pathIsIndex || node.kind === SEGMENT_TYPE_INDEX || node.kind === 2) && isFrameMoreSpecific(bestMatch, frame)) bestMatch = frame; + if (!node.optional && !node.wildcard && !node.index && !node.pathless) continue; + } + const part = isBeyondPath ? void 0 : parts[index]; + let lowerPart; + if (isBeyondPath && node.index) { + const indexFrame = { + node: node.index, + index, + skipped, + depth: depth + 1, + statics, + dynamics, + optionals, + extract, + rawParams + }; + let indexValid = true; + if (node.index.parse) { + if (!validateParseParams(path, parts, indexFrame)) indexValid = false; + } + if (indexValid) { + if (!dynamics && !optionals && !skipped && isPerfectStaticMatch(statics, partsLength)) return indexFrame; + if (isFrameMoreSpecific(bestMatch, indexFrame)) bestMatch = indexFrame; + } + } + if (node.wildcard) for (let i = node.wildcard.length - 1; i >= 0; i--) { + const segment = node.wildcard[i]; + const { prefix, suffix } = segment; + if (prefix) { + if (isBeyondPath) continue; + if (!(segment.caseSensitive ? part : lowerPart ??= part.toLowerCase()).startsWith(prefix)) continue; + } + if (suffix) { + if (isBeyondPath) continue; + const end = parts.slice(index).join("/").slice(-suffix.length); + if ((segment.caseSensitive ? end : end.toLowerCase()) !== suffix) continue; + } + stack.push({ + node: segment, + index: partsLength, + skipped, + depth: depth + 1, + statics, + dynamics, + optionals, + extract, + rawParams + }); + } + if (node.optional) { + const nextSkipped = skipped | 1 << depth; + const nextDepth = depth + 1; + for (let i = node.optional.length - 1; i >= 0; i--) { + const segment = node.optional[i]; + stack.push({ + node: segment, + index, + skipped: nextSkipped, + depth: nextDepth, + statics, + dynamics, + optionals, + extract, + rawParams + }); + } + if (!isBeyondPath) for (let i = node.optional.length - 1; i >= 0; i--) { + const segment = node.optional[i]; + const { prefix, suffix } = segment; + if (prefix || suffix) { + const casePart = segment.caseSensitive ? part : lowerPart ??= part.toLowerCase(); + if (prefix && !casePart.startsWith(prefix)) continue; + if (suffix && !casePart.endsWith(suffix)) continue; + } + stack.push({ + node: segment, + index: index + 1, + skipped, + depth: nextDepth, + statics, + dynamics, + optionals: optionals + segmentScore(partsLength, index), + extract, + rawParams + }); + } + } + if (!isBeyondPath && node.dynamic && part) for (let i = node.dynamic.length - 1; i >= 0; i--) { + const segment = node.dynamic[i]; + const { prefix, suffix } = segment; + if (prefix || suffix) { + const casePart = segment.caseSensitive ? part : lowerPart ??= part.toLowerCase(); + if (prefix && !casePart.startsWith(prefix)) continue; + if (suffix && !casePart.endsWith(suffix)) continue; + } + stack.push({ + node: segment, + index: index + 1, + skipped, + depth: depth + 1, + statics, + dynamics: dynamics + segmentScore(partsLength, index), + optionals, + extract, + rawParams + }); + } + if (!isBeyondPath && node.staticInsensitive) { + const match = node.staticInsensitive.get(lowerPart ??= part.toLowerCase()); + if (match) stack.push({ + node: match, + index: index + 1, + skipped, + depth: depth + 1, + statics: statics + segmentScore(partsLength, index), + dynamics, + optionals, + extract, + rawParams + }); + } + if (!isBeyondPath && node.static) { + const match = node.static.get(part); + if (match) stack.push({ + node: match, + index: index + 1, + skipped, + depth: depth + 1, + statics: statics + segmentScore(partsLength, index), + dynamics, + optionals, + extract, + rawParams + }); + } + if (node.pathless) { + const nextDepth = depth + 1; + for (let i = node.pathless.length - 1; i >= 0; i--) { + const segment = node.pathless[i]; + stack.push({ + node: segment, + index, + skipped, + depth: nextDepth, + statics, + dynamics, + optionals, + extract, + rawParams + }); + } + } + } + if (bestMatch) return bestMatch; + if (fuzzy && bestFuzzy) { + let sliceIndex = bestFuzzy.index; + for (let i = 0; i < bestFuzzy.index; i++) sliceIndex += parts[i].length; + const splat = sliceIndex === path.length ? "/" : path.slice(sliceIndex); + bestFuzzy.rawParams ??= Object.create(null); + bestFuzzy.rawParams["**"] = decodeURIComponent(splat); + return bestFuzzy; + } + return null; +} +function segmentScore(partsLength, index) { + return 2 ** (partsLength - index - 1); +} +function isPerfectStaticMatch(statics, partsLength) { + return statics === 2 ** (partsLength - 1) - 1; +} +function validateParseParams(path, parts, frame) { + let rawParams; + let state; + try { + [rawParams, state] = extractParams(path, parts, frame); + } catch { + return null; + } + frame.rawParams = rawParams; + frame.extract = state; + if (!frame.node.parse) return true; + try { + if (frame.node.parse(rawParams) === false) return null; + } catch {} + return true; +} +function isFrameMoreSpecific(prev, next) { + if (!prev) return true; + return next.statics > prev.statics || next.statics === prev.statics && (next.dynamics > prev.dynamics || next.dynamics === prev.dynamics && (next.optionals > prev.optionals || next.optionals === prev.optionals && ((next.node.kind === SEGMENT_TYPE_INDEX) > (prev.node.kind === SEGMENT_TYPE_INDEX) || next.node.kind === SEGMENT_TYPE_INDEX === (prev.node.kind === SEGMENT_TYPE_INDEX) && next.depth > prev.depth))); +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/path.js +/** Join path segments, cleaning duplicate slashes between parts. */ +function joinPaths(paths) { + return cleanPath(paths.filter((val) => { + return val !== void 0; + }).join("/")); +} +/** Remove repeated slashes from a path string. */ +function cleanPath(path) { + return path.replace(/\/{2,}/g, "/"); +} +/** Trim leading slashes (except preserving root '/'). */ +function trimPathLeft(path) { + return path === "/" ? path : path.replace(/^\/{1,}/, ""); +} +/** Trim trailing slashes (except preserving root '/'). */ +function trimPathRight(path) { + const len = path.length; + return len > 1 && path[len - 1] === "/" ? path.replace(/\/{1,}$/, "") : path; +} +/** Trim both leading and trailing slashes. */ +function trimPath(path) { + return trimPathRight(trimPathLeft(path)); +} +/** Remove a trailing slash from value when appropriate for comparisons. */ +function removeTrailingSlash(value, basepath) { + if (value?.endsWith("/") && value !== "/" && value !== `${basepath}/`) return value.slice(0, -1); + return value; +} +/** +* Compare two pathnames for exact equality after normalizing trailing slashes +* relative to the provided `basepath`. +*/ +function exactPathTest(pathName1, pathName2, basepath) { + return removeTrailingSlash(pathName1, basepath) === removeTrailingSlash(pathName2, basepath); +} +/** +* Resolve a destination path against a base, honoring trailing-slash policy +* and supporting relative segments (`.`/`..`) and absolute `to` values. +*/ +function resolvePath({ base, to, trailingSlash = "never", cache }) { + const isAbsolute = to.startsWith("/"); + const isBase = !isAbsolute && to === "."; + let key; + if (cache) { + key = isAbsolute ? to : isBase ? base : base + "\0" + to; + const cached = cache.get(key); + if (cached) return cached; + } + let baseSegments; + if (isBase) baseSegments = base.split("/"); + else if (isAbsolute) baseSegments = to.split("/"); + else { + baseSegments = base.split("/"); + while (baseSegments.length > 1 && last(baseSegments) === "") baseSegments.pop(); + const toSegments = to.split("/"); + for (let index = 0, length = toSegments.length; index < length; index++) { + const value = toSegments[index]; + if (value === "") { + if (!index) baseSegments = [value]; + else if (index === length - 1) baseSegments.push(value); + } else if (value === "..") baseSegments.pop(); + else if (value === ".") {} else baseSegments.push(value); + } + } + if (baseSegments.length > 1) { + if (last(baseSegments) === "") { + if (trailingSlash === "never") baseSegments.pop(); + } else if (trailingSlash === "always") baseSegments.push(""); + } + const result = cleanPath(baseSegments.join("/")) || "/"; + if (key && cache) cache.set(key, result); + return result; +} +/** +* Create a pre-compiled decode config from allowed characters. +* This should be called once at router initialization. +*/ +function compileDecodeCharMap(pathParamsAllowedCharacters) { + const charMap = new Map(pathParamsAllowedCharacters.map((char) => [encodeURIComponent(char), char])); + const pattern = Array.from(charMap.keys()).map((key) => key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|"); + const regex = new RegExp(pattern, "g"); + return (encoded) => encoded.replace(regex, (match) => charMap.get(match) ?? match); +} +function encodeParam(key, params, decoder) { + const value = params[key]; + if (typeof value !== "string") return value; + if (key === "_splat") { + if (/^[a-zA-Z0-9\-._~!/]*$/.test(value)) return value; + return value.split("/").map((segment) => encodePathParam(segment, decoder)).join("/"); + } else return encodePathParam(value, decoder); +} +/** +* Interpolate params and wildcards into a route path template. +* +* - Encodes params safely (configurable allowed characters) +* - Supports `{-$optional}` segments, `{prefix{$id}suffix}` and `{$}` wildcards +*/ +function interpolatePath({ path, params, decoder, ...rest }) { + let isMissingParams = false; + const usedParams = Object.create(null); + if (!path || path === "/") return { + interpolatedPath: "/", + usedParams, + isMissingParams + }; + if (!path.includes("$")) return { + interpolatedPath: path, + usedParams, + isMissingParams + }; + if (path.indexOf("{") === -1) { + const length = path.length; + let cursor = 0; + let joined = ""; + while (cursor < length) { + while (cursor < length && path.charCodeAt(cursor) === 47) cursor++; + if (cursor >= length) break; + const start = cursor; + let end = path.indexOf("/", cursor); + if (end === -1) end = length; + cursor = end; + const part = path.substring(start, end); + if (!part) continue; + if (part.charCodeAt(0) === 36) if (part.length === 1) { + const splat = params._splat; + usedParams._splat = splat; + usedParams["*"] = splat; + if (!splat) { + isMissingParams = true; + continue; + } + const value = encodeParam("_splat", params, decoder); + joined += "/" + value; + } else { + const key = part.substring(1); + if (!isMissingParams && !(key in params)) isMissingParams = true; + usedParams[key] = params[key]; + const value = encodeParam(key, params, decoder) ?? "undefined"; + joined += "/" + value; + } + else joined += "/" + part; + } + if (path.endsWith("/")) joined += "/"; + return { + usedParams, + interpolatedPath: joined || "/", + isMissingParams + }; + } + const length = path.length; + let cursor = 0; + let segment; + let joined = ""; + while (cursor < length) { + const start = cursor; + segment = parseSegment(path, start, segment); + const end = segment[5]; + cursor = end + 1; + if (start === end) continue; + const kind = segment[0]; + if (kind === 0) { + joined += "/" + path.substring(start, end); + continue; + } + if (kind === 2) { + const splat = params._splat; + usedParams._splat = splat; + usedParams["*"] = splat; + const prefix = path.substring(start, segment[1]); + const suffix = path.substring(segment[4], end); + if (!splat) { + isMissingParams = true; + if (prefix || suffix) joined += "/" + prefix + suffix; + continue; + } + const value = encodeParam("_splat", params, decoder); + joined += "/" + prefix + value + suffix; + continue; + } + if (kind === 1) { + const key = path.substring(segment[2], segment[3]); + if (!isMissingParams && !(key in params)) isMissingParams = true; + usedParams[key] = params[key]; + const prefix = path.substring(start, segment[1]); + const suffix = path.substring(segment[4], end); + const value = encodeParam(key, params, decoder) ?? "undefined"; + joined += "/" + prefix + value + suffix; + continue; + } + if (kind === 3) { + const key = path.substring(segment[2], segment[3]); + const valueRaw = params[key]; + if (valueRaw == null) continue; + usedParams[key] = valueRaw; + const prefix = path.substring(start, segment[1]); + const suffix = path.substring(segment[4], end); + const value = encodeParam(key, params, decoder) ?? ""; + joined += "/" + prefix + value + suffix; + continue; + } + } + if (path.endsWith("/")) joined += "/"; + return { + usedParams, + interpolatedPath: joined || "/", + isMissingParams + }; +} +function encodePathParam(value, decoder) { + const encoded = encodeURIComponent(value); + return decoder?.(encoded) ?? encoded; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/not-found.js +/** Determine if a value is a TanStack Router not-found error. */ +function isNotFound(obj) { + return obj?.isNotFound === true; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/scroll-restoration.js +function getSafeSessionStorage() { + try { + return typeof window !== "undefined" && typeof window.sessionStorage === "object" ? window.sessionStorage : void 0; + } catch { + return; + } +} +var storageKey = "tsr-scroll-restoration-v1_3"; +function createScrollRestorationCache() { + const safeSessionStorage = getSafeSessionStorage(); + if (!safeSessionStorage) return null; + let state = {}; + try { + const parsed = JSON.parse(safeSessionStorage.getItem("tsr-scroll-restoration-v1_3") || "{}"); + if (isPlainObject(parsed)) state = parsed; + } catch {} + const persist = () => { + try { + safeSessionStorage.setItem(storageKey, JSON.stringify(state)); + } catch {} + }; + return { + get state() { + return state; + }, + set: (updater) => { + state = functionalUpdate(updater, state) || state; + }, + persist + }; +} +createScrollRestorationCache(); +/** +* The default `getKey` function for `useScrollRestoration`. +* It returns the `key` from the location state or the `href` of the location. +* +* The `location.href` is used as a fallback to support the use case where the location state is not available like the initial render. +*/ +var defaultGetScrollRestorationKey = (location) => { + return location.state.__TSR_key || location.href; +}; +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/qss.js +/** +* Program is a reimplementation of the `qss` package: +* Copyright (c) Luke Edwards luke.edwards05@gmail.com, MIT License +* https://github.com/lukeed/qss/blob/master/license.md +* +* This reimplementation uses modern browser APIs +* (namely URLSearchParams) and TypeScript while still +* maintaining the original functionality and interface. +* +* Update: this implementation has also been mangled to +* fit exactly our use-case (single value per key in encoding). +*/ +/** +* Encodes an object into a query string. +* @param obj - The object to encode into a query string. +* @param stringify - An optional custom stringify function. +* @returns The encoded query string. +* @example +* ``` +* // Example input: encode({ token: 'foo', key: 'value' }) +* // Expected output: "token=foo&key=value" +* ``` +*/ +function encode(obj, stringify = String) { + const result = new URLSearchParams(); + for (const key in obj) { + const val = obj[key]; + if (val !== void 0) result.set(key, stringify(val)); + } + return result.toString(); +} +/** +* Converts a string value to its appropriate type (string, number, boolean). +* @param mix - The string value to convert. +* @returns The converted value. +* @example +* // Example input: toValue("123") +* // Expected output: 123 +*/ +function toValue(str) { + if (!str) return ""; + if (str === "false") return false; + if (str === "true") return true; + return +str * 0 === 0 && +str + "" === str ? +str : str; +} +/** +* Decodes a query string into an object. +* @param str - The query string to decode. +* @returns The decoded key-value pairs in an object format. +* @example +* // Example input: decode("token=foo&key=value") +* // Expected output: { "token": "foo", "key": "value" } +*/ +function decode(str) { + const searchParams = new URLSearchParams(str); + const result = Object.create(null); + for (const [key, value] of searchParams.entries()) { + const previousValue = result[key]; + if (previousValue == null) result[key] = toValue(value); + else if (Array.isArray(previousValue)) previousValue.push(toValue(value)); + else result[key] = [previousValue, toValue(value)]; + } + return result; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/searchParams.js +/** Default `parseSearch` that strips leading '?' and JSON-parses values. */ +var defaultParseSearch = parseSearchWith(JSON.parse); +/** Default `stringifySearch` using JSON.stringify for complex values. */ +var defaultStringifySearch = stringifySearchWith(JSON.stringify, JSON.parse); +/** +* Build a `parseSearch` function using a provided JSON-like parser. +* +* The returned function strips a leading `?`, decodes values, and attempts to +* JSON-parse string values using the given `parser`. +* +* @param parser Function to parse a string value (e.g. `JSON.parse`). +* @returns A `parseSearch` function compatible with `Router` options. +* @link https://tanstack.com/router/latest/docs/framework/react/guide/custom-search-param-serialization +*/ +function parseSearchWith(parser) { + return (searchStr) => { + if (searchStr[0] === "?") searchStr = searchStr.substring(1); + const query = decode(searchStr); + for (const key in query) { + const value = query[key]; + if (typeof value === "string") try { + query[key] = parser(value); + } catch (_err) {} + } + return query; + }; +} +/** +* Build a `stringifySearch` function using a provided serializer. +* +* Non-primitive values are serialized with `stringify`. If a `parser` is +* supplied, string values that are parseable are re-serialized to ensure +* symmetry with `parseSearch`. +* +* @param stringify Function to serialize a value (e.g. `JSON.stringify`). +* @param parser Optional parser to detect parseable strings. +* @returns A `stringifySearch` function compatible with `Router` options. +* @link https://tanstack.com/router/latest/docs/framework/react/guide/custom-search-param-serialization +*/ +function stringifySearchWith(stringify, parser) { + const hasParser = typeof parser === "function"; + function stringifyValue(val) { + if (typeof val === "object" && val !== null) try { + return stringify(val); + } catch (_err) {} + else if (hasParser && typeof val === "string") try { + parser(val); + return stringify(val); + } catch (_err) {} + return val; + } + return (search) => { + const searchStr = encode(search, stringifyValue); + return searchStr ? `?${searchStr}` : ""; + }; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/root.js +/** Stable identifier used for the root route in a route tree. */ +var rootRouteId = "__root__"; +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/redirect.js +/** +* Create a redirect Response understood by TanStack Router. +* +* Use from route `loader`/`beforeLoad` or server functions to trigger a +* navigation. If `throw: true` is set, the redirect is thrown instead of +* returned. When an absolute `href` is supplied and `reloadDocument` is not +* set, a full-document navigation is inferred. +* +* @param opts Options for the redirect. Common fields: +* - `href`: absolute URL for external redirects; infers `reloadDocument`. +* - `statusCode`: HTTP status code to use (defaults to 307). +* - `headers`: additional headers to include on the Response. +* - Standard navigation options like `to`, `params`, `search`, `replace`, +* and `reloadDocument` for internal redirects. +* @returns A Response augmented with router navigation options. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/redirectFunction +*/ +function redirect(opts) { + opts.statusCode = opts.statusCode || opts.code || 307; + if (!opts._builtLocation && !opts.reloadDocument && typeof opts.href === "string") try { + new URL(opts.href); + opts.reloadDocument = true; + } catch {} + const headers = new Headers(opts.headers); + if (opts.href && headers.get("Location") === null) headers.set("Location", opts.href); + const response = new Response(null, { + status: opts.statusCode, + headers + }); + response.options = opts; + if (opts.throw) throw response; + return response; +} +/** Check whether a value is a TanStack Router redirect Response. */ +/** Check whether a value is a TanStack Router redirect Response. */ +function isRedirect(obj) { + return obj instanceof Response && !!obj.options; +} +/** True if value is a redirect with a resolved `href` location. */ +/** True if value is a redirect with a resolved `href` location. */ +function isResolvedRedirect(obj) { + return isRedirect(obj) && !!obj.options.href; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/rewrite.js +/** Compose multiple rewrite pairs into a single in/out rewrite. */ +/** Compose multiple rewrite pairs into a single in/out rewrite. */ +function composeRewrites(rewrites) { + return { + input: ({ url }) => { + for (const rewrite of rewrites) url = executeRewriteInput(rewrite, url); + return url; + }, + output: ({ url }) => { + for (let i = rewrites.length - 1; i >= 0; i--) url = executeRewriteOutput(rewrites[i], url); + return url; + } + }; +} +/** Create a rewrite pair that strips/adds a basepath on input/output. */ +/** Create a rewrite pair that strips/adds a basepath on input/output. */ +function rewriteBasepath(opts) { + const trimmedBasepath = trimPath(opts.basepath); + const normalizedBasepath = `/${trimmedBasepath}`; + const normalizedBasepathWithSlash = `${normalizedBasepath}/`; + const checkBasepath = opts.caseSensitive ? normalizedBasepath : normalizedBasepath.toLowerCase(); + const checkBasepathWithSlash = opts.caseSensitive ? normalizedBasepathWithSlash : normalizedBasepathWithSlash.toLowerCase(); + return { + input: ({ url }) => { + const pathname = opts.caseSensitive ? url.pathname : url.pathname.toLowerCase(); + if (pathname === checkBasepath) url.pathname = "/"; + else if (pathname.startsWith(checkBasepathWithSlash)) url.pathname = url.pathname.slice(normalizedBasepath.length); + return url; + }, + output: ({ url }) => { + url.pathname = joinPaths([ + "/", + trimmedBasepath, + url.pathname + ]); + return url; + } + }; +} +/** Execute a location input rewrite if provided. */ +/** Execute a location input rewrite if provided. */ +function executeRewriteInput(rewrite, url) { + const res = rewrite?.input?.({ url }); + if (res) { + if (typeof res === "string") return new URL(res); + else if (res instanceof URL) return res; + } + return url; +} +/** Execute a location output rewrite if provided. */ +/** Execute a location output rewrite if provided. */ +function executeRewriteOutput(rewrite, url) { + const res = rewrite?.output?.({ url }); + if (res) { + if (typeof res === "string") return new URL(res); + else if (res instanceof URL) return res; + } + return url; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/stores.js +/** SSR non-reactive createMutableStore */ +function createNonReactiveMutableStore(initialValue) { + let value = initialValue; + return { + get() { + return value; + }, + set(nextOrUpdater) { + value = functionalUpdate(nextOrUpdater, value); + } + }; +} +/** SSR non-reactive createReadonlyStore */ +function createNonReactiveReadonlyStore(read) { + return { get() { + return read(); + } }; +} +function createRouterStores(initialState, config) { + const { createMutableStore, createReadonlyStore, batch, init } = config; + const matchStores = /* @__PURE__ */ new Map(); + const pendingMatchStores = /* @__PURE__ */ new Map(); + const cachedMatchStores = /* @__PURE__ */ new Map(); + const status = createMutableStore(initialState.status); + const loadedAt = createMutableStore(initialState.loadedAt); + const isLoading = createMutableStore(initialState.isLoading); + const isTransitioning = createMutableStore(initialState.isTransitioning); + const location = createMutableStore(initialState.location); + const resolvedLocation = createMutableStore(initialState.resolvedLocation); + const statusCode = createMutableStore(initialState.statusCode); + const redirect = createMutableStore(initialState.redirect); + const matchesId = createMutableStore([]); + const pendingIds = createMutableStore([]); + const cachedIds = createMutableStore([]); + const matches = createReadonlyStore(() => readPoolMatches(matchStores, matchesId.get())); + const pendingMatches = createReadonlyStore(() => readPoolMatches(pendingMatchStores, pendingIds.get())); + const cachedMatches = createReadonlyStore(() => readPoolMatches(cachedMatchStores, cachedIds.get())); + const firstId = createReadonlyStore(() => matchesId.get()[0]); + const hasPending = createReadonlyStore(() => matchesId.get().some((matchId) => { + return matchStores.get(matchId)?.get().status === "pending"; + })); + const matchRouteDeps = createReadonlyStore(() => ({ + locationHref: location.get().href, + resolvedLocationHref: resolvedLocation.get()?.href, + status: status.get() + })); + const __store = createReadonlyStore(() => ({ + status: status.get(), + loadedAt: loadedAt.get(), + isLoading: isLoading.get(), + isTransitioning: isTransitioning.get(), + matches: matches.get(), + location: location.get(), + resolvedLocation: resolvedLocation.get(), + statusCode: statusCode.get(), + redirect: redirect.get() + })); + const matchStoreByRouteIdCache = createLRUCache(64); + function getRouteMatchStore(routeId) { + let cached = matchStoreByRouteIdCache.get(routeId); + if (!cached) { + cached = createReadonlyStore(() => { + const ids = matchesId.get(); + for (const id of ids) { + const matchStore = matchStores.get(id); + if (matchStore && matchStore.routeId === routeId) return matchStore.get(); + } + }); + matchStoreByRouteIdCache.set(routeId, cached); + } + return cached; + } + const store = { + status, + loadedAt, + isLoading, + isTransitioning, + location, + resolvedLocation, + statusCode, + redirect, + matchesId, + pendingIds, + cachedIds, + matches, + pendingMatches, + cachedMatches, + firstId, + hasPending, + matchRouteDeps, + matchStores, + pendingMatchStores, + cachedMatchStores, + __store, + getRouteMatchStore, + setMatches, + setPending, + setCached + }; + setMatches(initialState.matches); + init?.(store); + function setMatches(nextMatches) { + reconcileMatchPool(nextMatches, matchStores, matchesId, createMutableStore, batch); + } + function setPending(nextMatches) { + reconcileMatchPool(nextMatches, pendingMatchStores, pendingIds, createMutableStore, batch); + } + function setCached(nextMatches) { + reconcileMatchPool(nextMatches, cachedMatchStores, cachedIds, createMutableStore, batch); + } + return store; +} +function readPoolMatches(pool, ids) { + const matches = []; + for (const id of ids) { + const matchStore = pool.get(id); + if (matchStore) matches.push(matchStore.get()); + } + return matches; +} +function reconcileMatchPool(nextMatches, pool, idStore, createMutableStore, batch) { + const nextIds = nextMatches.map((d) => d.id); + const nextIdSet = new Set(nextIds); + batch(() => { + for (const id of pool.keys()) if (!nextIdSet.has(id)) pool.delete(id); + for (const nextMatch of nextMatches) { + const existing = pool.get(nextMatch.id); + if (!existing) { + const matchStore = createMutableStore(nextMatch); + matchStore.routeId = nextMatch.routeId; + pool.set(nextMatch.id, matchStore); + continue; + } + existing.routeId = nextMatch.routeId; + if (existing.get() !== nextMatch) existing.set(nextMatch); + } + if (!arraysEqual(idStore.get(), nextIds)) idStore.set(nextIds); + }); +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/load-matches.js +var triggerOnReady = (inner) => { + if (!inner.rendered) { + inner.rendered = true; + return inner.onReady?.(); + } +}; +var resolvePreload = (inner, matchId) => { + return !!(inner.preload && !inner.router.stores.matchStores.has(matchId)); +}; +/** +* Builds the accumulated context from router options and all matches up to (and optionally including) the given index. +* Merges __routeContext and __beforeLoadContext from each match. +*/ +var buildMatchContext = (inner, index, includeCurrentMatch = true) => { + const context = { ...inner.router.options.context ?? {} }; + const end = includeCurrentMatch ? index : index - 1; + for (let i = 0; i <= end; i++) { + const innerMatch = inner.matches[i]; + if (!innerMatch) continue; + const m = inner.router.getMatch(innerMatch.id); + if (!m) continue; + Object.assign(context, m.__routeContext, m.__beforeLoadContext); + } + return context; +}; +var getNotFoundBoundaryIndex = (inner, err) => { + if (!inner.matches.length) return; + const requestedRouteId = err.routeId; + const matchedRootIndex = inner.matches.findIndex((m) => m.routeId === inner.router.routeTree.id); + const rootIndex = matchedRootIndex >= 0 ? matchedRootIndex : 0; + let startIndex = requestedRouteId ? inner.matches.findIndex((match) => match.routeId === requestedRouteId) : inner.firstBadMatchIndex ?? inner.matches.length - 1; + if (startIndex < 0) startIndex = rootIndex; + for (let i = startIndex; i >= 0; i--) { + const match = inner.matches[i]; + if (inner.router.looseRoutesById[match.routeId].options.notFoundComponent) return i; + } + return requestedRouteId ? startIndex : rootIndex; +}; +var handleRedirectAndNotFound = (inner, match, err) => { + if (!isRedirect(err) && !isNotFound(err)) return; + if (isRedirect(err) && err.redirectHandled && !err.options.reloadDocument) throw err; + if (match) { + match._nonReactive.beforeLoadPromise?.resolve(); + match._nonReactive.loaderPromise?.resolve(); + match._nonReactive.beforeLoadPromise = void 0; + match._nonReactive.loaderPromise = void 0; + match._nonReactive.error = err; + inner.updateMatch(match.id, (prev) => ({ + ...prev, + status: isRedirect(err) ? "redirected" : isNotFound(err) ? "notFound" : prev.status === "pending" ? "success" : prev.status, + context: buildMatchContext(inner, match.index), + isFetching: false, + error: err + })); + if (isNotFound(err) && !err.routeId) err.routeId = match.routeId; + match._nonReactive.loadPromise?.resolve(); + } + if (isRedirect(err)) { + inner.rendered = true; + err.options._fromLocation = inner.location; + err.redirectHandled = true; + err = inner.router.resolveRedirect(err); + } + throw err; +}; +var shouldSkipLoader = (inner, matchId) => { + const match = inner.router.getMatch(matchId); + if (!match) return true; + if (match.ssr === false) return true; + return false; +}; +var syncMatchContext = (inner, matchId, index) => { + const nextContext = buildMatchContext(inner, index); + inner.updateMatch(matchId, (prev) => { + return { + ...prev, + context: nextContext + }; + }); +}; +var handleSerialError = (inner, index, err, routerCode) => { + const { id: matchId, routeId } = inner.matches[index]; + const route = inner.router.looseRoutesById[routeId]; + if (err instanceof Promise) throw err; + err.routerCode = routerCode; + inner.firstBadMatchIndex ??= index; + handleRedirectAndNotFound(inner, inner.router.getMatch(matchId), err); + try { + route.options.onError?.(err); + } catch (errorHandlerErr) { + err = errorHandlerErr; + handleRedirectAndNotFound(inner, inner.router.getMatch(matchId), err); + } + inner.updateMatch(matchId, (prev) => { + prev._nonReactive.beforeLoadPromise?.resolve(); + prev._nonReactive.beforeLoadPromise = void 0; + prev._nonReactive.loadPromise?.resolve(); + return { + ...prev, + error: err, + status: "error", + isFetching: false, + updatedAt: Date.now(), + abortController: new AbortController() + }; + }); + if (!inner.preload && !isRedirect(err) && !isNotFound(err)) inner.serialError ??= err; +}; +var isBeforeLoadSsr = (inner, matchId, index, route) => { + const existingMatch = inner.router.getMatch(matchId); + const parentMatchId = inner.matches[index - 1]?.id; + const parentMatch = parentMatchId ? inner.router.getMatch(parentMatchId) : void 0; + if (inner.router.isShell()) { + existingMatch.ssr = route.id === rootRouteId; + return; + } + if (parentMatch?.ssr === false) { + existingMatch.ssr = false; + return; + } + const parentOverride = (tempSsr) => { + if (tempSsr === true && parentMatch?.ssr === "data-only") return "data-only"; + return tempSsr; + }; + const defaultSsr = inner.router.options.defaultSsr ?? true; + if (route.options.ssr === void 0) { + existingMatch.ssr = parentOverride(defaultSsr); + return; + } + if (typeof route.options.ssr !== "function") { + existingMatch.ssr = parentOverride(route.options.ssr); + return; + } + const { search, params } = existingMatch; + const ssrFnContext = { + search: makeMaybe(search, existingMatch.searchError), + params: makeMaybe(params, existingMatch.paramsError), + location: inner.location, + matches: inner.matches.map((match) => ({ + index: match.index, + pathname: match.pathname, + fullPath: match.fullPath, + staticData: match.staticData, + id: match.id, + routeId: match.routeId, + search: makeMaybe(match.search, match.searchError), + params: makeMaybe(match.params, match.paramsError), + ssr: match.ssr + })) + }; + const tempSsr = route.options.ssr(ssrFnContext); + if (isPromise(tempSsr)) return tempSsr.then((ssr) => { + existingMatch.ssr = parentOverride(ssr ?? defaultSsr); + }); + existingMatch.ssr = parentOverride(tempSsr ?? defaultSsr); +}; +var setupPendingTimeout = (inner, matchId, route, match) => { + if (match._nonReactive.pendingTimeout !== void 0) return; + route.options.pendingMs ?? inner.router.options.defaultPendingMs; + if (!!(inner.onReady && false)); +}; +var preBeforeLoadSetup = (inner, matchId, route) => { + const existingMatch = inner.router.getMatch(matchId); + if (!existingMatch._nonReactive.beforeLoadPromise && !existingMatch._nonReactive.loaderPromise) return; + setupPendingTimeout(inner, matchId, route, existingMatch); + const then = () => { + const match = inner.router.getMatch(matchId); + if (match.preload && (match.status === "redirected" || match.status === "notFound")) handleRedirectAndNotFound(inner, match, match.error); + }; + return existingMatch._nonReactive.beforeLoadPromise ? existingMatch._nonReactive.beforeLoadPromise.then(then) : then(); +}; +var executeBeforeLoad = (inner, matchId, index, route) => { + const match = inner.router.getMatch(matchId); + let prevLoadPromise = match._nonReactive.loadPromise; + match._nonReactive.loadPromise = createControlledPromise(() => { + prevLoadPromise?.resolve(); + prevLoadPromise = void 0; + }); + const { paramsError, searchError } = match; + if (paramsError) handleSerialError(inner, index, paramsError, "PARSE_PARAMS"); + if (searchError) handleSerialError(inner, index, searchError, "VALIDATE_SEARCH"); + setupPendingTimeout(inner, matchId, route, match); + const abortController = new AbortController(); + let isPending = false; + const pending = () => { + if (isPending) return; + isPending = true; + inner.updateMatch(matchId, (prev) => ({ + ...prev, + isFetching: "beforeLoad", + fetchCount: prev.fetchCount + 1, + abortController + })); + }; + const resolve = () => { + match._nonReactive.beforeLoadPromise?.resolve(); + match._nonReactive.beforeLoadPromise = void 0; + inner.updateMatch(matchId, (prev) => ({ + ...prev, + isFetching: false + })); + }; + if (!route.options.beforeLoad) { + inner.router.batch(() => { + pending(); + resolve(); + }); + return; + } + match._nonReactive.beforeLoadPromise = createControlledPromise(); + const context = { + ...buildMatchContext(inner, index, false), + ...match.__routeContext + }; + const { search, params, cause } = match; + const preload = resolvePreload(inner, matchId); + const beforeLoadFnContext = { + search, + abortController, + params, + preload, + context, + location: inner.location, + navigate: (opts) => inner.router.navigate({ + ...opts, + _fromLocation: inner.location + }), + buildLocation: inner.router.buildLocation, + cause: preload ? "preload" : cause, + matches: inner.matches, + routeId: route.id, + ...inner.router.options.additionalContext + }; + const updateContext = (beforeLoadContext) => { + if (beforeLoadContext === void 0) { + inner.router.batch(() => { + pending(); + resolve(); + }); + return; + } + if (isRedirect(beforeLoadContext) || isNotFound(beforeLoadContext)) { + pending(); + handleSerialError(inner, index, beforeLoadContext, "BEFORE_LOAD"); + } + inner.router.batch(() => { + pending(); + inner.updateMatch(matchId, (prev) => ({ + ...prev, + __beforeLoadContext: beforeLoadContext + })); + resolve(); + }); + }; + let beforeLoadContext; + try { + beforeLoadContext = route.options.beforeLoad(beforeLoadFnContext); + if (isPromise(beforeLoadContext)) { + pending(); + return beforeLoadContext.catch((err) => { + handleSerialError(inner, index, err, "BEFORE_LOAD"); + }).then(updateContext); + } + } catch (err) { + pending(); + handleSerialError(inner, index, err, "BEFORE_LOAD"); + } + updateContext(beforeLoadContext); +}; +var handleBeforeLoad = (inner, index) => { + const { id: matchId, routeId } = inner.matches[index]; + const route = inner.router.looseRoutesById[routeId]; + const serverSsr = () => { + { + const maybePromise = isBeforeLoadSsr(inner, matchId, index, route); + if (isPromise(maybePromise)) return maybePromise.then(queueExecution); + } + return queueExecution(); + }; + const execute = () => executeBeforeLoad(inner, matchId, index, route); + const queueExecution = () => { + if (shouldSkipLoader(inner, matchId)) return; + const result = preBeforeLoadSetup(inner, matchId, route); + return isPromise(result) ? result.then(execute) : execute(); + }; + return serverSsr(); +}; +var executeHead = (inner, matchId, route) => { + const match = inner.router.getMatch(matchId); + if (!match) return; + if (!route.options.head && !route.options.scripts && !route.options.headers) return; + const assetContext = { + ssr: inner.router.options.ssr, + matches: inner.matches, + match, + params: match.params, + loaderData: match.loaderData + }; + return Promise.all([ + route.options.head?.(assetContext), + route.options.scripts?.(assetContext), + route.options.headers?.(assetContext) + ]).then(([headFnContent, scripts, headers]) => { + return { + meta: headFnContent?.meta, + links: headFnContent?.links, + headScripts: headFnContent?.scripts, + headers, + scripts, + styles: headFnContent?.styles + }; + }); +}; +var getLoaderContext = (inner, matchPromises, matchId, index, route) => { + const parentMatchPromise = matchPromises[index - 1]; + const { params, loaderDeps, abortController, cause } = inner.router.getMatch(matchId); + const context = buildMatchContext(inner, index); + const preload = resolvePreload(inner, matchId); + return { + params, + deps: loaderDeps, + preload: !!preload, + parentMatchPromise, + abortController, + context, + location: inner.location, + navigate: (opts) => inner.router.navigate({ + ...opts, + _fromLocation: inner.location + }), + cause: preload ? "preload" : cause, + route, + ...inner.router.options.additionalContext + }; +}; +var runLoader = async (inner, matchPromises, matchId, index, route) => { + try { + const match = inner.router.getMatch(matchId); + try { + if (match.ssr === true) loadRouteChunk(route); + const routeLoader = route.options.loader; + const loader = typeof routeLoader === "function" ? routeLoader : routeLoader?.handler; + const loaderResult = loader?.(getLoaderContext(inner, matchPromises, matchId, index, route)); + const loaderResultIsPromise = !!loader && isPromise(loaderResult); + if (!!(loaderResultIsPromise || route._lazyPromise || route._componentsPromise || route.options.head || route.options.scripts || route.options.headers || match._nonReactive.minPendingPromise)) inner.updateMatch(matchId, (prev) => ({ + ...prev, + isFetching: "loader" + })); + if (loader) { + const loaderData = loaderResultIsPromise ? await loaderResult : loaderResult; + handleRedirectAndNotFound(inner, inner.router.getMatch(matchId), loaderData); + if (loaderData !== void 0) inner.updateMatch(matchId, (prev) => ({ + ...prev, + loaderData + })); + } + if (route._lazyPromise) await route._lazyPromise; + const pendingPromise = match._nonReactive.minPendingPromise; + if (pendingPromise) await pendingPromise; + if (route._componentsPromise) await route._componentsPromise; + inner.updateMatch(matchId, (prev) => ({ + ...prev, + error: void 0, + context: buildMatchContext(inner, index), + status: "success", + isFetching: false, + updatedAt: Date.now() + })); + } catch (e) { + let error = e; + if (error?.name === "AbortError") { + if (match.abortController.signal.aborted) { + match._nonReactive.loaderPromise?.resolve(); + match._nonReactive.loaderPromise = void 0; + return; + } + inner.updateMatch(matchId, (prev) => ({ + ...prev, + status: prev.status === "pending" ? "success" : prev.status, + isFetching: false, + context: buildMatchContext(inner, index) + })); + return; + } + const pendingPromise = match._nonReactive.minPendingPromise; + if (pendingPromise) await pendingPromise; + if (isNotFound(e)) await route.options.notFoundComponent?.preload?.(); + handleRedirectAndNotFound(inner, inner.router.getMatch(matchId), e); + try { + route.options.onError?.(e); + } catch (onErrorError) { + error = onErrorError; + handleRedirectAndNotFound(inner, inner.router.getMatch(matchId), onErrorError); + } + if (!isRedirect(error) && !isNotFound(error)) await loadRouteChunk(route, ["errorComponent"]); + inner.updateMatch(matchId, (prev) => ({ + ...prev, + error, + context: buildMatchContext(inner, index), + status: "error", + isFetching: false + })); + } + } catch (err) { + const match = inner.router.getMatch(matchId); + if (match) match._nonReactive.loaderPromise = void 0; + handleRedirectAndNotFound(inner, match, err); + } +}; +var loadRouteMatch = async (inner, matchPromises, index) => { + async function handleLoader(preload, prevMatch, previousRouteMatchId, match, route) { + const age = Date.now() - prevMatch.updatedAt; + const staleAge = preload ? route.options.preloadStaleTime ?? inner.router.options.defaultPreloadStaleTime ?? 3e4 : route.options.staleTime ?? inner.router.options.defaultStaleTime ?? 0; + const shouldReloadOption = route.options.shouldReload; + const shouldReload = typeof shouldReloadOption === "function" ? shouldReloadOption(getLoaderContext(inner, matchPromises, matchId, index, route)) : shouldReloadOption; + const { status, invalid } = match; + const staleMatchShouldReload = age >= staleAge && (!!inner.forceStaleReload || match.cause === "enter" || previousRouteMatchId !== void 0 && previousRouteMatchId !== match.id); + loaderShouldRunAsync = status === "success" && (invalid || (shouldReload ?? staleMatchShouldReload)); + if (preload && route.options.preload === false) {} else if (loaderShouldRunAsync && !inner.sync && shouldReloadInBackground) { + loaderIsRunningAsync = true; + (async () => { + try { + await runLoader(inner, matchPromises, matchId, index, route); + const match = inner.router.getMatch(matchId); + match._nonReactive.loaderPromise?.resolve(); + match._nonReactive.loadPromise?.resolve(); + match._nonReactive.loaderPromise = void 0; + match._nonReactive.loadPromise = void 0; + } catch (err) { + if (isRedirect(err)) await inner.router.navigate(err.options); + } + })(); + } else if (status !== "success" || loaderShouldRunAsync) await runLoader(inner, matchPromises, matchId, index, route); + else syncMatchContext(inner, matchId, index); + } + const { id: matchId, routeId } = inner.matches[index]; + let loaderShouldRunAsync = false; + let loaderIsRunningAsync = false; + const route = inner.router.looseRoutesById[routeId]; + const routeLoader = route.options.loader; + const shouldReloadInBackground = ((typeof routeLoader === "function" ? void 0 : routeLoader?.staleReloadMode) ?? inner.router.options.defaultStaleReloadMode) !== "blocking"; + if (shouldSkipLoader(inner, matchId)) { + if (!inner.router.getMatch(matchId)) return inner.matches[index]; + syncMatchContext(inner, matchId, index); + return inner.router.getMatch(matchId); + } else { + const prevMatch = inner.router.getMatch(matchId); + const activeIdAtIndex = inner.router.stores.matchesId.get()[index]; + const previousRouteMatchId = (activeIdAtIndex && inner.router.stores.matchStores.get(activeIdAtIndex) || null)?.routeId === routeId ? activeIdAtIndex : inner.router.stores.matches.get().find((d) => d.routeId === routeId)?.id; + const preload = resolvePreload(inner, matchId); + if (prevMatch._nonReactive.loaderPromise) { + if (prevMatch.status === "success" && !inner.sync && !prevMatch.preload && shouldReloadInBackground) return prevMatch; + await prevMatch._nonReactive.loaderPromise; + const match = inner.router.getMatch(matchId); + const error = match._nonReactive.error || match.error; + if (error) handleRedirectAndNotFound(inner, match, error); + if (match.status === "pending") await handleLoader(preload, prevMatch, previousRouteMatchId, match, route); + } else { + const nextPreload = preload && !inner.router.stores.matchStores.has(matchId); + const match = inner.router.getMatch(matchId); + match._nonReactive.loaderPromise = createControlledPromise(); + if (nextPreload !== match.preload) inner.updateMatch(matchId, (prev) => ({ + ...prev, + preload: nextPreload + })); + await handleLoader(preload, prevMatch, previousRouteMatchId, match, route); + } + } + const match = inner.router.getMatch(matchId); + if (!loaderIsRunningAsync) { + match._nonReactive.loaderPromise?.resolve(); + match._nonReactive.loadPromise?.resolve(); + match._nonReactive.loadPromise = void 0; + } + clearTimeout(match._nonReactive.pendingTimeout); + match._nonReactive.pendingTimeout = void 0; + if (!loaderIsRunningAsync) match._nonReactive.loaderPromise = void 0; + match._nonReactive.dehydrated = void 0; + const nextIsFetching = loaderIsRunningAsync ? match.isFetching : false; + if (nextIsFetching !== match.isFetching || match.invalid !== false) { + inner.updateMatch(matchId, (prev) => ({ + ...prev, + isFetching: nextIsFetching, + invalid: false + })); + return inner.router.getMatch(matchId); + } else return match; +}; +async function loadMatches(arg) { + const inner = arg; + const matchPromises = []; + let beforeLoadNotFound; + for (let i = 0; i < inner.matches.length; i++) { + try { + const beforeLoad = handleBeforeLoad(inner, i); + if (isPromise(beforeLoad)) await beforeLoad; + } catch (err) { + if (isRedirect(err)) throw err; + if (isNotFound(err)) beforeLoadNotFound = err; + else if (!inner.preload) throw err; + break; + } + if (inner.serialError || inner.firstBadMatchIndex != null) break; + } + const baseMaxIndexExclusive = inner.firstBadMatchIndex ?? inner.matches.length; + const boundaryIndex = beforeLoadNotFound && !inner.preload ? getNotFoundBoundaryIndex(inner, beforeLoadNotFound) : void 0; + const maxIndexExclusive = beforeLoadNotFound && inner.preload ? 0 : boundaryIndex !== void 0 ? Math.min(boundaryIndex + 1, baseMaxIndexExclusive) : baseMaxIndexExclusive; + let firstNotFound; + let firstUnhandledRejection; + for (let i = 0; i < maxIndexExclusive; i++) matchPromises.push(loadRouteMatch(inner, matchPromises, i)); + try { + await Promise.all(matchPromises); + } catch { + const settled = await Promise.allSettled(matchPromises); + for (const result of settled) { + if (result.status !== "rejected") continue; + const reason = result.reason; + if (isRedirect(reason)) throw reason; + if (isNotFound(reason)) firstNotFound ??= reason; + else firstUnhandledRejection ??= reason; + } + if (firstUnhandledRejection !== void 0) throw firstUnhandledRejection; + } + const notFoundToThrow = firstNotFound ?? (beforeLoadNotFound && !inner.preload ? beforeLoadNotFound : void 0); + let headMaxIndex = inner.firstBadMatchIndex !== void 0 ? inner.firstBadMatchIndex : inner.matches.length - 1; + if (!notFoundToThrow && beforeLoadNotFound && inner.preload) return inner.matches; + if (notFoundToThrow) { + const renderedBoundaryIndex = getNotFoundBoundaryIndex(inner, notFoundToThrow); + if (renderedBoundaryIndex === void 0) invariant(); + const boundaryMatch = inner.matches[renderedBoundaryIndex]; + const boundaryRoute = inner.router.looseRoutesById[boundaryMatch.routeId]; + const defaultNotFoundComponent = inner.router.options?.defaultNotFoundComponent; + if (!boundaryRoute.options.notFoundComponent && defaultNotFoundComponent) boundaryRoute.options.notFoundComponent = defaultNotFoundComponent; + notFoundToThrow.routeId = boundaryMatch.routeId; + const boundaryIsRoot = boundaryMatch.routeId === inner.router.routeTree.id; + inner.updateMatch(boundaryMatch.id, (prev) => ({ + ...prev, + ...boundaryIsRoot ? { + status: "success", + globalNotFound: true, + error: void 0 + } : { + status: "notFound", + error: notFoundToThrow + }, + isFetching: false + })); + headMaxIndex = renderedBoundaryIndex; + await loadRouteChunk(boundaryRoute, ["notFoundComponent"]); + } else if (!inner.preload) { + const rootMatch = inner.matches[0]; + if (!rootMatch.globalNotFound) { + if (inner.router.getMatch(rootMatch.id)?.globalNotFound) inner.updateMatch(rootMatch.id, (prev) => ({ + ...prev, + globalNotFound: false, + error: void 0 + })); + } + } + if (inner.serialError && inner.firstBadMatchIndex !== void 0) { + const errorRoute = inner.router.looseRoutesById[inner.matches[inner.firstBadMatchIndex].routeId]; + await loadRouteChunk(errorRoute, ["errorComponent"]); + } + for (let i = 0; i <= headMaxIndex; i++) { + const { id: matchId, routeId } = inner.matches[i]; + const route = inner.router.looseRoutesById[routeId]; + try { + const headResult = executeHead(inner, matchId, route); + if (headResult) { + const head = await headResult; + inner.updateMatch(matchId, (prev) => ({ + ...prev, + ...head + })); + } + } catch (err) { + console.error(`Error executing head for route ${routeId}:`, err); + } + } + const readyPromise = triggerOnReady(inner); + if (isPromise(readyPromise)) await readyPromise; + if (notFoundToThrow) throw notFoundToThrow; + if (inner.serialError && !inner.preload && !inner.onReady) throw inner.serialError; + return inner.matches; +} +function preloadRouteComponents(route, componentTypesToLoad) { + const preloads = componentTypesToLoad.map((type) => route.options[type]?.preload?.()).filter(Boolean); + if (preloads.length === 0) return void 0; + return Promise.all(preloads); +} +function loadRouteChunk(route, componentTypesToLoad = componentTypes) { + if (!route._lazyLoaded && route._lazyPromise === void 0) if (route.lazyFn) route._lazyPromise = route.lazyFn().then((lazyRoute) => { + const { id: _id, ...options } = lazyRoute.options; + Object.assign(route.options, options); + route._lazyLoaded = true; + route._lazyPromise = void 0; + }); + else route._lazyLoaded = true; + const runAfterLazy = () => route._componentsLoaded ? void 0 : componentTypesToLoad === componentTypes ? (() => { + if (route._componentsPromise === void 0) { + const componentsPromise = preloadRouteComponents(route, componentTypes); + if (componentsPromise) route._componentsPromise = componentsPromise.then(() => { + route._componentsLoaded = true; + route._componentsPromise = void 0; + }); + else route._componentsLoaded = true; + } + return route._componentsPromise; + })() : preloadRouteComponents(route, componentTypesToLoad); + return route._lazyPromise ? route._lazyPromise.then(runAfterLazy) : runAfterLazy(); +} +function makeMaybe(value, error) { + if (error) return { + status: "error", + error + }; + return { + status: "success", + value + }; +} +function routeNeedsPreload(route) { + for (const componentType of componentTypes) if (route.options[componentType]?.preload) return true; + return false; +} +var componentTypes = [ + "component", + "errorComponent", + "pendingComponent", + "notFoundComponent" +]; +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/router.js +/** +* Compute whether path, href or hash changed between previous and current +* resolved locations. +*/ +function getLocationChangeInfo(location, resolvedLocation) { + const fromLocation = resolvedLocation; + const toLocation = location; + return { + fromLocation, + toLocation, + pathChanged: fromLocation?.pathname !== toLocation.pathname, + hrefChanged: fromLocation?.href !== toLocation.href, + hashChanged: fromLocation?.hash !== toLocation.hash + }; +} +/** +* Core, framework-agnostic router engine that powers TanStack Router. +* +* Provides navigation, matching, loading, preloading, caching and event APIs +* used by framework adapters (React/Solid). Prefer framework helpers like +* `createRouter` in app code. +* +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/RouterType +*/ +var RouterCore = class { + /** + * @deprecated Use the `createRouter` function instead + */ + constructor(options, getStoreConfig) { + this.tempLocationKey = `${Math.round(Math.random() * 1e7)}`; + this.resetNextScroll = true; + this.shouldViewTransition = void 0; + this.isViewTransitionTypesSupported = void 0; + this.subscribers = /* @__PURE__ */ new Set(); + this.isScrollRestoring = false; + this.isScrollRestorationSetup = false; + this.routeBranchCache = /* @__PURE__ */ new WeakMap(); + this.startTransition = (fn) => fn(); + this.update = (newOptions) => { + const prevOptions = this.options; + const prevBasepath = this.basepath ?? prevOptions?.basepath ?? "/"; + const basepathWasUnset = this.basepath === void 0; + const prevRewriteOption = prevOptions?.rewrite; + this.options = { + ...prevOptions, + ...newOptions + }; + this.isServer = this.options.isServer ?? typeof document === "undefined"; + this.protocolAllowlist = new Set(this.options.protocolAllowlist); + if (this.options.pathParamsAllowedCharacters) this.pathParamsDecoder = compileDecodeCharMap(this.options.pathParamsAllowedCharacters); + if (!this.history || this.options.history && this.options.history !== this.history) if (!this.options.history) {} else this.history = this.options.history; + this.origin = this.options.origin; + if (!this.origin) this.origin = "http://localhost"; + if (this.history) this.updateLatestLocation(); + if (this.options.routeTree !== this.routeTree) { + this.routeTree = this.options.routeTree; + let processRouteTreeResult; + if (globalThis.__TSR_CACHE__ && globalThis.__TSR_CACHE__.routeTree === this.routeTree) { + const cached = globalThis.__TSR_CACHE__; + this.resolvePathCache = cached.resolvePathCache; + processRouteTreeResult = cached.processRouteTreeResult; + } else { + this.resolvePathCache = createLRUCache(1e3); + processRouteTreeResult = this.buildRouteTree(); + if (globalThis.__TSR_CACHE__ === void 0) globalThis.__TSR_CACHE__ = { + routeTree: this.routeTree, + processRouteTreeResult, + resolvePathCache: this.resolvePathCache + }; + } + this.setRoutes(processRouteTreeResult); + } + if (!this.stores && this.latestLocation) { + const config = this.getStoreConfig(this); + this.batch = config.batch; + this.stores = createRouterStores(getInitialRouterState(this.latestLocation), config); + } + let needsLocationUpdate = false; + const nextBasepath = this.options.basepath ?? "/"; + const nextRewriteOption = this.options.rewrite; + if (basepathWasUnset || prevBasepath !== nextBasepath || prevRewriteOption !== nextRewriteOption) { + this.basepath = nextBasepath; + const rewrites = []; + const trimmed = trimPath(nextBasepath); + if (trimmed && trimmed !== "/") rewrites.push(rewriteBasepath({ basepath: nextBasepath })); + if (nextRewriteOption) rewrites.push(nextRewriteOption); + this.rewrite = rewrites.length === 0 ? void 0 : rewrites.length === 1 ? rewrites[0] : composeRewrites(rewrites); + if (this.history) this.updateLatestLocation(); + needsLocationUpdate = true; + } + if (needsLocationUpdate && this.stores) this.stores.location.set(this.latestLocation); + if (typeof window !== "undefined" && "CSS" in window && typeof window.CSS?.supports === "function") this.isViewTransitionTypesSupported = window.CSS.supports("selector(:active-view-transition-type(a)"); + }; + this.updateLatestLocation = () => { + this.latestLocation = this.parseLocation(this.history.location, this.latestLocation); + }; + this.buildRouteTree = () => { + const result = processRouteTree(this.routeTree, this.options.caseSensitive, (route, i) => { + route.init({ originalIndex: i }); + }); + if (this.options.routeMasks) processRouteMasks(this.options.routeMasks, result.processedTree); + return result; + }; + this.subscribe = (eventType, fn) => { + const listener = { + eventType, + fn + }; + this.subscribers.add(listener); + return () => { + this.subscribers.delete(listener); + }; + }; + this.emit = (routerEvent) => { + this.subscribers.forEach((listener) => { + if (listener.eventType === routerEvent.type) listener.fn(routerEvent); + }); + }; + this.parseLocation = (locationToParse, previousLocation) => { + const parse = ({ pathname, search, hash, href, state }) => { + if (!this.rewrite && !/[ \x00-\x1f\x7f\u0080-\uffff]/.test(pathname)) { + const parsedSearch = this.options.parseSearch(search); + const searchStr = this.options.stringifySearch(parsedSearch); + return { + href: pathname + searchStr + hash, + publicHref: pathname + searchStr + hash, + pathname: decodePath(pathname).path, + external: false, + searchStr, + search: nullReplaceEqualDeep(previousLocation?.search, parsedSearch), + hash: decodePath(hash.slice(1)).path, + state: replaceEqualDeep(previousLocation?.state, state) + }; + } + const fullUrl = new URL(href, this.origin); + const url = executeRewriteInput(this.rewrite, fullUrl); + const parsedSearch = this.options.parseSearch(url.search); + const searchStr = this.options.stringifySearch(parsedSearch); + url.search = searchStr; + return { + href: url.href.replace(url.origin, ""), + publicHref: href, + pathname: decodePath(url.pathname).path, + external: !!this.rewrite && url.origin !== this.origin, + searchStr, + search: nullReplaceEqualDeep(previousLocation?.search, parsedSearch), + hash: decodePath(url.hash.slice(1)).path, + state: replaceEqualDeep(previousLocation?.state, state) + }; + }; + const location = parse(locationToParse); + const { __tempLocation, __tempKey } = location.state; + if (__tempLocation && (!__tempKey || __tempKey === this.tempLocationKey)) { + const parsedTempLocation = parse(__tempLocation); + parsedTempLocation.state.key = location.state.key; + parsedTempLocation.state.__TSR_key = location.state.__TSR_key; + delete parsedTempLocation.state.__tempLocation; + return { + ...parsedTempLocation, + maskedLocation: location + }; + } + return location; + }; + this.resolvePathWithBase = (from, path) => { + return resolvePath({ + base: from, + to: path.includes("//") ? cleanPath(path) : path, + trailingSlash: this.options.trailingSlash, + cache: this.resolvePathCache + }); + }; + this.matchRoutes = (pathnameOrNext, locationSearchOrOpts, opts) => { + if (typeof pathnameOrNext === "string") return this.matchRoutesInternal({ + pathname: pathnameOrNext, + search: locationSearchOrOpts + }, opts); + return this.matchRoutesInternal(pathnameOrNext, locationSearchOrOpts); + }; + this.getMatchedRoutes = (pathname) => { + return getMatchedRoutes({ + pathname, + routesById: this.routesById, + processedTree: this.processedTree + }); + }; + this.cancelMatch = (id) => { + const match = this.getMatch(id); + if (!match) return; + match.abortController.abort(); + clearTimeout(match._nonReactive.pendingTimeout); + match._nonReactive.pendingTimeout = void 0; + }; + this.cancelMatches = () => { + this.stores.pendingIds.get().forEach((matchId) => { + this.cancelMatch(matchId); + }); + this.stores.matchesId.get().forEach((matchId) => { + if (this.stores.pendingMatchStores.has(matchId)) return; + const match = this.stores.matchStores.get(matchId)?.get(); + if (!match) return; + if (match.status === "pending" || match.isFetching === "loader") this.cancelMatch(matchId); + }); + }; + this.buildLocation = (opts) => { + const build = (dest = {}) => { + const currentLocation = dest._fromLocation || this.pendingBuiltLocation || this.latestLocation; + const lightweightResult = this.matchRoutesLightweight(currentLocation); + if (dest.from && false); + const defaultedFromPath = dest.unsafeRelative === "path" ? currentLocation.pathname : dest.from ?? lightweightResult.fullPath; + const destTo = dest.to ? `${dest.to}` : void 0; + const fromSearch = lightweightResult.search; + const fromParams = Object.assign(Object.create(null), lightweightResult.params); + const sourcePath = destTo?.charCodeAt(0) === 47 ? "/" : this.resolvePathWithBase(defaultedFromPath, "."); + const nextTo = destTo ? this.resolvePathWithBase(sourcePath, destTo) : sourcePath; + const nextParams = dest.params === false || dest.params === null ? Object.create(null) : (dest.params ?? true) === true ? fromParams : Object.assign(fromParams, functionalUpdate(dest.params, fromParams)); + const destRoute = this.routesByPath[trimPathRight(nextTo)]; + let destRoutes; + if (destRoute) destRoutes = this.getRouteBranch(destRoute); + else if (nextTo.includes("$")) destRoutes = []; + else { + const destMatchResult = this.getMatchedRoutes(nextTo); + destRoutes = destMatchResult.matchedRoutes; + if (this.options.notFoundRoute && (!destMatchResult.foundRoute || destMatchResult.foundRoute.path !== "/" && destMatchResult.routeParams["**"])) destRoutes = [...destRoutes, this.options.notFoundRoute]; + } + if (destRoutes.length && hasKeys(nextParams)) for (const route of destRoutes) { + const fn = route.options.params?.stringify ?? route.options.stringifyParams; + if (fn) try { + Object.assign(nextParams, fn(nextParams)); + } catch {} + } + const nextPathname = opts.leaveParams ? nextTo : decodePath(interpolatePath({ + path: nextTo, + params: nextParams, + decoder: this.pathParamsDecoder, + server: this.isServer + }).interpolatedPath).path; + let nextSearch = fromSearch; + if (opts._includeValidateSearch && this.options.search?.strict) { + const validatedSearch = {}; + destRoutes.forEach((route) => { + if (route.options.validateSearch) try { + Object.assign(validatedSearch, validateSearch(route.options.validateSearch, { + ...validatedSearch, + ...nextSearch + })); + } catch {} + }); + nextSearch = validatedSearch; + } + nextSearch = applySearchMiddleware({ + search: nextSearch, + dest, + destRoutes, + _includeValidateSearch: opts._includeValidateSearch + }); + nextSearch = nullReplaceEqualDeep(fromSearch, nextSearch); + const searchStr = this.options.stringifySearch(nextSearch); + const hash = dest.hash === true ? currentLocation.hash : dest.hash ? functionalUpdate(dest.hash, currentLocation.hash) : void 0; + const hashStr = hash ? `#${hash}` : ""; + let nextState = dest.state === true ? currentLocation.state : dest.state ? functionalUpdate(dest.state, currentLocation.state) : {}; + nextState = replaceEqualDeep(currentLocation.state, nextState); + const fullPath = `${nextPathname}${searchStr}${hashStr}`; + let href; + let publicHref; + let external = false; + if (this.rewrite) { + const url = new URL(fullPath, this.origin); + const rewrittenUrl = executeRewriteOutput(this.rewrite, url); + href = url.href.replace(url.origin, ""); + if (rewrittenUrl.origin !== this.origin) { + publicHref = rewrittenUrl.href; + external = true; + } else publicHref = rewrittenUrl.pathname + rewrittenUrl.search + rewrittenUrl.hash; + } else { + href = encodePathLikeUrl(fullPath); + publicHref = href; + } + return { + publicHref, + href, + pathname: nextPathname, + search: nextSearch, + searchStr, + state: nextState, + hash: hash ?? "", + external, + unmaskOnReload: dest.unmaskOnReload + }; + }; + const buildWithMatches = (dest = {}, maskedDest) => { + const next = build(dest); + let maskedNext = maskedDest ? build(maskedDest) : void 0; + if (!maskedNext) { + const params = Object.create(null); + if (this.options.routeMasks) { + const match = findFlatMatch(next.pathname, this.processedTree); + if (match) { + Object.assign(params, match.rawParams); + const { from: _from, params: maskParams, ...maskProps } = match.route; + const nextParams = maskParams === false || maskParams === null ? Object.create(null) : (maskParams ?? true) === true ? params : Object.assign(params, functionalUpdate(maskParams, params)); + maskedDest = { + from: opts.from, + ...maskProps, + params: nextParams + }; + maskedNext = build(maskedDest); + } + } + } + if (maskedNext) next.maskedLocation = maskedNext; + return next; + }; + if (opts.mask) return buildWithMatches(opts, { + from: opts.from, + ...opts.mask + }); + return buildWithMatches(opts); + }; + this.commitLocation = async ({ viewTransition, ignoreBlocker, ...next }) => { + const isSameState = () => { + const ignoredProps = [ + "key", + "__TSR_key", + "__TSR_index", + "__hashScrollIntoViewOptions" + ]; + ignoredProps.forEach((prop) => { + next.state[prop] = this.latestLocation.state[prop]; + }); + const isEqual = deepEqual(next.state, this.latestLocation.state); + ignoredProps.forEach((prop) => { + delete next.state[prop]; + }); + return isEqual; + }; + const isSameUrl = trimPathRight(this.latestLocation.href) === trimPathRight(next.href); + let previousCommitPromise = this.commitLocationPromise; + this.commitLocationPromise = createControlledPromise(() => { + previousCommitPromise?.resolve(); + previousCommitPromise = void 0; + }); + if (isSameUrl && isSameState()) this.load(); + else { + let { maskedLocation, hashScrollIntoView, ...nextHistory } = next; + if (maskedLocation) { + nextHistory = { + ...maskedLocation, + state: { + ...maskedLocation.state, + __tempKey: void 0, + __tempLocation: { + ...nextHistory, + search: nextHistory.searchStr, + state: { + ...nextHistory.state, + __tempKey: void 0, + __tempLocation: void 0, + __TSR_key: void 0, + key: void 0 + } + } + } + }; + if (nextHistory.unmaskOnReload ?? this.options.unmaskOnReload ?? false) nextHistory.state.__tempKey = this.tempLocationKey; + } + nextHistory.state.__hashScrollIntoViewOptions = hashScrollIntoView ?? this.options.defaultHashScrollIntoView ?? true; + this.shouldViewTransition = viewTransition; + this.history[next.replace ? "replace" : "push"](nextHistory.publicHref, nextHistory.state, { ignoreBlocker }); + } + this.resetNextScroll = next.resetScroll ?? true; + if (!this.history.subscribers.size) this.load(); + return this.commitLocationPromise; + }; + this.buildAndCommitLocation = ({ replace, resetScroll, hashScrollIntoView, viewTransition, ignoreBlocker, href, ...rest } = {}) => { + if (href) { + const currentIndex = this.history.location.state.__TSR_index; + const parsed = parseHref(href, { __TSR_index: replace ? currentIndex : currentIndex + 1 }); + const hrefUrl = new URL(parsed.pathname, this.origin); + rest.to = executeRewriteInput(this.rewrite, hrefUrl).pathname; + rest.search = this.options.parseSearch(parsed.search); + rest.hash = parsed.hash.slice(1); + } + const location = this.buildLocation({ + ...rest, + _includeValidateSearch: true + }); + this.pendingBuiltLocation = location; + const commitPromise = this.commitLocation({ + ...location, + viewTransition, + replace, + resetScroll, + hashScrollIntoView, + ignoreBlocker + }); + Promise.resolve().then(() => { + if (this.pendingBuiltLocation === location) this.pendingBuiltLocation = void 0; + }); + return commitPromise; + }; + this.navigate = async ({ to, reloadDocument, href, publicHref, ...rest }) => { + let hrefIsUrl = false; + if (href) try { + new URL(`${href}`); + hrefIsUrl = true; + } catch {} + if (hrefIsUrl && !reloadDocument) reloadDocument = true; + if (reloadDocument) { + if (to !== void 0 || !href) { + const location = this.buildLocation({ + to, + ...rest + }); + href = href ?? location.publicHref; + publicHref = publicHref ?? location.publicHref; + } + const reloadHref = !hrefIsUrl && publicHref ? publicHref : href; + if (isDangerousProtocol(reloadHref, this.protocolAllowlist)) return Promise.resolve(); + if (!rest.ignoreBlocker) { + const blockers = this.history.getBlockers?.() ?? []; + for (const blocker of blockers) if (blocker?.blockerFn) { + if (await blocker.blockerFn({ + currentLocation: this.latestLocation, + nextLocation: this.latestLocation, + action: "PUSH" + })) return Promise.resolve(); + } + } + if (rest.replace) window.location.replace(reloadHref); + else window.location.href = reloadHref; + return Promise.resolve(); + } + return this.buildAndCommitLocation({ + ...rest, + href, + to, + _isNavigate: true + }); + }; + this.beforeLoad = () => { + this.cancelMatches(); + this.updateLatestLocation(); + { + const nextLocation = this.buildLocation({ + to: this.latestLocation.pathname, + search: true, + params: true, + hash: true, + state: true, + _includeValidateSearch: true + }); + if (this.latestLocation.publicHref !== nextLocation.publicHref) { + const href = this.getParsedLocationHref(nextLocation); + if (nextLocation.external) throw redirect({ href }); + else throw redirect({ + href, + _builtLocation: nextLocation + }); + } + } + const pendingMatches = this.matchRoutes(this.latestLocation); + const nextCachedMatches = this.stores.cachedMatches.get().filter((d) => !pendingMatches.some((e) => e.id === d.id)); + this.batch(() => { + this.stores.status.set("pending"); + this.stores.statusCode.set(200); + this.stores.isLoading.set(true); + this.stores.location.set(this.latestLocation); + this.stores.setPending(pendingMatches); + this.stores.setCached(nextCachedMatches); + }); + }; + this.load = async (opts) => { + let redirect; + let notFound; + let loadPromise; + const previousLocation = this.stores.resolvedLocation.get() ?? this.stores.location.get(); + loadPromise = new Promise((resolve) => { + this.startTransition(async () => { + try { + this.beforeLoad(); + const next = this.latestLocation; + const locationChangeInfo = getLocationChangeInfo(next, this.stores.resolvedLocation.get()); + if (!this.stores.redirect.get()) this.emit({ + type: "onBeforeNavigate", + ...locationChangeInfo + }); + this.emit({ + type: "onBeforeLoad", + ...locationChangeInfo + }); + await loadMatches({ + router: this, + sync: opts?.sync, + forceStaleReload: previousLocation.href === next.href, + matches: this.stores.pendingMatches.get(), + location: next, + updateMatch: this.updateMatch, + onReady: async () => { + this.startTransition(() => { + this.startViewTransition(async () => { + let exitingMatches = null; + let hookExitingMatches = null; + let hookEnteringMatches = null; + let hookStayingMatches = null; + this.batch(() => { + const pendingMatches = this.stores.pendingMatches.get(); + const mountPending = pendingMatches.length; + const currentMatches = this.stores.matches.get(); + exitingMatches = mountPending ? currentMatches.filter((match) => !this.stores.pendingMatchStores.has(match.id)) : null; + const pendingRouteIds = /* @__PURE__ */ new Set(); + for (const s of this.stores.pendingMatchStores.values()) if (s.routeId) pendingRouteIds.add(s.routeId); + const activeRouteIds = /* @__PURE__ */ new Set(); + for (const s of this.stores.matchStores.values()) if (s.routeId) activeRouteIds.add(s.routeId); + hookExitingMatches = mountPending ? currentMatches.filter((match) => !pendingRouteIds.has(match.routeId)) : null; + hookEnteringMatches = mountPending ? pendingMatches.filter((match) => !activeRouteIds.has(match.routeId)) : null; + hookStayingMatches = mountPending ? pendingMatches.filter((match) => activeRouteIds.has(match.routeId)) : currentMatches; + this.stores.isLoading.set(false); + this.stores.loadedAt.set(Date.now()); + /** + * When committing new matches, cache any exiting matches that are still usable. + * Routes that resolved with `status: 'error'` or `status: 'notFound'` are + * deliberately excluded from `cachedMatches` so that subsequent invalidations + * or reloads re-run their loaders instead of reusing the failed/not-found data. + */ + if (mountPending) { + this.stores.setMatches(pendingMatches); + this.stores.setPending([]); + this.stores.setCached([...this.stores.cachedMatches.get(), ...exitingMatches.filter((d) => d.status !== "error" && d.status !== "notFound" && d.status !== "redirected")]); + this.clearExpiredCache(); + } + }); + for (const [matches, hook] of [ + [hookExitingMatches, "onLeave"], + [hookEnteringMatches, "onEnter"], + [hookStayingMatches, "onStay"] + ]) { + if (!matches) continue; + for (const match of matches) this.looseRoutesById[match.routeId].options[hook]?.(match); + } + }); + }); + } + }); + } catch (err) { + if (isRedirect(err)) redirect = err; + else if (isNotFound(err)) notFound = err; + const nextStatusCode = redirect ? redirect.status : notFound ? 404 : this.stores.matches.get().some((d) => d.status === "error") ? 500 : 200; + this.batch(() => { + this.stores.statusCode.set(nextStatusCode); + this.stores.redirect.set(redirect); + }); + } + if (this.latestLoadPromise === loadPromise) { + this.commitLocationPromise?.resolve(); + this.latestLoadPromise = void 0; + this.commitLocationPromise = void 0; + } + resolve(); + }); + }); + this.latestLoadPromise = loadPromise; + await loadPromise; + while (this.latestLoadPromise && loadPromise !== this.latestLoadPromise) await this.latestLoadPromise; + let newStatusCode = void 0; + if (this.hasNotFoundMatch()) newStatusCode = 404; + else if (this.stores.matches.get().some((d) => d.status === "error")) newStatusCode = 500; + if (newStatusCode !== void 0) this.stores.statusCode.set(newStatusCode); + }; + this.startViewTransition = (fn) => { + const shouldViewTransition = this.shouldViewTransition ?? this.options.defaultViewTransition; + this.shouldViewTransition = void 0; + if (shouldViewTransition && typeof document !== "undefined" && "startViewTransition" in document && typeof document.startViewTransition === "function") { + let startViewTransitionParams; + if (typeof shouldViewTransition === "object" && this.isViewTransitionTypesSupported) { + const next = this.latestLocation; + const prevLocation = this.stores.resolvedLocation.get(); + const resolvedViewTransitionTypes = typeof shouldViewTransition.types === "function" ? shouldViewTransition.types(getLocationChangeInfo(next, prevLocation)) : shouldViewTransition.types; + if (resolvedViewTransitionTypes === false) { + fn(); + return; + } + startViewTransitionParams = { + update: fn, + types: resolvedViewTransitionTypes + }; + } else startViewTransitionParams = fn; + document.startViewTransition(startViewTransitionParams); + } else fn(); + }; + this.updateMatch = (id, updater) => { + this.startTransition(() => { + const pendingMatch = this.stores.pendingMatchStores.get(id); + if (pendingMatch) { + pendingMatch.set(updater); + return; + } + const activeMatch = this.stores.matchStores.get(id); + if (activeMatch) { + activeMatch.set(updater); + return; + } + const cachedMatch = this.stores.cachedMatchStores.get(id); + if (cachedMatch) { + const next = updater(cachedMatch.get()); + if (next.status === "redirected") { + if (this.stores.cachedMatchStores.delete(id)) this.stores.cachedIds.set((prev) => prev.filter((matchId) => matchId !== id)); + } else cachedMatch.set(next); + } + }); + }; + this.getMatch = (matchId) => { + return this.stores.cachedMatchStores.get(matchId)?.get() ?? this.stores.pendingMatchStores.get(matchId)?.get() ?? this.stores.matchStores.get(matchId)?.get(); + }; + this.invalidate = (opts) => { + const invalidate = (d) => { + if (opts?.filter?.(d) ?? true) return { + ...d, + invalid: true, + ...opts?.forcePending || d.status === "error" || d.status === "notFound" ? { + status: "pending", + error: void 0 + } : void 0 + }; + return d; + }; + this.batch(() => { + this.stores.setMatches(this.stores.matches.get().map(invalidate)); + this.stores.setCached(this.stores.cachedMatches.get().map(invalidate)); + this.stores.setPending(this.stores.pendingMatches.get().map(invalidate)); + }); + this.shouldViewTransition = false; + return this.load({ sync: opts?.sync }); + }; + this.getParsedLocationHref = (location) => { + return location.publicHref || "/"; + }; + this.resolveRedirect = (redirect) => { + const locationHeader = redirect.headers.get("Location"); + if (!redirect.options.href || redirect.options._builtLocation) { + const location = redirect.options._builtLocation ?? this.buildLocation(redirect.options); + const href = this.getParsedLocationHref(location); + redirect.options.href = href; + redirect.headers.set("Location", href); + } else if (locationHeader) try { + const url = new URL(locationHeader); + if (this.origin && url.origin === this.origin) { + const href = url.pathname + url.search + url.hash; + redirect.options.href = href; + redirect.headers.set("Location", href); + } + } catch {} + if (redirect.options.href && !redirect.options._builtLocation && isDangerousProtocol(redirect.options.href, this.protocolAllowlist)) throw new Error("Redirect blocked: unsafe protocol"); + if (!redirect.headers.get("Location")) redirect.headers.set("Location", redirect.options.href); + return redirect; + }; + this.clearCache = (opts) => { + const filter = opts?.filter; + if (filter !== void 0) this.stores.setCached(this.stores.cachedMatches.get().filter((m) => !filter(m))); + else this.stores.setCached([]); + }; + this.clearExpiredCache = () => { + const now = Date.now(); + const filter = (d) => { + const route = this.looseRoutesById[d.routeId]; + if (!route.options.loader) return true; + const gcTime = (d.preload ? route.options.preloadGcTime ?? this.options.defaultPreloadGcTime : route.options.gcTime ?? this.options.defaultGcTime) ?? 300 * 1e3; + if (d.status === "error") return true; + return now - d.updatedAt >= gcTime; + }; + this.clearCache({ filter }); + }; + this.loadRouteChunk = loadRouteChunk; + this.preloadRoute = async (opts) => { + const next = opts._builtLocation ?? this.buildLocation(opts); + let matches = this.matchRoutes(next, { + throwOnError: true, + preload: true, + dest: opts + }); + const activeMatchIds = new Set([...this.stores.matchesId.get(), ...this.stores.pendingIds.get()]); + const loadedMatchIds = new Set([...activeMatchIds, ...this.stores.cachedIds.get()]); + const matchesToCache = matches.filter((match) => !loadedMatchIds.has(match.id)); + if (matchesToCache.length) { + const cachedMatches = this.stores.cachedMatches.get(); + this.stores.setCached([...cachedMatches, ...matchesToCache]); + } + try { + matches = await loadMatches({ + router: this, + matches, + location: next, + preload: true, + updateMatch: (id, updater) => { + if (activeMatchIds.has(id)) matches = matches.map((d) => d.id === id ? updater(d) : d); + else this.updateMatch(id, updater); + } + }); + return matches; + } catch (err) { + if (isRedirect(err)) { + if (err.options.reloadDocument) return; + return await this.preloadRoute({ + ...err.options, + _fromLocation: next + }); + } + if (!isNotFound(err)) console.error(err); + return; + } + }; + this.matchRoute = (location, opts) => { + const matchLocation = { + ...location, + to: location.to ? this.resolvePathWithBase(location.from || "", location.to) : void 0, + params: location.params || {}, + leaveParams: true + }; + const next = this.buildLocation(matchLocation); + if (opts?.pending && this.stores.status.get() !== "pending") return false; + const baseLocation = (opts?.pending === void 0 ? !this.stores.isLoading.get() : opts.pending) ? this.latestLocation : this.stores.resolvedLocation.get() || this.stores.location.get(); + const match = findSingleMatch(next.pathname, opts?.caseSensitive ?? false, opts?.fuzzy ?? false, baseLocation.pathname, this.processedTree); + if (!match) return false; + if (location.params) { + if (!deepEqual(match.rawParams, location.params, { partial: true })) return false; + } + if (opts?.includeSearch ?? true) return deepEqual(baseLocation.search, next.search, { partial: true }) ? match.rawParams : false; + return match.rawParams; + }; + this.hasNotFoundMatch = () => { + return this.stores.matches.get().some((d) => d.status === "notFound" || d.globalNotFound); + }; + this.getStoreConfig = getStoreConfig; + this.update({ + defaultPreloadDelay: 50, + defaultPendingMs: 1e3, + defaultPendingMinMs: 500, + context: void 0, + ...options, + caseSensitive: options.caseSensitive ?? false, + notFoundMode: options.notFoundMode ?? "fuzzy", + stringifySearch: options.stringifySearch ?? defaultStringifySearch, + parseSearch: options.parseSearch ?? defaultParseSearch, + protocolAllowlist: options.protocolAllowlist ?? DEFAULT_PROTOCOL_ALLOWLIST + }); + if (typeof document !== "undefined") self.__TSR_ROUTER__ = this; + } + isShell() { + return !!this.options.isShell; + } + isPrerendering() { + return !!this.options.isPrerendering; + } + get state() { + return this.stores.__store.get(); + } + setRoutes({ routesById, routesByPath, processedTree }) { + this.routesById = routesById; + this.routesByPath = routesByPath; + this.processedTree = processedTree; + const notFoundRoute = this.options.notFoundRoute; + if (notFoundRoute) { + notFoundRoute.init({ originalIndex: 99999999999 }); + this.routesById[notFoundRoute.id] = notFoundRoute; + } + } + getRouteBranch(route) { + let branch = this.routeBranchCache.get(route); + if (!branch) { + branch = buildRouteBranch(route); + this.routeBranchCache.set(route, branch); + } + return branch; + } + get looseRoutesById() { + return this.routesById; + } + getParentContext(parentMatch) { + return !parentMatch?.id ? this.options.context ?? void 0 : parentMatch.context ?? this.options.context ?? void 0; + } + matchRoutesInternal(next, opts) { + const matchedRoutesResult = this.getMatchedRoutes(next.pathname); + const { foundRoute, routeParams } = matchedRoutesResult; + let { matchedRoutes } = matchedRoutesResult; + let isGlobalNotFound = false; + if (foundRoute ? foundRoute.path !== "/" && routeParams["**"] : trimPathRight(next.pathname)) if (this.options.notFoundRoute) matchedRoutes = [...matchedRoutes, this.options.notFoundRoute]; + else isGlobalNotFound = true; + const globalNotFoundRouteId = isGlobalNotFound ? findGlobalNotFoundRouteId(this.options.notFoundMode, matchedRoutes) : void 0; + const matches = new Array(matchedRoutes.length); + const previousActiveMatchesByRouteId = /* @__PURE__ */ new Map(); + for (const store of this.stores.matchStores.values()) if (store.routeId) previousActiveMatchesByRouteId.set(store.routeId, store.get()); + for (let index = 0; index < matchedRoutes.length; index++) { + const route = matchedRoutes[index]; + const parentMatch = matches[index - 1]; + let preMatchSearch; + let strictMatchSearch; + let searchError; + { + const parentSearch = parentMatch?.search ?? next.search; + const parentStrictSearch = parentMatch?._strictSearch ?? void 0; + try { + const strictSearch = validateSearch(route.options.validateSearch, { ...parentSearch }) ?? void 0; + preMatchSearch = { + ...parentSearch, + ...strictSearch + }; + strictMatchSearch = { + ...parentStrictSearch, + ...strictSearch + }; + searchError = void 0; + } catch (err) { + let searchParamError = err; + if (!(err instanceof SearchParamError)) searchParamError = new SearchParamError(err.message, { cause: err }); + if (opts?.throwOnError) throw searchParamError; + preMatchSearch = parentSearch; + strictMatchSearch = {}; + searchError = searchParamError; + } + } + const loaderDeps = route.options.loaderDeps?.({ search: preMatchSearch }) ?? ""; + const loaderDepsHash = loaderDeps ? JSON.stringify(loaderDeps) : ""; + const { interpolatedPath, usedParams } = interpolatePath({ + path: route.fullPath, + params: routeParams, + decoder: this.pathParamsDecoder, + server: this.isServer + }); + const matchId = route.id + interpolatedPath + loaderDepsHash; + const existingMatch = this.getMatch(matchId); + const previousMatch = previousActiveMatchesByRouteId.get(route.id); + const strictParams = existingMatch?._strictParams ?? usedParams; + let paramsError = void 0; + if (!existingMatch) try { + extractStrictParams(route, strictParams); + } catch (err) { + if (isNotFound(err) || isRedirect(err)) paramsError = err; + else paramsError = new PathParamError(err.message, { cause: err }); + if (opts?.throwOnError) throw paramsError; + } + Object.assign(routeParams, strictParams); + const cause = previousMatch ? "stay" : "enter"; + let match; + if (existingMatch) match = { + ...existingMatch, + cause, + params: previousMatch?.params ?? routeParams, + _strictParams: strictParams, + search: previousMatch ? nullReplaceEqualDeep(previousMatch.search, preMatchSearch) : nullReplaceEqualDeep(existingMatch.search, preMatchSearch), + _strictSearch: strictMatchSearch + }; + else { + const status = route.options.loader || route.options.beforeLoad || route.lazyFn || routeNeedsPreload(route) ? "pending" : "success"; + match = { + id: matchId, + ssr: void 0, + index, + routeId: route.id, + params: previousMatch?.params ?? routeParams, + _strictParams: strictParams, + pathname: interpolatedPath, + updatedAt: Date.now(), + search: previousMatch ? nullReplaceEqualDeep(previousMatch.search, preMatchSearch) : preMatchSearch, + _strictSearch: strictMatchSearch, + searchError: void 0, + status, + isFetching: false, + error: void 0, + paramsError, + __routeContext: void 0, + _nonReactive: { loadPromise: createControlledPromise() }, + __beforeLoadContext: void 0, + context: {}, + abortController: new AbortController(), + fetchCount: 0, + cause, + loaderDeps: previousMatch ? replaceEqualDeep(previousMatch.loaderDeps, loaderDeps) : loaderDeps, + invalid: false, + preload: false, + links: void 0, + scripts: void 0, + headScripts: void 0, + meta: void 0, + staticData: route.options.staticData || {}, + fullPath: route.fullPath + }; + } + if (!opts?.preload) match.globalNotFound = globalNotFoundRouteId === route.id; + match.searchError = searchError; + const parentContext = this.getParentContext(parentMatch); + match.context = { + ...parentContext, + ...match.__routeContext, + ...match.__beforeLoadContext + }; + matches[index] = match; + } + for (let index = 0; index < matches.length; index++) { + const match = matches[index]; + const route = this.looseRoutesById[match.routeId]; + const existingMatch = this.getMatch(match.id); + const previousMatch = previousActiveMatchesByRouteId.get(match.routeId); + match.params = previousMatch ? nullReplaceEqualDeep(previousMatch.params, routeParams) : routeParams; + if (!existingMatch) { + const parentMatch = matches[index - 1]; + const parentContext = this.getParentContext(parentMatch); + if (route.options.context) { + const contextFnContext = { + deps: match.loaderDeps, + params: match.params, + context: parentContext ?? {}, + location: next, + navigate: (opts) => this.navigate({ + ...opts, + _fromLocation: next + }), + buildLocation: this.buildLocation, + cause: match.cause, + abortController: match.abortController, + preload: !!match.preload, + matches, + routeId: route.id + }; + match.__routeContext = route.options.context(contextFnContext) ?? void 0; + } + match.context = { + ...parentContext, + ...match.__routeContext, + ...match.__beforeLoadContext + }; + } + } + return matches; + } + /** + * Lightweight route matching for buildLocation. + * Only computes fullPath, accumulated search, and params - skipping expensive + * operations like AbortController, ControlledPromise, loaderDeps, and full match objects. + */ + matchRoutesLightweight(location) { + const { matchedRoutes, routeParams } = this.getMatchedRoutes(location.pathname); + const lastRoute = last(matchedRoutes); + const accumulatedSearch = { ...location.search }; + for (const route of matchedRoutes) try { + Object.assign(accumulatedSearch, validateSearch(route.options.validateSearch, accumulatedSearch)); + } catch {} + const lastStateMatchId = last(this.stores.matchesId.get()); + const lastStateMatch = lastStateMatchId && this.stores.matchStores.get(lastStateMatchId)?.get(); + const canReuseParams = lastStateMatch && lastStateMatch.routeId === lastRoute.id && lastStateMatch.pathname === location.pathname; + let params; + if (canReuseParams) params = lastStateMatch.params; + else { + const strictParams = Object.assign(Object.create(null), routeParams); + for (const route of matchedRoutes) try { + extractStrictParams(route, strictParams); + } catch {} + params = strictParams; + } + return { + matchedRoutes, + fullPath: lastRoute.fullPath, + search: accumulatedSearch, + params + }; + } +}; +/** Error thrown when search parameter validation fails. */ +var SearchParamError = class extends Error {}; +/** Error thrown when path parameter parsing/validation fails. */ +var PathParamError = class extends Error {}; +/** Create an initial RouterState from a parsed location. */ +function getInitialRouterState(location) { + return { + loadedAt: 0, + isLoading: false, + isTransitioning: false, + status: "idle", + resolvedLocation: void 0, + location, + matches: [], + statusCode: 200 + }; +} +function validateSearch(validateSearch, input) { + if (validateSearch == null) return {}; + if ("~standard" in validateSearch) { + const result = validateSearch["~standard"].validate(input); + if (result instanceof Promise) throw new SearchParamError("Async validation not supported"); + if (result.issues) throw new SearchParamError(JSON.stringify(result.issues, void 0, 2), { cause: result }); + return result.value; + } + if ("parse" in validateSearch) return validateSearch.parse(input); + if (typeof validateSearch === "function") return validateSearch(input); + return {}; +} +/** +* Build the matched route chain and extract params for a pathname. +* Falls back to the root route if no specific route is found. +*/ +function getMatchedRoutes({ pathname, routesById, processedTree }) { + const routeParams = Object.create(null); + const trimmedPath = trimPathRight(pathname); + let foundRoute = void 0; + const match = findRouteMatch(trimmedPath, processedTree, true); + if (match) { + foundRoute = match.route; + Object.assign(routeParams, match.rawParams); + } + return { + matchedRoutes: match?.branch || [routesById["__root__"]], + routeParams, + foundRoute + }; +} +/** +* TODO: once caches are persisted across requests on the server, +* we can cache the built middleware chain using `last(destRoutes)` as the key +*/ +function applySearchMiddleware({ search, dest, destRoutes, _includeValidateSearch }) { + return buildMiddlewareChain(destRoutes)(search, dest, _includeValidateSearch ?? false); +} +function buildMiddlewareChain(destRoutes) { + const context = { + dest: null, + _includeValidateSearch: false, + middlewares: [] + }; + for (const route of destRoutes) { + if ("search" in route.options) { + if (route.options.search?.middlewares) context.middlewares.push(...route.options.search.middlewares); + } else if (route.options.preSearchFilters || route.options.postSearchFilters) { + const legacyMiddleware = ({ search, next }) => { + let nextSearch = search; + if ("preSearchFilters" in route.options && route.options.preSearchFilters) nextSearch = route.options.preSearchFilters.reduce((prev, next) => next(prev), search); + const result = next(nextSearch); + if ("postSearchFilters" in route.options && route.options.postSearchFilters) return route.options.postSearchFilters.reduce((prev, next) => next(prev), result); + return result; + }; + context.middlewares.push(legacyMiddleware); + } + if (route.options.validateSearch) { + const validate = ({ search, next }) => { + const result = next(search); + if (!context._includeValidateSearch) return result; + try { + return { + ...result, + ...validateSearch(route.options.validateSearch, result) ?? void 0 + }; + } catch { + return result; + } + }; + context.middlewares.push(validate); + } + } + const final = ({ search }) => { + const dest = context.dest; + if (!dest.search) return {}; + if (dest.search === true) return search; + return functionalUpdate(dest.search, search); + }; + context.middlewares.push(final); + const applyNext = (index, currentSearch, middlewares) => { + if (index >= middlewares.length) return currentSearch; + const middleware = middlewares[index]; + const next = (newSearch) => { + return applyNext(index + 1, newSearch, middlewares); + }; + return middleware({ + search: currentSearch, + next + }); + }; + return function middleware(search, dest, _includeValidateSearch) { + context.dest = dest; + context._includeValidateSearch = _includeValidateSearch; + return applyNext(0, search, context.middlewares); + }; +} +function findGlobalNotFoundRouteId(notFoundMode, routes) { + if (notFoundMode !== "root") for (let i = routes.length - 1; i >= 0; i--) { + const route = routes[i]; + if (route.children) return route.id; + } + return rootRouteId; +} +function extractStrictParams(route, accumulatedParams) { + const parseParams = route.options.params?.parse ?? route.options.parseParams; + if (parseParams) { + const result = parseParams(accumulatedParams); + if (result === false) throw new Error("Route params.parse returned false for a matched route"); + Object.assign(accumulatedParams, result); + } +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/link.js +var preloadWarning = "Error preloading route! ☝️"; +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/manifest.js +function getAssetCrossOrigin(assetCrossOrigin, kind) { + if (!assetCrossOrigin) return; + if (typeof assetCrossOrigin === "string") return assetCrossOrigin; + return assetCrossOrigin[kind]; +} +function resolveManifestAssetLink(link) { + if (typeof link === "string") return { + href: link, + crossOrigin: void 0 + }; + return link; +} +function getStylesheetHref(asset) { + if (asset.tag !== "link") return void 0; + const rel = asset.attrs?.rel; + const href = asset.attrs?.href; + if (typeof href !== "string") return void 0; + if (!(typeof rel === "string" ? rel.split(/\s+/) : []).includes("stylesheet")) return void 0; + return href; +} +function isInlinableStylesheet(manifest, asset) { + const href = getStylesheetHref(asset); + return !!href && manifest?.inlineCss?.styles[href] !== void 0; +} +function createInlineCssStyleAsset(css) { + return { + tag: "style", + attrs: { suppressHydrationWarning: true }, + inlineCss: true, + children: css + }; +} +function createInlineCssPlaceholderAsset() { + return { + tag: "style", + attrs: { suppressHydrationWarning: true }, + inlineCss: true + }; +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/route.js +var BaseRoute = class { + get to() { + return this._to; + } + get id() { + return this._id; + } + get path() { + return this._path; + } + get fullPath() { + return this._fullPath; + } + constructor(options) { + this.init = (opts) => { + this.originalIndex = opts.originalIndex; + const options = this.options; + const isRoot = !options?.path && !options?.id; + this.parentRoute = this.options.getParentRoute?.(); + if (isRoot) this._path = rootRouteId; + else if (!this.parentRoute) invariant(); + let path = isRoot ? rootRouteId : options?.path; + if (path && path !== "/") path = trimPathLeft(path); + const customId = options?.id || path; + let id = isRoot ? rootRouteId : joinPaths([this.parentRoute.id === "__root__" ? "" : this.parentRoute.id, customId]); + if (path === "__root__") path = "/"; + if (id !== "__root__") id = joinPaths(["/", id]); + const fullPath = id === "__root__" ? "/" : joinPaths([this.parentRoute.fullPath, path]); + this._path = path; + this._id = id; + this._fullPath = fullPath; + this._to = trimPathRight(fullPath); + }; + this.addChildren = (children) => { + return this._addFileChildren(children); + }; + this._addFileChildren = (children) => { + if (Array.isArray(children)) this.children = children; + if (typeof children === "object" && children !== null) this.children = Object.values(children); + return this; + }; + this._addFileTypes = () => { + return this; + }; + this.updateLoader = (options) => { + Object.assign(this.options, options); + return this; + }; + this.update = (options) => { + Object.assign(this.options, options); + return this; + }; + this.lazy = (lazyFn) => { + this.lazyFn = lazyFn; + return this; + }; + this.redirect = (opts) => redirect({ + from: this.fullPath, + ...opts + }); + this.options = options || {}; + this.isRoot = !options?.getParentRoute; + if (options?.id && options?.path) throw new Error(`Route cannot have both an 'id' and a 'path' option.`); + } +}; +var BaseRootRoute = class extends BaseRoute { + constructor(options) { + super(options); + } +}; +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/ssr/constants.js +var import_jsx_runtime = require_jsx_runtime(); +var GLOBAL_TSR = "$_TSR"; +var TSR_SCRIPT_BARRIER_ID = "$tsr-stream-barrier"; +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/CatchBoundary.js +function CatchBoundary(props) { + const errorComponent = props.errorComponent ?? ErrorComponent; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CatchBoundaryImpl, { + getResetKey: props.getResetKey, + onCatch: props.onCatch, + children: ({ error, reset }) => { + if (error) return import_react.createElement(errorComponent, { + error, + reset + }); + return props.children; + } + }); +} +var CatchBoundaryImpl = class extends import_react.Component { + constructor(..._args) { + super(..._args); + this.state = { error: null }; + } + static getDerivedStateFromProps(props, state) { + const resetKey = props.getResetKey(); + if (state.error && state.resetKey !== resetKey) return { + resetKey, + error: null + }; + return { resetKey }; + } + static getDerivedStateFromError(error) { + return { error }; + } + reset() { + this.setState({ error: null }); + } + componentDidCatch(error, errorInfo) { + if (this.props.onCatch) this.props.onCatch(error, errorInfo); + } + render() { + return this.props.children({ + error: this.state.error, + reset: () => { + this.reset(); + } + }); + } +}; +function ErrorComponent({ error }) { + const [show, setShow] = import_react.useState(false); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { + style: { + padding: ".5rem", + maxWidth: "100%" + }, + children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { + style: { + display: "flex", + alignItems: "center", + gap: ".5rem" + }, + children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { + style: { fontSize: "1rem" }, + children: "Something went wrong!" + }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { + style: { + appearance: "none", + fontSize: ".6em", + border: "1px solid currentColor", + padding: ".1rem .2rem", + fontWeight: "bold", + borderRadius: ".25rem" + }, + onClick: () => setShow((d) => !d), + children: show ? "Hide Error" : "Show Error" + })] + }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { height: ".25rem" } }), + show ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { + style: { + fontSize: ".7em", + border: "1px solid red", + borderRadius: ".25rem", + padding: ".3rem", + color: "red", + overflow: "auto" + }, + children: error.message ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { children: error.message }) : null + }) }) : null + ] + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/ClientOnly.js +/** +* Render the children only after the JS has loaded client-side. Use an optional +* fallback component if the JS is not yet loaded. +* +* @example +* Render a Chart component if JS loads, renders a simple FakeChart +* component server-side or if there is no JS. The FakeChart can have only the +* UI without the behavior or be a loading spinner or skeleton. +* +* ```tsx +* return ( +* }> +* +* +* ) +* ``` +*/ +function ClientOnly({ children, fallback = null }) { + return useHydrated() ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Fragment, { children }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Fragment, { children: fallback }); +} +/** +* Return a boolean indicating if the JS has been hydrated already. +* When doing Server-Side Rendering, the result will always be false. +* When doing Client-Side Rendering, the result will always be false on the +* first render and true from then on. Even if a new component renders it will +* always start with true. +* +* @example +* ```tsx +* // Disable a button that needs JS to work. +* let hydrated = useHydrated() +* return ( +* +* ) +* ``` +* @returns True if the JS has been hydrated already, false otherwise. +*/ +function useHydrated() { + return import_react.useSyncExternalStore(subscribe, () => true, () => false); +} +function subscribe() { + return () => {}; +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/routerContext.js +var routerContext = import_react.createContext(null); +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/useRouter.js +/** +* Access the current TanStack Router instance from React context. +* Must be used within a `RouterProvider`. +* +* Options: +* - `warn`: Log a warning if no router context is found (default: true). +* +* @returns The registered router instance. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useRouterHook +*/ +function useRouter(opts) { + return import_react.useContext(routerContext); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/matchContext.js +var matchContext = import_react.createContext(void 0); +var dummyMatchContext = import_react.createContext(void 0); +//#endregion +//#region node_modules/@tanstack/store/dist/esm/alien.js +var ReactiveFlags = /* @__PURE__ */ ((ReactiveFlags2) => { + ReactiveFlags2[ReactiveFlags2["None"] = 0] = "None"; + ReactiveFlags2[ReactiveFlags2["Mutable"] = 1] = "Mutable"; + ReactiveFlags2[ReactiveFlags2["Watching"] = 2] = "Watching"; + ReactiveFlags2[ReactiveFlags2["RecursedCheck"] = 4] = "RecursedCheck"; + ReactiveFlags2[ReactiveFlags2["Recursed"] = 8] = "Recursed"; + ReactiveFlags2[ReactiveFlags2["Dirty"] = 16] = "Dirty"; + ReactiveFlags2[ReactiveFlags2["Pending"] = 32] = "Pending"; + return ReactiveFlags2; +})(ReactiveFlags || {}); +/* @__NO_SIDE_EFFECTS__ */ +function createReactiveSystem({ update, notify, unwatched }) { + return { + link, + unlink, + propagate, + checkDirty, + shallowPropagate + }; + function link(dep, sub, version) { + const prevDep = sub.depsTail; + if (prevDep !== void 0 && prevDep.dep === dep) return; + const nextDep = prevDep !== void 0 ? prevDep.nextDep : sub.deps; + if (nextDep !== void 0 && nextDep.dep === dep) { + nextDep.version = version; + sub.depsTail = nextDep; + return; + } + const prevSub = dep.subsTail; + if (prevSub !== void 0 && prevSub.version === version && prevSub.sub === sub) return; + const newLink = sub.depsTail = dep.subsTail = { + version, + dep, + sub, + prevDep, + nextDep, + prevSub, + nextSub: void 0 + }; + if (nextDep !== void 0) nextDep.prevDep = newLink; + if (prevDep !== void 0) prevDep.nextDep = newLink; + else sub.deps = newLink; + if (prevSub !== void 0) prevSub.nextSub = newLink; + else dep.subs = newLink; + } + function unlink(link2, sub = link2.sub) { + const dep = link2.dep; + const prevDep = link2.prevDep; + const nextDep = link2.nextDep; + const nextSub = link2.nextSub; + const prevSub = link2.prevSub; + if (nextDep !== void 0) nextDep.prevDep = prevDep; + else sub.depsTail = prevDep; + if (prevDep !== void 0) prevDep.nextDep = nextDep; + else sub.deps = nextDep; + if (nextSub !== void 0) nextSub.prevSub = prevSub; + else dep.subsTail = prevSub; + if (prevSub !== void 0) prevSub.nextSub = nextSub; + else if ((dep.subs = nextSub) === void 0) unwatched(dep); + return nextDep; + } + function propagate(link2) { + let next = link2.nextSub; + let stack; + top: do { + const sub = link2.sub; + let flags = sub.flags; + if (!(flags & 60)) sub.flags = flags | 32; + else if (!(flags & 12)) flags = 0; + else if (!(flags & 4)) sub.flags = flags & -9 | 32; + else if (!(flags & 48) && isValidLink(link2, sub)) { + sub.flags = flags | 40; + flags &= 1; + } else flags = 0; + if (flags & 2) notify(sub); + if (flags & 1) { + const subSubs = sub.subs; + if (subSubs !== void 0) { + const nextSub = (link2 = subSubs).nextSub; + if (nextSub !== void 0) { + stack = { + value: next, + prev: stack + }; + next = nextSub; + } + continue; + } + } + if ((link2 = next) !== void 0) { + next = link2.nextSub; + continue; + } + while (stack !== void 0) { + link2 = stack.value; + stack = stack.prev; + if (link2 !== void 0) { + next = link2.nextSub; + continue top; + } + } + break; + } while (true); + } + function checkDirty(link2, sub) { + let stack; + let checkDepth = 0; + let dirty = false; + top: do { + const dep = link2.dep; + const flags = dep.flags; + if (sub.flags & 16) dirty = true; + else if ((flags & 17) === 17) { + if (update(dep)) { + const subs = dep.subs; + if (subs.nextSub !== void 0) shallowPropagate(subs); + dirty = true; + } + } else if ((flags & 33) === 33) { + if (link2.nextSub !== void 0 || link2.prevSub !== void 0) stack = { + value: link2, + prev: stack + }; + link2 = dep.deps; + sub = dep; + ++checkDepth; + continue; + } + if (!dirty) { + const nextDep = link2.nextDep; + if (nextDep !== void 0) { + link2 = nextDep; + continue; + } + } + while (checkDepth--) { + const firstSub = sub.subs; + const hasMultipleSubs = firstSub.nextSub !== void 0; + if (hasMultipleSubs) { + link2 = stack.value; + stack = stack.prev; + } else link2 = firstSub; + if (dirty) { + if (update(sub)) { + if (hasMultipleSubs) shallowPropagate(firstSub); + sub = link2.sub; + continue; + } + dirty = false; + } else sub.flags &= -33; + sub = link2.sub; + const nextDep = link2.nextDep; + if (nextDep !== void 0) { + link2 = nextDep; + continue top; + } + } + return dirty; + } while (true); + } + function shallowPropagate(link2) { + do { + const sub = link2.sub; + const flags = sub.flags; + if ((flags & 48) === 32) { + sub.flags = flags | 16; + if ((flags & 6) === 2) notify(sub); + } + } while ((link2 = link2.nextSub) !== void 0); + } + function isValidLink(checkLink, sub) { + let link2 = sub.depsTail; + while (link2 !== void 0) { + if (link2 === checkLink) return true; + link2 = link2.prevDep; + } + return false; + } +} +var queuedEffects = []; +var { link, unlink, propagate, checkDirty, shallowPropagate } = /* @__PURE__ */ createReactiveSystem({ + update(atom) { + return atom._update(); + }, + notify(effect2) { + queuedEffects[queuedEffectsLength++] = effect2; + effect2.flags &= ~ReactiveFlags.Watching; + }, + unwatched(atom) { + if (atom.depsTail !== void 0) { + atom.depsTail = void 0; + atom.flags = ReactiveFlags.Mutable | ReactiveFlags.Dirty; + purgeDeps(atom); + } + } +}); +var queuedEffectsLength = 0; +function purgeDeps(sub) { + const depsTail = sub.depsTail; + let dep = depsTail !== void 0 ? depsTail.nextDep : sub.deps; + while (dep !== void 0) dep = unlink(dep, sub); +} +//#endregion +//#region node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +/** +* @license React +* use-sync-external-store-shim.production.js +* +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +var require_use_sync_external_store_shim_production = /* @__PURE__ */ __commonJSMin(((exports) => { + var React = require_react(); + function is(x, y) { + return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y; + } + var objectIs = "function" === typeof Object.is ? Object.is : is, useState = React.useState, useEffect = React.useEffect, useLayoutEffect = React.useLayoutEffect, useDebugValue = React.useDebugValue; + function useSyncExternalStore$2(subscribe, getSnapshot) { + var value = getSnapshot(), _useState = useState({ inst: { + value, + getSnapshot + } }), inst = _useState[0].inst, forceUpdate = _useState[1]; + useLayoutEffect(function() { + inst.value = value; + inst.getSnapshot = getSnapshot; + checkIfSnapshotChanged(inst) && forceUpdate({ inst }); + }, [ + subscribe, + value, + getSnapshot + ]); + useEffect(function() { + checkIfSnapshotChanged(inst) && forceUpdate({ inst }); + return subscribe(function() { + checkIfSnapshotChanged(inst) && forceUpdate({ inst }); + }); + }, [subscribe]); + useDebugValue(value); + return value; + } + function checkIfSnapshotChanged(inst) { + var latestGetSnapshot = inst.getSnapshot; + inst = inst.value; + try { + var nextValue = latestGetSnapshot(); + return !objectIs(inst, nextValue); + } catch (error) { + return !0; + } + } + function useSyncExternalStore$1(subscribe, getSnapshot) { + return getSnapshot(); + } + var shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2; + exports.useSyncExternalStore = void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim; +})); +//#endregion +//#region node_modules/use-sync-external-store/shim/index.js +var require_shim = /* @__PURE__ */ __commonJSMin(((exports, module) => { + module.exports = require_use_sync_external_store_shim_production(); +})); +//#endregion +//#region node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +/** +* @license React +* use-sync-external-store-shim/with-selector.production.js +* +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +var require_with_selector_production = /* @__PURE__ */ __commonJSMin(((exports) => { + var React = require_react(), shim = require_shim(); + function is(x, y) { + return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y; + } + var objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore = shim.useSyncExternalStore, useRef = React.useRef, useEffect = React.useEffect, useMemo = React.useMemo, useDebugValue = React.useDebugValue; + exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) { + var instRef = useRef(null); + if (null === instRef.current) { + var inst = { + hasValue: !1, + value: null + }; + instRef.current = inst; + } else inst = instRef.current; + instRef = useMemo(function() { + function memoizedSelector(nextSnapshot) { + if (!hasMemo) { + hasMemo = !0; + memoizedSnapshot = nextSnapshot; + nextSnapshot = selector(nextSnapshot); + if (void 0 !== isEqual && inst.hasValue) { + var currentSelection = inst.value; + if (isEqual(currentSelection, nextSnapshot)) return memoizedSelection = currentSelection; + } + return memoizedSelection = nextSnapshot; + } + currentSelection = memoizedSelection; + if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection; + var nextSelection = selector(nextSnapshot); + if (void 0 !== isEqual && isEqual(currentSelection, nextSelection)) return memoizedSnapshot = nextSnapshot, currentSelection; + memoizedSnapshot = nextSnapshot; + return memoizedSelection = nextSelection; + } + var hasMemo = !1, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot; + return [function() { + return memoizedSelector(getSnapshot()); + }, null === maybeGetServerSnapshot ? void 0 : function() { + return memoizedSelector(maybeGetServerSnapshot()); + }]; + }, [ + getSnapshot, + getServerSnapshot, + selector, + isEqual + ]); + var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]); + useEffect(function() { + inst.hasValue = !0; + inst.value = value; + }, [value]); + useDebugValue(value); + return value; + }; +})); +//#endregion +//#region node_modules/@tanstack/react-store/dist/esm/useStore.js +var import_with_selector = (/* @__PURE__ */ __commonJSMin(((exports, module) => { + module.exports = require_with_selector_production(); +})))(); +function defaultCompare(a, b) { + return a === b; +} +function useStore(atom, selector, compare = defaultCompare) { + const subscribe = (0, import_react.useCallback)((handleStoreChange) => { + if (!atom) return () => {}; + const { unsubscribe } = atom.subscribe(handleStoreChange); + return unsubscribe; + }, [atom]); + const boundGetSnapshot = (0, import_react.useCallback)(() => atom?.get(), [atom]); + return (0, import_with_selector.useSyncExternalStoreWithSelector)(subscribe, boundGetSnapshot, boundGetSnapshot, selector, compare); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/useMatch.js +var dummyStore = { + get: () => void 0, + subscribe: () => ({ unsubscribe: () => {} }) +}; +/** +* Read and select the nearest or targeted route match. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useMatchHook +*/ +function useMatch(opts) { + const router = useRouter(); + const nearestMatchId = import_react.useContext(opts.from ? dummyMatchContext : matchContext); + const key = opts.from ?? nearestMatchId; + const matchStore = key ? opts.from ? router.stores.getRouteMatchStore(key) : router.stores.matchStores.get(key) : void 0; + { + const match = matchStore?.get(); + if ((opts.shouldThrow ?? true) && !match) invariant(); + if (match === void 0) return; + return opts.select ? opts.select(match) : match; + } + const previousResult = import_react.useRef(void 0); + return useStore(matchStore ?? dummyStore, (match) => { + if ((opts.shouldThrow ?? true) && !match) invariant(); + if (match === void 0) return; + const selected = opts.select ? opts.select(match) : match; + if (opts.structuralSharing ?? router.options.defaultStructuralSharing) { + const shared = replaceEqualDeep(previousResult.current, selected); + previousResult.current = shared; + return shared; + } + return selected; + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/useLoaderData.js +/** +* Read and select the current route's loader data with type‑safety. +* +* Options: +* - `from`/`strict`: Choose which route's data to read and strictness +* - `select`: Map the loader data to a derived value +* - `structuralSharing`: Enable structural sharing for stable references +* +* @returns The loader data (or selected value) for the matched route. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useLoaderDataHook +*/ +function useLoaderData(opts) { + return useMatch({ + from: opts.from, + strict: opts.strict, + structuralSharing: opts.structuralSharing, + select: (s) => { + return opts.select ? opts.select(s.loaderData) : s.loaderData; + } + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/useLoaderDeps.js +/** +* Read and select the current route's loader dependencies object. +* +* Options: +* - `from`: Choose which route's loader deps to read +* - `select`: Map the deps to a derived value +* - `structuralSharing`: Enable structural sharing for stable references +* +* @returns The loader deps (or selected value) for the matched route. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useLoaderDepsHook +*/ +function useLoaderDeps(opts) { + const { select, ...rest } = opts; + return useMatch({ + ...rest, + select: (s) => { + return select ? select(s.loaderDeps) : s.loaderDeps; + } + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/useParams.js +/** +* Access the current route's path parameters with type-safety. +* +* Options: +* - `from`/`strict`: Specify the matched route and whether to enforce strict typing +* - `select`: Project the params object to a derived value for memoized renders +* - `structuralSharing`: Enable structural sharing for stable references +* - `shouldThrow`: Throw if the route is not found in strict contexts +* +* @returns The params object (or selected value) for the matched route. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useParamsHook +*/ +function useParams(opts) { + return useMatch({ + from: opts.from, + shouldThrow: opts.shouldThrow, + structuralSharing: opts.structuralSharing, + strict: opts.strict, + select: (match) => { + const params = opts.strict === false ? match.params : match._strictParams; + return opts.select ? opts.select(params) : params; + } + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/useSearch.js +/** +* Read and select the current route's search parameters with type-safety. +* +* Options: +* - `from`/`strict`: Control which route's search is read and how strictly it's typed +* - `select`: Map the search object to a derived value for render optimization +* - `structuralSharing`: Enable structural sharing for stable references +* - `shouldThrow`: Throw when the route is not found (strict contexts) +* +* @returns The search object (or selected value) for the matched route. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useSearchHook +*/ +function useSearch(opts) { + return useMatch({ + from: opts.from, + strict: opts.strict, + shouldThrow: opts.shouldThrow, + structuralSharing: opts.structuralSharing, + select: (match) => { + return opts.select ? opts.select(match.search) : match.search; + } + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/useNavigate.js +/** +* Imperative navigation hook. +* +* Returns a stable `navigate(options)` function to change the current location +* programmatically. Prefer the `Link` component for user-initiated navigation, +* and use this hook from effects, callbacks, or handlers where imperative +* navigation is required. +* +* Options: +* - `from`: Optional route base used to resolve relative `to` paths. +* +* @returns A function that accepts `NavigateOptions`. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useNavigateHook +*/ +function useNavigate(_defaultOpts) { + const router = useRouter(); + return import_react.useCallback((options) => { + return router.navigate({ + ...options, + from: options.from ?? _defaultOpts?.from + }); + }, [_defaultOpts?.from, router]); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/useRouteContext.js +function useRouteContext(opts) { + return useMatch({ + ...opts, + select: (match) => opts.select ? opts.select(match.context) : match.context + }); +} +//#endregion +//#region node_modules/react-dom/cjs/react-dom.production.js +/** +* @license React +* react-dom.production.js +* +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +var require_react_dom_production = /* @__PURE__ */ __commonJSMin(((exports) => { + var React = require_react(); + function formatProdErrorMessage(code) { + var url = "https://react.dev/errors/" + code; + if (1 < arguments.length) { + url += "?args[]=" + encodeURIComponent(arguments[1]); + for (var i = 2; i < arguments.length; i++) url += "&args[]=" + encodeURIComponent(arguments[i]); + } + return "Minified React error #" + code + "; visit " + url + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; + } + function noop() {} + var Internals = { + d: { + f: noop, + r: function() { + throw Error(formatProdErrorMessage(522)); + }, + D: noop, + C: noop, + L: noop, + m: noop, + X: noop, + S: noop, + M: noop + }, + p: 0, + findDOMNode: null + }, REACT_PORTAL_TYPE = Symbol.for("react.portal"); + function createPortal$1(children, containerInfo, implementation) { + var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; + return { + $$typeof: REACT_PORTAL_TYPE, + key: null == key ? null : "" + key, + children, + containerInfo, + implementation + }; + } + var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; + function getCrossOriginStringAs(as, input) { + if ("font" === as) return ""; + if ("string" === typeof input) return "use-credentials" === input ? input : ""; + } + exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals; + exports.createPortal = function(children, container) { + var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; + if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) throw Error(formatProdErrorMessage(299)); + return createPortal$1(children, container, null, key); + }; + exports.flushSync = function(fn) { + var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p; + try { + if (ReactSharedInternals.T = null, Internals.p = 2, fn) return fn(); + } finally { + ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f(); + } + }; + exports.preconnect = function(href, options) { + "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options)); + }; + exports.prefetchDNS = function(href) { + "string" === typeof href && Internals.d.D(href); + }; + exports.preinit = function(href, options) { + if ("string" === typeof href && options && "string" === typeof options.as) { + var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0; + "style" === as ? Internals.d.S(href, "string" === typeof options.precedence ? options.precedence : void 0, { + crossOrigin, + integrity, + fetchPriority + }) : "script" === as && Internals.d.X(href, { + crossOrigin, + integrity, + fetchPriority, + nonce: "string" === typeof options.nonce ? options.nonce : void 0 + }); + } + }; + exports.preinitModule = function(href, options) { + if ("string" === typeof href) if ("object" === typeof options && null !== options) { + if (null == options.as || "script" === options.as) { + var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin); + Internals.d.M(href, { + crossOrigin, + integrity: "string" === typeof options.integrity ? options.integrity : void 0, + nonce: "string" === typeof options.nonce ? options.nonce : void 0 + }); + } + } else options ?? Internals.d.M(href); + }; + exports.preload = function(href, options) { + if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) { + var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin); + Internals.d.L(href, as, { + crossOrigin, + integrity: "string" === typeof options.integrity ? options.integrity : void 0, + nonce: "string" === typeof options.nonce ? options.nonce : void 0, + type: "string" === typeof options.type ? options.type : void 0, + fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0, + referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0, + imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0, + imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0, + media: "string" === typeof options.media ? options.media : void 0 + }); + } + }; + exports.preloadModule = function(href, options) { + if ("string" === typeof href) if (options) { + var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin); + Internals.d.m(href, { + as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0, + crossOrigin, + integrity: "string" === typeof options.integrity ? options.integrity : void 0 + }); + } else Internals.d.m(href); + }; + exports.requestFormReset = function(form) { + Internals.d.r(form); + }; + exports.unstable_batchedUpdates = function(fn, a) { + return fn(a); + }; + exports.useFormState = function(action, initialState, permalink) { + return ReactSharedInternals.H.useFormState(action, initialState, permalink); + }; + exports.useFormStatus = function() { + return ReactSharedInternals.H.useHostTransitionStatus(); + }; + exports.version = "19.2.6"; +})); +//#endregion +//#region node_modules/react-dom/index.js +var require_react_dom = /* @__PURE__ */ __commonJSMin(((exports, module) => { + function checkDCE() { + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === "undefined" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== "function") return; + try { + __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); + } catch (err) { + console.error(err); + } + } + checkDCE(); + module.exports = require_react_dom_production(); +})); +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/link.js +var import_react_dom = require_react_dom(); +/** +* Build anchor-like props for declarative navigation and preloading. +* +* Returns stable `href`, event handlers and accessibility props derived from +* router options and active state. Used internally by `Link` and custom links. +* +* Options cover `to`, `params`, `search`, `hash`, `state`, `preload`, +* `activeProps`, `inactiveProps`, and more. +* +* @returns React anchor props suitable for `` or custom components. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useLinkPropsHook +*/ +function useLinkProps(options, forwardedRef) { + const router = useRouter(); + const innerRef = useForwardedRef(forwardedRef); + const { activeProps, inactiveProps, activeOptions, to, preload: userPreload, preloadDelay: userPreloadDelay, preloadIntentProximity: _preloadIntentProximity, hashScrollIntoView, replace, startTransition, resetScroll, viewTransition, children, target, disabled, style, className, onClick, onBlur, onFocus, onMouseEnter, onMouseLeave, onTouchStart, ignoreBlocker, params: _params, search: _search, hash: _hash, state: _state, mask: _mask, reloadDocument: _reloadDocument, unsafeRelative: _unsafeRelative, from: _from, _fromLocation, ...propsSafeToSpread } = options; + { + const safeInternal = isSafeInternal(to); + if (typeof to === "string" && !safeInternal && to.indexOf(":") > -1) try { + new URL(to); + if (isDangerousProtocol(to, router.protocolAllowlist)) return { + ...propsSafeToSpread, + ref: innerRef, + href: void 0, + ...children && { children }, + ...target && { target }, + ...disabled && { disabled }, + ...style && { style }, + ...className && { className } + }; + return { + ...propsSafeToSpread, + ref: innerRef, + href: to, + ...children && { children }, + ...target && { target }, + ...disabled && { disabled }, + ...style && { style }, + ...className && { className } + }; + } catch {} + const next = router.buildLocation({ + ...options, + from: options.from + }); + const hrefOption = getHrefOption(next.maskedLocation ? next.maskedLocation.publicHref : next.publicHref, next.maskedLocation ? next.maskedLocation.external : next.external, router.history, disabled); + const externalLink = (() => { + if (hrefOption?.external) { + if (isDangerousProtocol(hrefOption.href, router.protocolAllowlist)) return; + return hrefOption.href; + } + if (safeInternal) return void 0; + if (typeof to === "string" && to.indexOf(":") > -1) try { + new URL(to); + if (isDangerousProtocol(to, router.protocolAllowlist)) return; + return to; + } catch {} + })(); + const isActive = (() => { + if (externalLink) return false; + const currentLocation = router.stores.location.get(); + const exact = activeOptions?.exact ?? false; + if (exact) { + if (!exactPathTest(currentLocation.pathname, next.pathname, router.basepath)) return false; + } else { + const currentPathSplit = removeTrailingSlash(currentLocation.pathname, router.basepath); + const nextPathSplit = removeTrailingSlash(next.pathname, router.basepath); + if (!(currentPathSplit.startsWith(nextPathSplit) && (currentPathSplit.length === nextPathSplit.length || currentPathSplit[nextPathSplit.length] === "/"))) return false; + } + if (activeOptions?.includeSearch ?? true) { + if (currentLocation.search !== next.search) { + const currentSearchEmpty = !currentLocation.search || typeof currentLocation.search === "object" && !hasKeys(currentLocation.search); + const nextSearchEmpty = !next.search || typeof next.search === "object" && !hasKeys(next.search); + if (!(currentSearchEmpty && nextSearchEmpty)) { + if (!deepEqual(currentLocation.search, next.search, { + partial: !exact, + ignoreUndefined: !activeOptions?.explicitUndefined + })) return false; + } + } + } + if (activeOptions?.includeHash) return false; + return true; + })(); + if (externalLink) return { + ...propsSafeToSpread, + ref: innerRef, + href: externalLink, + ...children && { children }, + ...target && { target }, + ...disabled && { disabled }, + ...style && { style }, + ...className && { className } + }; + const resolvedActiveProps = isActive ? functionalUpdate(activeProps, {}) ?? STATIC_ACTIVE_OBJECT : STATIC_EMPTY_OBJECT; + const resolvedInactiveProps = isActive ? STATIC_EMPTY_OBJECT : functionalUpdate(inactiveProps, {}) ?? STATIC_EMPTY_OBJECT; + const resolvedStyle = (() => { + const baseStyle = style; + const activeStyle = resolvedActiveProps.style; + const inactiveStyle = resolvedInactiveProps.style; + if (!baseStyle && !activeStyle && !inactiveStyle) return; + if (baseStyle && !activeStyle && !inactiveStyle) return baseStyle; + if (!baseStyle && activeStyle && !inactiveStyle) return activeStyle; + if (!baseStyle && !activeStyle && inactiveStyle) return inactiveStyle; + return { + ...baseStyle, + ...activeStyle, + ...inactiveStyle + }; + })(); + const resolvedClassName = (() => { + const baseClassName = className; + const activeClassName = resolvedActiveProps.className; + const inactiveClassName = resolvedInactiveProps.className; + if (!baseClassName && !activeClassName && !inactiveClassName) return ""; + let out = ""; + if (baseClassName) out = baseClassName; + if (activeClassName) out = out ? `${out} ${activeClassName}` : activeClassName; + if (inactiveClassName) out = out ? `${out} ${inactiveClassName}` : inactiveClassName; + return out; + })(); + return { + ...propsSafeToSpread, + ...resolvedActiveProps, + ...resolvedInactiveProps, + href: hrefOption?.href, + ref: innerRef, + disabled: !!disabled, + target, + ...resolvedStyle && { style: resolvedStyle }, + ...resolvedClassName && { className: resolvedClassName }, + ...disabled && STATIC_DISABLED_PROPS, + ...isActive && STATIC_ACTIVE_PROPS + }; + } + const isHydrated = useHydrated(); + const _options = import_react.useMemo(() => options, [ + router, + options.from, + options._fromLocation, + options.hash, + options.to, + options.search, + options.params, + options.state, + options.mask, + options.unsafeRelative + ]); + const currentLocation = useStore(router.stores.location, (l) => l, (prev, next) => prev.href === next.href); + const next = import_react.useMemo(() => { + const opts = { + _fromLocation: currentLocation, + ..._options + }; + return router.buildLocation(opts); + }, [ + router, + currentLocation, + _options + ]); + const hrefOptionPublicHref = next.maskedLocation ? next.maskedLocation.publicHref : next.publicHref; + const hrefOptionExternal = next.maskedLocation ? next.maskedLocation.external : next.external; + const hrefOption = import_react.useMemo(() => getHrefOption(hrefOptionPublicHref, hrefOptionExternal, router.history, disabled), [ + disabled, + hrefOptionExternal, + hrefOptionPublicHref, + router.history + ]); + const externalLink = import_react.useMemo(() => { + if (hrefOption?.external) { + if (isDangerousProtocol(hrefOption.href, router.protocolAllowlist)) return; + return hrefOption.href; + } + if (isSafeInternal(to)) return void 0; + if (typeof to !== "string" || to.indexOf(":") === -1) return void 0; + try { + new URL(to); + if (isDangerousProtocol(to, router.protocolAllowlist)) return; + return to; + } catch {} + }, [ + to, + hrefOption, + router.protocolAllowlist + ]); + const isActive = import_react.useMemo(() => { + if (externalLink) return false; + if (activeOptions?.exact) { + if (!exactPathTest(currentLocation.pathname, next.pathname, router.basepath)) return false; + } else { + const currentPathSplit = removeTrailingSlash(currentLocation.pathname, router.basepath); + const nextPathSplit = removeTrailingSlash(next.pathname, router.basepath); + if (!(currentPathSplit.startsWith(nextPathSplit) && (currentPathSplit.length === nextPathSplit.length || currentPathSplit[nextPathSplit.length] === "/"))) return false; + } + if (activeOptions?.includeSearch ?? true) { + if (!deepEqual(currentLocation.search, next.search, { + partial: !activeOptions?.exact, + ignoreUndefined: !activeOptions?.explicitUndefined + })) return false; + } + if (activeOptions?.includeHash) return isHydrated && currentLocation.hash === next.hash; + return true; + }, [ + activeOptions?.exact, + activeOptions?.explicitUndefined, + activeOptions?.includeHash, + activeOptions?.includeSearch, + currentLocation, + externalLink, + isHydrated, + next.hash, + next.pathname, + next.search, + router.basepath + ]); + const resolvedActiveProps = isActive ? functionalUpdate(activeProps, {}) ?? STATIC_ACTIVE_OBJECT : STATIC_EMPTY_OBJECT; + const resolvedInactiveProps = isActive ? STATIC_EMPTY_OBJECT : functionalUpdate(inactiveProps, {}) ?? STATIC_EMPTY_OBJECT; + const resolvedClassName = [ + className, + resolvedActiveProps.className, + resolvedInactiveProps.className + ].filter(Boolean).join(" "); + const resolvedStyle = (style || resolvedActiveProps.style || resolvedInactiveProps.style) && { + ...style, + ...resolvedActiveProps.style, + ...resolvedInactiveProps.style + }; + const [isTransitioning, setIsTransitioning] = import_react.useState(false); + const hasRenderFetched = import_react.useRef(false); + const preload = options.reloadDocument || externalLink ? false : userPreload ?? router.options.defaultPreload; + const preloadDelay = userPreloadDelay ?? router.options.defaultPreloadDelay ?? 0; + const doPreload = import_react.useCallback(() => { + router.preloadRoute({ + ..._options, + _builtLocation: next + }).catch((err) => { + console.warn(err); + console.warn(preloadWarning); + }); + }, [ + router, + _options, + next + ]); + useIntersectionObserver(innerRef, import_react.useCallback((entry) => { + if (entry?.isIntersecting) doPreload(); + }, [doPreload]), intersectionObserverOptions, { disabled: !!disabled || !(preload === "viewport") }); + import_react.useEffect(() => { + if (hasRenderFetched.current) return; + if (!disabled && preload === "render") { + doPreload(); + hasRenderFetched.current = true; + } + }, [ + disabled, + doPreload, + preload + ]); + const handleClick = (e) => { + const elementTarget = e.currentTarget.getAttribute("target"); + const effectiveTarget = target !== void 0 ? target : elementTarget; + if (!disabled && !isCtrlEvent(e) && !e.defaultPrevented && (!effectiveTarget || effectiveTarget === "_self") && e.button === 0) { + e.preventDefault(); + (0, import_react_dom.flushSync)(() => { + setIsTransitioning(true); + }); + const unsub = router.subscribe("onResolved", () => { + unsub(); + setIsTransitioning(false); + }); + router.navigate({ + ..._options, + replace, + resetScroll, + hashScrollIntoView, + startTransition, + viewTransition, + ignoreBlocker + }); + } + }; + if (externalLink) return { + ...propsSafeToSpread, + ref: innerRef, + href: externalLink, + ...children && { children }, + ...target && { target }, + ...disabled && { disabled }, + ...style && { style }, + ...className && { className }, + ...onClick && { onClick }, + ...onBlur && { onBlur }, + ...onFocus && { onFocus }, + ...onMouseEnter && { onMouseEnter }, + ...onMouseLeave && { onMouseLeave }, + ...onTouchStart && { onTouchStart } + }; + const enqueueIntentPreload = (e) => { + if (disabled || preload !== "intent") return; + if (!preloadDelay) { + doPreload(); + return; + } + const eventTarget = e.currentTarget; + if (timeoutMap.has(eventTarget)) return; + const id = setTimeout(() => { + timeoutMap.delete(eventTarget); + doPreload(); + }, preloadDelay); + timeoutMap.set(eventTarget, id); + }; + const handleTouchStart = (_) => { + if (disabled || preload !== "intent") return; + doPreload(); + }; + const handleLeave = (e) => { + if (disabled || !preload || !preloadDelay) return; + const eventTarget = e.currentTarget; + const id = timeoutMap.get(eventTarget); + if (id) { + clearTimeout(id); + timeoutMap.delete(eventTarget); + } + }; + return { + ...propsSafeToSpread, + ...resolvedActiveProps, + ...resolvedInactiveProps, + href: hrefOption?.href, + ref: innerRef, + onClick: composeHandlers([onClick, handleClick]), + onBlur: composeHandlers([onBlur, handleLeave]), + onFocus: composeHandlers([onFocus, enqueueIntentPreload]), + onMouseEnter: composeHandlers([onMouseEnter, enqueueIntentPreload]), + onMouseLeave: composeHandlers([onMouseLeave, handleLeave]), + onTouchStart: composeHandlers([onTouchStart, handleTouchStart]), + disabled: !!disabled, + target, + ...resolvedStyle && { style: resolvedStyle }, + ...resolvedClassName && { className: resolvedClassName }, + ...disabled && STATIC_DISABLED_PROPS, + ...isActive && STATIC_ACTIVE_PROPS, + ...isHydrated && isTransitioning && STATIC_TRANSITIONING_PROPS + }; +} +var STATIC_EMPTY_OBJECT = {}; +var STATIC_ACTIVE_OBJECT = { className: "active" }; +var STATIC_DISABLED_PROPS = { + role: "link", + "aria-disabled": true +}; +var STATIC_ACTIVE_PROPS = { + "data-status": "active", + "aria-current": "page" +}; +var STATIC_TRANSITIONING_PROPS = { "data-transitioning": "transitioning" }; +var timeoutMap = /* @__PURE__ */ new WeakMap(); +var intersectionObserverOptions = { rootMargin: "100px" }; +var composeHandlers = (handlers) => (e) => { + for (const handler of handlers) { + if (!handler) continue; + if (e.defaultPrevented) return; + handler(e); + } +}; +function getHrefOption(publicHref, external, history, disabled) { + if (disabled) return void 0; + if (external) return { + href: publicHref, + external: true + }; + return { + href: history.createHref(publicHref) || "/", + external: false + }; +} +function isSafeInternal(to) { + if (typeof to !== "string") return false; + const zero = to.charCodeAt(0); + if (zero === 47) return to.charCodeAt(1) !== 47; + return zero === 46; +} +/** +* A strongly-typed anchor component for declarative navigation. +* Handles path, search, hash and state updates with optional route preloading +* and active-state styling. +* +* Props: +* - `preload`: Controls route preloading (eg. 'intent', 'render', 'viewport', true/false) +* - `preloadDelay`: Delay in ms before preloading on hover +* - `activeProps`/`inactiveProps`: Additional props merged when link is active/inactive +* - `resetScroll`/`hashScrollIntoView`: Control scroll behavior on navigation +* - `viewTransition`/`startTransition`: Use View Transitions/React transitions for navigation +* - `ignoreBlocker`: Bypass registered blockers +* +* @returns An anchor-like element that navigates without full page reloads. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/linkComponent +*/ +var Link = import_react.forwardRef((props, ref) => { + const { _asChild, ...rest } = props; + const { type: _type, ...linkProps } = useLinkProps(rest, ref); + const children = typeof rest.children === "function" ? rest.children({ isActive: linkProps["data-status"] === "active" }) : rest.children; + if (!_asChild) { + const { disabled: _, ...rest } = linkProps; + return import_react.createElement("a", rest, children); + } + return import_react.createElement(_asChild, linkProps, children); +}); +function isCtrlEvent(e) { + return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/route.js +var Route = class extends BaseRoute { + /** + * @deprecated Use the `createRoute` function instead. + */ + constructor(options) { + super(options); + this.useMatch = (opts) => { + return useMatch({ + select: opts?.select, + from: this.id, + structuralSharing: opts?.structuralSharing + }); + }; + this.useRouteContext = (opts) => { + return useRouteContext({ + ...opts, + from: this.id + }); + }; + this.useSearch = (opts) => { + return useSearch({ + select: opts?.select, + structuralSharing: opts?.structuralSharing, + from: this.id + }); + }; + this.useParams = (opts) => { + return useParams({ + select: opts?.select, + structuralSharing: opts?.structuralSharing, + from: this.id + }); + }; + this.useLoaderDeps = (opts) => { + return useLoaderDeps({ + ...opts, + from: this.id + }); + }; + this.useLoaderData = (opts) => { + return useLoaderData({ + ...opts, + from: this.id + }); + }; + this.useNavigate = () => { + return useNavigate({ from: this.fullPath }); + }; + this.Link = import_react.forwardRef((props, ref) => { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Link, { + ref, + from: this.fullPath, + ...props + }); + }); + } +}; +/** +* Creates a non-root Route instance for code-based routing. +* +* Use this to define a route that will be composed into a route tree +* (typically via a parent route's `addChildren`). If you're using file-based +* routing, prefer `createFileRoute`. +* +* @param options Route options (path, component, loader, context, etc.). +* @returns A Route instance to be attached to the route tree. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRouteFunction +*/ +function createRoute(options) { + return new Route(options); +} +var RootRoute = class extends BaseRootRoute { + /** + * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead. + */ + constructor(options) { + super(options); + this.useMatch = (opts) => { + return useMatch({ + select: opts?.select, + from: this.id, + structuralSharing: opts?.structuralSharing + }); + }; + this.useRouteContext = (opts) => { + return useRouteContext({ + ...opts, + from: this.id + }); + }; + this.useSearch = (opts) => { + return useSearch({ + select: opts?.select, + structuralSharing: opts?.structuralSharing, + from: this.id + }); + }; + this.useParams = (opts) => { + return useParams({ + select: opts?.select, + structuralSharing: opts?.structuralSharing, + from: this.id + }); + }; + this.useLoaderDeps = (opts) => { + return useLoaderDeps({ + ...opts, + from: this.id + }); + }; + this.useLoaderData = (opts) => { + return useLoaderData({ + ...opts, + from: this.id + }); + }; + this.useNavigate = () => { + return useNavigate({ from: this.fullPath }); + }; + this.Link = import_react.forwardRef((props, ref) => { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Link, { + ref, + from: this.fullPath, + ...props + }); + }); + } +}; +/** +* Creates a root Route instance used to build your route tree. +* +* Typically paired with `createRouter({ routeTree })`. If you need to require +* a typed router context, use `createRootRouteWithContext` instead. +* +* @param options Root route options (component, error, pending, etc.). +* @returns A root route instance. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteFunction +*/ +function createRootRoute(options) { + return new RootRoute(options); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/fileRoute.js +/** +* Creates a file-based Route factory for a given path. +* +* Used by TanStack Router's file-based routing to associate a file with a +* route. The returned function accepts standard route options. In normal usage +* the `path` string is inserted and maintained by the `tsr` generator. +* +* @param path File path literal for the route (usually auto-generated). +* @returns A function that accepts Route options and returns a Route instance. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createFileRouteFunction +*/ +function createFileRoute(path) { + return new FileRoute(path, { silent: true }).createRoute; +} +/** +@deprecated It's no longer recommended to use the `FileRoute` class directly. +Instead, use `createFileRoute('/path/to/file')(options)` to create a file route. +*/ +var FileRoute = class { + constructor(path, _opts) { + this.path = path; + this.createRoute = (options) => { + const route = createRoute(options); + route.isRoot = false; + return route; + }; + this.silent = _opts?.silent; + } +}; +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/lazyRouteComponent.js +/** +* Wrap a dynamic import to create a route component that supports +* `.preload()` and friendly reload-on-module-missing behavior. +* +* @param importer Function returning a module promise +* @param exportName Named export to use (default: `default`) +* @returns A lazy route component compatible with TanStack Router +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/lazyRouteComponentFunction +*/ +function lazyRouteComponent(importer, exportName) { + let loadPromise; + let comp; + let error; + let reload; + const load = () => { + if (!loadPromise) loadPromise = importer().then((res) => { + loadPromise = void 0; + comp = res[exportName ?? "default"]; + }).catch((err) => { + error = err; + if (isModuleNotFoundError(error)) { + if (error instanceof Error && typeof window !== "undefined" && typeof sessionStorage !== "undefined") { + const storageKey = `tanstack_router_reload:${error.message}`; + if (!sessionStorage.getItem(storageKey)) { + sessionStorage.setItem(storageKey, "1"); + reload = true; + } + } + } + }); + return loadPromise; + }; + const lazyComp = function Lazy(props) { + if (reload) { + window.location.reload(); + throw new Promise(() => {}); + } + if (error) throw error; + if (!comp) if (reactUse) reactUse(load()); + else throw load(); + return import_react.createElement(comp, props); + }; + lazyComp.preload = load; + return lazyComp; +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/not-found.js +function CatchNotFound(props) { + const router = useRouter(); + { + const resetKey = `not-found-${router.stores.location.get().pathname}-${router.stores.status.get()}`; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CatchBoundary, { + getResetKey: () => resetKey, + onCatch: (error, errorInfo) => { + if (isNotFound(error)) props.onCatch?.(error, errorInfo); + else throw error; + }, + errorComponent: ({ error }) => { + if (isNotFound(error)) return props.fallback?.(error); + else throw error; + }, + children: props.children + }); + } + const resetKey = `not-found-${useStore(router.stores.location, (location) => location.pathname)}-${useStore(router.stores.status, (status) => status)}`; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CatchBoundary, { + getResetKey: () => resetKey, + onCatch: (error, errorInfo) => { + if (isNotFound(error)) props.onCatch?.(error, errorInfo); + else throw error; + }, + errorComponent: ({ error }) => { + if (isNotFound(error)) return props.fallback?.(error); + else throw error; + }, + children: props.children + }); +} +function DefaultGlobalNotFound() { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: "Not Found" }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/ScriptOnce.js +/** +* Server-only helper to emit a script tag exactly once during SSR. +*/ +function ScriptOnce({ children }) { + const router = useRouter(); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", { + nonce: router.options.ssr?.nonce, + dangerouslySetInnerHTML: { __html: children + ";document.currentScript.remove()" } + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/SafeFragment.js +function SafeFragment(props) { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: props.children }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/renderRouteNotFound.js +/** +* Renders a not found component for a route when no matching route is found. +* +* @param router - The router instance containing the route configuration +* @param route - The route that triggered the not found state +* @param data - Additional data to pass to the not found component +* @returns The rendered not found component or a default fallback component +*/ +function renderRouteNotFound(router, route, data) { + if (!route.options.notFoundComponent) { + if (router.options.defaultNotFoundComponent) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(router.options.defaultNotFoundComponent, { ...data }); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DefaultGlobalNotFound, {}); + } + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(route.options.notFoundComponent, { ...data }); +} +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/scroll-restoration-inline.js +var scroll_restoration_inline_default = "function(t){let s;try{s=JSON.parse(sessionStorage.getItem(t.storageKey)||\"{}\")}catch(e){console.error(e);return}const c=t.key||window.history.state?.__TSR_key,r=c?s[c]:void 0;if(t.shouldScrollRestoration&&r&&typeof r==\"object\"&&Object.keys(r).length>0){for(const e in r){const o=r[e];if(!o||typeof o!=\"object\")continue;const l=o.scrollX,i=o.scrollY;if(!(!Number.isFinite(l)||!Number.isFinite(i))){if(e===\"window\")window.scrollTo({top:i,left:l,behavior:t.behavior});else if(e){let n;try{n=document.querySelector(e)}catch{continue}n&&(n.scrollLeft=l,n.scrollTop=i)}}}return}const a=window.location.hash.split(\"#\",2)[1];if(a){const e=window.history.state?.__hashScrollIntoViewOptions??!0;if(e){const o=document.getElementById(a);o&&o.scrollIntoView(e)}return}window.scrollTo({top:0,left:0,behavior:t.behavior})}"; +//#endregion +//#region node_modules/@tanstack/router-core/dist/esm/scroll-restoration-script/server.js +var defaultInlineScrollRestorationScript = `(${scroll_restoration_inline_default})(${escapeHtml(JSON.stringify({ + storageKey, + shouldScrollRestoration: true +}))})`; +function getScrollRestorationScript(options) { + if (options.storageKey === "tsr-scroll-restoration-v1_3" && options.shouldScrollRestoration === true && options.key === void 0 && options.behavior === void 0) return defaultInlineScrollRestorationScript; + return `(${scroll_restoration_inline_default})(${escapeHtml(JSON.stringify(options))})`; +} +function getScrollRestorationScriptForRouter(router) { + if (typeof router.options.scrollRestoration === "function" && !router.options.scrollRestoration({ location: router.latestLocation })) return null; + const getKey = router.options.getScrollRestorationKey; + if (!getKey) return defaultInlineScrollRestorationScript; + const location = router.latestLocation; + const userKey = getKey(location); + if (userKey === defaultGetScrollRestorationKey(location)) return defaultInlineScrollRestorationScript; + return getScrollRestorationScript({ + storageKey, + shouldScrollRestoration: true, + key: userKey + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/scroll-restoration.js +function ScrollRestoration() { + const script = getScrollRestorationScriptForRouter(useRouter()); + if (!script) return null; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ScriptOnce, { children: script }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/Match.js +var Match = import_react.memo(function MatchImpl({ matchId }) { + const router = useRouter(); + { + const match = router.stores.matchStores.get(matchId)?.get(); + if (!match) invariant(); + const routeId = match.routeId; + const parentRouteId = router.routesById[routeId].parentRoute?.id; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MatchView, { + router, + matchId, + resetKey: router.stores.loadedAt.get(), + matchState: { + routeId, + ssr: match.ssr, + _displayPending: match._displayPending, + parentRouteId + } + }); + } + const matchStore = router.stores.matchStores.get(matchId); + if (!matchStore) invariant(); + const resetKey = useStore(router.stores.loadedAt, (loadedAt) => loadedAt); + const match = useStore(matchStore, (value) => value); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MatchView, { + router, + matchId, + resetKey, + matchState: import_react.useMemo(() => { + const routeId = match.routeId; + const parentRouteId = router.routesById[routeId].parentRoute?.id; + return { + routeId, + ssr: match.ssr, + _displayPending: match._displayPending, + parentRouteId + }; + }, [ + match._displayPending, + match.routeId, + match.ssr, + router.routesById + ]) + }); +}); +function MatchView({ router, matchId, resetKey, matchState }) { + const route = router.routesById[matchState.routeId]; + const PendingComponent = route.options.pendingComponent ?? router.options.defaultPendingComponent; + const pendingElement = PendingComponent ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PendingComponent, {}) : null; + const routeErrorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent; + const routeOnCatch = route.options.onCatch ?? router.options.defaultOnCatch; + const routeNotFoundComponent = route.isRoot ? route.options.notFoundComponent ?? router.options.notFoundRoute?.options.component : route.options.notFoundComponent; + const resolvedNoSsr = matchState.ssr === false || matchState.ssr === "data-only"; + const ResolvedSuspenseBoundary = (!route.isRoot || route.options.wrapInSuspense || resolvedNoSsr) && (route.options.wrapInSuspense ?? PendingComponent ?? (route.options.errorComponent?.preload || resolvedNoSsr)) ? import_react.Suspense : SafeFragment; + const ResolvedCatchBoundary = routeErrorComponent ? CatchBoundary : SafeFragment; + const ResolvedNotFoundBoundary = routeNotFoundComponent ? CatchNotFound : SafeFragment; + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(route.isRoot ? route.options.shellComponent ?? SafeFragment : SafeFragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(matchContext.Provider, { + value: matchId, + children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ResolvedSuspenseBoundary, { + fallback: pendingElement, + children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ResolvedCatchBoundary, { + getResetKey: () => resetKey, + errorComponent: routeErrorComponent || ErrorComponent, + onCatch: (error, errorInfo) => { + if (isNotFound(error)) { + error.routeId ??= matchState.routeId; + throw error; + } + routeOnCatch?.(error, errorInfo); + }, + children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ResolvedNotFoundBoundary, { + fallback: (error) => { + error.routeId ??= matchState.routeId; + if (!routeNotFoundComponent || error.routeId && error.routeId !== matchState.routeId || !error.routeId && !route.isRoot) throw error; + return import_react.createElement(routeNotFoundComponent, error); + }, + children: resolvedNoSsr || matchState._displayPending ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ClientOnly, { + fallback: pendingElement, + children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MatchInner, { matchId }) + }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MatchInner, { matchId }) + }) + }) + }) + }), matchState.parentRouteId === "__root__" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(OnRendered, { resetKey }), router.options.scrollRestoration && true ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ScrollRestoration, {}) : null] }) : null] }); +} +function OnRendered({ resetKey }) { + useRouter(); + return null; +} +var MatchInner = import_react.memo(function MatchInnerImpl({ matchId }) { + const router = useRouter(); + const getMatchPromise = (match, key) => { + return router.getMatch(match.id)?._nonReactive[key] ?? match._nonReactive[key]; + }; + { + const match = router.stores.matchStores.get(matchId)?.get(); + if (!match) invariant(); + const routeId = match.routeId; + const route = router.routesById[routeId]; + const remountDeps = (router.routesById[routeId].options.remountDeps ?? router.options.defaultRemountDeps)?.({ + routeId, + loaderDeps: match.loaderDeps, + params: match._strictParams, + search: match._strictSearch + }); + const key = remountDeps ? JSON.stringify(remountDeps) : void 0; + const Comp = route.options.component ?? router.options.defaultComponent; + const out = Comp ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, {}, key) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Outlet, {}); + if (match._displayPending) throw getMatchPromise(match, "displayPendingPromise"); + if (match._forcePending) throw getMatchPromise(match, "minPendingPromise"); + if (match.status === "pending") throw getMatchPromise(match, "loadPromise"); + if (match.status === "notFound") { + if (!isNotFound(match.error)) invariant(); + return renderRouteNotFound(router, route, match.error); + } + if (match.status === "redirected") { + if (!isRedirect(match.error)) invariant(); + throw getMatchPromise(match, "loadPromise"); + } + if (match.status === "error") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)((route.options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent, { + error: match.error, + reset: void 0, + info: { componentStack: "" } + }); + return out; + } + const matchStore = router.stores.matchStores.get(matchId); + if (!matchStore) invariant(); + const match = useStore(matchStore, (value) => value); + const routeId = match.routeId; + const route = router.routesById[routeId]; + const key = import_react.useMemo(() => { + const remountDeps = (router.routesById[routeId].options.remountDeps ?? router.options.defaultRemountDeps)?.({ + routeId, + loaderDeps: match.loaderDeps, + params: match._strictParams, + search: match._strictSearch + }); + return remountDeps ? JSON.stringify(remountDeps) : void 0; + }, [ + routeId, + match.loaderDeps, + match._strictParams, + match._strictSearch, + router.options.defaultRemountDeps, + router.routesById + ]); + const out = import_react.useMemo(() => { + const Comp = route.options.component ?? router.options.defaultComponent; + if (Comp) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, {}, key); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Outlet, {}); + }, [ + key, + route.options.component, + router.options.defaultComponent + ]); + if (match._displayPending) throw getMatchPromise(match, "displayPendingPromise"); + if (match._forcePending) throw getMatchPromise(match, "minPendingPromise"); + if (match.status === "pending") { + if (route.options.pendingMinMs ?? router.options.defaultPendingMinMs) { + const routerMatch = router.getMatch(match.id); + if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {} + } + throw getMatchPromise(match, "loadPromise"); + } + if (match.status === "notFound") { + if (!isNotFound(match.error)) invariant(); + return renderRouteNotFound(router, route, match.error); + } + if (match.status === "redirected") { + if (!isRedirect(match.error)) invariant(); + throw getMatchPromise(match, "loadPromise"); + } + if (match.status === "error") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)((route.options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent, { + error: match.error, + reset: void 0, + info: { componentStack: "" } + }); + return out; +}); +/** +* Render the next child match in the route tree. Typically used inside +* a route component to render nested routes. +* +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/outletComponent +*/ +var Outlet = import_react.memo(function OutletImpl() { + const router = useRouter(); + const matchId = import_react.useContext(matchContext); + let routeId; + let parentGlobalNotFound = false; + let childMatchId; + { + const matches = router.stores.matches.get(); + const parentIndex = matchId ? matches.findIndex((match) => match.id === matchId) : -1; + const parentMatch = parentIndex >= 0 ? matches[parentIndex] : void 0; + routeId = parentMatch?.routeId; + parentGlobalNotFound = parentMatch?.globalNotFound ?? false; + childMatchId = parentIndex >= 0 ? matches[parentIndex + 1]?.id : void 0; + } + const route = routeId ? router.routesById[routeId] : void 0; + const pendingElement = router.options.defaultPendingComponent ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(router.options.defaultPendingComponent, {}) : null; + if (parentGlobalNotFound) { + if (!route) invariant(); + return renderRouteNotFound(router, route, void 0); + } + if (!childMatchId) return null; + const nextMatch = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Match, { matchId: childMatchId }); + if (routeId === "__root__") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { + fallback: pendingElement, + children: nextMatch + }); + return nextMatch; +}); +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/Matches.js +/** +* Internal component that renders the router's active match tree with +* suspense, error, and not-found boundaries. Rendered by `RouterProvider`. +*/ +function Matches() { + const router = useRouter(); + const PendingComponent = router.routesById["__root__"].options.pendingComponent ?? router.options.defaultPendingComponent; + const pendingElement = PendingComponent ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PendingComponent, {}) : null; + const inner = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SafeFragment, { + fallback: pendingElement, + children: [false, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MatchesInner, {})] + }); + return router.options.InnerWrap ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(router.options.InnerWrap, { children: inner }) : inner; +} +function MatchesInner() { + const router = useRouter(); + const matchId = router.stores.firstId.get(); + const resetKey = router.stores.loadedAt.get(); + const matchComponent = matchId ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Match, { matchId }) : null; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(matchContext.Provider, { + value: matchId, + children: router.options.disableGlobalCatchBoundary ? matchComponent : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CatchBoundary, { + getResetKey: () => resetKey, + errorComponent: ErrorComponent, + onCatch: void 0, + children: matchComponent + }) + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/routerStores.js +var getStoreFactory = (opts) => { + return { + createMutableStore: createNonReactiveMutableStore, + createReadonlyStore: createNonReactiveReadonlyStore, + batch: (fn) => fn() + }; +}; +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/router.js +/** +* Creates a new Router instance for React. +* +* Pass the returned router to `RouterProvider` to enable routing. +* Notable options: `routeTree` (your route definitions) and `context` +* (required if the root route was created with `createRootRouteWithContext`). +* +* @param options Router options used to configure the router. +* @returns A Router instance to be provided to `RouterProvider`. +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRouterFunction +*/ +var createRouter = (options) => { + return new Router(options); +}; +var Router = class extends RouterCore { + constructor(options) { + super(options, getStoreFactory); + } +}; +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/RouterProvider.js +/** +* Low-level provider that places the router into React context and optionally +* updates router options from props. Most apps should use `RouterProvider`. +*/ +function RouterContextProvider({ router, children, ...rest }) { + if (hasKeys(rest)) router.update({ + ...router.options, + ...rest, + context: { + ...router.options.context, + ...rest.context + } + }); + const provider = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(routerContext.Provider, { + value: router, + children + }); + if (router.options.Wrap) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(router.options.Wrap, { children: provider }); + return provider; +} +/** +* Top-level component that renders the active route matches and provides the +* router to the React tree via context. +* +* Accepts the same options as `createRouter` via props to update the router +* instance after creation. +* +* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRouterFunction +*/ +function RouterProvider({ router, ...rest }) { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RouterContextProvider, { + router, + ...rest, + children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Matches, {}) + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/Asset.js +function Asset(asset) { + const { attrs, children, nonce } = asset; + switch (asset.tag) { + case "title": return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("title", { + ...attrs, + suppressHydrationWarning: true, + children + }); + case "meta": return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("meta", { + ...attrs, + suppressHydrationWarning: true + }); + case "link": return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("link", { + ...attrs, + precedence: attrs?.precedence ?? (attrs?.rel === "stylesheet" ? "default" : void 0), + nonce, + suppressHydrationWarning: true + }); + case "style": + if (asset.inlineCss && false); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", { + ...attrs, + dangerouslySetInnerHTML: { __html: children }, + nonce + }); + case "script": return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Script, { + attrs, + children + }); + default: return null; + } +} +function Script({ attrs, children }) { + useRouter(); + useHydrated(); + const dataScript = typeof attrs?.type === "string" && attrs.type !== "" && attrs.type !== "text/javascript" && attrs.type !== "module"; + import_react.useEffect(() => { + if (dataScript) return; + if (attrs?.src) { + const normSrc = (() => { + try { + const base = document.baseURI || window.location.href; + return new URL(attrs.src, base).href; + } catch { + return attrs.src; + } + })(); + if (Array.from(document.querySelectorAll("script[src]")).find((el) => el.src === normSrc)) return; + const script = document.createElement("script"); + for (const [key, value] of Object.entries(attrs)) if (key !== "suppressHydrationWarning" && value !== void 0 && value !== false) script.setAttribute(key, typeof value === "boolean" ? "" : String(value)); + document.head.appendChild(script); + return () => { + if (script.parentNode) script.parentNode.removeChild(script); + }; + } + if (typeof children === "string") { + const typeAttr = typeof attrs?.type === "string" ? attrs.type : "text/javascript"; + const nonceAttr = typeof attrs?.nonce === "string" ? attrs.nonce : void 0; + if (Array.from(document.querySelectorAll("script:not([src])")).find((el) => { + if (!(el instanceof HTMLScriptElement)) return false; + const sType = el.getAttribute("type") ?? "text/javascript"; + const sNonce = el.getAttribute("nonce") ?? void 0; + return el.textContent === children && sType === typeAttr && sNonce === nonceAttr; + })) return; + const script = document.createElement("script"); + script.textContent = children; + if (attrs) { + for (const [key, value] of Object.entries(attrs)) if (key !== "suppressHydrationWarning" && value !== void 0 && value !== false) script.setAttribute(key, typeof value === "boolean" ? "" : String(value)); + } + document.head.appendChild(script); + return () => { + if (script.parentNode) script.parentNode.removeChild(script); + }; + } + }, [ + attrs, + children, + dataScript + ]); + if (attrs?.src) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", { + ...attrs, + suppressHydrationWarning: true + }); + if (typeof children === "string") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", { + ...attrs, + dangerouslySetInnerHTML: { __html: children }, + suppressHydrationWarning: true + }); + return null; +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/headContentUtils.js +function buildTagsFromMatches(router, nonce, matches, assetCrossOrigin) { + const routeMeta = matches.map((match) => match.meta).filter(Boolean); + const resultMeta = []; + const metaByAttribute = {}; + let title; + for (let i = routeMeta.length - 1; i >= 0; i--) { + const metas = routeMeta[i]; + for (let j = metas.length - 1; j >= 0; j--) { + const m = metas[j]; + if (!m) continue; + if (m.title) { + if (!title) title = { + tag: "title", + children: m.title + }; + } else if ("script:ld+json" in m) try { + const json = JSON.stringify(m["script:ld+json"]); + resultMeta.push({ + tag: "script", + attrs: { type: "application/ld+json" }, + children: escapeHtml(json) + }); + } catch {} + else { + const attribute = m.name ?? m.property; + if (attribute) if (metaByAttribute[attribute]) continue; + else metaByAttribute[attribute] = true; + resultMeta.push({ + tag: "meta", + attrs: { + ...m, + nonce + } + }); + } + } + } + if (title) resultMeta.push(title); + if (nonce) resultMeta.push({ + tag: "meta", + attrs: { + property: "csp-nonce", + content: nonce + } + }); + resultMeta.reverse(); + const constructedLinks = matches.map((match) => match.links).filter(Boolean).flat(1).map((link) => ({ + tag: "link", + attrs: { + ...link, + nonce + } + })); + const manifest = router.ssr?.manifest; + const assetLinks = matches.map((match) => manifest?.routes[match.routeId]?.assets ?? []).filter(Boolean).flat(1).flatMap((asset) => { + if (asset.tag === "link") { + if (isInlinableStylesheet(manifest, asset)) return []; + return [{ + tag: "link", + attrs: { + ...asset.attrs, + crossOrigin: getAssetCrossOrigin(assetCrossOrigin, "stylesheet") ?? asset.attrs?.crossOrigin, + suppressHydrationWarning: true, + nonce + } + }]; + } + if (asset.tag === "style") return [{ + tag: "style", + attrs: { + ...asset.attrs, + nonce + }, + children: asset.children, + ...asset.inlineCss ? { inlineCss: true } : {} + }]; + return []; + }); + const preloadLinks = []; + matches.map((match) => router.looseRoutesById[match.routeId]).forEach((route) => router.ssr?.manifest?.routes[route.id]?.preloads?.filter(Boolean).forEach((preload) => { + const preloadLink = resolveManifestAssetLink(preload); + preloadLinks.push({ + tag: "link", + attrs: { + rel: "modulepreload", + href: preloadLink.href, + crossOrigin: getAssetCrossOrigin(assetCrossOrigin, "modulepreload") ?? preloadLink.crossOrigin, + nonce + } + }); + })); + const styles = matches.map((match) => match.styles).flat(1).filter(Boolean).map(({ children, ...attrs }) => ({ + tag: "style", + attrs: { + ...attrs, + nonce + }, + children + })); + const headScripts = matches.map((match) => match.headScripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({ + tag: "script", + attrs: { + ...script, + nonce + }, + children + })); + return uniqBy([ + ...resultMeta, + ...preloadLinks, + ...constructedLinks, + ...assetLinks, + ...styles, + ...headScripts + ], (d) => JSON.stringify(d)); +} +/** +* Build the list of head/link/meta/script tags to render for active matches. +* Used internally by `HeadContent`. +*/ +var useTags = (assetCrossOrigin) => { + const router = useRouter(); + const nonce = router.options.ssr?.nonce; + return buildTagsFromMatches(router, nonce, router.stores.matches.get(), assetCrossOrigin); +}; +function uniqBy(arr, fn) { + const seen = /* @__PURE__ */ new Set(); + return arr.filter((item) => { + const key = fn(item); + if (seen.has(key)) return false; + seen.add(key); + return true; + }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/HeadContent.js +/** +* Render route-managed head tags (title, meta, links, styles, head scripts). +* Place inside the document head of your app shell. +* @link https://tanstack.com/router/latest/docs/framework/react/guide/document-head-management +*/ +function HeadContent(props) { + const tags = useTags(props.assetCrossOrigin); + const nonce = useRouter().options.ssr?.nonce; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: tags.map((tag) => /* @__PURE__ */ (0, import_react.createElement)(Asset, { + ...tag, + key: `tsr-meta-${JSON.stringify(tag)}`, + nonce + })) }); +} +//#endregion +//#region node_modules/@tanstack/react-router/dist/esm/Scripts.js +/** +* Render body script tags collected from route matches and SSR manifests. +* Should be placed near the end of the document body. +*/ +var Scripts = () => { + const router = useRouter(); + const nonce = router.options.ssr?.nonce; + const getAssetScripts = (matches) => { + const assetScripts = []; + const manifest = router.ssr?.manifest; + if (!manifest) return []; + matches.map((match) => router.looseRoutesById[match.routeId]).forEach((route) => manifest.routes[route.id]?.assets?.filter((d) => d.tag === "script").forEach((asset) => { + assetScripts.push({ + tag: "script", + attrs: { + ...asset.attrs, + nonce + }, + children: asset.children + }); + })); + return assetScripts; + }; + const getScripts = (matches) => matches.map((match) => match.scripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({ + tag: "script", + attrs: { + ...script, + suppressHydrationWarning: true, + nonce + }, + children + })); + { + const activeMatches = router.stores.matches.get(); + const assetScripts = getAssetScripts(activeMatches); + return renderScripts(router, getScripts(activeMatches), assetScripts); + } + const assetScripts = useStore(router.stores.matches, getAssetScripts, deepEqual); + return renderScripts(router, useStore(router.stores.matches, getScripts, deepEqual), assetScripts); +}; +function renderScripts(router, scripts, assetScripts) { + let serverBufferedScript = void 0; + if (router.serverSsr) serverBufferedScript = router.serverSsr.takeBufferedScripts(); + const allScripts = [...scripts, ...assetScripts]; + if (serverBufferedScript) allScripts.unshift(serverBufferedScript); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: allScripts.map((asset, i) => /* @__PURE__ */ (0, import_react.createElement)(Asset, { + ...asset, + key: `tsr-scripts-${asset.tag}-${i}` + })) }); +} +//#endregion +//#region node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +/** +* @license React +* react-dom-server-legacy.node.production.js +* +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +var require_react_dom_server_legacy_node_production = /* @__PURE__ */ __commonJSMin(((exports) => { + var React = require_react(), ReactDOM = require_react_dom(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_SCOPE_TYPE = Symbol.for("react.scope"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"), REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"), REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator; + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + var isArrayImpl = Array.isArray; + function murmurhash3_32_gc(key, seed) { + var remainder = key.length & 3; + var bytes = key.length - remainder; + var h1 = seed; + for (seed = 0; seed < bytes;) { + var k1 = key.charCodeAt(seed) & 255 | (key.charCodeAt(++seed) & 255) << 8 | (key.charCodeAt(++seed) & 255) << 16 | (key.charCodeAt(++seed) & 255) << 24; + ++seed; + k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295; + k1 = k1 << 15 | k1 >>> 17; + k1 = 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295; + h1 ^= k1; + h1 = h1 << 13 | h1 >>> 19; + h1 = 5 * (h1 & 65535) + ((5 * (h1 >>> 16) & 65535) << 16) & 4294967295; + h1 = (h1 & 65535) + 27492 + (((h1 >>> 16) + 58964 & 65535) << 16); + } + k1 = 0; + switch (remainder) { + case 3: k1 ^= (key.charCodeAt(seed + 2) & 255) << 16; + case 2: k1 ^= (key.charCodeAt(seed + 1) & 255) << 8; + case 1: k1 ^= key.charCodeAt(seed) & 255, k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295, k1 = k1 << 15 | k1 >>> 17, h1 ^= 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295; + } + h1 ^= key.length; + h1 ^= h1 >>> 16; + h1 = 2246822507 * (h1 & 65535) + ((2246822507 * (h1 >>> 16) & 65535) << 16) & 4294967295; + h1 ^= h1 >>> 13; + h1 = 3266489909 * (h1 & 65535) + ((3266489909 * (h1 >>> 16) & 65535) << 16) & 4294967295; + return (h1 ^ h1 >>> 16) >>> 0; + } + var assign = Object.assign, hasOwnProperty = Object.prototype.hasOwnProperty, VALID_ATTRIBUTE_NAME_REGEX = RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}; + function isAttributeNameSafe(attributeName) { + if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) return !0; + if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1; + if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) return validatedAttributeNameCache[attributeName] = !0; + illegalAttributeNameCache[attributeName] = !0; + return !1; + } + var unitlessNumbers = new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" ")), aliases = new Map([ + ["acceptCharset", "accept-charset"], + ["htmlFor", "for"], + ["httpEquiv", "http-equiv"], + ["crossOrigin", "crossorigin"], + ["accentHeight", "accent-height"], + ["alignmentBaseline", "alignment-baseline"], + ["arabicForm", "arabic-form"], + ["baselineShift", "baseline-shift"], + ["capHeight", "cap-height"], + ["clipPath", "clip-path"], + ["clipRule", "clip-rule"], + ["colorInterpolation", "color-interpolation"], + ["colorInterpolationFilters", "color-interpolation-filters"], + ["colorProfile", "color-profile"], + ["colorRendering", "color-rendering"], + ["dominantBaseline", "dominant-baseline"], + ["enableBackground", "enable-background"], + ["fillOpacity", "fill-opacity"], + ["fillRule", "fill-rule"], + ["floodColor", "flood-color"], + ["floodOpacity", "flood-opacity"], + ["fontFamily", "font-family"], + ["fontSize", "font-size"], + ["fontSizeAdjust", "font-size-adjust"], + ["fontStretch", "font-stretch"], + ["fontStyle", "font-style"], + ["fontVariant", "font-variant"], + ["fontWeight", "font-weight"], + ["glyphName", "glyph-name"], + ["glyphOrientationHorizontal", "glyph-orientation-horizontal"], + ["glyphOrientationVertical", "glyph-orientation-vertical"], + ["horizAdvX", "horiz-adv-x"], + ["horizOriginX", "horiz-origin-x"], + ["imageRendering", "image-rendering"], + ["letterSpacing", "letter-spacing"], + ["lightingColor", "lighting-color"], + ["markerEnd", "marker-end"], + ["markerMid", "marker-mid"], + ["markerStart", "marker-start"], + ["overlinePosition", "overline-position"], + ["overlineThickness", "overline-thickness"], + ["paintOrder", "paint-order"], + ["panose-1", "panose-1"], + ["pointerEvents", "pointer-events"], + ["renderingIntent", "rendering-intent"], + ["shapeRendering", "shape-rendering"], + ["stopColor", "stop-color"], + ["stopOpacity", "stop-opacity"], + ["strikethroughPosition", "strikethrough-position"], + ["strikethroughThickness", "strikethrough-thickness"], + ["strokeDasharray", "stroke-dasharray"], + ["strokeDashoffset", "stroke-dashoffset"], + ["strokeLinecap", "stroke-linecap"], + ["strokeLinejoin", "stroke-linejoin"], + ["strokeMiterlimit", "stroke-miterlimit"], + ["strokeOpacity", "stroke-opacity"], + ["strokeWidth", "stroke-width"], + ["textAnchor", "text-anchor"], + ["textDecoration", "text-decoration"], + ["textRendering", "text-rendering"], + ["transformOrigin", "transform-origin"], + ["underlinePosition", "underline-position"], + ["underlineThickness", "underline-thickness"], + ["unicodeBidi", "unicode-bidi"], + ["unicodeRange", "unicode-range"], + ["unitsPerEm", "units-per-em"], + ["vAlphabetic", "v-alphabetic"], + ["vHanging", "v-hanging"], + ["vIdeographic", "v-ideographic"], + ["vMathematical", "v-mathematical"], + ["vectorEffect", "vector-effect"], + ["vertAdvY", "vert-adv-y"], + ["vertOriginX", "vert-origin-x"], + ["vertOriginY", "vert-origin-y"], + ["wordSpacing", "word-spacing"], + ["writingMode", "writing-mode"], + ["xmlnsXlink", "xmlns:xlink"], + ["xHeight", "x-height"] + ]), matchHtmlRegExp = /["'&<>]/; + function escapeTextForBrowser(text) { + if ("boolean" === typeof text || "number" === typeof text || "bigint" === typeof text) return "" + text; + text = "" + text; + var match = matchHtmlRegExp.exec(text); + if (match) { + var html = "", index, lastIndex = 0; + for (index = match.index; index < text.length; index++) { + switch (text.charCodeAt(index)) { + case 34: + match = """; + break; + case 38: + match = "&"; + break; + case 39: + match = "'"; + break; + case 60: + match = "<"; + break; + case 62: + match = ">"; + break; + default: continue; + } + lastIndex !== index && (html += text.slice(lastIndex, index)); + lastIndex = index + 1; + html += match; + } + text = lastIndex !== index ? html + text.slice(lastIndex, index) : html; + } + return text; + } + var uppercasePattern = /([A-Z])/g, msPattern = /^ms-/, isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i; + function sanitizeURL(url) { + return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url; + } + var ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, sharedNotPendingObject = { + pending: !1, + data: null, + method: null, + action: null + }, previousDispatcher = ReactDOMSharedInternals.d; + ReactDOMSharedInternals.d = { + f: previousDispatcher.f, + r: previousDispatcher.r, + D: prefetchDNS, + C: preconnect, + L: preload, + m: preloadModule, + X: preinitScript, + S: preinitStyle, + M: preinitModuleScript + }; + var PRELOAD_NO_CREDS = [], currentlyFlushingRenderState = null, scriptRegex = /(<\/|<)(s)(cript)/gi; + function scriptReplacer(match, prefix, s, suffix) { + return "" + prefix + ("s" === s ? "\\u0073" : "\\u0053") + suffix; + } + function createResumableState(identifierPrefix, externalRuntimeConfig, bootstrapScriptContent, bootstrapScripts, bootstrapModules) { + return { + idPrefix: void 0 === identifierPrefix ? "" : identifierPrefix, + nextFormID: 0, + streamingFormat: 0, + bootstrapScriptContent, + bootstrapScripts, + bootstrapModules, + instructions: 0, + hasBody: !1, + hasHtml: !1, + unknownResources: {}, + dnsResources: {}, + connectResources: { + default: {}, + anonymous: {}, + credentials: {} + }, + imageResources: {}, + styleResources: {}, + scriptResources: {}, + moduleUnknownResources: {}, + moduleScriptResources: {} + }; + } + function createFormatContext(insertionMode, selectedValue, tagScope, viewTransition) { + return { + insertionMode, + selectedValue, + tagScope, + viewTransition + }; + } + function getChildFormatContext(parentContext, type, props) { + var subtreeScope = parentContext.tagScope & -25; + switch (type) { + case "noscript": return createFormatContext(2, null, subtreeScope | 1, null); + case "select": return createFormatContext(2, null != props.value ? props.value : props.defaultValue, subtreeScope, null); + case "svg": return createFormatContext(4, null, subtreeScope, null); + case "picture": return createFormatContext(2, null, subtreeScope | 2, null); + case "math": return createFormatContext(5, null, subtreeScope, null); + case "foreignObject": return createFormatContext(2, null, subtreeScope, null); + case "table": return createFormatContext(6, null, subtreeScope, null); + case "thead": + case "tbody": + case "tfoot": return createFormatContext(7, null, subtreeScope, null); + case "colgroup": return createFormatContext(9, null, subtreeScope, null); + case "tr": return createFormatContext(8, null, subtreeScope, null); + case "head": + if (2 > parentContext.insertionMode) return createFormatContext(3, null, subtreeScope, null); + break; + case "html": if (0 === parentContext.insertionMode) return createFormatContext(1, null, subtreeScope, null); + } + return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode ? createFormatContext(2, null, subtreeScope, null) : parentContext.tagScope !== subtreeScope ? createFormatContext(parentContext.insertionMode, parentContext.selectedValue, subtreeScope, null) : parentContext; + } + function getSuspenseViewTransition(parentViewTransition) { + return null === parentViewTransition ? null : { + update: parentViewTransition.update, + enter: "none", + exit: "none", + share: parentViewTransition.update, + name: parentViewTransition.autoName, + autoName: parentViewTransition.autoName, + nameIdx: 0 + }; + } + function getSuspenseFallbackFormatContext(resumableState, parentContext) { + parentContext.tagScope & 32 && (resumableState.instructions |= 128); + return createFormatContext(parentContext.insertionMode, parentContext.selectedValue, parentContext.tagScope | 12, getSuspenseViewTransition(parentContext.viewTransition)); + } + function getSuspenseContentFormatContext(resumableState, parentContext) { + resumableState = getSuspenseViewTransition(parentContext.viewTransition); + var subtreeScope = parentContext.tagScope | 16; + null !== resumableState && "none" !== resumableState.share && (subtreeScope |= 64); + return createFormatContext(parentContext.insertionMode, parentContext.selectedValue, subtreeScope, resumableState); + } + var styleNameCache = /* @__PURE__ */ new Map(); + function pushStyleAttribute(target, style) { + if ("object" !== typeof style) throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."); + var isFirst = !0, styleName; + for (styleName in style) if (hasOwnProperty.call(style, styleName)) { + var styleValue = style[styleName]; + if (null != styleValue && "boolean" !== typeof styleValue && "" !== styleValue) { + if (0 === styleName.indexOf("--")) { + var nameChunk = escapeTextForBrowser(styleName); + styleValue = escapeTextForBrowser(("" + styleValue).trim()); + } else nameChunk = styleNameCache.get(styleName), void 0 === nameChunk && (nameChunk = escapeTextForBrowser(styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern, "-ms-")), styleNameCache.set(styleName, nameChunk)), styleValue = "number" === typeof styleValue ? 0 === styleValue || unitlessNumbers.has(styleName) ? "" + styleValue : styleValue + "px" : escapeTextForBrowser(("" + styleValue).trim()); + isFirst ? (isFirst = !1, target.push(" style=\"", nameChunk, ":", styleValue)) : target.push(";", nameChunk, ":", styleValue); + } + } + isFirst || target.push("\""); + } + function pushBooleanAttribute(target, name, value) { + value && "function" !== typeof value && "symbol" !== typeof value && target.push(" ", name, "=\"\""); + } + function pushStringAttribute(target, name, value) { + "function" !== typeof value && "symbol" !== typeof value && "boolean" !== typeof value && target.push(" ", name, "=\"", escapeTextForBrowser(value), "\""); + } + var actionJavaScriptURL = escapeTextForBrowser("javascript:throw new Error('React form unexpectedly submitted.')"); + function pushAdditionalFormField(value, key) { + this.push(""); + } + function validateAdditionalFormField(value) { + if ("string" !== typeof value) throw Error("File/Blob fields are not yet supported in progressive forms. Will fallback to client hydration."); + } + function getCustomFormFields(resumableState, formAction) { + if ("function" === typeof formAction.$$FORM_ACTION) { + var id = resumableState.nextFormID++; + resumableState = resumableState.idPrefix + id; + try { + var customFields = formAction.$$FORM_ACTION(resumableState); + if (customFields) customFields.data?.forEach(validateAdditionalFormField); + return customFields; + } catch (x) { + if ("object" === typeof x && null !== x && "function" === typeof x.then) throw x; + } + } + return null; + } + function pushFormActionAttribute(target, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name) { + var formData = null; + if ("function" === typeof formAction) { + var customFields = getCustomFormFields(resumableState, formAction); + null !== customFields ? (name = customFields.name, formAction = customFields.action || "", formEncType = customFields.encType, formMethod = customFields.method, formTarget = customFields.target, formData = customFields.data) : (target.push(" ", "formAction", "=\"", actionJavaScriptURL, "\""), formTarget = formMethod = formEncType = formAction = name = null, injectFormReplayingRuntime(resumableState, renderState)); + } + null != name && pushAttribute(target, "name", name); + null != formAction && pushAttribute(target, "formAction", formAction); + null != formEncType && pushAttribute(target, "formEncType", formEncType); + null != formMethod && pushAttribute(target, "formMethod", formMethod); + null != formTarget && pushAttribute(target, "formTarget", formTarget); + return formData; + } + function pushAttribute(target, name, value) { + switch (name) { + case "className": + pushStringAttribute(target, "class", value); + break; + case "tabIndex": + pushStringAttribute(target, "tabindex", value); + break; + case "dir": + case "role": + case "viewBox": + case "width": + case "height": + pushStringAttribute(target, name, value); + break; + case "style": + pushStyleAttribute(target, value); + break; + case "src": + case "href": if ("" === value) break; + case "action": + case "formAction": + if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) break; + value = sanitizeURL("" + value); + target.push(" ", name, "=\"", escapeTextForBrowser(value), "\""); + break; + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "ref": break; + case "autoFocus": + case "multiple": + case "muted": + pushBooleanAttribute(target, name.toLowerCase(), value); + break; + case "xlinkHref": + if ("function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) break; + value = sanitizeURL("" + value); + target.push(" ", "xlink:href", "=\"", escapeTextForBrowser(value), "\""); + break; + case "contentEditable": + case "spellCheck": + case "draggable": + case "value": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + "function" !== typeof value && "symbol" !== typeof value && target.push(" ", name, "=\"", escapeTextForBrowser(value), "\""); + break; + case "inert": + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + value && "function" !== typeof value && "symbol" !== typeof value && target.push(" ", name, "=\"\""); + break; + case "capture": + case "download": + !0 === value ? target.push(" ", name, "=\"\"") : !1 !== value && "function" !== typeof value && "symbol" !== typeof value && target.push(" ", name, "=\"", escapeTextForBrowser(value), "\""); + break; + case "cols": + case "rows": + case "size": + case "span": + "function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value && target.push(" ", name, "=\"", escapeTextForBrowser(value), "\""); + break; + case "rowSpan": + case "start": + "function" === typeof value || "symbol" === typeof value || isNaN(value) || target.push(" ", name, "=\"", escapeTextForBrowser(value), "\""); + break; + case "xlinkActuate": + pushStringAttribute(target, "xlink:actuate", value); + break; + case "xlinkArcrole": + pushStringAttribute(target, "xlink:arcrole", value); + break; + case "xlinkRole": + pushStringAttribute(target, "xlink:role", value); + break; + case "xlinkShow": + pushStringAttribute(target, "xlink:show", value); + break; + case "xlinkTitle": + pushStringAttribute(target, "xlink:title", value); + break; + case "xlinkType": + pushStringAttribute(target, "xlink:type", value); + break; + case "xmlBase": + pushStringAttribute(target, "xml:base", value); + break; + case "xmlLang": + pushStringAttribute(target, "xml:lang", value); + break; + case "xmlSpace": + pushStringAttribute(target, "xml:space", value); + break; + default: if (!(2 < name.length) || "o" !== name[0] && "O" !== name[0] || "n" !== name[1] && "N" !== name[1]) { + if (name = aliases.get(name) || name, isAttributeNameSafe(name)) { + switch (typeof value) { + case "function": + case "symbol": return; + case "boolean": + var prefix$8 = name.toLowerCase().slice(0, 5); + if ("data-" !== prefix$8 && "aria-" !== prefix$8) return; + } + target.push(" ", name, "=\"", escapeTextForBrowser(value), "\""); + } + } + } + } + function pushInnerHTML(target, innerHTML, children) { + if (null != innerHTML) { + if (null != children) throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`."); + if ("object" !== typeof innerHTML || !("__html" in innerHTML)) throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."); + innerHTML = innerHTML.__html; + null !== innerHTML && void 0 !== innerHTML && target.push("" + innerHTML); + } + } + function flattenOptionChildren(children) { + var content = ""; + React.Children.forEach(children, function(child) { + null != child && (content += child); + }); + return content; + } + function injectFormReplayingRuntime(resumableState, renderState) { + if (0 === (resumableState.instructions & 16)) { + resumableState.instructions |= 16; + var preamble = renderState.preamble, bootstrapChunks = renderState.bootstrapChunks; + (preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length ? (bootstrapChunks.push(renderState.startInlineScript), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(">", "addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error('React form unexpectedly submitted.')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});", "<\/script>")) : bootstrapChunks.unshift(renderState.startInlineScript, ">", "addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error('React form unexpectedly submitted.')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});", "<\/script>"); + } + } + function pushLinkImpl(target, props) { + target.push(startChunkForTag("link")); + for (var propKey in props) if (hasOwnProperty.call(props, propKey)) { + var propValue = props[propKey]; + if (null != propValue) switch (propKey) { + case "children": + case "dangerouslySetInnerHTML": throw Error("link is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`."); + default: pushAttribute(target, propKey, propValue); + } + } + target.push("/>"); + return null; + } + var styleRegex = /(<\/|<)(s)(tyle)/gi; + function styleReplacer(match, prefix, s, suffix) { + return "" + prefix + ("s" === s ? "\\73 " : "\\53 ") + suffix; + } + function pushSelfClosing(target, props, tag) { + target.push(startChunkForTag(tag)); + for (var propKey in props) if (hasOwnProperty.call(props, propKey)) { + var propValue = props[propKey]; + if (null != propValue) switch (propKey) { + case "children": + case "dangerouslySetInnerHTML": throw Error(tag + " is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`."); + default: pushAttribute(target, propKey, propValue); + } + } + target.push("/>"); + return null; + } + function pushTitleImpl(target, props) { + target.push(startChunkForTag("title")); + var children = null, innerHTML = null, propKey; + for (propKey in props) if (hasOwnProperty.call(props, propKey)) { + var propValue = props[propKey]; + if (null != propValue) switch (propKey) { + case "children": + children = propValue; + break; + case "dangerouslySetInnerHTML": + innerHTML = propValue; + break; + default: pushAttribute(target, propKey, propValue); + } + } + target.push(">"); + props = Array.isArray(children) ? 2 > children.length ? children[0] : null : children; + "function" !== typeof props && "symbol" !== typeof props && null !== props && void 0 !== props && target.push(escapeTextForBrowser("" + props)); + pushInnerHTML(target, innerHTML, children); + target.push(endChunkForTag("title")); + return null; + } + function pushScriptImpl(target, props) { + target.push(startChunkForTag("script")); + var children = null, innerHTML = null, propKey; + for (propKey in props) if (hasOwnProperty.call(props, propKey)) { + var propValue = props[propKey]; + if (null != propValue) switch (propKey) { + case "children": + children = propValue; + break; + case "dangerouslySetInnerHTML": + innerHTML = propValue; + break; + default: pushAttribute(target, propKey, propValue); + } + } + target.push(">"); + pushInnerHTML(target, innerHTML, children); + "string" === typeof children && target.push(("" + children).replace(scriptRegex, scriptReplacer)); + target.push(endChunkForTag("script")); + return null; + } + function pushStartSingletonElement(target, props, tag) { + target.push(startChunkForTag(tag)); + var innerHTML = tag = null, propKey; + for (propKey in props) if (hasOwnProperty.call(props, propKey)) { + var propValue = props[propKey]; + if (null != propValue) switch (propKey) { + case "children": + tag = propValue; + break; + case "dangerouslySetInnerHTML": + innerHTML = propValue; + break; + default: pushAttribute(target, propKey, propValue); + } + } + target.push(">"); + pushInnerHTML(target, innerHTML, tag); + return tag; + } + function pushStartGenericElement(target, props, tag) { + target.push(startChunkForTag(tag)); + var innerHTML = tag = null, propKey; + for (propKey in props) if (hasOwnProperty.call(props, propKey)) { + var propValue = props[propKey]; + if (null != propValue) switch (propKey) { + case "children": + tag = propValue; + break; + case "dangerouslySetInnerHTML": + innerHTML = propValue; + break; + default: pushAttribute(target, propKey, propValue); + } + } + target.push(">"); + pushInnerHTML(target, innerHTML, tag); + return "string" === typeof tag ? (target.push(escapeTextForBrowser(tag)), null) : tag; + } + var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, validatedTagCache = /* @__PURE__ */ new Map(); + function startChunkForTag(tag) { + var tagStartChunk = validatedTagCache.get(tag); + if (void 0 === tagStartChunk) { + if (!VALID_TAG_REGEX.test(tag)) throw Error("Invalid tag: " + tag); + tagStartChunk = "<" + tag; + validatedTagCache.set(tag, tagStartChunk); + } + return tagStartChunk; + } + function pushStartInstance(target$jscomp$0, type, props, resumableState, renderState, preambleState, hoistableState, formatContext, textEmbedded) { + switch (type) { + case "div": + case "span": + case "svg": + case "path": break; + case "a": + target$jscomp$0.push(startChunkForTag("a")); + var children = null, innerHTML = null, propKey; + for (propKey in props) if (hasOwnProperty.call(props, propKey)) { + var propValue = props[propKey]; + if (null != propValue) switch (propKey) { + case "children": + children = propValue; + break; + case "dangerouslySetInnerHTML": + innerHTML = propValue; + break; + case "href": + "" === propValue ? pushStringAttribute(target$jscomp$0, "href", "") : pushAttribute(target$jscomp$0, propKey, propValue); + break; + default: pushAttribute(target$jscomp$0, propKey, propValue); + } + } + target$jscomp$0.push(">"); + pushInnerHTML(target$jscomp$0, innerHTML, children); + if ("string" === typeof children) { + target$jscomp$0.push(escapeTextForBrowser(children)); + var JSCompiler_inline_result = null; + } else JSCompiler_inline_result = children; + return JSCompiler_inline_result; + case "g": + case "p": + case "li": break; + case "select": + target$jscomp$0.push(startChunkForTag("select")); + var children$jscomp$0 = null, innerHTML$jscomp$0 = null, propKey$jscomp$0; + for (propKey$jscomp$0 in props) if (hasOwnProperty.call(props, propKey$jscomp$0)) { + var propValue$jscomp$0 = props[propKey$jscomp$0]; + if (null != propValue$jscomp$0) switch (propKey$jscomp$0) { + case "children": + children$jscomp$0 = propValue$jscomp$0; + break; + case "dangerouslySetInnerHTML": + innerHTML$jscomp$0 = propValue$jscomp$0; + break; + case "defaultValue": + case "value": break; + default: pushAttribute(target$jscomp$0, propKey$jscomp$0, propValue$jscomp$0); + } + } + target$jscomp$0.push(">"); + pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0); + return children$jscomp$0; + case "option": + var selectedValue = formatContext.selectedValue; + target$jscomp$0.push(startChunkForTag("option")); + var children$jscomp$1 = null, value = null, selected = null, innerHTML$jscomp$1 = null, propKey$jscomp$1; + for (propKey$jscomp$1 in props) if (hasOwnProperty.call(props, propKey$jscomp$1)) { + var propValue$jscomp$1 = props[propKey$jscomp$1]; + if (null != propValue$jscomp$1) switch (propKey$jscomp$1) { + case "children": + children$jscomp$1 = propValue$jscomp$1; + break; + case "selected": + selected = propValue$jscomp$1; + break; + case "dangerouslySetInnerHTML": + innerHTML$jscomp$1 = propValue$jscomp$1; + break; + case "value": value = propValue$jscomp$1; + default: pushAttribute(target$jscomp$0, propKey$jscomp$1, propValue$jscomp$1); + } + } + if (null != selectedValue) { + var stringValue = null !== value ? "" + value : flattenOptionChildren(children$jscomp$1); + if (isArrayImpl(selectedValue)) { + for (var i = 0; i < selectedValue.length; i++) if ("" + selectedValue[i] === stringValue) { + target$jscomp$0.push(" selected=\"\""); + break; + } + } else "" + selectedValue === stringValue && target$jscomp$0.push(" selected=\"\""); + } else selected && target$jscomp$0.push(" selected=\"\""); + target$jscomp$0.push(">"); + pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1); + return children$jscomp$1; + case "textarea": + target$jscomp$0.push(startChunkForTag("textarea")); + var value$jscomp$0 = null, defaultValue = null, children$jscomp$2 = null, propKey$jscomp$2; + for (propKey$jscomp$2 in props) if (hasOwnProperty.call(props, propKey$jscomp$2)) { + var propValue$jscomp$2 = props[propKey$jscomp$2]; + if (null != propValue$jscomp$2) switch (propKey$jscomp$2) { + case "children": + children$jscomp$2 = propValue$jscomp$2; + break; + case "value": + value$jscomp$0 = propValue$jscomp$2; + break; + case "defaultValue": + defaultValue = propValue$jscomp$2; + break; + case "dangerouslySetInnerHTML": throw Error("`dangerouslySetInnerHTML` does not make sense on